wrong-notebook 0.0.0-stage → 2026.10.21

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 (1067) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +81 -0
  3. package/.next/build-manifest.json +24 -0
  4. package/.next/package.json +1 -0
  5. package/.next/prerender-manifest.json +104 -0
  6. package/.next/required-server-files.json +358 -0
  7. package/.next/routes-manifest.json +579 -0
  8. package/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  9. package/.next/server/app/_global-error/page/build-manifest.json +20 -0
  10. package/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  11. package/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  12. package/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  13. package/.next/server/app/_global-error/page.js +9 -0
  14. package/.next/server/app/_global-error/page.js.map +5 -0
  15. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  16. package/.next/server/app/_global-error/page_client-reference-manifest.js +3 -0
  17. package/.next/server/app/_global-error.html +1 -0
  18. package/.next/server/app/_global-error.meta +30 -0
  19. package/.next/server/app/_global-error.rsc +15 -0
  20. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +20 -0
  21. package/.next/server/app/_global-error.segments/_full.segment.rsc +15 -0
  22. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  23. package/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  24. package/.next/server/app/_not-found/page/build-manifest.json +20 -0
  25. package/.next/server/app/_not-found/page/next-font-manifest.json +11 -0
  26. package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  27. package/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  28. package/.next/server/app/_not-found/page.js +13 -0
  29. package/.next/server/app/_not-found/page.js.map +5 -0
  30. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  31. package/.next/server/app/_not-found/page_client-reference-manifest.js +3 -0
  32. package/.next/server/app/admin/page/app-paths-manifest.json +3 -0
  33. package/.next/server/app/admin/page/build-manifest.json +20 -0
  34. package/.next/server/app/admin/page/next-font-manifest.json +11 -0
  35. package/.next/server/app/admin/page/react-loadable-manifest.json +1 -0
  36. package/.next/server/app/admin/page/server-reference-manifest.json +4 -0
  37. package/.next/server/app/admin/page.js +14 -0
  38. package/.next/server/app/admin/page.js.map +5 -0
  39. package/.next/server/app/admin/page.js.nft.json +1 -0
  40. package/.next/server/app/admin/page_client-reference-manifest.js +3 -0
  41. package/.next/server/app/admin/user/[id]/page/app-paths-manifest.json +3 -0
  42. package/.next/server/app/admin/user/[id]/page/build-manifest.json +20 -0
  43. package/.next/server/app/admin/user/[id]/page/next-font-manifest.json +11 -0
  44. package/.next/server/app/admin/user/[id]/page/react-loadable-manifest.json +1 -0
  45. package/.next/server/app/admin/user/[id]/page/server-reference-manifest.json +4 -0
  46. package/.next/server/app/admin/user/[id]/page.js +14 -0
  47. package/.next/server/app/admin/user/[id]/page.js.map +5 -0
  48. package/.next/server/app/admin/user/[id]/page.js.nft.json +1 -0
  49. package/.next/server/app/admin/user/[id]/page_client-reference-manifest.js +3 -0
  50. package/.next/server/app/api/admin/dashboard/route/app-paths-manifest.json +3 -0
  51. package/.next/server/app/api/admin/dashboard/route/build-manifest.json +12 -0
  52. package/.next/server/app/api/admin/dashboard/route/server-reference-manifest.json +4 -0
  53. package/.next/server/app/api/admin/dashboard/route.js +10 -0
  54. package/.next/server/app/api/admin/dashboard/route.js.map +5 -0
  55. package/.next/server/app/api/admin/dashboard/route.js.nft.json +1 -0
  56. package/.next/server/app/api/admin/dashboard/route_client-reference-manifest.js +3 -0
  57. package/.next/server/app/api/admin/migrate-tags/route/app-paths-manifest.json +3 -0
  58. package/.next/server/app/api/admin/migrate-tags/route/build-manifest.json +12 -0
  59. package/.next/server/app/api/admin/migrate-tags/route/server-reference-manifest.json +4 -0
  60. package/.next/server/app/api/admin/migrate-tags/route.js +9 -0
  61. package/.next/server/app/api/admin/migrate-tags/route.js.map +5 -0
  62. package/.next/server/app/api/admin/migrate-tags/route.js.nft.json +1 -0
  63. package/.next/server/app/api/admin/migrate-tags/route_client-reference-manifest.js +3 -0
  64. package/.next/server/app/api/admin/system-reset/route/app-paths-manifest.json +3 -0
  65. package/.next/server/app/api/admin/system-reset/route/build-manifest.json +12 -0
  66. package/.next/server/app/api/admin/system-reset/route/server-reference-manifest.json +4 -0
  67. package/.next/server/app/api/admin/system-reset/route.js +8 -0
  68. package/.next/server/app/api/admin/system-reset/route.js.map +5 -0
  69. package/.next/server/app/api/admin/system-reset/route.js.nft.json +1 -0
  70. package/.next/server/app/api/admin/system-reset/route_client-reference-manifest.js +3 -0
  71. package/.next/server/app/api/admin/users/[id]/detail/route/app-paths-manifest.json +3 -0
  72. package/.next/server/app/api/admin/users/[id]/detail/route/build-manifest.json +12 -0
  73. package/.next/server/app/api/admin/users/[id]/detail/route/server-reference-manifest.json +4 -0
  74. package/.next/server/app/api/admin/users/[id]/detail/route.js +9 -0
  75. package/.next/server/app/api/admin/users/[id]/detail/route.js.map +5 -0
  76. package/.next/server/app/api/admin/users/[id]/detail/route.js.nft.json +1 -0
  77. package/.next/server/app/api/admin/users/[id]/detail/route_client-reference-manifest.js +3 -0
  78. package/.next/server/app/api/admin/users/[id]/route/app-paths-manifest.json +3 -0
  79. package/.next/server/app/api/admin/users/[id]/route/build-manifest.json +12 -0
  80. package/.next/server/app/api/admin/users/[id]/route/server-reference-manifest.json +4 -0
  81. package/.next/server/app/api/admin/users/[id]/route.js +8 -0
  82. package/.next/server/app/api/admin/users/[id]/route.js.map +5 -0
  83. package/.next/server/app/api/admin/users/[id]/route.js.nft.json +1 -0
  84. package/.next/server/app/api/admin/users/[id]/route_client-reference-manifest.js +3 -0
  85. package/.next/server/app/api/admin/users/route/app-paths-manifest.json +3 -0
  86. package/.next/server/app/api/admin/users/route/build-manifest.json +12 -0
  87. package/.next/server/app/api/admin/users/route/server-reference-manifest.json +4 -0
  88. package/.next/server/app/api/admin/users/route.js +8 -0
  89. package/.next/server/app/api/admin/users/route.js.map +5 -0
  90. package/.next/server/app/api/admin/users/route.js.nft.json +1 -0
  91. package/.next/server/app/api/admin/users/route_client-reference-manifest.js +3 -0
  92. package/.next/server/app/api/ai/models/route/app-paths-manifest.json +3 -0
  93. package/.next/server/app/api/ai/models/route/build-manifest.json +12 -0
  94. package/.next/server/app/api/ai/models/route/server-reference-manifest.json +4 -0
  95. package/.next/server/app/api/ai/models/route.js +14 -0
  96. package/.next/server/app/api/ai/models/route.js.map +5 -0
  97. package/.next/server/app/api/ai/models/route.js.nft.json +1 -0
  98. package/.next/server/app/api/ai/models/route_client-reference-manifest.js +3 -0
  99. package/.next/server/app/api/ai/test/route/app-paths-manifest.json +3 -0
  100. package/.next/server/app/api/ai/test/route/build-manifest.json +12 -0
  101. package/.next/server/app/api/ai/test/route/server-reference-manifest.json +4 -0
  102. package/.next/server/app/api/ai/test/route.js +15 -0
  103. package/.next/server/app/api/ai/test/route.js.map +5 -0
  104. package/.next/server/app/api/ai/test/route.js.nft.json +1 -0
  105. package/.next/server/app/api/ai/test/route_client-reference-manifest.js +3 -0
  106. package/.next/server/app/api/analytics/route/app-paths-manifest.json +3 -0
  107. package/.next/server/app/api/analytics/route/build-manifest.json +12 -0
  108. package/.next/server/app/api/analytics/route/server-reference-manifest.json +4 -0
  109. package/.next/server/app/api/analytics/route.js +9 -0
  110. package/.next/server/app/api/analytics/route.js.map +5 -0
  111. package/.next/server/app/api/analytics/route.js.nft.json +1 -0
  112. package/.next/server/app/api/analytics/route_client-reference-manifest.js +3 -0
  113. package/.next/server/app/api/analyze/route/app-paths-manifest.json +3 -0
  114. package/.next/server/app/api/analyze/route/build-manifest.json +12 -0
  115. package/.next/server/app/api/analyze/route/server-reference-manifest.json +4 -0
  116. package/.next/server/app/api/analyze/route.js +16 -0
  117. package/.next/server/app/api/analyze/route.js.map +5 -0
  118. package/.next/server/app/api/analyze/route.js.nft.json +1 -0
  119. package/.next/server/app/api/analyze/route_client-reference-manifest.js +3 -0
  120. package/.next/server/app/api/auth/[...nextauth]/route/app-paths-manifest.json +3 -0
  121. package/.next/server/app/api/auth/[...nextauth]/route/build-manifest.json +12 -0
  122. package/.next/server/app/api/auth/[...nextauth]/route/server-reference-manifest.json +4 -0
  123. package/.next/server/app/api/auth/[...nextauth]/route.js +7 -0
  124. package/.next/server/app/api/auth/[...nextauth]/route.js.map +5 -0
  125. package/.next/server/app/api/auth/[...nextauth]/route.js.nft.json +1 -0
  126. package/.next/server/app/api/auth/[...nextauth]/route_client-reference-manifest.js +3 -0
  127. package/.next/server/app/api/error-items/[id]/delete/route/app-paths-manifest.json +3 -0
  128. package/.next/server/app/api/error-items/[id]/delete/route/build-manifest.json +12 -0
  129. package/.next/server/app/api/error-items/[id]/delete/route/server-reference-manifest.json +4 -0
  130. package/.next/server/app/api/error-items/[id]/delete/route.js +8 -0
  131. package/.next/server/app/api/error-items/[id]/delete/route.js.map +5 -0
  132. package/.next/server/app/api/error-items/[id]/delete/route.js.nft.json +1 -0
  133. package/.next/server/app/api/error-items/[id]/delete/route_client-reference-manifest.js +3 -0
  134. package/.next/server/app/api/error-items/[id]/figure/route/app-paths-manifest.json +3 -0
  135. package/.next/server/app/api/error-items/[id]/figure/route/build-manifest.json +12 -0
  136. package/.next/server/app/api/error-items/[id]/figure/route/server-reference-manifest.json +4 -0
  137. package/.next/server/app/api/error-items/[id]/figure/route.js +15 -0
  138. package/.next/server/app/api/error-items/[id]/figure/route.js.map +5 -0
  139. package/.next/server/app/api/error-items/[id]/figure/route.js.nft.json +1 -0
  140. package/.next/server/app/api/error-items/[id]/figure/route_client-reference-manifest.js +3 -0
  141. package/.next/server/app/api/error-items/[id]/fix-latex/route/app-paths-manifest.json +3 -0
  142. package/.next/server/app/api/error-items/[id]/fix-latex/route/build-manifest.json +12 -0
  143. package/.next/server/app/api/error-items/[id]/fix-latex/route/server-reference-manifest.json +4 -0
  144. package/.next/server/app/api/error-items/[id]/fix-latex/route.js +16 -0
  145. package/.next/server/app/api/error-items/[id]/fix-latex/route.js.map +5 -0
  146. package/.next/server/app/api/error-items/[id]/fix-latex/route.js.nft.json +1 -0
  147. package/.next/server/app/api/error-items/[id]/fix-latex/route_client-reference-manifest.js +3 -0
  148. package/.next/server/app/api/error-items/[id]/geogebra/route/app-paths-manifest.json +3 -0
  149. package/.next/server/app/api/error-items/[id]/geogebra/route/build-manifest.json +12 -0
  150. package/.next/server/app/api/error-items/[id]/geogebra/route/server-reference-manifest.json +4 -0
  151. package/.next/server/app/api/error-items/[id]/geogebra/route.js +15 -0
  152. package/.next/server/app/api/error-items/[id]/geogebra/route.js.map +5 -0
  153. package/.next/server/app/api/error-items/[id]/geogebra/route.js.nft.json +1 -0
  154. package/.next/server/app/api/error-items/[id]/geogebra/route_client-reference-manifest.js +3 -0
  155. package/.next/server/app/api/error-items/[id]/image/route/app-paths-manifest.json +3 -0
  156. package/.next/server/app/api/error-items/[id]/image/route/build-manifest.json +12 -0
  157. package/.next/server/app/api/error-items/[id]/image/route/server-reference-manifest.json +4 -0
  158. package/.next/server/app/api/error-items/[id]/image/route.js +9 -0
  159. package/.next/server/app/api/error-items/[id]/image/route.js.map +5 -0
  160. package/.next/server/app/api/error-items/[id]/image/route.js.nft.json +1 -0
  161. package/.next/server/app/api/error-items/[id]/image/route_client-reference-manifest.js +3 -0
  162. package/.next/server/app/api/error-items/[id]/mastery/route/app-paths-manifest.json +3 -0
  163. package/.next/server/app/api/error-items/[id]/mastery/route/build-manifest.json +12 -0
  164. package/.next/server/app/api/error-items/[id]/mastery/route/server-reference-manifest.json +4 -0
  165. package/.next/server/app/api/error-items/[id]/mastery/route.js +8 -0
  166. package/.next/server/app/api/error-items/[id]/mastery/route.js.map +5 -0
  167. package/.next/server/app/api/error-items/[id]/mastery/route.js.nft.json +1 -0
  168. package/.next/server/app/api/error-items/[id]/mastery/route_client-reference-manifest.js +3 -0
  169. package/.next/server/app/api/error-items/[id]/notes/route/app-paths-manifest.json +3 -0
  170. package/.next/server/app/api/error-items/[id]/notes/route/build-manifest.json +12 -0
  171. package/.next/server/app/api/error-items/[id]/notes/route/server-reference-manifest.json +4 -0
  172. package/.next/server/app/api/error-items/[id]/notes/route.js +8 -0
  173. package/.next/server/app/api/error-items/[id]/notes/route.js.map +5 -0
  174. package/.next/server/app/api/error-items/[id]/notes/route.js.nft.json +1 -0
  175. package/.next/server/app/api/error-items/[id]/notes/route_client-reference-manifest.js +3 -0
  176. package/.next/server/app/api/error-items/[id]/practice-records/route/app-paths-manifest.json +3 -0
  177. package/.next/server/app/api/error-items/[id]/practice-records/route/build-manifest.json +12 -0
  178. package/.next/server/app/api/error-items/[id]/practice-records/route/server-reference-manifest.json +4 -0
  179. package/.next/server/app/api/error-items/[id]/practice-records/route.js +8 -0
  180. package/.next/server/app/api/error-items/[id]/practice-records/route.js.map +5 -0
  181. package/.next/server/app/api/error-items/[id]/practice-records/route.js.nft.json +1 -0
  182. package/.next/server/app/api/error-items/[id]/practice-records/route_client-reference-manifest.js +3 -0
  183. package/.next/server/app/api/error-items/[id]/reanswer/route/app-paths-manifest.json +3 -0
  184. package/.next/server/app/api/error-items/[id]/reanswer/route/build-manifest.json +12 -0
  185. package/.next/server/app/api/error-items/[id]/reanswer/route/server-reference-manifest.json +4 -0
  186. package/.next/server/app/api/error-items/[id]/reanswer/route.js +15 -0
  187. package/.next/server/app/api/error-items/[id]/reanswer/route.js.map +5 -0
  188. package/.next/server/app/api/error-items/[id]/reanswer/route.js.nft.json +1 -0
  189. package/.next/server/app/api/error-items/[id]/reanswer/route_client-reference-manifest.js +3 -0
  190. package/.next/server/app/api/error-items/[id]/retag/route/app-paths-manifest.json +3 -0
  191. package/.next/server/app/api/error-items/[id]/retag/route/build-manifest.json +12 -0
  192. package/.next/server/app/api/error-items/[id]/retag/route/server-reference-manifest.json +4 -0
  193. package/.next/server/app/api/error-items/[id]/retag/route.js +16 -0
  194. package/.next/server/app/api/error-items/[id]/retag/route.js.map +5 -0
  195. package/.next/server/app/api/error-items/[id]/retag/route.js.nft.json +1 -0
  196. package/.next/server/app/api/error-items/[id]/retag/route_client-reference-manifest.js +3 -0
  197. package/.next/server/app/api/error-items/[id]/route/app-paths-manifest.json +3 -0
  198. package/.next/server/app/api/error-items/[id]/route/build-manifest.json +12 -0
  199. package/.next/server/app/api/error-items/[id]/route/server-reference-manifest.json +4 -0
  200. package/.next/server/app/api/error-items/[id]/route.js +9 -0
  201. package/.next/server/app/api/error-items/[id]/route.js.map +5 -0
  202. package/.next/server/app/api/error-items/[id]/route.js.nft.json +1 -0
  203. package/.next/server/app/api/error-items/[id]/route_client-reference-manifest.js +3 -0
  204. package/.next/server/app/api/error-items/[id]/svg-animation/route/app-paths-manifest.json +3 -0
  205. package/.next/server/app/api/error-items/[id]/svg-animation/route/build-manifest.json +12 -0
  206. package/.next/server/app/api/error-items/[id]/svg-animation/route/server-reference-manifest.json +4 -0
  207. package/.next/server/app/api/error-items/[id]/svg-animation/route.js +16 -0
  208. package/.next/server/app/api/error-items/[id]/svg-animation/route.js.map +5 -0
  209. package/.next/server/app/api/error-items/[id]/svg-animation/route.js.nft.json +1 -0
  210. package/.next/server/app/api/error-items/[id]/svg-animation/route_client-reference-manifest.js +3 -0
  211. package/.next/server/app/api/error-items/batch-delete/route/app-paths-manifest.json +3 -0
  212. package/.next/server/app/api/error-items/batch-delete/route/build-manifest.json +12 -0
  213. package/.next/server/app/api/error-items/batch-delete/route/server-reference-manifest.json +4 -0
  214. package/.next/server/app/api/error-items/batch-delete/route.js +8 -0
  215. package/.next/server/app/api/error-items/batch-delete/route.js.map +5 -0
  216. package/.next/server/app/api/error-items/batch-delete/route.js.nft.json +1 -0
  217. package/.next/server/app/api/error-items/batch-delete/route_client-reference-manifest.js +3 -0
  218. package/.next/server/app/api/error-items/clear/route/app-paths-manifest.json +3 -0
  219. package/.next/server/app/api/error-items/clear/route/build-manifest.json +12 -0
  220. package/.next/server/app/api/error-items/clear/route/server-reference-manifest.json +4 -0
  221. package/.next/server/app/api/error-items/clear/route.js +8 -0
  222. package/.next/server/app/api/error-items/clear/route.js.map +5 -0
  223. package/.next/server/app/api/error-items/clear/route.js.nft.json +1 -0
  224. package/.next/server/app/api/error-items/clear/route_client-reference-manifest.js +3 -0
  225. package/.next/server/app/api/error-items/list/route/app-paths-manifest.json +3 -0
  226. package/.next/server/app/api/error-items/list/route/build-manifest.json +12 -0
  227. package/.next/server/app/api/error-items/list/route/server-reference-manifest.json +4 -0
  228. package/.next/server/app/api/error-items/list/route.js +10 -0
  229. package/.next/server/app/api/error-items/list/route.js.map +5 -0
  230. package/.next/server/app/api/error-items/list/route.js.nft.json +1 -0
  231. package/.next/server/app/api/error-items/list/route_client-reference-manifest.js +3 -0
  232. package/.next/server/app/api/error-items/route/app-paths-manifest.json +3 -0
  233. package/.next/server/app/api/error-items/route/build-manifest.json +12 -0
  234. package/.next/server/app/api/error-items/route/server-reference-manifest.json +4 -0
  235. package/.next/server/app/api/error-items/route.js +17 -0
  236. package/.next/server/app/api/error-items/route.js.map +5 -0
  237. package/.next/server/app/api/error-items/route.js.nft.json +1 -0
  238. package/.next/server/app/api/error-items/route_client-reference-manifest.js +3 -0
  239. package/.next/server/app/api/error-items/short/[shortId]/route/app-paths-manifest.json +3 -0
  240. package/.next/server/app/api/error-items/short/[shortId]/route/build-manifest.json +12 -0
  241. package/.next/server/app/api/error-items/short/[shortId]/route/server-reference-manifest.json +4 -0
  242. package/.next/server/app/api/error-items/short/[shortId]/route.js +8 -0
  243. package/.next/server/app/api/error-items/short/[shortId]/route.js.map +5 -0
  244. package/.next/server/app/api/error-items/short/[shortId]/route.js.nft.json +1 -0
  245. package/.next/server/app/api/error-items/short/[shortId]/route_client-reference-manifest.js +3 -0
  246. package/.next/server/app/api/error-items/similarity/route/app-paths-manifest.json +3 -0
  247. package/.next/server/app/api/error-items/similarity/route/build-manifest.json +12 -0
  248. package/.next/server/app/api/error-items/similarity/route/server-reference-manifest.json +4 -0
  249. package/.next/server/app/api/error-items/similarity/route.js +9 -0
  250. package/.next/server/app/api/error-items/similarity/route.js.map +5 -0
  251. package/.next/server/app/api/error-items/similarity/route.js.nft.json +1 -0
  252. package/.next/server/app/api/error-items/similarity/route_client-reference-manifest.js +3 -0
  253. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route/app-paths-manifest.json +3 -0
  254. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route/build-manifest.json +12 -0
  255. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route/server-reference-manifest.json +4 -0
  256. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js +16 -0
  257. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js.map +5 -0
  258. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route.js.nft.json +1 -0
  259. package/.next/server/app/api/exams/[id]/questions/[questionId]/regenerate/route_client-reference-manifest.js +3 -0
  260. package/.next/server/app/api/exams/[id]/results/route/app-paths-manifest.json +3 -0
  261. package/.next/server/app/api/exams/[id]/results/route/build-manifest.json +12 -0
  262. package/.next/server/app/api/exams/[id]/results/route/server-reference-manifest.json +4 -0
  263. package/.next/server/app/api/exams/[id]/results/route.js +16 -0
  264. package/.next/server/app/api/exams/[id]/results/route.js.map +5 -0
  265. package/.next/server/app/api/exams/[id]/results/route.js.nft.json +1 -0
  266. package/.next/server/app/api/exams/[id]/results/route_client-reference-manifest.js +3 -0
  267. package/.next/server/app/api/exams/[id]/retry/route/app-paths-manifest.json +3 -0
  268. package/.next/server/app/api/exams/[id]/retry/route/build-manifest.json +12 -0
  269. package/.next/server/app/api/exams/[id]/retry/route/server-reference-manifest.json +4 -0
  270. package/.next/server/app/api/exams/[id]/retry/route.js +16 -0
  271. package/.next/server/app/api/exams/[id]/retry/route.js.map +5 -0
  272. package/.next/server/app/api/exams/[id]/retry/route.js.nft.json +1 -0
  273. package/.next/server/app/api/exams/[id]/retry/route_client-reference-manifest.js +3 -0
  274. package/.next/server/app/api/exams/[id]/route/app-paths-manifest.json +3 -0
  275. package/.next/server/app/api/exams/[id]/route/build-manifest.json +12 -0
  276. package/.next/server/app/api/exams/[id]/route/server-reference-manifest.json +4 -0
  277. package/.next/server/app/api/exams/[id]/route.js +16 -0
  278. package/.next/server/app/api/exams/[id]/route.js.map +5 -0
  279. package/.next/server/app/api/exams/[id]/route.js.nft.json +1 -0
  280. package/.next/server/app/api/exams/[id]/route_client-reference-manifest.js +3 -0
  281. package/.next/server/app/api/exams/route/app-paths-manifest.json +3 -0
  282. package/.next/server/app/api/exams/route/build-manifest.json +12 -0
  283. package/.next/server/app/api/exams/route/server-reference-manifest.json +4 -0
  284. package/.next/server/app/api/exams/route.js +16 -0
  285. package/.next/server/app/api/exams/route.js.map +5 -0
  286. package/.next/server/app/api/exams/route.js.nft.json +1 -0
  287. package/.next/server/app/api/exams/route_client-reference-manifest.js +3 -0
  288. package/.next/server/app/api/export/route/app-paths-manifest.json +3 -0
  289. package/.next/server/app/api/export/route/build-manifest.json +12 -0
  290. package/.next/server/app/api/export/route/server-reference-manifest.json +4 -0
  291. package/.next/server/app/api/export/route.js +10 -0
  292. package/.next/server/app/api/export/route.js.map +5 -0
  293. package/.next/server/app/api/export/route.js.nft.json +1 -0
  294. package/.next/server/app/api/export/route_client-reference-manifest.js +3 -0
  295. package/.next/server/app/api/geogebra-analyze/route/app-paths-manifest.json +3 -0
  296. package/.next/server/app/api/geogebra-analyze/route/build-manifest.json +12 -0
  297. package/.next/server/app/api/geogebra-analyze/route/server-reference-manifest.json +4 -0
  298. package/.next/server/app/api/geogebra-analyze/route.js +15 -0
  299. package/.next/server/app/api/geogebra-analyze/route.js.map +5 -0
  300. package/.next/server/app/api/geogebra-analyze/route.js.nft.json +1 -0
  301. package/.next/server/app/api/geogebra-analyze/route_client-reference-manifest.js +3 -0
  302. package/.next/server/app/api/health/route/app-paths-manifest.json +3 -0
  303. package/.next/server/app/api/health/route/build-manifest.json +12 -0
  304. package/.next/server/app/api/health/route/server-reference-manifest.json +4 -0
  305. package/.next/server/app/api/health/route.js +7 -0
  306. package/.next/server/app/api/health/route.js.map +5 -0
  307. package/.next/server/app/api/health/route.js.nft.json +1 -0
  308. package/.next/server/app/api/health/route_client-reference-manifest.js +3 -0
  309. package/.next/server/app/api/import/route/app-paths-manifest.json +3 -0
  310. package/.next/server/app/api/import/route/build-manifest.json +12 -0
  311. package/.next/server/app/api/import/route/server-reference-manifest.json +4 -0
  312. package/.next/server/app/api/import/route.js +17 -0
  313. package/.next/server/app/api/import/route.js.map +5 -0
  314. package/.next/server/app/api/import/route.js.nft.json +1 -0
  315. package/.next/server/app/api/import/route_client-reference-manifest.js +3 -0
  316. package/.next/server/app/api/logs/frontend/route/app-paths-manifest.json +3 -0
  317. package/.next/server/app/api/logs/frontend/route/build-manifest.json +12 -0
  318. package/.next/server/app/api/logs/frontend/route/server-reference-manifest.json +4 -0
  319. package/.next/server/app/api/logs/frontend/route.js +8 -0
  320. package/.next/server/app/api/logs/frontend/route.js.map +5 -0
  321. package/.next/server/app/api/logs/frontend/route.js.nft.json +1 -0
  322. package/.next/server/app/api/logs/frontend/route_client-reference-manifest.js +3 -0
  323. package/.next/server/app/api/notebooks/[id]/retag/route/app-paths-manifest.json +3 -0
  324. package/.next/server/app/api/notebooks/[id]/retag/route/build-manifest.json +12 -0
  325. package/.next/server/app/api/notebooks/[id]/retag/route/server-reference-manifest.json +4 -0
  326. package/.next/server/app/api/notebooks/[id]/retag/route.js +16 -0
  327. package/.next/server/app/api/notebooks/[id]/retag/route.js.map +5 -0
  328. package/.next/server/app/api/notebooks/[id]/retag/route.js.nft.json +1 -0
  329. package/.next/server/app/api/notebooks/[id]/retag/route_client-reference-manifest.js +3 -0
  330. package/.next/server/app/api/notebooks/[id]/route/app-paths-manifest.json +3 -0
  331. package/.next/server/app/api/notebooks/[id]/route/build-manifest.json +12 -0
  332. package/.next/server/app/api/notebooks/[id]/route/server-reference-manifest.json +4 -0
  333. package/.next/server/app/api/notebooks/[id]/route.js +9 -0
  334. package/.next/server/app/api/notebooks/[id]/route.js.map +5 -0
  335. package/.next/server/app/api/notebooks/[id]/route.js.nft.json +1 -0
  336. package/.next/server/app/api/notebooks/[id]/route_client-reference-manifest.js +3 -0
  337. package/.next/server/app/api/notebooks/route/app-paths-manifest.json +3 -0
  338. package/.next/server/app/api/notebooks/route/build-manifest.json +12 -0
  339. package/.next/server/app/api/notebooks/route/server-reference-manifest.json +4 -0
  340. package/.next/server/app/api/notebooks/route.js +10 -0
  341. package/.next/server/app/api/notebooks/route.js.map +5 -0
  342. package/.next/server/app/api/notebooks/route.js.nft.json +1 -0
  343. package/.next/server/app/api/notebooks/route_client-reference-manifest.js +3 -0
  344. package/.next/server/app/api/openclaw/batch-upload/route/app-paths-manifest.json +3 -0
  345. package/.next/server/app/api/openclaw/batch-upload/route/build-manifest.json +12 -0
  346. package/.next/server/app/api/openclaw/batch-upload/route/server-reference-manifest.json +4 -0
  347. package/.next/server/app/api/openclaw/batch-upload/route.js +15 -0
  348. package/.next/server/app/api/openclaw/batch-upload/route.js.map +5 -0
  349. package/.next/server/app/api/openclaw/batch-upload/route.js.nft.json +1 -0
  350. package/.next/server/app/api/openclaw/batch-upload/route_client-reference-manifest.js +3 -0
  351. package/.next/server/app/api/practice/generate/route/app-paths-manifest.json +3 -0
  352. package/.next/server/app/api/practice/generate/route/build-manifest.json +12 -0
  353. package/.next/server/app/api/practice/generate/route/server-reference-manifest.json +4 -0
  354. package/.next/server/app/api/practice/generate/route.js +15 -0
  355. package/.next/server/app/api/practice/generate/route.js.map +5 -0
  356. package/.next/server/app/api/practice/generate/route.js.nft.json +1 -0
  357. package/.next/server/app/api/practice/generate/route_client-reference-manifest.js +3 -0
  358. package/.next/server/app/api/practice/record/[id]/route/app-paths-manifest.json +3 -0
  359. package/.next/server/app/api/practice/record/[id]/route/build-manifest.json +12 -0
  360. package/.next/server/app/api/practice/record/[id]/route/server-reference-manifest.json +4 -0
  361. package/.next/server/app/api/practice/record/[id]/route.js +15 -0
  362. package/.next/server/app/api/practice/record/[id]/route.js.map +5 -0
  363. package/.next/server/app/api/practice/record/[id]/route.js.nft.json +1 -0
  364. package/.next/server/app/api/practice/record/[id]/route_client-reference-manifest.js +3 -0
  365. package/.next/server/app/api/practice/record/route/app-paths-manifest.json +3 -0
  366. package/.next/server/app/api/practice/record/route/build-manifest.json +12 -0
  367. package/.next/server/app/api/practice/record/route/server-reference-manifest.json +4 -0
  368. package/.next/server/app/api/practice/record/route.js +15 -0
  369. package/.next/server/app/api/practice/record/route.js.map +5 -0
  370. package/.next/server/app/api/practice/record/route.js.nft.json +1 -0
  371. package/.next/server/app/api/practice/record/route_client-reference-manifest.js +3 -0
  372. package/.next/server/app/api/reanswer/route/app-paths-manifest.json +3 -0
  373. package/.next/server/app/api/reanswer/route/build-manifest.json +12 -0
  374. package/.next/server/app/api/reanswer/route/server-reference-manifest.json +4 -0
  375. package/.next/server/app/api/reanswer/route.js +15 -0
  376. package/.next/server/app/api/reanswer/route.js.map +5 -0
  377. package/.next/server/app/api/reanswer/route.js.nft.json +1 -0
  378. package/.next/server/app/api/reanswer/route_client-reference-manifest.js +3 -0
  379. package/.next/server/app/api/register/route/app-paths-manifest.json +3 -0
  380. package/.next/server/app/api/register/route/build-manifest.json +12 -0
  381. package/.next/server/app/api/register/route/server-reference-manifest.json +4 -0
  382. package/.next/server/app/api/register/route.js +9 -0
  383. package/.next/server/app/api/register/route.js.map +5 -0
  384. package/.next/server/app/api/register/route.js.nft.json +1 -0
  385. package/.next/server/app/api/register/route_client-reference-manifest.js +3 -0
  386. package/.next/server/app/api/register/status/route/app-paths-manifest.json +3 -0
  387. package/.next/server/app/api/register/status/route/build-manifest.json +12 -0
  388. package/.next/server/app/api/register/status/route/server-reference-manifest.json +4 -0
  389. package/.next/server/app/api/register/status/route.js +8 -0
  390. package/.next/server/app/api/register/status/route.js.map +5 -0
  391. package/.next/server/app/api/register/status/route.js.nft.json +1 -0
  392. package/.next/server/app/api/register/status/route_client-reference-manifest.js +3 -0
  393. package/.next/server/app/api/settings/route/app-paths-manifest.json +3 -0
  394. package/.next/server/app/api/settings/route/build-manifest.json +12 -0
  395. package/.next/server/app/api/settings/route/server-reference-manifest.json +4 -0
  396. package/.next/server/app/api/settings/route.js +9 -0
  397. package/.next/server/app/api/settings/route.js.map +5 -0
  398. package/.next/server/app/api/settings/route.js.nft.json +1 -0
  399. package/.next/server/app/api/settings/route_client-reference-manifest.js +3 -0
  400. package/.next/server/app/api/stats/practice/clear/route/app-paths-manifest.json +3 -0
  401. package/.next/server/app/api/stats/practice/clear/route/build-manifest.json +12 -0
  402. package/.next/server/app/api/stats/practice/clear/route/server-reference-manifest.json +4 -0
  403. package/.next/server/app/api/stats/practice/clear/route.js +8 -0
  404. package/.next/server/app/api/stats/practice/clear/route.js.map +5 -0
  405. package/.next/server/app/api/stats/practice/clear/route.js.nft.json +1 -0
  406. package/.next/server/app/api/stats/practice/clear/route_client-reference-manifest.js +3 -0
  407. package/.next/server/app/api/stats/practice/route/app-paths-manifest.json +3 -0
  408. package/.next/server/app/api/stats/practice/route/build-manifest.json +12 -0
  409. package/.next/server/app/api/stats/practice/route/server-reference-manifest.json +4 -0
  410. package/.next/server/app/api/stats/practice/route.js +9 -0
  411. package/.next/server/app/api/stats/practice/route.js.map +5 -0
  412. package/.next/server/app/api/stats/practice/route.js.nft.json +1 -0
  413. package/.next/server/app/api/stats/practice/route_client-reference-manifest.js +3 -0
  414. package/.next/server/app/api/tags/route/app-paths-manifest.json +3 -0
  415. package/.next/server/app/api/tags/route/build-manifest.json +12 -0
  416. package/.next/server/app/api/tags/route/server-reference-manifest.json +4 -0
  417. package/.next/server/app/api/tags/route.js +9 -0
  418. package/.next/server/app/api/tags/route.js.map +5 -0
  419. package/.next/server/app/api/tags/route.js.nft.json +1 -0
  420. package/.next/server/app/api/tags/route_client-reference-manifest.js +3 -0
  421. package/.next/server/app/api/tags/stats/route/app-paths-manifest.json +3 -0
  422. package/.next/server/app/api/tags/stats/route/build-manifest.json +12 -0
  423. package/.next/server/app/api/tags/stats/route/server-reference-manifest.json +4 -0
  424. package/.next/server/app/api/tags/stats/route.js +8 -0
  425. package/.next/server/app/api/tags/stats/route.js.map +5 -0
  426. package/.next/server/app/api/tags/stats/route.js.nft.json +1 -0
  427. package/.next/server/app/api/tags/stats/route_client-reference-manifest.js +3 -0
  428. package/.next/server/app/api/tags/suggestions/route/app-paths-manifest.json +3 -0
  429. package/.next/server/app/api/tags/suggestions/route/build-manifest.json +12 -0
  430. package/.next/server/app/api/tags/suggestions/route/server-reference-manifest.json +4 -0
  431. package/.next/server/app/api/tags/suggestions/route.js +8 -0
  432. package/.next/server/app/api/tags/suggestions/route.js.map +5 -0
  433. package/.next/server/app/api/tags/suggestions/route.js.nft.json +1 -0
  434. package/.next/server/app/api/tags/suggestions/route_client-reference-manifest.js +3 -0
  435. package/.next/server/app/api/tasks/route/app-paths-manifest.json +3 -0
  436. package/.next/server/app/api/tasks/route/build-manifest.json +12 -0
  437. package/.next/server/app/api/tasks/route/server-reference-manifest.json +4 -0
  438. package/.next/server/app/api/tasks/route.js +8 -0
  439. package/.next/server/app/api/tasks/route.js.map +5 -0
  440. package/.next/server/app/api/tasks/route.js.nft.json +1 -0
  441. package/.next/server/app/api/tasks/route_client-reference-manifest.js +3 -0
  442. package/.next/server/app/api/user/route/app-paths-manifest.json +3 -0
  443. package/.next/server/app/api/user/route/build-manifest.json +12 -0
  444. package/.next/server/app/api/user/route/server-reference-manifest.json +4 -0
  445. package/.next/server/app/api/user/route.js +10 -0
  446. package/.next/server/app/api/user/route.js.map +5 -0
  447. package/.next/server/app/api/user/route.js.nft.json +1 -0
  448. package/.next/server/app/api/user/route_client-reference-manifest.js +3 -0
  449. package/.next/server/app/api/version/route/app-paths-manifest.json +3 -0
  450. package/.next/server/app/api/version/route/build-manifest.json +12 -0
  451. package/.next/server/app/api/version/route/server-reference-manifest.json +4 -0
  452. package/.next/server/app/api/version/route.js +7 -0
  453. package/.next/server/app/api/version/route.js.map +5 -0
  454. package/.next/server/app/api/version/route.js.nft.json +1 -0
  455. package/.next/server/app/api/version/route_client-reference-manifest.js +3 -0
  456. package/.next/server/app/error-items/[id]/page/app-paths-manifest.json +3 -0
  457. package/.next/server/app/error-items/[id]/page/build-manifest.json +20 -0
  458. package/.next/server/app/error-items/[id]/page/next-font-manifest.json +11 -0
  459. package/.next/server/app/error-items/[id]/page/react-loadable-manifest.json +1 -0
  460. package/.next/server/app/error-items/[id]/page/server-reference-manifest.json +4 -0
  461. package/.next/server/app/error-items/[id]/page.js +14 -0
  462. package/.next/server/app/error-items/[id]/page.js.map +5 -0
  463. package/.next/server/app/error-items/[id]/page.js.nft.json +1 -0
  464. package/.next/server/app/error-items/[id]/page_client-reference-manifest.js +3 -0
  465. package/.next/server/app/exams/[id]/page/app-paths-manifest.json +3 -0
  466. package/.next/server/app/exams/[id]/page/build-manifest.json +20 -0
  467. package/.next/server/app/exams/[id]/page/next-font-manifest.json +11 -0
  468. package/.next/server/app/exams/[id]/page/react-loadable-manifest.json +1 -0
  469. package/.next/server/app/exams/[id]/page/server-reference-manifest.json +4 -0
  470. package/.next/server/app/exams/[id]/page.js +14 -0
  471. package/.next/server/app/exams/[id]/page.js.map +5 -0
  472. package/.next/server/app/exams/[id]/page.js.nft.json +1 -0
  473. package/.next/server/app/exams/[id]/page_client-reference-manifest.js +3 -0
  474. package/.next/server/app/exams/[id]/print/page/app-paths-manifest.json +3 -0
  475. package/.next/server/app/exams/[id]/print/page/build-manifest.json +20 -0
  476. package/.next/server/app/exams/[id]/print/page/next-font-manifest.json +11 -0
  477. package/.next/server/app/exams/[id]/print/page/react-loadable-manifest.json +1 -0
  478. package/.next/server/app/exams/[id]/print/page/server-reference-manifest.json +4 -0
  479. package/.next/server/app/exams/[id]/print/page.js +14 -0
  480. package/.next/server/app/exams/[id]/print/page.js.map +5 -0
  481. package/.next/server/app/exams/[id]/print/page.js.nft.json +1 -0
  482. package/.next/server/app/exams/[id]/print/page_client-reference-manifest.js +3 -0
  483. package/.next/server/app/exams/page/app-paths-manifest.json +3 -0
  484. package/.next/server/app/exams/page/build-manifest.json +20 -0
  485. package/.next/server/app/exams/page/next-font-manifest.json +11 -0
  486. package/.next/server/app/exams/page/react-loadable-manifest.json +1 -0
  487. package/.next/server/app/exams/page/server-reference-manifest.json +4 -0
  488. package/.next/server/app/exams/page.js +14 -0
  489. package/.next/server/app/exams/page.js.map +5 -0
  490. package/.next/server/app/exams/page.js.nft.json +1 -0
  491. package/.next/server/app/exams/page_client-reference-manifest.js +3 -0
  492. package/.next/server/app/favicon.ico/route/app-paths-manifest.json +3 -0
  493. package/.next/server/app/favicon.ico/route/build-manifest.json +12 -0
  494. package/.next/server/app/favicon.ico/route.js +8 -0
  495. package/.next/server/app/favicon.ico/route.js.map +5 -0
  496. package/.next/server/app/favicon.ico/route.js.nft.json +1 -0
  497. package/.next/server/app/favicon.ico.body +0 -0
  498. package/.next/server/app/favicon.ico.meta +1 -0
  499. package/.next/server/app/latex-test/page/app-paths-manifest.json +3 -0
  500. package/.next/server/app/latex-test/page/build-manifest.json +20 -0
  501. package/.next/server/app/latex-test/page/next-font-manifest.json +11 -0
  502. package/.next/server/app/latex-test/page/react-loadable-manifest.json +1 -0
  503. package/.next/server/app/latex-test/page/server-reference-manifest.json +4 -0
  504. package/.next/server/app/latex-test/page.js +14 -0
  505. package/.next/server/app/latex-test/page.js.map +5 -0
  506. package/.next/server/app/latex-test/page.js.nft.json +1 -0
  507. package/.next/server/app/latex-test/page_client-reference-manifest.js +3 -0
  508. package/.next/server/app/login/page/app-paths-manifest.json +3 -0
  509. package/.next/server/app/login/page/build-manifest.json +20 -0
  510. package/.next/server/app/login/page/next-font-manifest.json +11 -0
  511. package/.next/server/app/login/page/react-loadable-manifest.json +1 -0
  512. package/.next/server/app/login/page/server-reference-manifest.json +4 -0
  513. package/.next/server/app/login/page.js +14 -0
  514. package/.next/server/app/login/page.js.map +5 -0
  515. package/.next/server/app/login/page.js.nft.json +1 -0
  516. package/.next/server/app/login/page_client-reference-manifest.js +3 -0
  517. package/.next/server/app/manifest.webmanifest/route/app-paths-manifest.json +3 -0
  518. package/.next/server/app/manifest.webmanifest/route/build-manifest.json +12 -0
  519. package/.next/server/app/manifest.webmanifest/route/server-reference-manifest.json +4 -0
  520. package/.next/server/app/manifest.webmanifest/route.js +8 -0
  521. package/.next/server/app/manifest.webmanifest/route.js.map +5 -0
  522. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
  523. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +3 -0
  524. package/.next/server/app/manifest.webmanifest.body +1 -0
  525. package/.next/server/app/manifest.webmanifest.meta +1 -0
  526. package/.next/server/app/notebooks/[id]/add/page/app-paths-manifest.json +3 -0
  527. package/.next/server/app/notebooks/[id]/add/page/build-manifest.json +20 -0
  528. package/.next/server/app/notebooks/[id]/add/page/next-font-manifest.json +11 -0
  529. package/.next/server/app/notebooks/[id]/add/page/react-loadable-manifest.json +1 -0
  530. package/.next/server/app/notebooks/[id]/add/page/server-reference-manifest.json +4 -0
  531. package/.next/server/app/notebooks/[id]/add/page.js +14 -0
  532. package/.next/server/app/notebooks/[id]/add/page.js.map +5 -0
  533. package/.next/server/app/notebooks/[id]/add/page.js.nft.json +1 -0
  534. package/.next/server/app/notebooks/[id]/add/page_client-reference-manifest.js +3 -0
  535. package/.next/server/app/notebooks/[id]/page/app-paths-manifest.json +3 -0
  536. package/.next/server/app/notebooks/[id]/page/build-manifest.json +20 -0
  537. package/.next/server/app/notebooks/[id]/page/next-font-manifest.json +11 -0
  538. package/.next/server/app/notebooks/[id]/page/react-loadable-manifest.json +1 -0
  539. package/.next/server/app/notebooks/[id]/page/server-reference-manifest.json +4 -0
  540. package/.next/server/app/notebooks/[id]/page.js +14 -0
  541. package/.next/server/app/notebooks/[id]/page.js.map +5 -0
  542. package/.next/server/app/notebooks/[id]/page.js.nft.json +1 -0
  543. package/.next/server/app/notebooks/[id]/page_client-reference-manifest.js +3 -0
  544. package/.next/server/app/notebooks/page/app-paths-manifest.json +3 -0
  545. package/.next/server/app/notebooks/page/build-manifest.json +20 -0
  546. package/.next/server/app/notebooks/page/next-font-manifest.json +11 -0
  547. package/.next/server/app/notebooks/page/react-loadable-manifest.json +1 -0
  548. package/.next/server/app/notebooks/page/server-reference-manifest.json +4 -0
  549. package/.next/server/app/notebooks/page.js +14 -0
  550. package/.next/server/app/notebooks/page.js.map +5 -0
  551. package/.next/server/app/notebooks/page.js.nft.json +1 -0
  552. package/.next/server/app/notebooks/page_client-reference-manifest.js +3 -0
  553. package/.next/server/app/page/app-paths-manifest.json +3 -0
  554. package/.next/server/app/page/build-manifest.json +20 -0
  555. package/.next/server/app/page/next-font-manifest.json +11 -0
  556. package/.next/server/app/page/react-loadable-manifest.json +1 -0
  557. package/.next/server/app/page/server-reference-manifest.json +4 -0
  558. package/.next/server/app/page.js +14 -0
  559. package/.next/server/app/page.js.map +5 -0
  560. package/.next/server/app/page.js.nft.json +1 -0
  561. package/.next/server/app/page_client-reference-manifest.js +3 -0
  562. package/.next/server/app/practice/page/app-paths-manifest.json +3 -0
  563. package/.next/server/app/practice/page/build-manifest.json +20 -0
  564. package/.next/server/app/practice/page/next-font-manifest.json +11 -0
  565. package/.next/server/app/practice/page/react-loadable-manifest.json +1 -0
  566. package/.next/server/app/practice/page/server-reference-manifest.json +4 -0
  567. package/.next/server/app/practice/page.js +14 -0
  568. package/.next/server/app/practice/page.js.map +5 -0
  569. package/.next/server/app/practice/page.js.nft.json +1 -0
  570. package/.next/server/app/practice/page_client-reference-manifest.js +3 -0
  571. package/.next/server/app/print-preview/page/app-paths-manifest.json +3 -0
  572. package/.next/server/app/print-preview/page/build-manifest.json +20 -0
  573. package/.next/server/app/print-preview/page/next-font-manifest.json +11 -0
  574. package/.next/server/app/print-preview/page/react-loadable-manifest.json +1 -0
  575. package/.next/server/app/print-preview/page/server-reference-manifest.json +4 -0
  576. package/.next/server/app/print-preview/page.js +14 -0
  577. package/.next/server/app/print-preview/page.js.map +5 -0
  578. package/.next/server/app/print-preview/page.js.nft.json +1 -0
  579. package/.next/server/app/print-preview/page_client-reference-manifest.js +3 -0
  580. package/.next/server/app/register/page/app-paths-manifest.json +3 -0
  581. package/.next/server/app/register/page/build-manifest.json +20 -0
  582. package/.next/server/app/register/page/next-font-manifest.json +11 -0
  583. package/.next/server/app/register/page/react-loadable-manifest.json +1 -0
  584. package/.next/server/app/register/page/server-reference-manifest.json +4 -0
  585. package/.next/server/app/register/page.js +14 -0
  586. package/.next/server/app/register/page.js.map +5 -0
  587. package/.next/server/app/register/page.js.nft.json +1 -0
  588. package/.next/server/app/register/page_client-reference-manifest.js +3 -0
  589. package/.next/server/app/stats/page/app-paths-manifest.json +3 -0
  590. package/.next/server/app/stats/page/build-manifest.json +20 -0
  591. package/.next/server/app/stats/page/next-font-manifest.json +11 -0
  592. package/.next/server/app/stats/page/react-loadable-manifest.json +1 -0
  593. package/.next/server/app/stats/page/server-reference-manifest.json +4 -0
  594. package/.next/server/app/stats/page.js +14 -0
  595. package/.next/server/app/stats/page.js.map +5 -0
  596. package/.next/server/app/stats/page.js.nft.json +1 -0
  597. package/.next/server/app/stats/page_client-reference-manifest.js +3 -0
  598. package/.next/server/app/tags/page/app-paths-manifest.json +3 -0
  599. package/.next/server/app/tags/page/build-manifest.json +20 -0
  600. package/.next/server/app/tags/page/next-font-manifest.json +11 -0
  601. package/.next/server/app/tags/page/react-loadable-manifest.json +1 -0
  602. package/.next/server/app/tags/page/server-reference-manifest.json +4 -0
  603. package/.next/server/app/tags/page.js +14 -0
  604. package/.next/server/app/tags/page.js.map +5 -0
  605. package/.next/server/app/tags/page.js.nft.json +1 -0
  606. package/.next/server/app/tags/page_client-reference-manifest.js +3 -0
  607. package/.next/server/app-paths-manifest.json +81 -0
  608. package/.next/server/chunks/1jng_app_api_exams_[id]_questions_[questionId]_regenerate_route_actions_1ggead3.js +3 -0
  609. package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_practice-records_route_actions_0z2zuf1.js +3 -0
  610. package/.next/server/chunks/1oeh_server_app_api_error-items_[id]_svg-animation_route_actions_17gckf3.js +3 -0
  611. package/.next/server/chunks/[externals]__04n7qbr._.js +3 -0
  612. package/.next/server/chunks/[externals]__0pot68n._.js +3 -0
  613. package/.next/server/chunks/[externals]__1735khz._.js +3 -0
  614. package/.next/server/chunks/[externals]_assert_1pwe1ri._.js +3 -0
  615. package/.next/server/chunks/[root-of-the-server]__0-8hf14._.js +3 -0
  616. package/.next/server/chunks/[root-of-the-server]__00_hq9v._.js +153 -0
  617. package/.next/server/chunks/[root-of-the-server]__00m7v48._.js +3 -0
  618. package/.next/server/chunks/[root-of-the-server]__01bzczj._.js +3 -0
  619. package/.next/server/chunks/[root-of-the-server]__01m28mx._.js +3 -0
  620. package/.next/server/chunks/[root-of-the-server]__04mu6-m._.js +3 -0
  621. package/.next/server/chunks/[root-of-the-server]__04tyyvs._.js +3 -0
  622. package/.next/server/chunks/[root-of-the-server]__05no8nw._.js +3 -0
  623. package/.next/server/chunks/[root-of-the-server]__05s4wut._.js +3 -0
  624. package/.next/server/chunks/[root-of-the-server]__06h5afw._.js +3 -0
  625. package/.next/server/chunks/[root-of-the-server]__07jl92a._.js +3 -0
  626. package/.next/server/chunks/[root-of-the-server]__07nvz1d._.js +3 -0
  627. package/.next/server/chunks/[root-of-the-server]__08gak8r._.js +3 -0
  628. package/.next/server/chunks/[root-of-the-server]__08zi-xg._.js +3 -0
  629. package/.next/server/chunks/[root-of-the-server]__0994h9l._.js +3 -0
  630. package/.next/server/chunks/[root-of-the-server]__0_t7bbz._.js +3 -0
  631. package/.next/server/chunks/[root-of-the-server]__0akadps._.js +3 -0
  632. package/.next/server/chunks/[root-of-the-server]__0b3nww4._.js +3 -0
  633. package/.next/server/chunks/[root-of-the-server]__0bs5unr._.js +3 -0
  634. package/.next/server/chunks/[root-of-the-server]__0c59gc3._.js +3 -0
  635. package/.next/server/chunks/[root-of-the-server]__0dfbwm3._.js +3 -0
  636. package/.next/server/chunks/[root-of-the-server]__0e22a4y._.js +122 -0
  637. package/.next/server/chunks/[root-of-the-server]__0els3c1._.js +3 -0
  638. package/.next/server/chunks/[root-of-the-server]__0gp88gz._.js +3 -0
  639. package/.next/server/chunks/[root-of-the-server]__0gpohuv._.js +3 -0
  640. package/.next/server/chunks/[root-of-the-server]__0grkic-._.js +3 -0
  641. package/.next/server/chunks/[root-of-the-server]__0hj9oe2._.js +3 -0
  642. package/.next/server/chunks/[root-of-the-server]__0inxsnu._.js +3 -0
  643. package/.next/server/chunks/[root-of-the-server]__0j-gv3-._.js +3 -0
  644. package/.next/server/chunks/[root-of-the-server]__0jaawra._.js +3 -0
  645. package/.next/server/chunks/[root-of-the-server]__0je3zje._.js +3 -0
  646. package/.next/server/chunks/[root-of-the-server]__0m8p-6f._.js +3 -0
  647. package/.next/server/chunks/[root-of-the-server]__0m_f8ct._.js +3 -0
  648. package/.next/server/chunks/[root-of-the-server]__0na-z2m._.js +3 -0
  649. package/.next/server/chunks/[root-of-the-server]__0nqbham._.js +3 -0
  650. package/.next/server/chunks/[root-of-the-server]__0ns_tws._.js +3 -0
  651. package/.next/server/chunks/[root-of-the-server]__0p3hkz7._.js +3 -0
  652. package/.next/server/chunks/[root-of-the-server]__0pli74s._.js +3 -0
  653. package/.next/server/chunks/[root-of-the-server]__0qaih8c._.js +3 -0
  654. package/.next/server/chunks/[root-of-the-server]__0ra48rd._.js +3 -0
  655. package/.next/server/chunks/[root-of-the-server]__0rk_yxy._.js +9 -0
  656. package/.next/server/chunks/[root-of-the-server]__0sh6-yu._.js +3 -0
  657. package/.next/server/chunks/[root-of-the-server]__0ssagl1._.js +3 -0
  658. package/.next/server/chunks/[root-of-the-server]__0u58zap._.js +3 -0
  659. package/.next/server/chunks/[root-of-the-server]__0ws6c0v._.js +3 -0
  660. package/.next/server/chunks/[root-of-the-server]__0yc8r2x._.js +3 -0
  661. package/.next/server/chunks/[root-of-the-server]__0ydrrdj._.js +3 -0
  662. package/.next/server/chunks/[root-of-the-server]__0yds0ae._.js +3 -0
  663. package/.next/server/chunks/[root-of-the-server]__0ynfeq-._.js +3 -0
  664. package/.next/server/chunks/[root-of-the-server]__0z-sjqh._.js +3 -0
  665. package/.next/server/chunks/[root-of-the-server]__0zp1e41._.js +3 -0
  666. package/.next/server/chunks/[root-of-the-server]__108ydjw._.js +3 -0
  667. package/.next/server/chunks/[root-of-the-server]__10yghm_._.js +3 -0
  668. package/.next/server/chunks/[root-of-the-server]__11-sf2-._.js +3 -0
  669. package/.next/server/chunks/[root-of-the-server]__11wobg2._.js +3 -0
  670. package/.next/server/chunks/[root-of-the-server]__122xu-0._.js +32 -0
  671. package/.next/server/chunks/[root-of-the-server]__13_c7nc._.js +3 -0
  672. package/.next/server/chunks/[root-of-the-server]__13ebiit._.js +3 -0
  673. package/.next/server/chunks/[root-of-the-server]__1413v0e._.js +3 -0
  674. package/.next/server/chunks/[root-of-the-server]__14pcopd._.js +3 -0
  675. package/.next/server/chunks/[root-of-the-server]__150ei9u._.js +3 -0
  676. package/.next/server/chunks/[root-of-the-server]__15g7yjy._.js +3 -0
  677. package/.next/server/chunks/[root-of-the-server]__15tkoe6._.js +10 -0
  678. package/.next/server/chunks/[root-of-the-server]__19nm3y_._.js +3 -0
  679. package/.next/server/chunks/[root-of-the-server]__19vj8qy._.js +3 -0
  680. package/.next/server/chunks/[root-of-the-server]__1_gkx5x._.js +3 -0
  681. package/.next/server/chunks/[root-of-the-server]__1a4i9sz._.js +3 -0
  682. package/.next/server/chunks/[root-of-the-server]__1cn6rlb._.js +3 -0
  683. package/.next/server/chunks/[root-of-the-server]__1csfdxc._.js +3 -0
  684. package/.next/server/chunks/[root-of-the-server]__1e3crdc._.js +3 -0
  685. package/.next/server/chunks/[root-of-the-server]__1ezwxao._.js +3 -0
  686. package/.next/server/chunks/[root-of-the-server]__1g-xe1f._.js +3 -0
  687. package/.next/server/chunks/[root-of-the-server]__1g1wi9i._.js +3 -0
  688. package/.next/server/chunks/[root-of-the-server]__1g3usdn._.js +3 -0
  689. package/.next/server/chunks/[root-of-the-server]__1gmc_uw._.js +3 -0
  690. package/.next/server/chunks/[root-of-the-server]__1hmv25w._.js +3 -0
  691. package/.next/server/chunks/[root-of-the-server]__1hpwwxw._.js +3 -0
  692. package/.next/server/chunks/[root-of-the-server]__1hq73__._.js +3 -0
  693. package/.next/server/chunks/[root-of-the-server]__1jtd2ar._.js +6 -0
  694. package/.next/server/chunks/[root-of-the-server]__1kqv61m._.js +3 -0
  695. package/.next/server/chunks/[root-of-the-server]__1m4-ab6._.js +3 -0
  696. package/.next/server/chunks/[root-of-the-server]__1nmtv65._.js +10 -0
  697. package/.next/server/chunks/[root-of-the-server]__1oup682._.js +3 -0
  698. package/.next/server/chunks/[root-of-the-server]__1ouzjax._.js +3 -0
  699. package/.next/server/chunks/[root-of-the-server]__1pcgq22._.js +3 -0
  700. package/.next/server/chunks/[root-of-the-server]__1pplzr1._.js +3 -0
  701. package/.next/server/chunks/[root-of-the-server]__1q5nt5y._.js +3 -0
  702. package/.next/server/chunks/[root-of-the-server]__1qt6_3b._.js +3 -0
  703. package/.next/server/chunks/[root-of-the-server]__1sdtn83._.js +3 -0
  704. package/.next/server/chunks/[root-of-the-server]__1utxo11._.js +3 -0
  705. package/.next/server/chunks/[root-of-the-server]__1v1dgs2._.js +3 -0
  706. package/.next/server/chunks/[root-of-the-server]__1v9b8go._.js +3 -0
  707. package/.next/server/chunks/[root-of-the-server]__1vw740y._.js +32 -0
  708. package/.next/server/chunks/[root-of-the-server]__1vzxn91._.js +3 -0
  709. package/.next/server/chunks/[root-of-the-server]__1wgn76g._.js +3 -0
  710. package/.next/server/chunks/[root-of-the-server]__1wkh9sj._.js +3 -0
  711. package/.next/server/chunks/[root-of-the-server]__1xcmja4._.js +3 -0
  712. package/.next/server/chunks/[root-of-the-server]__1y6fx9-._.js +3 -0
  713. package/.next/server/chunks/[root-of-the-server]__1zos_p4._.js +3 -0
  714. package/.next/server/chunks/[root-of-the-server]__1zp0oig._.js +3 -0
  715. package/.next/server/chunks/[root-of-the-server]__203q6el._.js +3 -0
  716. package/.next/server/chunks/[root-of-the-server]__20bun16._.js +3 -0
  717. package/.next/server/chunks/[turbopack]_runtime.js +939 -0
  718. package/.next/server/chunks/_008zx49._.js +3 -0
  719. package/.next/server/chunks/_011-ll5._.js +3 -0
  720. package/.next/server/chunks/_0431fxn._.js +3 -0
  721. package/.next/server/chunks/_0ae3z2e._.js +3 -0
  722. package/.next/server/chunks/_0c5hvv3._.js +11 -0
  723. package/.next/server/chunks/_0ekrwj-._.js +36 -0
  724. package/.next/server/chunks/_0frix22._.js +11 -0
  725. package/.next/server/chunks/_0gxi3zr._.js +3 -0
  726. package/.next/server/chunks/_0lz3t4l._.js +19 -0
  727. package/.next/server/chunks/_0o1p57f._.js +3 -0
  728. package/.next/server/chunks/_0t6g4yt._.js +3 -0
  729. package/.next/server/chunks/_0uxp3uh._.js +3 -0
  730. package/.next/server/chunks/_0x3ltk0._.js +36 -0
  731. package/.next/server/chunks/_12w5k19._.js +3 -0
  732. package/.next/server/chunks/_13ffmxv._.js +3 -0
  733. package/.next/server/chunks/_14tz_k9._.js +3 -0
  734. package/.next/server/chunks/_16jdov0._.js +3 -0
  735. package/.next/server/chunks/_18amra5._.js +3 -0
  736. package/.next/server/chunks/_19fidvw._.js +3 -0
  737. package/.next/server/chunks/_1_ns7o3._.js +3 -0
  738. package/.next/server/chunks/_1a1aqmi._.js +3 -0
  739. package/.next/server/chunks/_1a1udq0._.js +3 -0
  740. package/.next/server/chunks/_1b0269x._.js +3 -0
  741. package/.next/server/chunks/_1b7qjlv._.js +3 -0
  742. package/.next/server/chunks/_1be-y66._.js +3 -0
  743. package/.next/server/chunks/_1ex6ovo._.js +3 -0
  744. package/.next/server/chunks/_1fgb9ve._.js +3 -0
  745. package/.next/server/chunks/_1m-yyz-._.js +3 -0
  746. package/.next/server/chunks/_1oj6gy_._.js +3 -0
  747. package/.next/server/chunks/_1oqpwh8._.js +3 -0
  748. package/.next/server/chunks/_1q5w9fc._.js +3 -0
  749. package/.next/server/chunks/_1ve0z0w._.js +3 -0
  750. package/.next/server/chunks/_1z_ujac._.js +3 -0
  751. package/.next/server/chunks/_211va-d._.js +3 -0
  752. package/.next/server/chunks/_next-internal_server_app_api_admin_dashboard_route_actions_1ispso-.js +3 -0
  753. package/.next/server/chunks/_next-internal_server_app_api_admin_migrate-tags_route_actions_1ztwxhx.js +3 -0
  754. package/.next/server/chunks/_next-internal_server_app_api_admin_system-reset_route_actions_15aselt.js +3 -0
  755. package/.next/server/chunks/_next-internal_server_app_api_admin_users_[id]_detail_route_actions_0oe_wkt.js +3 -0
  756. package/.next/server/chunks/_next-internal_server_app_api_admin_users_[id]_route_actions_1hhpuc4.js +3 -0
  757. package/.next/server/chunks/_next-internal_server_app_api_admin_users_route_actions_0q-rtz1.js +3 -0
  758. package/.next/server/chunks/_next-internal_server_app_api_ai_models_route_actions_0w7iwv-.js +3 -0
  759. package/.next/server/chunks/_next-internal_server_app_api_ai_test_route_actions_1p0n1q8.js +3 -0
  760. package/.next/server/chunks/_next-internal_server_app_api_analytics_route_actions_1e0ou17.js +3 -0
  761. package/.next/server/chunks/_next-internal_server_app_api_analyze_route_actions_0lx-23h.js +3 -0
  762. package/.next/server/chunks/_next-internal_server_app_api_auth_[___nextauth]_route_actions_08nexdk.js +3 -0
  763. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_delete_route_actions_1w26boq.js +3 -0
  764. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_figure_route_actions_0adlts0.js +3 -0
  765. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_fix-latex_route_actions_0hc7dhx.js +3 -0
  766. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_geogebra_route_actions_1-ks4uv.js +3 -0
  767. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_image_route_actions_1k9n5yl.js +3 -0
  768. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_mastery_route_actions_1l5uan6.js +3 -0
  769. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_notes_route_actions_1cjux7z.js +3 -0
  770. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_reanswer_route_actions_1-sw0j2.js +3 -0
  771. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_retag_route_actions_0ckki4n.js +3 -0
  772. package/.next/server/chunks/_next-internal_server_app_api_error-items_[id]_route_actions_1kbs4ux.js +3 -0
  773. package/.next/server/chunks/_next-internal_server_app_api_error-items_batch-delete_route_actions_0hiq_1k.js +3 -0
  774. package/.next/server/chunks/_next-internal_server_app_api_error-items_clear_route_actions_14t_6i-.js +3 -0
  775. package/.next/server/chunks/_next-internal_server_app_api_error-items_list_route_actions_032x4ue.js +3 -0
  776. package/.next/server/chunks/_next-internal_server_app_api_error-items_route_actions_1zdvz0p.js +3 -0
  777. package/.next/server/chunks/_next-internal_server_app_api_error-items_short_[shortId]_route_actions_02976v-.js +3 -0
  778. package/.next/server/chunks/_next-internal_server_app_api_error-items_similarity_route_actions_1i26if9.js +3 -0
  779. package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_results_route_actions_1v3vhi4.js +3 -0
  780. package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_retry_route_actions_1fdi39f.js +3 -0
  781. package/.next/server/chunks/_next-internal_server_app_api_exams_[id]_route_actions_1wuidrq.js +3 -0
  782. package/.next/server/chunks/_next-internal_server_app_api_exams_route_actions_1c_zhtj.js +3 -0
  783. package/.next/server/chunks/_next-internal_server_app_api_export_route_actions_0lpcnjc.js +3 -0
  784. package/.next/server/chunks/_next-internal_server_app_api_geogebra-analyze_route_actions_1xng0_c.js +3 -0
  785. package/.next/server/chunks/_next-internal_server_app_api_health_route_actions_1ryftkb.js +3 -0
  786. package/.next/server/chunks/_next-internal_server_app_api_import_route_actions_20ko04x.js +3 -0
  787. package/.next/server/chunks/_next-internal_server_app_api_logs_frontend_route_actions_0nxepty.js +3 -0
  788. package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_retag_route_actions_00su_t8.js +3 -0
  789. package/.next/server/chunks/_next-internal_server_app_api_notebooks_[id]_route_actions_11j3vxg.js +3 -0
  790. package/.next/server/chunks/_next-internal_server_app_api_notebooks_route_actions_02cy45r.js +3 -0
  791. package/.next/server/chunks/_next-internal_server_app_api_openclaw_batch-upload_route_actions_1zz3oen.js +3 -0
  792. package/.next/server/chunks/_next-internal_server_app_api_practice_generate_route_actions_1krr9n_.js +3 -0
  793. package/.next/server/chunks/_next-internal_server_app_api_practice_record_[id]_route_actions_0zreiom.js +3 -0
  794. package/.next/server/chunks/_next-internal_server_app_api_practice_record_route_actions_0py9z__.js +3 -0
  795. package/.next/server/chunks/_next-internal_server_app_api_reanswer_route_actions_04xweh_.js +3 -0
  796. package/.next/server/chunks/_next-internal_server_app_api_register_route_actions_0vlzh_c.js +3 -0
  797. package/.next/server/chunks/_next-internal_server_app_api_register_status_route_actions_0b52_sj.js +3 -0
  798. package/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js +3 -0
  799. package/.next/server/chunks/_next-internal_server_app_api_stats_practice_clear_route_actions_1iz6iz0.js +3 -0
  800. package/.next/server/chunks/_next-internal_server_app_api_stats_practice_route_actions_1tfoxx-.js +3 -0
  801. package/.next/server/chunks/_next-internal_server_app_api_tags_route_actions_1nb9ma2.js +3 -0
  802. package/.next/server/chunks/_next-internal_server_app_api_tags_stats_route_actions_0fmeadc.js +3 -0
  803. package/.next/server/chunks/_next-internal_server_app_api_tags_suggestions_route_actions_1xpolyv.js +3 -0
  804. package/.next/server/chunks/_next-internal_server_app_api_tasks_route_actions_123tq1_.js +3 -0
  805. package/.next/server/chunks/_next-internal_server_app_api_user_route_actions_1k-4clg.js +3 -0
  806. package/.next/server/chunks/_next-internal_server_app_api_version_route_actions_0kbx30h.js +3 -0
  807. package/.next/server/chunks/_next-internal_server_app_favicon_ico_route_actions_0g2jjls.js +3 -0
  808. package/.next/server/chunks/_next-internal_server_app_manifest_webmanifest_route_actions_08hcpz0.js +3 -0
  809. package/.next/server/chunks/node_modules_next_1zdbrne._.js +10 -0
  810. package/.next/server/chunks/node_modules_zod_v4_classic_external_1-pw2v2.js +22 -0
  811. package/.next/server/chunks/src_0tzpy5j._.js +3 -0
  812. package/.next/server/chunks/src_lib_ai_prompts_ts_0z36zms._.js +554 -0
  813. package/.next/server/chunks/src_lib_date-time_ts_14chb27._.js +3 -0
  814. package/.next/server/chunks/src_lib_question-deduplication_ts_1p1bik-._.js +3 -0
  815. package/.next/server/chunks/ssr/[externals]_fs_0pplqgc._.js +3 -0
  816. package/.next/server/chunks/ssr/[root-of-the-server]__00gewu3._.js +35 -0
  817. package/.next/server/chunks/ssr/[root-of-the-server]__05f8wbh._.js +3 -0
  818. package/.next/server/chunks/ssr/[root-of-the-server]__0a0nty7._.js +3 -0
  819. package/.next/server/chunks/ssr/[root-of-the-server]__0ax9dog._.js +3 -0
  820. package/.next/server/chunks/ssr/[root-of-the-server]__0b8kewv._.js +3 -0
  821. package/.next/server/chunks/ssr/[root-of-the-server]__0bvtza7._.js +33 -0
  822. package/.next/server/chunks/ssr/[root-of-the-server]__0g_-bym._.js +3 -0
  823. package/.next/server/chunks/ssr/[root-of-the-server]__0gwwr7e._.js +3 -0
  824. package/.next/server/chunks/ssr/[root-of-the-server]__0hzktoi._.js +3 -0
  825. package/.next/server/chunks/ssr/[root-of-the-server]__0icjezr._.js +3 -0
  826. package/.next/server/chunks/ssr/[root-of-the-server]__0koj8h0._.js +3 -0
  827. package/.next/server/chunks/ssr/[root-of-the-server]__0s87xha._.js +3 -0
  828. package/.next/server/chunks/ssr/[root-of-the-server]__0snpjfe._.js +3 -0
  829. package/.next/server/chunks/ssr/[root-of-the-server]__0y_e9do._.js +3 -0
  830. package/.next/server/chunks/ssr/[root-of-the-server]__0ybs_4c._.js +3 -0
  831. package/.next/server/chunks/ssr/[root-of-the-server]__14l7peq._.js +3 -0
  832. package/.next/server/chunks/ssr/[root-of-the-server]__1507q8a._.js +3 -0
  833. package/.next/server/chunks/ssr/[root-of-the-server]__15ppb9j._.js +3 -0
  834. package/.next/server/chunks/ssr/[root-of-the-server]__191jn5n._.js +3 -0
  835. package/.next/server/chunks/ssr/[root-of-the-server]__1f2jx51._.js +33 -0
  836. package/.next/server/chunks/ssr/[root-of-the-server]__1gth76-._.js +3 -0
  837. package/.next/server/chunks/ssr/[root-of-the-server]__1ko_dw5._.js +3 -0
  838. package/.next/server/chunks/ssr/[root-of-the-server]__1l84pks._.js +3 -0
  839. package/.next/server/chunks/ssr/[root-of-the-server]__1m7qw-2._.js +3 -0
  840. package/.next/server/chunks/ssr/[root-of-the-server]__1ma2oml._.js +3 -0
  841. package/.next/server/chunks/ssr/[root-of-the-server]__1o8jotz._.js +3 -0
  842. package/.next/server/chunks/ssr/[root-of-the-server]__1o__w27._.js +3 -0
  843. package/.next/server/chunks/ssr/[root-of-the-server]__1p7f0va._.js +3 -0
  844. package/.next/server/chunks/ssr/[root-of-the-server]__1sg9eoj._.js +3 -0
  845. package/.next/server/chunks/ssr/[root-of-the-server]__1u74hyi._.js +3 -0
  846. package/.next/server/chunks/ssr/[root-of-the-server]__1xsovpr._.js +3 -0
  847. package/.next/server/chunks/ssr/[turbopack]_runtime.js +939 -0
  848. package/.next/server/chunks/ssr/_054yhx9._.js +3 -0
  849. package/.next/server/chunks/ssr/_07ls0n_._.js +3 -0
  850. package/.next/server/chunks/ssr/_0i9hwpv._.js +3 -0
  851. package/.next/server/chunks/ssr/_0iqp5hs._.js +3 -0
  852. package/.next/server/chunks/ssr/_0m1-rq-._.js +3 -0
  853. package/.next/server/chunks/ssr/_0mgbe2b._.js +3 -0
  854. package/.next/server/chunks/ssr/_0nv22wt._.js +3 -0
  855. package/.next/server/chunks/ssr/_0rz2_qb._.js +151 -0
  856. package/.next/server/chunks/ssr/_0sbbx9z._.js +7 -0
  857. package/.next/server/chunks/ssr/_0sf1gd9._.js +3 -0
  858. package/.next/server/chunks/ssr/_0uemk57._.js +3 -0
  859. package/.next/server/chunks/ssr/_0zj7dlu._.js +3 -0
  860. package/.next/server/chunks/ssr/_12c20v5._.js +3 -0
  861. package/.next/server/chunks/ssr/_17igtpd._.js +3 -0
  862. package/.next/server/chunks/ssr/_1filpif._.js +3 -0
  863. package/.next/server/chunks/ssr/_1gu1rou._.js +3 -0
  864. package/.next/server/chunks/ssr/_1jniqsj._.js +3 -0
  865. package/.next/server/chunks/ssr/_1kgnhmo._.js +8 -0
  866. package/.next/server/chunks/ssr/_1lt1lhz._.js +8 -0
  867. package/.next/server/chunks/ssr/_1yeu09q._.js +3 -0
  868. package/.next/server/chunks/ssr/_next-internal_server_app__global-error_page_actions_0zi5s8-.js +3 -0
  869. package/.next/server/chunks/ssr/_next-internal_server_app__not-found_page_actions_0pt47yr.js +3 -0
  870. package/.next/server/chunks/ssr/_next-internal_server_app_admin_page_actions_1mcickz.js +3 -0
  871. package/.next/server/chunks/ssr/_next-internal_server_app_admin_user_[id]_page_actions_0baj8gs.js +3 -0
  872. package/.next/server/chunks/ssr/_next-internal_server_app_error-items_[id]_page_actions_0qla9ak.js +3 -0
  873. package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_page_actions_1kushg5.js +3 -0
  874. package/.next/server/chunks/ssr/_next-internal_server_app_exams_[id]_print_page_actions_0pxdgxq.js +3 -0
  875. package/.next/server/chunks/ssr/_next-internal_server_app_exams_page_actions_0av69f-.js +3 -0
  876. package/.next/server/chunks/ssr/_next-internal_server_app_latex-test_page_actions_19v7ka0.js +3 -0
  877. package/.next/server/chunks/ssr/_next-internal_server_app_login_page_actions_04fnjo0.js +3 -0
  878. package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_add_page_actions_0275ft2.js +3 -0
  879. package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_[id]_page_actions_1qj0i-7.js +3 -0
  880. package/.next/server/chunks/ssr/_next-internal_server_app_notebooks_page_actions_06x1kdz.js +3 -0
  881. package/.next/server/chunks/ssr/_next-internal_server_app_page_actions_0hhsz1j.js +3 -0
  882. package/.next/server/chunks/ssr/_next-internal_server_app_practice_page_actions_0cy-h5n.js +3 -0
  883. package/.next/server/chunks/ssr/_next-internal_server_app_print-preview_page_actions_1jhaaln.js +3 -0
  884. package/.next/server/chunks/ssr/_next-internal_server_app_register_page_actions_1op-s-x.js +3 -0
  885. package/.next/server/chunks/ssr/_next-internal_server_app_stats_page_actions_1olf1_a.js +3 -0
  886. package/.next/server/chunks/ssr/_next-internal_server_app_tags_page_actions_20v_n--.js +3 -0
  887. package/.next/server/chunks/ssr/node_modules_0o2aki7._.js +3 -0
  888. package/.next/server/chunks/ssr/node_modules_1y5ym6h._.js +3 -0
  889. package/.next/server/chunks/ssr/node_modules_next_1lnqo1a._.js +5 -0
  890. package/.next/server/chunks/ssr/node_modules_next_dist_077yo5w._.js +3 -0
  891. package/.next/server/chunks/ssr/node_modules_next_dist_0nkkbfv._.js +6 -0
  892. package/.next/server/chunks/ssr/node_modules_next_dist_1_c-t1n._.js +14 -0
  893. package/.next/server/chunks/ssr/node_modules_next_dist_1v8aef8._.js +3 -0
  894. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0bew68i._.js +33 -0
  895. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_0wpq8j3._.js +3 -0
  896. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_forbidden_0symwr9.js +3 -0
  897. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_global-error_0q-w892.js +3 -0
  898. package/.next/server/chunks/ssr/node_modules_next_dist_client_components_builtin_unauthorized_0l_sp0x.js +3 -0
  899. package/.next/server/chunks/ssr/src_1biegcg._.js +3 -0
  900. package/.next/server/chunks/ssr/src_1gayunq._.js +3 -0
  901. package/.next/server/chunks/ssr/src_1o363ao._.js +3 -0
  902. package/.next/server/chunks/ssr/src_app_admin_page_tsx_0ublbd0._.js +3 -0
  903. package/.next/server/chunks/ssr/src_app_error-items_[id]_page_tsx_04xwwdm._.js +3 -0
  904. package/.next/server/chunks/ssr/src_app_notebooks_[id]_page_tsx_08njm-5._.js +3 -0
  905. package/.next/server/chunks/ssr/src_app_notebooks_page_tsx_1p9src5._.js +3 -0
  906. package/.next/server/chunks/ssr/src_app_page_tsx_1chiuah._.js +3 -0
  907. package/.next/server/chunks/ssr/src_app_practice_page_tsx_10gnx53._.js +3 -0
  908. package/.next/server/chunks/ssr/src_app_tags_page_tsx_1h2vkk4._.js +3 -0
  909. package/.next/server/chunks/ssr/src_components_providers_tsx_09kw-mv._.js +193 -0
  910. package/.next/server/chunks/ssr/src_lib_date-time_ts_0oyqctn._.js +3 -0
  911. package/.next/server/edge/chunks/[root-of-the-server]__1osrt2u._.js +3 -0
  912. package/.next/server/edge/chunks/_1s0wgnu._.js +3 -0
  913. package/.next/server/edge/chunks/node_modules_0g4gi6f._.js +13 -0
  914. package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1iafar9.js +3 -0
  915. package/.next/server/edge/chunks/turbopack-node_modules_next_dist_esm_build_templates_edge-wrapper_1x1n1fx.js +3 -0
  916. package/.next/server/functions-config-manifest.json +6 -0
  917. package/.next/server/instrumentation.js +4 -0
  918. package/.next/server/middleware-build-manifest.js +24 -0
  919. package/.next/server/middleware-manifest.json +36 -0
  920. package/.next/server/next-font-manifest.js +1 -0
  921. package/.next/server/next-font-manifest.json +79 -0
  922. package/.next/server/pages/500.html +1 -0
  923. package/.next/server/pages-manifest.json +3 -0
  924. package/.next/server/prefetch-hints.json +11 -0
  925. package/.next/server/server-reference-manifest.js +1 -0
  926. package/.next/server/server-reference-manifest.json +5 -0
  927. package/.next/static/OpwRvHtdhPgxve2rKkWkK/_buildManifest.js +11 -0
  928. package/.next/static/OpwRvHtdhPgxve2rKkWkK/_clientMiddlewareManifest.js +6 -0
  929. package/.next/static/OpwRvHtdhPgxve2rKkWkK/_ssgManifest.js +1 -0
  930. package/.next/static/chunks/00pn0o7lymln6.js +1 -0
  931. package/.next/static/chunks/02521degnqmf0.js +1 -0
  932. package/.next/static/chunks/05q4yafxnvtzs.js +1 -0
  933. package/.next/static/chunks/0_w084ms_lq25.js +22 -0
  934. package/.next/static/chunks/0cz1d0mv5g_q7.js +1 -0
  935. package/.next/static/chunks/0dzfsm6h13fyr.js +1 -0
  936. package/.next/static/chunks/0ehjiuuxbbhq9.js +1 -0
  937. package/.next/static/chunks/0iq53qkw5hvrs.js +1 -0
  938. package/.next/static/chunks/0lxsaj3bivcgo.css +1 -0
  939. package/.next/static/chunks/0m81l71kojx8j.js +1 -0
  940. package/.next/static/chunks/0nckb2-62ooyq.js +1 -0
  941. package/.next/static/chunks/0snej-v5yglxr.js +1 -0
  942. package/.next/static/chunks/1-7k9gbbjkcml.js +1 -0
  943. package/.next/static/chunks/1ad3ir88_e_v6.css +3 -0
  944. package/.next/static/chunks/1cd32rtomdngh.js +1 -0
  945. package/.next/static/chunks/1io3-cth_2-cd.js +1 -0
  946. package/.next/static/chunks/1oiuiyv1cv06v.js +31 -0
  947. package/.next/static/chunks/1t4-pobw0y5cf.js +1 -0
  948. package/.next/static/chunks/1xg811762s1p1.js +1 -0
  949. package/.next/static/chunks/1z_5sj1wqi06v.js +1 -0
  950. package/.next/static/chunks/29erttsjondpe.js +1 -0
  951. package/.next/static/chunks/2dlme2fdlkms6.js +1 -0
  952. package/.next/static/chunks/2h-exsnhkfnb8.js +1 -0
  953. package/.next/static/chunks/2pmzqbg-qabof.js +1 -0
  954. package/.next/static/chunks/2rmhba08h4qqo.js +33 -0
  955. package/.next/static/chunks/2s07soqug65hc.js +1 -0
  956. package/.next/static/chunks/2w2uo9jjxt-re.js +1 -0
  957. package/.next/static/chunks/2yl8a-gxngbuq.js +1 -0
  958. package/.next/static/chunks/31rxdwy0u_t29.js +1 -0
  959. package/.next/static/chunks/32bl-oqw9oso0.js +1 -0
  960. package/.next/static/chunks/35cov9g4cgt-v.js +1 -0
  961. package/.next/static/chunks/37g3bsrs22xg7.js +191 -0
  962. package/.next/static/chunks/3b-g5_r9nto3s.js +6 -0
  963. package/.next/static/chunks/3c4-ozf1dxam2.css +1 -0
  964. package/.next/static/chunks/3g1rm2suowncy.js +3 -0
  965. package/.next/static/chunks/3helovsg02qr4.js +1 -0
  966. package/.next/static/chunks/3jta6jrk-jubq.js +1 -0
  967. package/.next/static/chunks/3yhf6xyypekz6.js +1 -0
  968. package/.next/static/chunks/3z9gc_02gl8n9.js +1 -0
  969. package/.next/static/chunks/427wg73nuzpiz.js +5 -0
  970. package/.next/static/chunks/turbopack-1-0r7_puvz3eq.js +1 -0
  971. package/.next/static/media/GeistMono_Variable-s.p.0iy569vnmknd-.woff2 +0 -0
  972. package/.next/static/media/Geist_Variable-s.p.03oqkqkevsckn.woff2 +0 -0
  973. package/.next/static/media/KaTeX_AMS-Regular.10y3kupq4t663.woff +0 -0
  974. package/.next/static/media/KaTeX_AMS-Regular.25ieegmnh38ts.woff2 +0 -0
  975. package/.next/static/media/KaTeX_AMS-Regular.418dr7cz3fo2x.ttf +0 -0
  976. package/.next/static/media/KaTeX_Caligraphic-Bold.06b-ya9t43ioz.woff2 +0 -0
  977. package/.next/static/media/KaTeX_Caligraphic-Bold.2vmk2hva4ctha.woff +0 -0
  978. package/.next/static/media/KaTeX_Caligraphic-Bold.40ltxhe834pns.ttf +0 -0
  979. package/.next/static/media/KaTeX_Caligraphic-Regular.07-7u27-nhn_r.ttf +0 -0
  980. package/.next/static/media/KaTeX_Caligraphic-Regular.2eph4dlhid_m9.woff2 +0 -0
  981. package/.next/static/media/KaTeX_Caligraphic-Regular.3gxeetazf831f.woff +0 -0
  982. package/.next/static/media/KaTeX_Fraktur-Bold.19yqa_tc9d_gx.ttf +0 -0
  983. package/.next/static/media/KaTeX_Fraktur-Bold.1alcy76__wdj2.woff +0 -0
  984. package/.next/static/media/KaTeX_Fraktur-Bold.2sasz-d-jtw8y.woff2 +0 -0
  985. package/.next/static/media/KaTeX_Fraktur-Regular.110oo81prr9n5.woff +0 -0
  986. package/.next/static/media/KaTeX_Fraktur-Regular.2d10y4xmjvzlf.woff2 +0 -0
  987. package/.next/static/media/KaTeX_Fraktur-Regular.2qhy34r6a05dn.ttf +0 -0
  988. package/.next/static/media/KaTeX_Main-Bold.0us_n0tnxlxu7.ttf +0 -0
  989. package/.next/static/media/KaTeX_Main-Bold.0v1esh257kqpe.woff +0 -0
  990. package/.next/static/media/KaTeX_Main-Bold.3-rowy8o6_4ky.woff2 +0 -0
  991. package/.next/static/media/KaTeX_Main-BoldItalic.13355ck5zr48q.woff +0 -0
  992. package/.next/static/media/KaTeX_Main-BoldItalic.14r2naom8mrec.woff2 +0 -0
  993. package/.next/static/media/KaTeX_Main-BoldItalic.3x_u9cepaced0.ttf +0 -0
  994. package/.next/static/media/KaTeX_Main-Italic.0afv392dj4w59.woff +0 -0
  995. package/.next/static/media/KaTeX_Main-Italic.0lig0v9j0700p.woff2 +0 -0
  996. package/.next/static/media/KaTeX_Main-Italic.2hkw3230mfwcv.ttf +0 -0
  997. package/.next/static/media/KaTeX_Main-Regular.0symfa7dqj6jd.ttf +0 -0
  998. package/.next/static/media/KaTeX_Main-Regular.15u8r3b2y7fv4.woff +0 -0
  999. package/.next/static/media/KaTeX_Main-Regular.1ryvsdzh2w1_e.woff2 +0 -0
  1000. package/.next/static/media/KaTeX_Math-BoldItalic.0y5w36a5aq__2.ttf +0 -0
  1001. package/.next/static/media/KaTeX_Math-BoldItalic.12pl58orkw9rg.woff +0 -0
  1002. package/.next/static/media/KaTeX_Math-BoldItalic.1oopuu636h4il.woff2 +0 -0
  1003. package/.next/static/media/KaTeX_Math-Italic.0w0b1ugh62cfr.woff +0 -0
  1004. package/.next/static/media/KaTeX_Math-Italic.2vkekfblmz5nb.ttf +0 -0
  1005. package/.next/static/media/KaTeX_Math-Italic.32405s1aq8vas.woff2 +0 -0
  1006. package/.next/static/media/KaTeX_SansSerif-Bold.0h3wi2z_eouyg.woff2 +0 -0
  1007. package/.next/static/media/KaTeX_SansSerif-Bold.1ovw5p-yjp56g.woff +0 -0
  1008. package/.next/static/media/KaTeX_SansSerif-Bold.2d03q85pwxpti.ttf +0 -0
  1009. package/.next/static/media/KaTeX_SansSerif-Italic.0wkjc4dm2kcit.woff2 +0 -0
  1010. package/.next/static/media/KaTeX_SansSerif-Italic.1qavw__2zz8gk.woff +0 -0
  1011. package/.next/static/media/KaTeX_SansSerif-Italic.3i-q087b23-m8.ttf +0 -0
  1012. package/.next/static/media/KaTeX_SansSerif-Regular.1i4afx8nk8n4r.woff +0 -0
  1013. package/.next/static/media/KaTeX_SansSerif-Regular.2peiewu59z3d-.woff2 +0 -0
  1014. package/.next/static/media/KaTeX_SansSerif-Regular.31pbu25feko_c.ttf +0 -0
  1015. package/.next/static/media/KaTeX_Script-Regular.11h14300o9pd0.woff2 +0 -0
  1016. package/.next/static/media/KaTeX_Script-Regular.28p_x7iz71ofe.ttf +0 -0
  1017. package/.next/static/media/KaTeX_Script-Regular.3110jb9c-bxna.woff +0 -0
  1018. package/.next/static/media/KaTeX_Size1-Regular.03lhvx36ekcou.woff2 +0 -0
  1019. package/.next/static/media/KaTeX_Size1-Regular.1slf4bh0hc6vm.woff +0 -0
  1020. package/.next/static/media/KaTeX_Size1-Regular.1y57-ck23ey8c.ttf +0 -0
  1021. package/.next/static/media/KaTeX_Size2-Regular.0-kwyvx03omo8.woff +0 -0
  1022. package/.next/static/media/KaTeX_Size2-Regular.14s5gg-puz6h-.woff2 +0 -0
  1023. package/.next/static/media/KaTeX_Size2-Regular.2u0s-b07k2o9m.ttf +0 -0
  1024. package/.next/static/media/KaTeX_Size3-Regular.04o9a_02gu_e8.woff +0 -0
  1025. package/.next/static/media/KaTeX_Size3-Regular.1n1rgzz84z8r9.woff2 +0 -0
  1026. package/.next/static/media/KaTeX_Size3-Regular.1pkn-dge4q0fv.ttf +0 -0
  1027. package/.next/static/media/KaTeX_Size4-Regular.2sgotkdv3dcyv.woff2 +0 -0
  1028. package/.next/static/media/KaTeX_Size4-Regular.2uelkfk2yna5e.ttf +0 -0
  1029. package/.next/static/media/KaTeX_Size4-Regular.3p2r1l7xmebxv.woff +0 -0
  1030. package/.next/static/media/KaTeX_Typewriter-Regular.11gr2d2wuwz77.woff2 +0 -0
  1031. package/.next/static/media/KaTeX_Typewriter-Regular.12f8myjij3617.woff +0 -0
  1032. package/.next/static/media/KaTeX_Typewriter-Regular.3nee9kjfy6nm8.ttf +0 -0
  1033. package/.next/static/media/favicon.2vob68tjqpejf.ico +0 -0
  1034. package/README.md +35 -2
  1035. package/bin/wrong-notebook.js +60 -0
  1036. package/launcher.js +177 -0
  1037. package/package.json +44 -4
  1038. package/prisma/migrations/20251127143435_init/migration.sql +62 -0
  1039. package/prisma/migrations/20251129152530_init/migration.sql +40 -0
  1040. package/prisma/migrations/20251130150624_add_education_info/migration.sql +6 -0
  1041. package/prisma/migrations/20251130161659_init/migration.sql +2 -0
  1042. package/prisma/migrations/20251201050917_add_admin_role/migration.sql +21 -0
  1043. package/prisma/migrations/20251203155126_cascade_delete_subject_error_items/migration.sql +29 -0
  1044. package/prisma/migrations/20251213132347_add_knowledge_tag_model/migration.sql +38 -0
  1045. package/prisma/migrations/20251219014445_fix_tag_constraints/migration.sql +11 -0
  1046. package/prisma/migrations/20260427090000_add_mistake_analysis_fields/migration.sql +4 -0
  1047. package/prisma/migrations/20260608000000_add_geogebra_commands/migration.sql +2 -0
  1048. package/prisma/migrations/20261018120000_add_practice_mastery_exam/migration.sql +103 -0
  1049. package/prisma/migrations/20261018133653_add_duplicate_import_details/migration.sql +4 -0
  1050. package/prisma/migrations/20261018134606_add_question_duplicate_threshold/migration.sql +2 -0
  1051. package/prisma/migrations/20261019090000_add_user_enable_geogebra/migration.sql +2 -0
  1052. package/prisma/migrations/20261019120000_lower_question_duplicate_threshold_default/migration.sql +27 -0
  1053. package/prisma/migrations/20261019150000_add_error_item_difficulty_stars/migration.sql +2 -0
  1054. package/prisma/migrations/20261019170000_add_notebook_stage_subject/migration.sql +17 -0
  1055. package/prisma/migrations/20261019190000_add_question_figure_svg/migration.sql +6 -0
  1056. package/prisma/migrations/20261019210000_add_svg_animation/migration.sql +3 -0
  1057. package/prisma/migrations/20261019230000_exam_question_multiple_results/migration.sql +40 -0
  1058. package/prisma/migrations/migration_lock.toml +3 -0
  1059. package/prisma/schema.prisma +222 -0
  1060. package/prisma/seed.db +0 -0
  1061. package/public/file.svg +1 -0
  1062. package/public/globe.svg +1 -0
  1063. package/public/icons/icon.png +0 -0
  1064. package/public/next.svg +1 -0
  1065. package/public/vercel.svg +1 -0
  1066. package/public/window.svg +1 -0
  1067. package/server.js +38 -0
@@ -0,0 +1,193 @@
1
+ module.exports=[18175,a=>{"use strict";var b=a.i(87924),c=a.i(50194),d=a.i(75003),e=a.i(29759),f=a.i(71987),g=a.i(38246),h=a.i(50944),i=a.i(39761),j=a.i(53722),k=a.i(4720),l=a.i(70106);let m=(0,l.default)("log-out",[["path",{d:"m16 17 5-5-5-5",key:"1bji2h"}],["path",{d:"M21 12H9",key:"dn1m92"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4",key:"1uf3rs"}]]),n=(0,l.default)("circle-plus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]]),o=(0,l.default)("shield",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}]]),p=(0,l.default)("tags",[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]]);var q=a.i(72131),r=a.i(99570),s=a.i(14574),t=a.i(66718),u=a.i(70430),v=a.i(80701),w=a.i(75083);let x=(0,l.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var y=a.i(81560),z=a.i(96221);let A=(0,l.default)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);var B=a.i(77156),C=a.i(41379),D=a.i(33836),E=a.i(46842);let F=(0,l.default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);var G=a.i(69520),H=a.i(15618);let I=(0,l.default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),J=(0,l.default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);var K=a.i(62722),L=a.i(84505);let M=(0,l.default)("upload",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m17 8-5-5-5 5",key:"7q97r8"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}]]);var N=a.i(86705),O=a.i(86304),P=a.i(7554),Q=a.i(70121),R=a.i(50104),S=a.i(25152),T=a.i(77994),U=a.i(3688);a.i(35112);var V=Symbol("radix.slottable");function W(a){return q.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===V}var X=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,c)=>{var d,e;let f,g,h,i=(e=d=`Primitive.${c}`,(f=q.forwardRef((a,b)=>{let{children:c,...d}=a;if(q.isValidElement(c)){var e;let a,f,g=(e=c,(f=(a=Object.getOwnPropertyDescriptor(e.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.ref:(f=(a=Object.getOwnPropertyDescriptor(e,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?e.props.ref:e.props.ref||e.ref),h=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(d,c.props);return c.type!==q.Fragment&&(h.ref=b?(0,Q.composeRefs)(b,g):g),q.cloneElement(c,h)}return q.Children.count(c)>1?q.Children.only(null):null})).displayName=`${e}.SlotClone`,g=f,(h=q.forwardRef((a,c)=>{let{children:d,...e}=a,f=q.Children.toArray(d),h=f.find(W);if(h){let a=h.props.children,d=f.map(b=>b!==h?b:q.Children.count(a)>1?q.Children.only(null):q.isValidElement(a)?a.props.children:null);return(0,b.jsx)(g,{...e,ref:c,children:q.isValidElement(a)?q.cloneElement(a,void 0,d):null})}return(0,b.jsx)(g,{...e,ref:c,children:d})})).displayName=`${d}.Slot`,h),j=q.forwardRef((a,d)=>{let{asChild:e,...f}=a;return(0,b.jsx)(e?i:c,{...f,ref:d})});return j.displayName=`Primitive.${c}`,{...a,[c]:j}},{}),Y="Switch",[Z,$]=(0,R.createContextScope)(Y),[_,aa]=Z(Y),ab=q.forwardRef((a,c)=>{let{__scopeSwitch:d,name:e,checked:f,defaultChecked:g,required:h,disabled:i,value:j="on",onCheckedChange:k,form:l,...m}=a,[n,o]=q.useState(null),p=(0,Q.useComposedRefs)(c,a=>o(a)),r=q.useRef(!1),s=!n||l||!!n.closest("form"),[t,u]=(0,S.useControllableState)({prop:f,defaultProp:g??!1,onChange:k,caller:Y});return(0,b.jsxs)(_,{scope:d,checked:t,disabled:i,children:[(0,b.jsx)(X.button,{type:"button",role:"switch","aria-checked":t,"aria-required":h,"data-state":af(t),"data-disabled":i?"":void 0,disabled:i,value:j,...m,ref:p,onClick:(0,P.composeEventHandlers)(a.onClick,a=>{u(a=>!a),s&&(r.current=a.isPropagationStopped(),r.current||a.stopPropagation())})}),s&&(0,b.jsx)(ae,{control:n,bubbles:!r.current,name:e,value:j,checked:t,required:h,disabled:i,form:l,style:{transform:"translateX(-100%)"}})]})});ab.displayName=Y;var ac="SwitchThumb",ad=q.forwardRef((a,c)=>{let{__scopeSwitch:d,...e}=a,f=aa(ac,d);return(0,b.jsx)(X.span,{"data-state":af(f.checked),"data-disabled":f.disabled?"":void 0,...e,ref:c})});ad.displayName=ac;var ae=q.forwardRef(({__scopeSwitch:a,control:c,checked:d,bubbles:e=!0,...f},g)=>{let h=q.useRef(null),i=(0,Q.useComposedRefs)(h,g),j=(0,T.usePrevious)(d),k=(0,U.useSize)(c);return q.useEffect(()=>{let a=h.current;if(!a)return;let b=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(j!==d&&b){let c=new Event("click",{bubbles:e});b.call(a,d),a.dispatchEvent(c)}},[j,d,e]),(0,b.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:d,...f,tabIndex:-1,ref:i,style:{...f.style,...k,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function af(a){return a?"checked":"unchecked"}ae.displayName="SwitchBubbleInput";var ag=a.i(68114);let ah=q.forwardRef(({className:a,...c},d)=>(0,b.jsx)(ab,{className:(0,ag.cn)("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",a),...c,ref:d,children:(0,b.jsx)(ad,{className:(0,ag.cn)("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0")})}));ah.displayName=ab.displayName;let ai=q.forwardRef(({className:a,...c},d)=>(0,b.jsx)("div",{className:"relative w-full overflow-auto",children:(0,b.jsx)("table",{ref:d,className:(0,ag.cn)("w-full caption-bottom text-sm",a),...c})}));ai.displayName="Table";let aj=q.forwardRef(({className:a,...c},d)=>(0,b.jsx)("thead",{ref:d,className:(0,ag.cn)("[&_tr]:border-b",a),...c}));aj.displayName="TableHeader";let ak=q.forwardRef(({className:a,...c},d)=>(0,b.jsx)("tbody",{ref:d,className:(0,ag.cn)("[&_tr:last-child]:border-0",a),...c}));ak.displayName="TableBody",q.forwardRef(({className:a,...c},d)=>(0,b.jsx)("tfoot",{ref:d,className:(0,ag.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",a),...c})).displayName="TableFooter";let al=q.forwardRef(({className:a,...c},d)=>(0,b.jsx)("tr",{ref:d,className:(0,ag.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",a),...c}));al.displayName="TableRow";let am=q.forwardRef(({className:a,...c},d)=>(0,b.jsx)("th",{ref:d,className:(0,ag.cn)("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",a),...c}));am.displayName="TableHead";let an=q.forwardRef(({className:a,...c},d)=>(0,b.jsx)("td",{ref:d,className:(0,ag.cn)("p-4 align-middle [&:has([role=checkbox])]:pr-0",a),...c}));an.displayName="TableCell",q.forwardRef(({className:a,...c},d)=>(0,b.jsx)("caption",{ref:d,className:(0,ag.cn)("mt-4 text-sm text-muted-foreground",a),...c})).displayName="TableCaption";let ao=(0,l.default)("ban",[["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var ap=a.i(16201),aq=a.i(91938),ar=a.i(10302);function as(){let{timeZone:a}=(0,e.useTimeZone)(),{data:f}=(0,d.useSession)(),{t:g,language:h}=(0,c.useLanguage)(),[i,j]=(0,q.useState)([]),[k,l]=(0,q.useState)(!0),[m,n]=(0,q.useState)(!0),[o,p]=(0,q.useState)(!1);(0,q.useEffect)(()=>{v(),s()},[]);let s=async()=>{try{let a=await aq.apiClient.get("/api/settings");n(!1!==a.allowRegistration)}catch(a){console.error("Failed to fetch config",a)}},t=async a=>{p(!0);try{await aq.apiClient.post("/api/settings",{allowRegistration:a}),n(a)}catch(a){console.error("Failed to update registration setting",a),ar.toast.error(g.common.error)}finally{p(!1)}},v=async()=>{l(!0);try{let a=await aq.apiClient.get("/api/admin/users");j(a)}catch(a){console.error("Failed to fetch users",a)}finally{l(!1)}},w=async a=>{let b=a.isActive?g.admin.confirmDisable:g.admin.confirmEnable;if(await (0,ar.confirmDialog)(b))try{await aq.apiClient.patch(`/api/admin/users/${a.id}`,{isActive:!a.isActive}),v()}catch(a){console.error("Failed to update user status",a),ar.toast.error(g.common.error)}},x=async a=>{if(await (0,ar.confirmDialog)(g.admin.confirmDelete,{destructive:!0}))try{await aq.apiClient.delete(`/api/admin/users/${a.id}`),v()}catch(b){console.error("Failed to delete user",b);let a=b.data?.message||g.common.error;ar.toast.error(a)}};return k?(0,b.jsx)("div",{className:"flex justify-center py-8",children:(0,b.jsx)(z.Loader2,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between p-4 border rounded-lg bg-muted/30",children:[(0,b.jsxs)("div",{className:"space-y-0.5",children:[(0,b.jsx)(u.Label,{className:"text-base",children:g.admin?.allowRegistration||"Allow New Registrations"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:g.admin?.allowRegistrationDesc||"When disabled, new users cannot register"})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[o&&(0,b.jsx)(z.Loader2,{className:"h-4 w-4 animate-spin"}),(0,b.jsx)(ah,{checked:m,onCheckedChange:t,disabled:o})]})]}),(0,b.jsx)("div",{className:"sm:hidden space-y-3",children:i.map(c=>(0,b.jsxs)("div",{className:"border rounded-lg p-4 bg-card space-y-3",children:[(0,b.jsxs)("div",{className:"flex justify-between items-start",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("div",{className:"font-medium",children:c.name||"N/A"}),(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:c.email})]}),(0,b.jsx)(O.Badge,{variant:"admin"===c.role?"default":"secondary",children:"admin"===c.role?g.admin.admin:g.admin.user})]}),(0,b.jsxs)("div",{className:"flex justify-between text-sm",children:[(0,b.jsxs)("div",{className:"text-muted-foreground",children:[g.admin.errors,": ",c._count.errorItems," | ",g.admin.practiceCount,": ",c._count.practiceRecords]}),(0,b.jsx)(O.Badge,{variant:c.isActive?"default":"destructive",className:"text-xs",children:c.isActive?g.admin.active:g.admin.disabled})]}),(0,b.jsxs)("div",{className:"flex justify-between items-center pt-2 border-t",children:[(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:(0,N.formatDateTime)(c.createdAt,"yyyy-MM-dd",a)}),(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsx)(r.Button,{variant:"ghost",size:"sm",onClick:()=>w(c),disabled:c.id===(f?.user).id,children:c.isActive?(0,b.jsx)(ao,{className:"h-4 w-4 text-orange-500"}):(0,b.jsx)(ap.CheckCircle,{className:"h-4 w-4 text-green-500"})}),(0,b.jsx)(r.Button,{variant:"ghost",size:"sm",onClick:()=>x(c),disabled:c.id===(f?.user).id,children:(0,b.jsx)(y.Trash2,{className:"h-4 w-4 text-destructive"})})]})]})]},c.id))}),(0,b.jsx)("div",{className:"hidden sm:block border rounded-lg overflow-hidden",children:(0,b.jsxs)(ai,{children:[(0,b.jsx)(aj,{children:(0,b.jsxs)(al,{children:[(0,b.jsx)(am,{children:g.admin.nameEmail}),(0,b.jsx)(am,{children:g.admin.role}),(0,b.jsx)(am,{children:g.admin.stats}),(0,b.jsx)(am,{children:g.admin.createdAt}),(0,b.jsx)(am,{children:g.admin.status}),(0,b.jsx)(am,{className:"text-right",children:g.admin.actions})]})}),(0,b.jsx)(ak,{children:i.map(c=>(0,b.jsxs)(al,{children:[(0,b.jsxs)(an,{children:[(0,b.jsx)("div",{className:"font-medium",children:c.name||"N/A"}),(0,b.jsx)("div",{className:"text-sm text-muted-foreground",children:c.email})]}),(0,b.jsx)(an,{children:(0,b.jsx)(O.Badge,{variant:"admin"===c.role?"default":"secondary",children:"admin"===c.role?g.admin.admin:g.admin.user})}),(0,b.jsxs)(an,{children:[(0,b.jsxs)("div",{className:"text-sm",children:[g.admin.errors,": ",c._count.errorItems]}),(0,b.jsxs)("div",{className:"text-sm",children:[g.admin.practiceCount,": ",c._count.practiceRecords]})]}),(0,b.jsx)(an,{children:(0,N.formatDateTime)(c.createdAt,"yyyy-MM-dd",a)}),(0,b.jsx)(an,{children:(0,b.jsx)(O.Badge,{variant:c.isActive?"default":"destructive",children:c.isActive?g.admin.active:g.admin.disabled})}),(0,b.jsxs)(an,{className:"text-right space-x-2",children:[(0,b.jsx)(r.Button,{variant:"ghost",size:"sm",onClick:()=>w(c),disabled:c.id===(f?.user).id,title:c.isActive?g.admin.disable:g.admin.enable,children:c.isActive?(0,b.jsx)(ao,{className:"h-4 w-4 text-orange-500"}):(0,b.jsx)(ap.CheckCircle,{className:"h-4 w-4 text-green-500"})}),(0,b.jsx)(r.Button,{variant:"ghost",size:"sm",onClick:()=>x(c),disabled:c.id===(f?.user).id,title:g.admin.delete,children:(0,b.jsx)(y.Trash2,{className:"h-4 w-4 text-destructive"})})]})]},c.id))})]})})]})}var at=a.i(30534);function au({provider:a,apiKey:d,baseUrl:e,currentModel:f,onModelChange:g}){let{t:h}=(0,c.useLanguage)(),[i,j]=(0,q.useState)([]),[k,l]=(0,q.useState)(!1),[m,n]=(0,q.useState)(null),[o,p]=(0,q.useState)(f||""),[s,w]=(0,q.useState)(!1);(0,q.useEffect)(()=>{p(f||"")},[f]);let x=async()=>{if(!d)return void n(h.modelSelector?.enterApiKeyFirst||"Please enter API Key first");l(!0),n(null);try{let b=await aq.apiClient.post("/api/ai/models",{provider:a,apiKey:d,...e&&{baseUrl:e}});if("error"in b&&"string"==typeof b.error){n(b.error),w(!0),j([]);return}j(b.models),0===b.models.length&&(n(h.modelSelector?.noVisionModel||"No vision model found, please enter manually"),w(!0))}catch(a){console.error("Failed to fetch models:",a),n((a?.message||h.modelSelector?.fetchFailed||"Failed to fetch models")+(h.modelSelector?.enterManually||", please enter manually")),w(!0)}finally{l(!1)}};return(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(u.Label,{className:"flex-1",children:h.modelSelector?.modelName||"Model Name"}),(0,b.jsx)(r.Button,{type:"button",variant:"outline",size:"sm",onClick:x,disabled:k||!d,children:k?(0,b.jsx)(z.Loader2,{className:"h-3 w-3 animate-spin"}):(0,b.jsx)(G.RefreshCw,{className:"h-3 w-3"})})]}),m&&(0,b.jsx)("p",{className:"text-xs text-yellow-600",children:m}),s||0===i.length?(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(t.Input,{value:o,onChange:a=>{var b;p(b=a.target.value),g(b)},placeholder:"openai"===a?"gpt-4o":"gemini-1.5-flash"}),i.length>0&&(0,b.jsx)(r.Button,{type:"button",variant:"link",size:"sm",className:"h-auto p-0 text-xs",onClick:()=>w(!1),children:h.modelSelector?.selectFromList||"Select from List"})]}):(0,b.jsx)("div",{className:"space-y-2",children:(0,b.jsxs)(v.Select,{value:f,onValueChange:a=>{"_custom"===a?w(!0):(w(!1),p(a),g(a))},children:[(0,b.jsx)(v.SelectTrigger,{children:(0,b.jsx)(v.SelectValue,{placeholder:h.modelSelector?.selectModel||"Select Model"})}),(0,b.jsxs)(v.SelectContent,{children:[i.map(a=>(0,b.jsxs)(v.SelectItem,{value:a.id,children:[a.name,a.owned_by&&` (${a.owned_by})`]},a.id)),(0,b.jsx)(v.SelectItem,{value:"_custom",children:h.modelSelector?.customInput||"Custom Input..."})]})]})})]})}var av=a.i(29246);let aw=`请参考《高思学校竞赛数学导引》(每讲分兴趣篇、拓展篇、超越篇,题目左侧标 1~5 颗星)的星级标准,结合题目所在年级评定难度:
2
+ - 1 星:课本基础题,直接套用概念、公式或简单计算即可(相当于兴趣篇前几题)。
3
+ - 2 星:校内拔高题,需要两三步推理或简单综合(相当于兴趣篇后几题)。
4
+ - 3 星:常规奥数题,小升初、杯赛常见难度,需要掌握该专题的典型方法(相当于拓展篇)。
5
+ - 4 星:较难奥数题,需要构造、分类讨论、转化或多种方法综合(相当于拓展篇末题、超越篇前几题)。
6
+ - 5 星:竞赛压轴题,集训队水平,思路巧妙、步骤长(相当于超越篇难题)。
7
+ 非数学学科按同样的 1~5 级划分:1 星为基础识记,3 星为综合应用,5 星为竞赛或压轴难度。`,ax=`- 输出一个完整的 <svg> 元素,包含 xmlns="http://www.w3.org/2000/svg" 和 viewBox(建议宽 400~600),不要用 Markdown 代码块包裹。
8
+ - 白色背景、黑色线条(stroke="#000",线宽 1.5~2),需要区分的区域可用浅灰填充;不要使用彩色装饰。
9
+ - 按原图比例和相对位置绘制,保留所有标注:顶点字母、数字、长度、角度、单位、箭头和虚线等,文字用 <text>(font-size 14~18)。
10
+ - 只使用基本图形元素:line、polyline、polygon、rect、circle、ellipse、path、text、g、defs、marker。
11
+ - 严禁使用 <image>、<script>、<foreignObject>、外部链接、外部字体或事件属性。`,ay=String.raw`- 行内公式用 $...$,独立公式用 $$...$$;不要用 \(...\) 或 \[...\],每个 $ 必须成对出现。
12
+ - 所有 LaTeX 命令(如 \frac、\sqrt、\times、\angle)都必须写在 $...$ 内,公式外不能出现反斜杠命令。
13
+ - 只使用 KaTeX 支持的命令和环境:方程组用 \begin{cases}...\end{cases},多行推导用 \begin{aligned}...\end{aligned}(放在 $$...$$ 中),不要用 align、eqnarray、\newcommand、\usepackage、\label、\tag 等。
14
+ - 大括号 {} 必须成对,\left 与 \right 必须成对,\begin{...} 与 \end{...} 必须对应。
15
+ - 公式中的中文写在 \text{...} 里,或放到公式外;百分号写成 \%,美元符号写成 \$。
16
+ - 反斜杠只写一个(\frac),不要写成 \\frac;换行符 \\ 只能用在 cases、aligned 等环境里。`,az=`【角色与核心任务 (ROLE AND CORE TASK)】
17
+ 你是一位世界顶尖的、经验丰富的、专业的跨学科考试分析专家(Interdisciplinary Exam Analysis Expert)。你的核心任务是极致准确地分析用户提供的考试题目图片,全面理解所有文本、图表和隐含约束,并提供一个完整、高度结构化且专业的解决方案。
18
+
19
+ {{language_instruction}}
20
+
21
+ 【核心输出要求 (OUTPUT REQUIREMENTS)】
22
+ 你的响应输出**必须严格遵循以下自定义标签格式**。**严禁**使用 JSON 或 Markdown 代码块。**严禁**对 LaTeX 公式中的反斜杠进行二次转义(如 "\\frac" 是错误的,必须是 "\frac")。
23
+
24
+ 请严格按照以下结构输出内容:
25
+
26
+ <subject>
27
+ 在此处填写学科,必须是以下之一:"数学", "物理", "化学", "生物", "英语", "语文", "历史", "地理", "政治", "其他"。
28
+ </subject>
29
+
30
+ <knowledge_points>
31
+ 在此处填写知识点,使用逗号分隔,例如:知识点1, 知识点2, 知识点3
32
+ </knowledge_points>
33
+
34
+ <requires_image>
35
+ 判断这道题是否需要依赖图片才能正确解答。如果题目包含几何图形、函数图像、实验装置图、电路图等必须看图才能理解的内容,填写 true;如果只需要文字描述即可理解(如英语题、纯文字数学题),填写 false。
36
+ </requires_image>
37
+
38
+ <has_figure>
39
+ 判断题目本身是否带有配图(几何图形、函数图像、示意图、统计图、实验装置图、电路图等;不含学生的作答痕迹和纯文字表格)。有配图填 true,否则填 false。
40
+ </has_figure>
41
+
42
+ <figure_svg>
43
+ 如果 has_figure 为 true,用 SVG 重新绘制题目配图:
44
+ ${ax}
45
+ 如果 has_figure 为 false,请留空。
46
+ </figure_svg>
47
+
48
+ <wrong_answer_text>
49
+ 如果图片中包含学生已经写出的错误解答、错误步骤、草稿或错误答案,请尽量按原样摘录;如果没有看到学生错误解答,请留空。
50
+ </wrong_answer_text>
51
+
52
+ <mistake_status>
53
+ 填写以下值之一:wrong_attempt(图片中有错误解答或错误步骤)、not_attempted(没有错误解答,像是完全不会做或未作答)、unknown(无法判断)。
54
+ </mistake_status>
55
+
56
+ <difficulty_stars>
57
+ 只填写 1 到 5 之间的一个整数,表示题目难度星级。
58
+ ${aw}
59
+ </difficulty_stars>
60
+
61
+ <mistake_analysis>
62
+ 如果图片中包含错误解答,请分析错误可能发生在哪一步、为什么错、导致了什么后果;如果没有错误解答,请留空。
63
+ </mistake_analysis>
64
+
65
+ <question_text>
66
+ 在此处填写题目的完整文本。使用 Markdown 格式。所有数学公式使用 LaTeX 符号(行内 $...$,块级 $$...$$)。
67
+
68
+ 【题干转录规则】
69
+ 1. **逐字照录**:按图片原文转录题干(含题号、分值和标点),不要改写、概括、增删字词或调整语序;看不清的字用 [?] 标注。
70
+ 2. **填空统一**:所有填空处统一写作 ____(4 个下划线),不论原图横线长短。
71
+ 3. **图形描述**:如果题目依赖图形,在题干原文之后空一行,单独写**一段**以「图示:」开头的图形描述;只能使用「图示:」这一种写法(不要写「图示信息」「图示说明」等),描述中不要重复题干已有的文字。题目不依赖图形时不要写图示段落。
72
+
73
+ 【表格处理规则】
74
+ 如果图片中包含表格,必须完整转录表格内容,遵循以下原则:
75
+
76
+ 1. **标准表格**:使用 Markdown 表格语法
77
+ | 列标题1 | 列标题2 | 列标题3 |
78
+ |---------|---------|---------|
79
+ | 数据1 | 数据2 | 数据3 |
80
+
81
+ 2. **复杂表格**(合并单元格/多级表头/不规则布局):
82
+ - 优先尝试用 Markdown 表格近似表示
83
+ - 如果 Markdown 无法准确表达,在表格前用文字说明结构,然后用简化的 Markdown 表格 + 注释
84
+ - 示例:
85
+ > 注:第1行为主标题,横跨3列;第2-3行为数据行
86
+
87
+ | 项目 | 数值A | 数值B |
88
+ |------|-------|-------|
89
+ | 测试1 | 10 | 20 |
90
+ | 测试2 | 15 | 25 |
91
+
92
+ 3. **表格完整性要求**:
93
+ - 必须转录所有单元格内容(包括空单元格用 - 或空格表示)
94
+ - 保留表格标题、单位、注释
95
+ - 保留数据的对齐关系和分组信息
96
+ - 表格中的数学公式使用 LaTeX 语法
97
+
98
+ 4. **表格上下文**:
99
+ - 如果表格有标题或编号(如"表1"),保留在表格前
100
+ - 如果表格后有注释或说明,保留在表格后
101
+ - 保持表格在题目中的位置关系
102
+
103
+ 5. **特殊情况处理**:
104
+ - 图表混合:如果表格旁边有图形,用文字说明位置关系
105
+ - 手写表格:尽力识别手写内容,不确定的用 [?] 标注
106
+ - 模糊表格:如果表格不清晰,在表格前注明"(表格内容可能不完整)"
107
+ </question_text>
108
+
109
+ <answer_text>
110
+ 在此处填写正确答案。使用 Markdown 和 LaTeX 符号。如果答案包含表格,遵循上述【表格处理规则】。
111
+ </answer_text>
112
+
113
+ <analysis>
114
+ 在此处填写详细的步骤解析。
115
+ * 必须使用简体中文。
116
+ * **直接使用标准的 LaTeX 符号**(如 $\frac{1}{2}$),**不要**进行 JSON 转义(不要写成 \\frac)。
117
+ * 如果解析过程需要表格(如列表对比、分步计算表),遵循上述【表格处理规则】。
118
+ </analysis>
119
+
120
+ 【知识点标签列表(KNOWLEDGE POINT LIST)】
121
+ {{knowledge_points_list}}
122
+
123
+ 【标签使用规则 (TAG RULES)】
124
+ - 标签必须与题目实际考查的知识点精准匹配。
125
+ - 每题最多 5 个标签。
126
+
127
+ 【!!! 关键格式与内容约束 (CRITICAL RULES) !!!】
128
+ 1. **格式严格**:必须严格包含上述 12 个 XML 标签,除此之外不要输出任何其他“开场白”或“结束语”。
129
+ 2. **纯文本**:内容作为纯文本处理,**不要转义反斜杠**。
130
+ 3. **内容完整**:如果包含子问题,请在 question_text 中完整列出。
131
+ 4. **禁止图片**:严禁包含任何图片链接或 markdown 图片语法。
132
+ 5. **LaTeX 规范**:
133
+ ${ay}
134
+
135
+ {{grade_instruction}}
136
+ {{provider_hints}}`,aA=`你是一位资深的K12教育题目生成专家,具备跨学科的题目创作能力。你的核心任务是**根据以下原题和知识点,举一反三生成高质量教学题目**,帮助学生巩固知识并拓展解题思路。
137
+ ### 角色定义
138
+ 1. **学科全能专家**
139
+ - 精通K12阶段所有学科(数学/语文/英语/物理/化学/生物/历史/地理/政治)
140
+ - 熟悉各年级课程标准与知识点分布
141
+ - 能准确识别题目考察的核心能力点(计算/推理/分析/应用/创新)
142
+ 2. **题目变异大师**
143
+ - 掌握12种变式技法:条件替换/情境迁移/问题转化/数据重构/图形变形/角色反转/跨学科融合/难度阶梯/开放拓展/陷阱设计/逆向思维/生活应用
144
+ - 确保变式题目保持原题核心考点,改变题目表现形式
145
+ 3. **学情分析师**
146
+ - 预判学生易错点(认知盲区/概念混淆/计算失误/审题偏差)
147
+ - 在变式题目中针对性强化易错点训练
148
+ ### 执行流程
149
+ 1. **接收任务**
150
+ 原题: "{{original_question}}"
151
+ {{language_instruction}}
152
+ DIFFICULTY LEVEL: {{difficulty_level}}
153
+ {{difficulty_instruction}}
154
+ Knowledge Points: {{knowledge_points}}
155
+ 2. **解构分析**
156
+ - 提取核心考点与能力要求
157
+ - 分析题目陷阱与解题路径
158
+ 3. **质量管控**
159
+ - 确保每道题:
160
+ ✓ 覆盖相同核心知识点
161
+ ✓ 保持解题逻辑一致性
162
+ ✓ 答案唯一且可验证
163
+ ✓ 无知识性错误
164
+ ### 输出规范
165
+ 你的响应输出**必须严格遵循以下自定义标签格式**。**严禁**使用 JSON 或 Markdown 代码块。**严禁**返回 \`\`\`json ... \`\`\`。
166
+
167
+ 请严格按照以下结构输出内容(不要包含任何其他文字):
168
+
169
+ <question_text>
170
+ 在此处填写新生成的填空题或解答题。不要包含题号、分值或选择题选项。
171
+ </question_text>
172
+
173
+ <answer_text>
174
+ 在此处填写新题目的正确答案。
175
+ </answer_text>
176
+
177
+ <analysis>
178
+ 在此处填写新题目的详细解析。
179
+ * 必须使用简体中文。
180
+ * **直接使用标准的 LaTeX 符号**(如 $\frac{1}{2}$),**不要**进行 JSON 转义。
181
+ </analysis>
182
+
183
+ {{figure_instruction}}
184
+
185
+ ###关键格式与内容约束 (CRITICAL RULES) !!!
186
+ 1. **纯文本**:内容作为纯文本处理,**不要转义反斜杠**。
187
+ 2. **LaTeX 规范**:
188
+ ${ay}
189
+
190
+ {{grade_instruction}}
191
+ {{provider_hints}}`;var aB=a.i(87654);let aC=(0,l.default)("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);function aD({name:a,description:c}){return(0,b.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-start gap-1 sm:gap-2 text-xs py-1",children:[(0,b.jsx)("code",{className:"bg-muted px-1.5 py-0.5 rounded font-mono text-primary shrink-0 w-fit",children:`{{${a}}}`}),(0,b.jsx)("span",{className:"text-muted-foreground",children:c})]})}function aE({config:a,onUpdate:d}){let{language:e,t:f}=(0,c.useLanguage)(),[g,h]=(0,q.useState)(""),[i,j]=(0,q.useState)("");(0,q.useEffect)(()=>{h(a.prompts?.analyze||az),j(a.prompts?.similar||aA)},[a.prompts]);let k=async a=>{if(!await (0,ar.confirmDialog)(f.settings?.prompts?.resetConfirm||"Are you sure you want to reset to default?",{destructive:!0}))return;let b="analyze"===a?az:aA;"analyze"===a?(h(b),d("analyze",b)):(j(b),d("similar",b))},l=(a,b)=>{"analyze"===a?(h(b),d("analyze",b)):(j(b),d("similar",b))},m=()=>(0,b.jsxs)("div",{className:"bg-amber-50 border border-amber-200 rounded-md p-3 flex items-start gap-3 text-amber-900 text-sm mb-4",children:[(0,b.jsx)(A,{className:"h-5 w-5 shrink-0 text-amber-600"}),(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("p",{className:"font-medium",children:f.settings?.prompts?.caution||"Modify with Caution"}),(0,b.jsx)("p",{className:"text-amber-800/90 text-xs",children:f.settings?.prompts?.warning||"Variables in {{brackets}} are used to inject dynamic content. Please preserve these variables, otherwise the AI providing may fail to get question context or return invalid formats."})]})]});return(0,b.jsx)("div",{className:"space-y-4 border rounded-lg p-4 bg-muted/30",children:(0,b.jsxs)(w.Tabs,{defaultValue:"analyze",className:"w-full",children:[(0,b.jsxs)(w.TabsList,{className:"grid w-full grid-cols-2",children:[(0,b.jsx)(w.TabsTrigger,{value:"analyze",children:f.settings?.prompts?.analysisTab||"Analysis Prompt"}),(0,b.jsx)(w.TabsTrigger,{value:"similar",children:f.settings?.prompts?.similarTab||"Similar Question Prompt"})]}),(0,b.jsx)(w.TabsContent,{value:"analyze",className:"space-y-4 py-4",children:(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)(u.Label,{className:"text-base font-semibold",children:f.settings?.prompts?.customAnalysis||"Custom Analysis Template"}),(0,b.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:()=>k("analyze"),children:[(0,b.jsx)(aB.RotateCcw,{className:"w-4 h-4 mr-2"}),f.settings?.prompts?.reset||"Reset Default"]})]}),(0,b.jsx)(m,{}),(0,b.jsxs)("div",{className:"space-y-2 border rounded-md p-3 bg-background",children:[(0,b.jsxs)("h4",{className:"text-xs font-medium flex items-center gap-1.5 mb-2",children:[(0,b.jsx)(aC,{className:"h-3.5 w-3.5"}),f.settings?.prompts?.variables||"Available Variables"]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(aD,{name:"language_instruction",description:f.settings?.prompts?.vars?.languageInstruction||"Injects instructions based on target language (e.g., keep English questions in English but analysis in Chinese)."}),(0,b.jsx)(aD,{name:"knowledge_points_list",description:f.settings?.prompts?.vars?.knowledgePointsList||"Injects the standard list of knowledge point tags for the specific subject."}),(0,b.jsx)(aD,{name:"provider_hints",description:f.settings?.prompts?.vars?.providerHints||"System-injected hints (e.g., enforcing JSON format)."})]})]}),(0,b.jsx)(av.Textarea,{value:g,onChange:a=>l("analyze",a.target.value),className:"font-mono text-xs min-h-[400px]",placeholder:az})]})}),(0,b.jsx)(w.TabsContent,{value:"similar",className:"space-y-4 py-4",children:(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsxs)("div",{className:"flex justify-between items-center",children:[(0,b.jsx)(u.Label,{className:"text-base font-semibold",children:f.settings?.prompts?.customSimilar||"Custom Similar Question Template"}),(0,b.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:()=>k("similar"),children:[(0,b.jsx)(aB.RotateCcw,{className:"w-4 h-4 mr-2"}),f.settings?.prompts?.reset||"Reset Default"]})]}),(0,b.jsx)(m,{}),(0,b.jsxs)("div",{className:"space-y-2 border rounded-md p-3 bg-background",children:[(0,b.jsxs)("h4",{className:"text-xs font-medium flex items-center gap-1.5 mb-2",children:[(0,b.jsx)(aC,{className:"h-3.5 w-3.5"}),f.settings?.prompts?.variables||"Available Variables"]}),(0,b.jsxs)("div",{className:"space-y-1.5",children:[(0,b.jsx)(aD,{name:"difficulty_level",description:f.settings?.prompts?.vars?.difficultyLevel||"Target difficulty level."}),(0,b.jsx)(aD,{name:"difficulty_instruction",description:f.settings?.prompts?.vars?.difficultyInstruction||"Specific writing instructions for the target difficulty."}),(0,b.jsx)(aD,{name:"original_question",description:f.settings?.prompts?.vars?.originalQuestion||"The full text of the original question."}),(0,b.jsx)(aD,{name:"knowledge_points",description:f.settings?.prompts?.vars?.knowledgePoints||"List of knowledge points to test."}),(0,b.jsx)(aD,{name:"language_instruction",description:f.settings?.prompts?.vars?.languageInstructionShort||"Language formatting instructions."})]})]}),(0,b.jsx)(av.Textarea,{value:i,onChange:a=>l("similar",a.target.value),className:"font-mono text-xs min-h-[400px]",placeholder:aA})]})})]})})}function aF({field:a,label:d,description:e}){let{t:f}=(0,c.useLanguage)(),[g,h]=(0,q.useState)(!1),[i,j]=(0,q.useState)(!1),[k,l]=(0,q.useState)(!1),[m,n]=(0,q.useState)(null),o=`preference-${a}`;(0,q.useEffect)(()=>{aq.apiClient.get("/api/user").then(b=>h(!!b[a])).catch(()=>void 0).finally(()=>j(!0))},[a]);let p=async b=>{h(b),l(!0);try{await aq.apiClient.patch("/api/user",{[a]:b}),n(f.importFlow.preferenceSaved)}catch(c){h(!b),n(f.importFlow.preferenceSaveFailed),at.frontendLogger.error("[Settings]","Failed to save user preference",{field:a,error:c instanceof Error?c.message:String(c)})}finally{l(!1)}};return(0,b.jsxs)("div",{className:"space-y-2 pt-4 border-t",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,b.jsx)(u.Label,{htmlFor:o,children:d}),(0,b.jsx)(ah,{id:o,checked:g,onCheckedChange:p,disabled:!i||k})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:e}),m&&(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:m})]})}function aG(){let{t:a}=(0,c.useLanguage)();return(0,b.jsx)(aF,{field:"confirmBeforeImport",label:a.importFlow.confirmBeforeImport,description:a.importFlow.confirmBeforeImportDesc})}function aH(){let{t:a}=(0,c.useLanguage)();return(0,b.jsx)(aF,{field:"enableGeogebra",label:a.importFlow.enableGeogebra,description:a.importFlow.enableGeogebraDesc})}function aI(){let{t:a}=(0,c.useLanguage)();return(0,b.jsx)(aF,{field:"enableSvgAnimation",label:a.importFlow.enableSvgAnimation,description:a.importFlow.enableSvgAnimationDesc})}function aJ({value:a,onChange:d}){let{t:e}=(0,c.useLanguage)(),[f,g]=(0,q.useState)(!1),h=(b,c)=>d({...a,[b]:c});return(0,b.jsxs)("div",{className:"space-y-3 animate-in fade-in slide-in-from-top-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.Label,{children:"API Key"}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(t.Input,{type:f?"text":"password",value:a?.apiKey||"",onChange:a=>h("apiKey",a.target.value),placeholder:"sk-ant-...",className:"pr-10"}),(0,b.jsx)(r.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent",onClick:()=>g(!f),"aria-label":f?"Hide API Key":"Show API Key",children:f?(0,b.jsx)(C.EyeOff,{className:"h-4 w-4 text-muted-foreground"}):(0,b.jsx)(B.Eye,{className:"h-4 w-4 text-muted-foreground"})})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.Label,{children:"Base URL (Optional)"}),(0,b.jsx)(t.Input,{value:a?.baseUrl||"",onChange:a=>h("baseUrl",a.target.value),placeholder:"https://api.anthropic.com"}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:e.settings?.ai?.anthropicBaseUrlHint})]}),(0,b.jsx)(au,{provider:"anthropic",apiKey:a?.apiKey,baseUrl:a?.baseUrl,currentModel:a?.model,onModelChange:a=>h("model",a)})]})}var aK=a.i(42027);function aL({value:a,onChange:d,disabled:e}){let{t:f}=(0,c.useLanguage)();return(0,b.jsxs)("div",{className:"space-y-2 pt-4 border-t",children:[(0,b.jsx)(u.Label,{htmlFor:"app-time-zone",children:f.settings.general.timeZoneLabel}),(0,b.jsx)(t.Input,{id:"app-time-zone",value:a,onChange:a=>d(a.target.value),disabled:e,list:"app-time-zones",placeholder:"Asia/Shanghai"}),(0,b.jsx)("datalist",{id:"app-time-zones",children:["Asia/Shanghai","Asia/Hong_Kong","Asia/Tokyo","Asia/Singapore","Europe/London","America/New_York","America/Los_Angeles","UTC"].map(a=>(0,b.jsx)("option",{value:a},a))}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:f.settings.general.timeZoneDesc})]})}let aM=(0,l.default)("message-square-text",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}],["path",{d:"M7 11h10",key:"1twpyw"}],["path",{d:"M7 15h6",key:"d9of3u"}],["path",{d:"M7 7h8",key:"af5zfr"}]]),aN=(0,l.default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),aO=(0,l.default)("github",[["path",{d:"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4",key:"tonef"}],["path",{d:"M9 18c-4.51 2-5-2-7-2",key:"9comsn"}]]),aP=(0,l.default)("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);function aQ(){let{timeZone:a,setTimeZone:f}=(0,e.useTimeZone)(),{data:g}=(0,d.useSession)(),j=g?.user?.role==="admin",{t:k,language:l,setLanguage:m}=(0,c.useLanguage)(),[n,p]=(0,q.useState)(!1),O=(0,q.useRef)(null),[P,Q]=(0,q.useState)(!1),[R,S]=(0,q.useState)(!1),[T,U]=(0,q.useState)(!1),[V,W]=(0,q.useState)(!1),[X,Y]=(0,q.useState)(!1),[Z,$]=(0,q.useState)(!1),[_,aa]=(0,q.useState)(""),[ab,ac]=(0,q.useState)(!1),[ad,ae]=(0,q.useState)({aiProvider:"gemini"}),[af,ag]=(0,q.useState)(void 0),[ah,ai]=(0,q.useState)(!1),[aj,ak]=(0,q.useState)(null),[al,am]=(0,q.useState)({name:"",email:"",educationStage:"",enrollmentYear:"",password:""}),[an,ao]=(0,q.useState)(""),[ap,av]=(0,q.useState)(!1),[aw,ax]=(0,q.useState)(!1),[ay,az]=(0,q.useState)(!1),[aA,aB]=(0,q.useState)(!1),[aD,aF]=(0,q.useState)(!1),[aQ,aR]=(0,q.useState)(!1),[aS,aT]=(0,q.useState)(null),[aU,aV]=(0,q.useState)(""),aW=(0,h.useRouter)();(0,q.useEffect)(()=>{n&&(aX(),aY()),fetch("/api/version").then(a=>a.json()).then(a=>aa(a.version)).catch(()=>{})},[n]);let aX=async()=>{$(!0);try{let a=await aq.apiClient.get("/api/settings");ae(a)}catch(a){at.frontendLogger.error("[SettingsDialog]","Failed to fetch settings",{error:a instanceof Error?a.message:String(a)})}finally{$(!1)}},aY=async()=>{av(!0);try{let a=await aq.apiClient.get("/api/user");am({name:a.name||"",email:a.email||"",educationStage:a.educationStage||"",enrollmentYear:a.enrollmentYear||"",password:""})}catch(a){at.frontendLogger.error("[SettingsDialog]","Failed to fetch profile",{error:a instanceof Error?a.message:String(a)})}finally{av(!1)}},aZ=async()=>{if(!(0,N.isValidTimeZone)(ad.timeZone??N.DEFAULT_TIME_ZONE))return void ar.toast.error(k.settings.general.invalidTimeZone);let a=(()=>{if("openai"!==ad.aiProvider)return null;for(let a of ad.openai?.instances||[]){if(!a.name?.trim())return k.settings?.ai?.validationNameRequired||"实例名称不能为空";if(!a.apiKey?.trim())return k.settings?.ai?.validationApiKeyRequired||"API Key 不能为空";if(!a.baseUrl?.trim())return k.settings?.ai?.validationBaseUrlRequired||"Base URL 不能为空";if(!a.model?.trim())return k.settings?.ai?.validationModelRequired||"模型名称不能为空"}return null})();if(a)return void ar.toast.error(a);let b="azure"!==ad.aiProvider?null:ad.azure?.endpoint?.trim()?ad.azure?.deploymentName?.trim()?ad.azure?.apiKey?.trim()?null:k.settings?.ai?.validationApiKeyRequired||"API Key is required":k.settings?.ai?.validationAzureDeploymentRequired||"Deployment Name is required":k.settings?.ai?.validationAzureEndpointRequired||"Azure Endpoint is required";if(b)return void ar.toast.error(b);Y(!0);try{let a=await aq.apiClient.post("/api/settings",ad);ae(a),f(a.timeZone||N.DEFAULT_TIME_ZONE),ar.toast.success(k.settings?.messages?.saved||"Settings saved"),O.current?.scrollTo({top:0,behavior:"smooth"})}catch(a){at.frontendLogger.error("[SettingsDialog]","Failed to save settings",{error:a instanceof Error?a.message:String(a)}),ar.toast.error(k.settings?.messages?.saveFailed||"Failed to save")}finally{Y(!1)}},a$=async()=>{ax(!0);try{if(al.password&&al.password!==an){ar.toast.error(k.settings?.messages?.passwordMismatch||"Passwords do not match"),ax(!1);return}let a={name:al.name,email:al.email,educationStage:al.educationStage};al.enrollmentYear&&(a.enrollmentYear=parseInt(al.enrollmentYear.toString())),al.password&&(a.password=al.password),await aq.apiClient.patch("/api/user",a),ar.toast.success(k.settings?.messages?.profileUpdated||"Profile updated"),am(a=>({...a,password:""})),ao(""),az(!1),aB(!1),window.location.reload()}catch(b){at.frontendLogger.error("[SettingsDialog]","Failed to update profile",{error:b?.data?.message||b?.message||String(b)});let a=b.data?.message||k.settings?.messages?.updateFailed||"Update failed";ar.toast.error(a)}finally{ax(!1)}},a_=async()=>{if(await (0,ar.confirmDialog)(k.settings?.clearDataConfirm||"Are you sure?",{destructive:!0})){Q(!0);try{await aq.apiClient.delete("/api/stats/practice/clear"),ar.toast.success(k.settings?.clearSuccess||"Success"),p(!1),window.location.reload()}catch(a){at.frontendLogger.error("[SettingsDialog]","Failed to clear practice data",{error:a instanceof Error?a.message:String(a)}),ar.toast.error(k.settings?.clearError||"Failed")}finally{Q(!1)}}},a0=async()=>{if(await (0,ar.confirmDialog)(k.settings?.clearErrorDataConfirm||"Are you sure?",{destructive:!0})){S(!0);try{await aq.apiClient.delete("/api/error-items/clear"),ar.toast.success(k.settings?.clearSuccess||"Success"),p(!1),window.location.reload()}catch(a){at.frontendLogger.error("[SettingsDialog]","Failed to clear error data",{error:a instanceof Error?a.message:String(a)}),ar.toast.error(k.settings?.clearError||"Failed")}finally{S(!1)}}},a1=async()=>{if(!await (0,ar.confirmDialog)(k.settings?.systemResetConfirm||"WARNING: Deleting ALL data. Undoing is impossible. Are you sure?",{destructive:!0}))return;let a=prompt(k.settings?.systemResetPrompt||"Type 'RESET' to confirm system initialization:","");if("RESET"!==a){null!==a&&ar.toast.error(k.common?.error||"Confirmation failed");return}U(!0);try{await aq.apiClient.post("/api/admin/system-reset",{}),ar.toast.success(k.settings?.clearSuccess||"Success - System Reset Complete"),p(!1),window.location.reload()}catch(a){at.frontendLogger.error("[SettingsDialog]","System reset failed",{error:a instanceof Error?a.message:String(a)}),ar.toast.error(k.settings?.clearError||"Failed to reset system")}finally{U(!1)}},a2=async()=>{aF(!0);try{let a=await fetch("/api/export");if(!a.ok)throw Error("Export failed");let b=await a.blob(),c=window.URL.createObjectURL(b),d=document.createElement("a");d.href=c;let e=a.headers.get("Content-Disposition"),f=e?.match(/filename="(.+)"/);d.download=f?f[1]:"wrong-notebook-export.json",document.body.appendChild(d),d.click(),document.body.removeChild(d),window.URL.revokeObjectURL(c),ar.toast.success(k.settings?.exportSuccess||"Export successful")}catch(a){at.frontendLogger.error("[SettingsDialog]","Export failed",{error:a instanceof Error?a.message:String(a)}),ar.toast.error(k.settings?.exportFailed||"Export failed")}finally{aF(!1)}},a3=async()=>{if(await (0,ar.confirmDialog)(k.settings?.exportAllConfirm||"Export all users' data? This may take a while.")){aF(!0);try{let a=await fetch("/api/export?all=true");if(!a.ok){let b=await a.json();throw Error(b.message||"Export failed")}let b=await a.blob(),c=window.URL.createObjectURL(b),d=document.createElement("a");d.href=c;let e=a.headers.get("Content-Disposition"),f=e?.match(/filename="(.+)"/);d.download=f?f[1]:"wrong-notebook-export-all.json",document.body.appendChild(d),d.click(),document.body.removeChild(d),window.URL.revokeObjectURL(c),ar.toast.success(k.settings?.exportSuccess||"Export successful")}catch(a){at.frontendLogger.error("[SettingsDialog]","Export all failed",{error:a instanceof Error?a.message:String(a)}),ar.toast.error(k.settings?.exportFailed||"Export failed")}finally{aF(!1)}}},a4=async()=>{if(aS&&await (0,ar.confirmDialog)(k.settings?.importConfirm||"Are you sure you want to import?")){aR(!0);try{let a=await aS.text(),b=JSON.parse(a),c=(await aq.apiClient.post("/api/import",b)).stats;ar.toast.success((k.settings?.importResultDesc||"Imported {subjects} notebooks, {tags} tags, {items} error items, {schedules} review schedules, {records} practice records.").replace("{subjects}",String(c.subjectsCreated)).replace("{tags}",String(c.tagsCreated)).replace("{items}",String(c.errorItemsCreated)).replace("{schedules}",String(c.reviewSchedulesCreated)).replace("{records}",String(c.practiceRecordsCreated)).replace("{duplicates}",String(c.duplicateErrorItems??0))),aT(null),aV(""),window.location.reload()}catch(a){at.frontendLogger.error("[SettingsDialog]","Import failed",{error:a instanceof Error?a.message:String(a)}),ar.toast.error(k.settings?.importFailed||"Import failed")}finally{aR(!1)}}},a5=async()=>{if(aS&&await (0,ar.confirmDialog)(k.settings?.importAllConfirm||"Import all users' data? This will restore data for all users from the export file.")){aR(!0);try{let a=await aS.text(),b=JSON.parse(a),c=await fetch("/api/import?all=true",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),d=await c.json();if(d.success){let a=d.stats;ar.toast.success((k.settings?.importResultDesc||"Imported {subjects} notebooks, {tags} tags, {items} error items, {schedules} review schedules, {records} practice records.").replace("{subjects}",String(a.subjectsCreated)).replace("{tags}",String(a.tagsCreated)).replace("{items}",String(a.errorItemsCreated)).replace("{schedules}",String(a.reviewSchedulesCreated)).replace("{records}",String(a.practiceRecordsCreated)).replace("{duplicates}",String(a.duplicateErrorItems??0))),aT(null),aV(""),window.location.reload()}else throw Error(d.message||"Import failed")}catch(a){at.frontendLogger.error("[SettingsDialog]","Import all failed",{error:a instanceof Error?a.message:String(a)}),ar.toast.error(k.settings?.importFailed||"Import failed")}finally{aR(!1)}}},a6=async()=>{if(await (0,ar.confirmDialog)(k.settings?.migrateTagsConfirm||"This will reset system tags. Confirm?",{destructive:!0})){W(!0);try{let a=await aq.apiClient.post("/api/admin/migrate-tags",{});ar.toast.success(`${k.settings?.clearSuccess||"Success"}: ${a.count||0} tags migrated.`)}catch(a){at.frontendLogger.error("[SettingsDialog]","Tag migration failed",{error:a instanceof Error?a.message:String(a)}),ar.toast.error(k.settings?.clearError||"Failed to migrate tags")}finally{W(!1)}}},a7=(a,b,c)=>{"gemini"===a&&ae(a=>({...a,gemini:{...a.gemini,[b]:c}}))},a8=()=>{let a=ad.openai?.instances||[],b=af||ad.openai?.activeInstanceId;return a.find(a=>a.id===b)},a9=(a,b)=>{let c=ad.openai?.instances||[],d=af||ad.openai?.activeInstanceId,e=c.map(c=>c.id===d?{...c,[a]:b}:c);ae(a=>({...a,openai:{...a.openai,instances:e}}))};(0,q.useEffect)(()=>{ad.openai?.activeInstanceId&&!af&&ag(ad.openai.activeInstanceId)},[ad.openai?.activeInstanceId,af]);let ba=async()=>{ai(!0),ak(null);try{let a;if("openai"===ad.aiProvider){let b=a8();if(!b?.apiKey){ak({success:!1,textSupport:!1,visionSupport:!1,textError:k.settings?.ai?.validationApiKeyRequired||"API Key is required"}),ai(!1);return}a={provider:"openai",apiKey:b.apiKey,baseUrl:b.baseUrl,model:b.model,language:l}}else if("gemini"===ad.aiProvider){if(!ad.gemini?.apiKey){ak({success:!1,textSupport:!1,visionSupport:!1,textError:k.settings?.ai?.validationApiKeyRequired||"API Key is required"}),ai(!1);return}a={provider:"gemini",apiKey:ad.gemini.apiKey,baseUrl:ad.gemini.baseUrl,model:ad.gemini.model,language:l}}else if("anthropic"===ad.aiProvider){if(!ad.anthropic?.apiKey){ak({success:!1,textSupport:!1,visionSupport:!1,textError:k.settings?.ai?.validationApiKeyRequired||"API Key is required"}),ai(!1);return}a={provider:"anthropic",apiKey:ad.anthropic.apiKey,baseUrl:ad.anthropic.baseUrl,model:ad.anthropic.model,language:l}}else{if("azure"!==ad.aiProvider)return void ai(!1);if(!ad.azure?.apiKey||!ad.azure?.endpoint||!ad.azure?.deploymentName){ak({success:!1,textSupport:!1,visionSupport:!1,textError:k.settings?.ai?.validationAzureEndpointRequired||"Azure config is incomplete"}),ai(!1);return}a={provider:"azure",apiKey:ad.azure.apiKey,endpoint:ad.azure.endpoint,deploymentName:ad.azure.deploymentName,apiVersion:ad.azure.apiVersion,model:ad.azure.model,language:l}}let b=await aq.apiClient.post("/api/ai/test",a);ak(b)}catch(a){at.frontendLogger.error("[SettingsDialog]","AI connection test failed",{error:a instanceof Error?a.message:String(a)}),ak({success:!1,textSupport:!1,visionSupport:!1,textError:a instanceof Error?a.message:String(a)})}finally{ai(!1)}};return(0,b.jsxs)(s.Dialog,{open:n,onOpenChange:p,children:[(0,b.jsx)(s.DialogTrigger,{asChild:!0,children:(0,b.jsxs)(r.Button,{variant:"ghost",size:"icon",className:"rounded-full",children:[(0,b.jsx)(x,{className:"h-5 w-5"}),(0,b.jsx)("span",{className:"sr-only",children:k.settings?.title||"Settings"})]})}),(0,b.jsxs)(s.DialogContent,{ref:O,className:"w-[calc(100vw-2rem)] sm:max-w-[900px] max-h-[85vh] overflow-y-auto",children:[(0,b.jsxs)(s.DialogHeader,{children:[(0,b.jsx)(s.DialogTitle,{children:k.settings?.title||"Settings"}),(0,b.jsx)(s.DialogDescription,{children:k.settings?.desc||"Manage your preferences and data."})]}),(0,b.jsxs)(w.Tabs,{defaultValue:"general",className:"w-full",children:[(0,b.jsxs)(w.TabsList,{className:`grid w-full grid-cols-4 ${g?.user?.role==="admin"?"sm:grid-cols-7":"sm:grid-cols-4"} gap-1 h-auto`,children:[(0,b.jsxs)(w.TabsTrigger,{value:"general",className:"px-2 sm:px-3",children:[(0,b.jsx)(D.Languages,{className:"h-4 w-4 sm:mr-2"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:k.settings?.tabs?.general||"General"})]}),(0,b.jsxs)(w.TabsTrigger,{value:"account",className:"px-2 sm:px-3",children:[(0,b.jsx)(E.User,{className:"h-4 w-4 sm:mr-2"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:k.settings?.tabs?.account||"Account"})]}),g?.user?.role==="admin"&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(w.TabsTrigger,{value:"ai",className:"px-2 sm:px-3",children:[(0,b.jsx)(F,{className:"h-4 w-4 sm:mr-2"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:k.settings?.tabs?.ai||"AI Provider"})]}),(0,b.jsxs)(w.TabsTrigger,{value:"prompts",className:"px-2 sm:px-3",children:[(0,b.jsx)(aM,{className:"h-4 w-4 sm:mr-2"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:k.settings?.tabs?.prompts||"Prompts"})]}),(0,b.jsxs)(w.TabsTrigger,{value:"admin",className:"px-2 sm:px-3",children:[(0,b.jsx)(o,{className:"h-4 w-4 sm:mr-2"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:k.settings?.tabs?.admin||"User Management"})]})]}),(0,b.jsxs)(w.TabsTrigger,{value:"danger",className:"px-2 sm:px-3",children:[(0,b.jsx)(A,{className:"h-4 w-4 sm:mr-2"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:k.settings?.tabs?.danger||"Danger"})]}),(0,b.jsxs)(w.TabsTrigger,{value:"about",className:"px-2 sm:px-3",children:[(0,b.jsx)(aC,{className:"h-4 w-4 sm:mr-2"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:k.settings?.tabs?.about||"About"})]})]}),(0,b.jsxs)(w.TabsContent,{value:"general",className:"space-y-4 py-4",children:[(0,b.jsxs)("div",{className:"space-y-4 border rounded-lg p-4 bg-muted/30",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.Label,{children:k.settings?.language||"Language"}),(0,b.jsxs)(v.Select,{value:l,onValueChange:a=>m(a),children:[(0,b.jsx)(v.SelectTrigger,{children:(0,b.jsx)(v.SelectValue,{})}),(0,b.jsxs)(v.SelectContent,{children:[(0,b.jsx)(v.SelectItem,{value:"zh",children:"中文 (Chinese)"}),(0,b.jsx)(v.SelectItem,{value:"en",children:"English"})]})]})]}),(0,b.jsx)(aL,{value:ad.timeZone??a,onChange:a=>ae(b=>({...b,timeZone:a})),disabled:!j||Z||X}),j&&(0,b.jsxs)("div",{className:"space-y-2 pt-4 border-t",children:[(0,b.jsx)(u.Label,{children:k.settings?.general?.timeoutLabel||"AI Analysis Timeout (Seconds)"}),(0,b.jsx)(t.Input,{type:"number",value:ad.timeouts?.analyze?ad.timeouts.analyze/1e3:"",onChange:a=>{let b=""===a.target.value?0:parseInt(a.target.value);ae(a=>({...a,timeouts:{...a.timeouts,analyze:isNaN(b)?0:1e3*b}}))},onBlur:()=>{let a=(ad.timeouts?.analyze||0)/1e3,b=a;b<120&&(b=120),b>600&&(b=600),b!==a&&ae(a=>({...a,timeouts:{...a.timeouts,analyze:1e3*b}}))},min:120,max:600}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:k.settings?.general?.timeoutDesc||"Increase this value if you experience frequent timeouts during AI analysis."})]}),(0,b.jsx)(aG,{}),(0,b.jsx)(aI,{}),(0,b.jsx)(aH,{}),(0,b.jsx)(aK.DuplicateThresholdSetting,{})]}),j&&(0,b.jsxs)(r.Button,{onClick:aZ,disabled:X,className:"w-full",children:[X&&(0,b.jsx)(z.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),k.settings?.save||"Save Settings"]})]}),(0,b.jsx)(w.TabsContent,{value:"account",className:"space-y-4 py-4",children:ap?(0,b.jsx)("div",{className:"flex justify-center py-8",children:(0,b.jsx)(z.Loader2,{className:"h-8 w-8 animate-spin text-muted-foreground"})}):(0,b.jsxs)("div",{className:"space-y-4 border rounded-lg p-4 bg-muted/30",children:[(0,b.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.Label,{children:k.auth?.name||"Name"}),(0,b.jsx)(t.Input,{value:al.name||"",onChange:a=>am({...al,name:a.target.value})})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.Label,{children:k.auth?.email||"Email"}),(0,b.jsx)(t.Input,{value:al.email||"",onChange:a=>am({...al,email:a.target.value}),type:"email"})]})]}),(0,b.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.Label,{children:k.auth?.educationStage||"Education Stage"}),(0,b.jsxs)(v.Select,{value:al.educationStage||"",onValueChange:a=>am({...al,educationStage:a}),children:[(0,b.jsx)(v.SelectTrigger,{children:(0,b.jsx)(v.SelectValue,{placeholder:k.auth?.selectStage||"Select Stage"})}),(0,b.jsxs)(v.SelectContent,{children:[(0,b.jsx)(v.SelectItem,{value:"primary",children:k.auth?.primary||"Primary School"}),(0,b.jsx)(v.SelectItem,{value:"junior_high",children:k.auth?.juniorHigh||"Junior High"}),(0,b.jsx)(v.SelectItem,{value:"senior_high",children:k.auth?.seniorHigh||"Senior High"}),(0,b.jsx)(v.SelectItem,{value:"university",children:k.auth?.university||"University"})]})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.Label,{children:k.auth?.enrollmentYear||"Enrollment Year"}),(0,b.jsx)(t.Input,{type:"number",value:al.enrollmentYear||"",onChange:a=>am({...al,enrollmentYear:a.target.value}),placeholder:"YYYY"})]})]}),(0,b.jsxs)("div",{className:"space-y-3 pt-2 border-t",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.Label,{children:k.settings?.account?.changePassword||"Change Password (Leave empty to keep)"}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(t.Input,{type:ay?"text":"password",value:al.password,onChange:a=>am({...al,password:a.target.value}),placeholder:"******",minLength:6,className:"pr-10"}),(0,b.jsx)(r.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent",onClick:()=>az(!ay),tabIndex:-1,children:ay?(0,b.jsx)(C.EyeOff,{className:"h-4 w-4 text-muted-foreground"}):(0,b.jsx)(B.Eye,{className:"h-4 w-4 text-muted-foreground"})})]})]}),al.password&&(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.Label,{children:k.auth?.confirmPassword||"Confirm Password"}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(t.Input,{type:aA?"text":"password",value:an,onChange:a=>ao(a.target.value),placeholder:"******",minLength:6,className:"pr-10"}),(0,b.jsx)(r.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent",onClick:()=>aB(!aA),tabIndex:-1,children:aA?(0,b.jsx)(C.EyeOff,{className:"h-4 w-4 text-muted-foreground"}):(0,b.jsx)(B.Eye,{className:"h-4 w-4 text-muted-foreground"})})]})]})]}),(0,b.jsxs)(r.Button,{onClick:a$,disabled:aw,className:"w-full",children:[aw&&(0,b.jsx)(z.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),k.settings?.account?.update||"Update Profile"]})]})}),(0,b.jsx)(w.TabsContent,{value:"ai",className:"space-y-4 py-4",children:Z?(0,b.jsx)("div",{className:"flex justify-center py-4",children:(0,b.jsx)(z.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):(0,b.jsxs)("div",{className:"space-y-4 border rounded-lg p-4 bg-muted/30",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.Label,{children:k.settings?.tabs?.ai||"AI Provider"}),(0,b.jsxs)(v.Select,{value:ad.aiProvider,onValueChange:a=>ae(b=>({...b,aiProvider:a})),children:[(0,b.jsx)(v.SelectTrigger,{children:(0,b.jsx)(v.SelectValue,{})}),(0,b.jsxs)(v.SelectContent,{children:[(0,b.jsx)(v.SelectItem,{value:"gemini",children:"Google Gemini"}),(0,b.jsx)(v.SelectItem,{value:"openai",children:"OpenAI / Compatible"}),(0,b.jsx)(v.SelectItem,{value:"azure",children:"Azure OpenAI"}),(0,b.jsx)(v.SelectItem,{value:"anthropic",children:"Anthropic / Compatible"})]})]})]}),"openai"===ad.aiProvider&&(0,b.jsxs)("div",{className:"space-y-3 animate-in fade-in slide-in-from-top-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)(u.Label,{children:k.settings?.ai?.instances||"Instance"}),(0,b.jsxs)(r.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>{let a=ad.openai?.instances||[];if(a.length>=10)return;let b={id:"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,a=>{let b=16*Math.random()|0;return("x"===a?b:3&b|8).toString(16)}),name:`Instance ${a.length+1}`,apiKey:"",baseUrl:"https://api.openai.com/v1",model:"gpt-4o"};ae(a=>({...a,openai:{instances:[...a.openai?.instances||[],b],activeInstanceId:b.id}})),ag(b.id)},disabled:(ad.openai?.instances?.length||0)>=10,className:"h-7 px-2 text-xs",children:[(0,b.jsx)(H.Plus,{className:"h-3 w-3 mr-1"}),k.settings?.ai?.addInstance||"Add"]})]}),(ad.openai?.instances?.length||0)>0?(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(v.Select,{value:af||ad.openai?.activeInstanceId||"",onValueChange:a=>{ag(a),ae(b=>({...b,openai:{...b.openai,activeInstanceId:a}}))},children:[(0,b.jsx)(v.SelectTrigger,{className:"flex-1",children:(0,b.jsx)(v.SelectValue,{placeholder:k.settings?.ai?.selectInstance||"Select Instance"})}),(0,b.jsx)(v.SelectContent,{children:(ad.openai?.instances||[]).map(a=>(0,b.jsx)(v.SelectItem,{value:a.id,children:a.name},a.id))})]}),(ad.openai?.instances?.length||0)>1&&(0,b.jsx)(r.Button,{type:"button",variant:"outline",size:"icon",onClick:async()=>{let a,b,c=af||ad.openai?.activeInstanceId;c&&await (0,ar.confirmDialog)(k.settings?.ai?.confirmDelete||"Delete this instance?",{destructive:!0})&&(b=(a=(ad.openai?.instances||[]).filter(a=>a.id!==c)).length>0?a[0].id:void 0,ae(c=>({...c,openai:{instances:a,activeInstanceId:b}})),ag(b))},className:"h-10 w-10 text-destructive hover:text-destructive",children:(0,b.jsx)(y.Trash2,{className:"h-4 w-4"})})]}):(0,b.jsx)("p",{className:"text-sm text-muted-foreground",children:k.settings?.ai?.noInstances||"No instances configured. Click 'Add' to create one."}),(ad.openai?.instances?.length||0)>=10&&(0,b.jsx)("p",{className:"text-xs text-amber-600",children:k.settings?.ai?.maxInstancesReached||"Maximum instances reached (10)"})]}),a8()&&(0,b.jsxs)("div",{className:"space-y-3 p-3 border rounded-md bg-background",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)(u.Label,{children:[k.settings?.ai?.instanceName||"Instance Name"," ",(0,b.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,b.jsx)(t.Input,{value:a8()?.name||"",onChange:a=>a9("name",a.target.value),placeholder:"e.g. 智谱 GLM-4V",className:a8()?.name?.trim()?"":"border-destructive"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)(u.Label,{children:["API Key ",(0,b.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(t.Input,{type:ab?"text":"password",value:a8()?.apiKey||"",onChange:a=>a9("apiKey",a.target.value),placeholder:"sk-...",className:`pr-10 ${!a8()?.apiKey?.trim()?"border-destructive":""}`}),(0,b.jsx)(r.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent",onClick:()=>ac(!ab),children:ab?(0,b.jsx)(C.EyeOff,{className:"h-4 w-4 text-muted-foreground"}):(0,b.jsx)(B.Eye,{className:"h-4 w-4 text-muted-foreground"})})]})]}),(0,b.jsxs)("div",{className:"space-y-2 pt-4 border-t",children:[(0,b.jsxs)(u.Label,{children:["Base URL ",(0,b.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,b.jsx)(t.Input,{value:a8()?.baseUrl||"",onChange:a=>a9("baseUrl",a.target.value),placeholder:"https://api.openai.com/v1",className:a8()?.baseUrl?.trim()?"":"border-destructive"})]}),(0,b.jsx)(au,{provider:"openai",apiKey:a8()?.apiKey,baseUrl:a8()?.baseUrl,currentModel:a8()?.model,onModelChange:a=>a9("model",a)})]})]}),"gemini"===ad.aiProvider&&(0,b.jsxs)("div",{className:"space-y-3 animate-in fade-in slide-in-from-top-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.Label,{children:"API Key"}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(t.Input,{type:ab?"text":"password",value:ad.gemini?.apiKey||"",onChange:a=>a7("gemini","apiKey",a.target.value),placeholder:"AIza...",className:"pr-10"}),(0,b.jsx)(r.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent",onClick:()=>ac(!ab),children:ab?(0,b.jsx)(C.EyeOff,{className:"h-4 w-4 text-muted-foreground"}):(0,b.jsx)(B.Eye,{className:"h-4 w-4 text-muted-foreground"})})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.Label,{children:"Base URL (Optional)"}),(0,b.jsx)(t.Input,{value:ad.gemini?.baseUrl||"",onChange:a=>a7("gemini","baseUrl",a.target.value),placeholder:"https://generativelanguage.googleapis.com"})]}),(0,b.jsx)(au,{provider:"gemini",apiKey:ad.gemini?.apiKey,baseUrl:ad.gemini?.baseUrl,currentModel:ad.gemini?.model,onModelChange:a=>a7("gemini","model",a)})]}),"anthropic"===ad.aiProvider&&(0,b.jsx)(aJ,{value:ad.anthropic,onChange:a=>ae(b=>({...b,anthropic:a}))}),"azure"===ad.aiProvider&&(0,b.jsxs)("div",{className:"space-y-3 animate-in fade-in slide-in-from-top-2",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)(u.Label,{children:[k.settings?.ai?.azureEndpoint||"Azure Endpoint"," ",(0,b.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,b.jsx)(t.Input,{value:ad.azure?.endpoint||"",onChange:a=>ae(b=>({...b,azure:{...b.azure,endpoint:a.target.value}})),placeholder:k.settings?.ai?.azureEndpointPlaceholder||"https://your-resource.openai.azure.com",className:ad.azure?.endpoint?.trim()?"":"border-destructive"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)(u.Label,{children:[k.settings?.ai?.azureDeployment||"Deployment Name"," ",(0,b.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,b.jsx)(t.Input,{value:ad.azure?.deploymentName||"",onChange:a=>ae(b=>({...b,azure:{...b.azure,deploymentName:a.target.value}})),placeholder:k.settings?.ai?.azureDeploymentPlaceholder||"gpt-4o-deployment",className:ad.azure?.deploymentName?.trim()?"":"border-destructive"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsxs)(u.Label,{children:["API Key ",(0,b.jsx)("span",{className:"text-destructive",children:"*"})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(t.Input,{type:ab?"text":"password",value:ad.azure?.apiKey||"",onChange:a=>ae(b=>({...b,azure:{...b.azure,apiKey:a.target.value}})),placeholder:"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",className:`pr-10 ${!ad.azure?.apiKey?.trim()?"border-destructive":""}`}),(0,b.jsx)(r.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-full px-3 py-2 hover:bg-transparent",onClick:()=>ac(!ab),children:ab?(0,b.jsx)(C.EyeOff,{className:"h-4 w-4 text-muted-foreground"}):(0,b.jsx)(B.Eye,{className:"h-4 w-4 text-muted-foreground"})})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.Label,{children:k.settings?.ai?.azureApiVersion||"API Version"}),(0,b.jsx)(t.Input,{value:ad.azure?.apiVersion||"",onChange:a=>ae(b=>({...b,azure:{...b.azure,apiVersion:a.target.value}})),placeholder:k.settings?.ai?.azureApiVersionPlaceholder||"2024-02-15-preview"})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(u.Label,{children:k.settings?.ai?.azureModel||"Model Display Name"}),(0,b.jsx)(t.Input,{value:ad.azure?.model||"",onChange:a=>ae(b=>({...b,azure:{...b.azure,model:a.target.value}})),placeholder:"gpt-4o"})]})]}),(0,b.jsxs)("div",{className:"space-y-3 pt-3 border-t",children:[(0,b.jsxs)("div",{className:"flex gap-2",children:[(0,b.jsxs)(r.Button,{type:"button",variant:"outline",onClick:ba,disabled:ah||X,className:"flex-1",children:[ah?(0,b.jsx)(z.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):(0,b.jsx)(I,{className:"mr-2 h-4 w-4"}),ah?k.settings?.ai?.testing||"测试中...":k.settings?.ai?.testConnection||"测试连接"]}),(0,b.jsxs)(r.Button,{onClick:aZ,disabled:X||ah,className:"flex-1",children:[X&&(0,b.jsx)(z.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),k.settings?.ai?.save||"Save AI Settings"]})]}),aj&&(0,b.jsxs)("div",{className:`p-3 rounded-md text-sm ${aj.success?"bg-green-50 border border-green-200":"bg-red-50 border border-red-200"}`,children:[(0,b.jsx)("div",{className:"flex items-center gap-2 font-medium mb-2",children:aj.success?(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(J,{className:"h-4 w-4 text-green-600"}),(0,b.jsx)("span",{className:"text-green-700",children:k.settings?.ai?.testSuccess||"连接成功"}),aj.modelInfo&&(0,b.jsxs)("span",{className:"text-green-600 text-xs",children:["(",aj.modelInfo,")"]})]}):(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(K.XCircle,{className:"h-4 w-4 text-red-600"}),(0,b.jsx)("span",{className:"text-red-700",children:k.settings?.ai?.testFailed||"连接失败"})]})}),aj.success&&(0,b.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"text-muted-foreground",children:[k.settings?.ai?.textSupport||"文本生成",":"]}),(0,b.jsxs)("span",{className:"text-green-600",children:["✓ ",k.settings?.ai?.supported||"支持"]})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)("span",{className:"text-muted-foreground",children:[k.settings?.ai?.visionSupport||"图像识别/多模态",":"]}),aj.visionSupport?(0,b.jsxs)("span",{className:"text-green-600",children:["✓ ",k.settings?.ai?.supported||"支持"]}):(0,b.jsxs)("span",{className:"text-amber-600",children:["✗ ",aj.visionError?k.settings?.ai?.errors?.[aj.visionError]||aj.visionError.replace("UNKNOWN:",""):k.settings?.ai?.notSupported||"不支持"]})]}),(0,b.jsx)("p",{className:"text-muted-foreground/60 text-[10px] pl-1",children:"* 由于网络问题,可能测试结果不准确"})]}),!aj.success&&aj.textError&&(0,b.jsx)("p",{className:"text-red-600 text-xs mt-1",children:k.settings?.ai?.errors?.[aj.textError]||aj.textError.replace("UNKNOWN:","")})]})]})]})}),(0,b.jsxs)(w.TabsContent,{value:"prompts",className:"space-y-4 py-4",children:[(0,b.jsx)(aE,{config:ad,onUpdate:(a,b)=>{ae(c=>({...c,prompts:{...c.prompts,[a]:b}}))}}),(0,b.jsxs)(r.Button,{onClick:aZ,disabled:X,className:"w-full",children:[X&&(0,b.jsx)(z.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),k.settings?.prompts?.save||"Save Prompt Settings"]})]}),g?.user?.role==="admin"&&(0,b.jsxs)(w.TabsContent,{value:"admin",className:"space-y-4 py-4",children:[(0,b.jsxs)(r.Button,{variant:"outline",className:"w-full justify-start gap-2",onClick:()=>{p(!1),aW.push("/admin")},children:[(0,b.jsx)(i.BarChart3,{className:"h-4 w-4"}),k.admin?.dashboard?.title||"Admin Dashboard"]}),(0,b.jsx)("div",{className:"border-t pt-4",children:(0,b.jsx)(as,{})})]}),(0,b.jsx)(w.TabsContent,{value:"danger",className:"space-y-4 py-4",children:(0,b.jsxs)("div",{className:"space-y-3",children:[(0,b.jsxs)("div",{className:"p-4 border border-blue-200 rounded-lg bg-blue-50",children:[(0,b.jsx)("h4",{className:"text-sm font-bold text-blue-900 mb-3",children:k.settings?.dataManagement||"Data Management"}),(0,b.jsxs)("div",{className:"mb-4",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,b.jsx)("span",{className:"text-sm text-blue-800 font-medium",children:k.settings?.exportData||"Export Data"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:a2,disabled:aD,className:"bg-blue-100 hover:bg-blue-200 text-blue-900 border-blue-300",children:[aD?(0,b.jsx)(z.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):(0,b.jsx)(L.Download,{className:"mr-2 h-4 w-4"}),k.settings?.exportData||"Export"]}),g?.user?.role==="admin"&&(0,b.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:a3,disabled:aD,className:"bg-orange-100 hover:bg-orange-200 text-orange-900 border-orange-300",children:[aD?(0,b.jsx)(z.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):(0,b.jsx)(L.Download,{className:"mr-2 h-4 w-4"}),k.settings?.exportAllData||"Export All"]})]})]}),(0,b.jsx)("p",{className:"text-xs text-blue-700",children:k.settings?.exportDataDesc||"Export all data as JSON file."})]}),(0,b.jsxs)("div",{children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-2",children:[(0,b.jsx)("span",{className:"text-sm text-blue-800 font-medium",children:k.settings?.importData||"Import Data"}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)("input",{type:"file",accept:".json",onChange:a=>{let b=a.target.files?.[0];b&&(aT(b),aV(b.name))},className:"hidden",id:"import-file-input",disabled:aQ}),(0,b.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:()=>document.getElementById("import-file-input")?.click(),disabled:aQ,className:"bg-blue-100 hover:bg-blue-200 text-blue-900 border-blue-300",children:[aQ?(0,b.jsx)(z.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):(0,b.jsx)(M,{className:"mr-2 h-4 w-4"}),aU||k.settings?.selectFile||"Select File"]}),aS&&(0,b.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:a4,disabled:aQ,className:"bg-green-100 hover:bg-green-200 text-green-900 border-green-300",children:[aQ?(0,b.jsx)(z.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):(0,b.jsx)(J,{className:"mr-2 h-4 w-4"}),k.settings?.importData||"Import"]}),aS&&g?.user?.role==="admin"&&(0,b.jsxs)(r.Button,{variant:"outline",size:"sm",onClick:a5,disabled:aQ,className:"bg-orange-100 hover:bg-orange-200 text-orange-900 border-orange-300",children:[aQ?(0,b.jsx)(z.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}):(0,b.jsx)(J,{className:"mr-2 h-4 w-4"}),k.settings?.importAllData||"Import All"]})]})]}),(0,b.jsx)("p",{className:"text-xs text-blue-700",children:k.settings?.importDataDesc||"Import data from JSON file. Existing data will be skipped."})]})]}),g?.user?.role==="admin"&&(0,b.jsxs)("div",{className:"p-4 border border-blue-200 rounded-lg bg-blue-50",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("div",{className:"flex flex-col",children:(0,b.jsxs)("span",{className:"text-sm text-blue-900 font-bold flex items-center gap-2",children:[(0,b.jsx)(G.RefreshCw,{className:"h-4 w-4"}),k.settings?.migrateTags||"Migrate Tags"]})}),(0,b.jsx)(r.Button,{variant:"outline",size:"sm",onClick:a6,disabled:V,className:"bg-blue-100 hover:bg-blue-200 text-blue-900 border-blue-300",children:V?(0,b.jsx)(z.Loader2,{className:"h-4 w-4 animate-spin"}):(0,b.jsx)(G.RefreshCw,{className:"h-4 w-4"})})]}),(0,b.jsx)("p",{className:"text-xs text-blue-800 mt-2 font-medium",children:k.settings?.migrateTagsDesc||"Re-populates standard tags from file"})]}),(0,b.jsxs)("div",{className:"p-4 border border-red-200 rounded-lg bg-red-50",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-sm text-red-700 font-medium",children:k.settings?.clearData||"Clear Practice Data"}),(0,b.jsx)(r.Button,{variant:"destructive",size:"sm",onClick:a_,disabled:P,children:P?(0,b.jsx)(z.Loader2,{className:"h-4 w-4 animate-spin"}):(0,b.jsx)(y.Trash2,{className:"h-4 w-4"})})]}),(0,b.jsx)("p",{className:"text-xs text-red-600 mt-2",children:k.settings?.clearDataDesc||"This will permanently delete all practice history. Irreversible."})]}),(0,b.jsxs)("div",{className:"p-4 border border-red-200 rounded-lg bg-red-50",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-sm text-red-700 font-medium",children:k.settings?.clearErrorData||"Clear Error Data"}),(0,b.jsx)(r.Button,{variant:"destructive",size:"sm",onClick:a0,disabled:R,children:R?(0,b.jsx)(z.Loader2,{className:"h-4 w-4 animate-spin"}):(0,b.jsx)(y.Trash2,{className:"h-4 w-4"})})]}),(0,b.jsx)("p",{className:"text-xs text-red-600 mt-2",children:k.settings?.clearErrorDataDesc||"This will permanently delete all error items. Irreversible."})]}),g?.user?.role==="admin"&&(0,b.jsx)(b.Fragment,{children:(0,b.jsxs)("div",{className:"p-4 border border-red-600/50 rounded-lg bg-red-100/50",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("div",{className:"flex flex-col",children:(0,b.jsxs)("span",{className:"text-sm text-red-900 font-bold flex items-center gap-2",children:[(0,b.jsx)(A,{className:"h-4 w-4"}),k.settings?.systemReset||"System Initialization"]})}),(0,b.jsx)(r.Button,{variant:"destructive",size:"sm",onClick:a1,disabled:T,className:"bg-red-700 hover:bg-red-800",children:T?(0,b.jsx)(z.Loader2,{className:"h-4 w-4 animate-spin"}):(0,b.jsx)(y.Trash2,{className:"h-4 w-4"})})]}),(0,b.jsx)("p",{className:"text-xs text-red-800 mt-2 font-medium",children:k.settings?.systemResetDesc||"Resets the system to factory state. Deletes ALL data."})]})})]})}),(0,b.jsx)(w.TabsContent,{value:"about",className:"space-y-4 py-4",children:(0,b.jsxs)("div",{className:"flex flex-col items-center justify-center space-y-6 py-8 text-center bg-muted/30 rounded-lg border",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)("h3",{className:"text-2xl font-bold",children:k.app?.title||"Smart Error Notebook"}),(0,b.jsx)("p",{className:"text-muted-foreground",children:k.settings?.about?.desc||"AI-powered learning assistant"})]}),(0,b.jsxs)("div",{className:"flex items-center space-x-2 text-sm text-muted-foreground border px-4 py-2 rounded-full bg-background",children:[(0,b.jsx)(aC,{className:"h-4 w-4"}),(0,b.jsxs)("span",{children:[k.settings?.about?.version||"Version",": v",_||"unknown"]})]}),(0,b.jsxs)("div",{className:"flex flex-col sm:flex-row flex-wrap justify-center gap-4 w-full sm:w-auto px-4 sm:px-0",children:[(0,b.jsx)(r.Button,{variant:"outline",asChild:!0,className:"gap-2 w-full sm:w-auto",children:(0,b.jsxs)("a",{href:"https://github.com/wttwins/wrong-notebook",target:"_blank",rel:"noopener noreferrer",children:[(0,b.jsx)(aO,{className:"h-4 w-4"}),k.settings?.about?.github||"GitHub Repository",(0,b.jsx)(aN,{className:"h-3 w-3 ml-1 opacity-50"})]})}),(0,b.jsx)(r.Button,{variant:"outline",asChild:!0,className:"gap-2 w-full sm:w-auto",children:(0,b.jsxs)("a",{href:"https://github.com/wttwins/wrong-notebook/releases",target:"_blank",rel:"noopener noreferrer",children:[(0,b.jsx)(aP,{className:"h-4 w-4"}),k.settings?.about?.releaseNotes||"Release Notes",(0,b.jsx)(aN,{className:"h-3 w-3 ml-1 opacity-50"})]})}),(0,b.jsx)(r.Button,{variant:"outline",asChild:!0,className:"gap-2 w-full sm:w-auto",children:(0,b.jsxs)("a",{href:"https://github.com/wttwins/wrong-notebook/issues",target:"_blank",rel:"noopener noreferrer",children:[(0,b.jsx)(aM,{className:"h-4 w-4"}),k.settings?.about?.feedback||"Feedback",(0,b.jsx)(aN,{className:"h-3 w-3 ml-1 opacity-50"})]})})]}),(0,b.jsx)("p",{className:"text-xs text-muted-foreground mt-8",children:k.settings?.about?.copyright||"© 2025 Wttwins. All rights reserved."})]})})]})]})]})}let aR=[/^\/login/,/^\/register/,/^\/print-preview/,/^\/exams\/[^/]+\/print/],aS=[{key:"home",href:"/",icon:n,match:a=>"/"===a},{key:"notebooks",href:"/notebooks",icon:j.BookOpen,match:a=>a.startsWith("/notebooks")||a.startsWith("/error-items")||a.startsWith("/practice")},{key:"tags",href:"/tags",icon:p,match:a=>a.startsWith("/tags")},{key:"stats",href:"/stats",icon:i.BarChart3,match:a=>a.startsWith("/stats")},{key:"exams",href:"/exams",icon:k.FileText,match:a=>a.startsWith("/exams")}];function aT({children:a}){let e=(0,h.usePathname)()||"/",{t:i}=(0,c.useLanguage)(),{data:j,status:k}=(0,d.useSession)();if(aR.some(a=>a.test(e))||"unauthenticated"===k)return(0,b.jsx)(b.Fragment,{children:a});let l=j?.user?.role==="admin",n=j?.user?.name||j?.user?.email||"";return(0,b.jsxs)("div",{className:"min-h-screen",children:[(0,b.jsx)("header",{className:"sticky top-0 z-40 border-b bg-card/80 backdrop-blur-md supports-[backdrop-filter]:bg-card/70 print:hidden",children:(0,b.jsxs)("div",{className:"mx-auto flex h-14 max-w-6xl items-center gap-3 px-4 md:h-16 md:px-8",children:[(0,b.jsxs)(g.default,{href:"/",className:"flex shrink-0 items-center gap-2",children:[(0,b.jsx)(f.default,{src:"/icons/icon.png",alt:"",width:32,height:32,className:"rounded-lg",priority:!0,unoptimized:!0}),(0,b.jsx)("span",{className:"text-base font-semibold tracking-tight",children:i.pageTitle.base})]}),(0,b.jsx)("nav",{className:"ml-4 hidden items-center gap-1 md:flex",children:aS.map(a=>{let c=a.match(e),d=a.icon;return(0,b.jsxs)(g.default,{href:a.href,className:(0,ag.cn)("flex items-center gap-1.5 rounded-lg px-3 py-2 text-sm font-medium transition-colors",c?"bg-accent text-accent-foreground":"text-muted-foreground hover:bg-muted hover:text-foreground"),"aria-current":c?"page":void 0,children:[(0,b.jsx)(d,{className:"h-4 w-4"}),i.nav[a.key]]},a.key)})}),(0,b.jsxs)("div",{className:"ml-auto flex items-center gap-1",children:[n&&(0,b.jsxs)("span",{className:"mr-2 hidden max-w-40 items-center gap-2 truncate text-sm text-muted-foreground lg:flex",children:[(0,b.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-primary/10 text-xs font-semibold text-primary",children:n.slice(0,1).toUpperCase()}),(0,b.jsx)("span",{className:"truncate",children:n})]}),l&&(0,b.jsx)(g.default,{href:"/admin",title:i.nav.admin,children:(0,b.jsxs)(r.Button,{variant:"ghost",size:"icon",className:"rounded-full",children:[(0,b.jsx)(o,{className:"h-5 w-5"}),(0,b.jsx)("span",{className:"sr-only",children:i.nav.admin})]})}),(0,b.jsx)(aQ,{}),(0,b.jsx)(r.Button,{variant:"ghost",size:"icon",className:"rounded-full text-muted-foreground hover:text-destructive",onClick:()=>(0,d.signOut)({callbackUrl:"/login"}),title:i.app.logout,children:(0,b.jsx)(m,{className:"h-5 w-5"})})]})]})}),(0,b.jsx)("div",{className:"pb-20 md:pb-0",children:a}),(0,b.jsx)("nav",{className:"pb-safe fixed inset-x-0 bottom-0 z-40 border-t bg-card/90 backdrop-blur-md md:hidden print:hidden",children:(0,b.jsx)("div",{className:"grid h-16 grid-cols-5",children:aS.map(a=>{let c=a.match(e),d=a.icon;return(0,b.jsxs)(g.default,{href:a.href,className:(0,ag.cn)("flex flex-col items-center justify-center gap-1 text-[11px] font-medium transition-colors",c?"text-primary":"text-muted-foreground"),"aria-current":c?"page":void 0,children:[(0,b.jsx)("span",{className:(0,ag.cn)("flex h-7 w-12 items-center justify-center rounded-full transition-colors",c&&"bg-accent"),children:(0,b.jsx)(d,{className:"h-5 w-5"})}),i.nav[a.key]]},a.key)})})})]})}let aU=(0,l.default)("list-todo",[["path",{d:"M13 5h8",key:"a7qcls"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 19h8",key:"c3s6r1"}],["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["rect",{x:"3",y:"4",width:"6",height:"6",rx:"1",key:"cif1o7"}]]),aV=[/^\/login/,/^\/register/,/^\/print-preview/,/^\/exams\/[^/]+\/print/];function aW(){let{t:a}=(0,c.useLanguage)(),{timeZone:f}=(0,e.useTimeZone)(),{status:i}=(0,d.useSession)(),j=(0,h.usePathname)(),[k,l]=(0,q.useState)(!1),[m,n]=(0,q.useState)([]),[o,p]=(0,q.useState)(()=>Date.now()),t="authenticated"!==i||aV.some(a=>a.test(j||"")),u=(0,q.useCallback)(async()=>{if("u"<typeof document||"hidden"!==document.visibilityState)try{let a=await aq.apiClient.get("/api/tasks");n(a.tasks),p(Date.now())}catch{}},[]);if((0,q.useEffect)(()=>{if(t)return;let a=setTimeout(u,0),b=setInterval(u,k?2e3:15e3);return()=>{clearTimeout(a),clearInterval(b)}},[t,k,u]),t)return null;let v=m.filter(a=>"running"===a.status).length,w=m.some(a=>"running"!==a.status),x=async()=>{try{let a=await aq.apiClient.delete("/api/tasks");n(a.tasks)}catch{}};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsxs)(r.Button,{variant:"outline",size:"icon",className:"fixed bottom-20 right-4 z-40 h-11 w-11 rounded-full shadow-lg md:bottom-6 md:right-6 print:hidden",onClick:()=>l(!0),"aria-label":a.backgroundTasks.title,title:a.backgroundTasks.title,children:[v>0?(0,b.jsx)(z.Loader2,{className:"h-5 w-5 animate-spin"}):(0,b.jsx)(aU,{className:"h-5 w-5"}),v>0&&(0,b.jsx)("span",{className:"absolute -right-1 -top-1 flex h-5 min-w-5 items-center justify-center rounded-full bg-primary px-1 text-xs text-primary-foreground",children:v})]}),(0,b.jsx)(s.Dialog,{open:k,onOpenChange:l,children:(0,b.jsxs)(s.DialogContent,{className:"max-h-[85vh] overflow-y-auto sm:max-w-lg",children:[(0,b.jsxs)(s.DialogHeader,{children:[(0,b.jsx)(s.DialogTitle,{children:a.backgroundTasks.title}),(0,b.jsx)(s.DialogDescription,{children:a.backgroundTasks.description})]}),0===m.length?(0,b.jsx)("p",{className:"py-6 text-center text-sm text-muted-foreground",children:a.backgroundTasks.empty}):(0,b.jsx)("ul",{className:"space-y-2",children:m.map(c=>{var d,e;let h;return(0,b.jsx)("li",{className:"rounded-md border p-3 text-sm",children:(0,b.jsxs)("div",{className:"flex items-start gap-2",children:["running"===c.status&&(0,b.jsx)(z.Loader2,{className:"mt-0.5 h-4 w-4 shrink-0 animate-spin text-primary"}),"succeeded"===c.status&&(0,b.jsx)(J,{className:"mt-0.5 h-4 w-4 shrink-0 text-green-600"}),"failed"===c.status&&(0,b.jsx)(K.XCircle,{className:"mt-0.5 h-4 w-4 shrink-0 text-destructive"}),(0,b.jsxs)("div",{className:"min-w-0 flex-1 space-y-1",children:[(0,b.jsxs)("div",{className:"font-medium",children:[a.backgroundTasks.kinds[c.kind],(0,b.jsxs)("span",{className:"font-normal text-muted-foreground",children:[" · ",a.backgroundTasks.status[c.status]]})]}),c.subject&&(0,b.jsx)("div",{className:"break-words text-muted-foreground",children:c.subject}),c.progress&&c.progress.total>0&&(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("div",{className:"h-1.5 overflow-hidden rounded bg-muted",children:(0,b.jsx)("div",{className:"h-full bg-primary transition-all",style:{width:`${Math.round(c.progress.done/c.progress.total*100)}%`}})}),(0,b.jsxs)("div",{className:"text-xs text-muted-foreground",children:[a.backgroundTasks.progress.replace("{done}",String(c.progress.done)).replace("{total}",String(c.progress.total)),c.progress.failed>0&&` \xb7 ${a.backgroundTasks.failedCount.replace("{count}",String(c.progress.failed))}`]})]}),c.error&&(0,b.jsx)("div",{className:"text-xs text-destructive",children:(b=>{if(!b)return null;let c=a.backgroundTasks.errors[b]??a.errors[b];return"string"==typeof c?c:b})(c.error)}),(0,b.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 text-xs text-muted-foreground",children:[(0,b.jsx)("span",{children:a.backgroundTasks.startedAt.replace("{time}",(0,N.formatDateTime)(c.startedAt,"HH:mm:ss",f))}),(0,b.jsx)("span",{children:a.backgroundTasks.elapsed.replace("{time}",(d=c.startedAt,e=c.finishedAt,h=Math.max(0,Math.round(((e?Date.parse(e):o)-Date.parse(d))/1e3)),`${Math.floor(h/60)}:${String(h%60).padStart(2,"0")}`))}),c.link&&(0,b.jsx)(g.default,{href:c.link,className:"text-primary hover:underline",onClick:()=>l(!1),children:a.backgroundTasks.view})]})]})]})},c.id)})}),(0,b.jsxs)("div",{className:"flex items-center justify-between gap-2 pt-1",children:[(0,b.jsx)("p",{className:"text-xs text-muted-foreground",children:a.backgroundTasks.retentionHint}),w&&(0,b.jsx)(r.Button,{variant:"ghost",size:"sm",onClick:x,children:a.backgroundTasks.clearFinished})]})]})})]})}var aX=a.i(33508);let aY={success:{icon:J,className:"text-success"},error:{icon:K.XCircle,className:"text-destructive"},warning:{icon:A,className:"text-warning"},info:{icon:aC,className:"text-primary"}};function aZ(){let{t:a}=(0,c.useLanguage)(),[d,e]=(0,q.useState)([]),[f,g]=(0,q.useState)(null);return(0,q.useEffect)(()=>(0,ar.subscribeFeedback)(a=>{e(a.toasts),g(a.confirm)}),[]),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:"pointer-events-none fixed inset-x-0 top-3 z-[100] flex flex-col items-center gap-2 px-4 print:hidden",role:"status","aria-live":"polite",children:d.map(c=>{let{icon:d,className:e}=aY[c.type];return(0,b.jsxs)("div",{className:"pointer-events-auto flex w-full max-w-sm items-start gap-3 rounded-xl border bg-card/95 px-4 py-3 text-sm shadow-lg backdrop-blur animate-in fade-in slide-in-from-top-2 duration-200",children:[(0,b.jsx)(d,{className:(0,ag.cn)("mt-0.5 h-4 w-4 shrink-0",e)}),(0,b.jsx)("p",{className:"min-w-0 flex-1 whitespace-pre-line break-words leading-relaxed",children:c.message}),(0,b.jsx)("button",{type:"button",className:"shrink-0 rounded p-0.5 text-muted-foreground transition-colors hover:text-foreground",onClick:()=>(0,ar.dismissToast)(c.id),"aria-label":a.common.close,children:(0,b.jsx)(aX.X,{className:"h-3.5 w-3.5"})})]},c.id)})}),(0,b.jsx)(s.Dialog,{open:!!f,onOpenChange:a=>{a||f?.resolve(!1)},children:(0,b.jsxs)(s.DialogContent,{className:"sm:max-w-md",children:[(0,b.jsxs)(s.DialogHeader,{children:[(0,b.jsxs)(s.DialogTitle,{className:"flex items-center gap-2",children:[f?.destructive&&(0,b.jsx)(A,{className:"h-5 w-5 text-destructive"}),f?.title||a.common.confirmTitle]}),(0,b.jsx)(s.DialogDescription,{className:"whitespace-pre-line pt-1 text-left leading-relaxed",children:f?.message})]}),(0,b.jsxs)(s.DialogFooter,{className:"gap-2",children:[(0,b.jsx)(r.Button,{variant:"outline",onClick:()=>f?.resolve(!1),children:f?.cancelText||a.common.cancel}),(0,b.jsx)(r.Button,{variant:f?.destructive?"destructive":"default",onClick:()=>f?.resolve(!0),autoFocus:!0,children:f?.confirmText||a.common.confirm})]})]})})]})}a.s(["Providers",0,function({children:a,timeZone:f}){return(0,b.jsx)(d.SessionProvider,{children:(0,b.jsx)(c.LanguageProvider,{children:(0,b.jsxs)(e.TimeZoneProvider,{initialTimeZone:f,children:[(0,b.jsx)(aT,{children:a}),(0,b.jsx)(aW,{}),(0,b.jsx)(aZ,{})]})})})}],18175)}];
192
+
193
+ //# sourceMappingURL=src_components_providers_tsx_09kw-mv._.js.map
@@ -0,0 +1,3 @@
1
+ module.exports=[86705,a=>{"use strict";var b;let c={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function d(a){return (b={})=>{let c=b.width?String(b.width):a.defaultWidth;return a.formats[c]||a.formats[a.defaultWidth]}}let e={date:d({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:d({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:d({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},f={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function g(a){return(b,c)=>{let d;if("formatting"===(c?.context?String(c.context):"standalone")&&a.formattingValues){let b=a.defaultFormattingWidth||a.defaultWidth,e=c?.width?String(c.width):b;d=a.formattingValues[e]||a.formattingValues[b]}else{let b=a.defaultWidth,e=c?.width?String(c.width):a.defaultWidth;d=a.values[e]||a.values[b]}return d[a.argumentCallback?a.argumentCallback(b):b]}}function h(a){return(b,c={})=>{let d,e=c.width,f=e&&a.matchPatterns[e]||a.matchPatterns[a.defaultMatchWidth],g=b.match(f);if(!g)return null;let h=g[0],i=e&&a.parsePatterns[e]||a.parsePatterns[a.defaultParseWidth],j=Array.isArray(i)?function(a,b){for(let c=0;c<a.length;c++)if(b(a[c]))return c}(i,a=>a.test(h)):function(a,b){for(let c in a)if(Object.prototype.hasOwnProperty.call(a,c)&&b(a[c]))return c}(i,a=>a.test(h));return d=a.valueCallback?a.valueCallback(j):j,{value:d=c.valueCallback?c.valueCallback(d):d,rest:b.slice(h.length)}}}let i={code:"en-US",formatDistance:(a,b,d)=>{let e,f=c[a];if(e="string"==typeof f?f:1===b?f.one:f.other.replace("{{count}}",b.toString()),d?.addSuffix)if(d.comparison&&d.comparison>0)return"in "+e;else return e+" ago";return e},formatLong:e,formatRelative:(a,b,c,d)=>f[a],localize:{ordinalNumber:(a,b)=>{let c=Number(a),d=c%100;if(d>20||d<10)switch(d%10){case 1:return c+"st";case 2:return c+"nd";case 3:return c+"rd"}return c+"th"},era:g({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:g({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:a=>a-1}),month:g({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:g({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:g({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(b={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:a=>parseInt(a,10)},(a,c={})=>{let d=a.match(b.matchPattern);if(!d)return null;let e=d[0],f=a.match(b.parsePattern);if(!f)return null;let g=b.valueCallback?b.valueCallback(f[0]):f[0];return{value:g=c.valueCallback?c.valueCallback(g):g,rest:a.slice(e.length)}}),era:h({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:h({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:a=>a+1}),month:h({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:h({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:h({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}},j={},k=Symbol.for("constructDateFrom");function l(a,b){return"function"==typeof a?a(b):a&&"object"==typeof a&&k in a?a[k](b):a instanceof Date?new a.constructor(b):new Date(b)}function m(a,b){return l(b||a,a)}function n(a){let b=m(a),c=new Date(Date.UTC(b.getFullYear(),b.getMonth(),b.getDate(),b.getHours(),b.getMinutes(),b.getSeconds(),b.getMilliseconds()));return c.setUTCFullYear(b.getFullYear()),a-c}function o(a,b){let c=m(a,b?.in);return c.setHours(0,0,0,0),c}function p(a,b){let c=b?.weekStartsOn??b?.locale?.options?.weekStartsOn??j.weekStartsOn??j.locale?.options?.weekStartsOn??0,d=m(a,b?.in),e=d.getDay();return d.setDate(d.getDate()-(7*(e<c)+e-c)),d.setHours(0,0,0,0),d}function q(a,b){return p(a,{...b,weekStartsOn:1})}function r(a,b){let c=m(a,b?.in),d=c.getFullYear(),e=l(c,0);e.setFullYear(d+1,0,4),e.setHours(0,0,0,0);let f=q(e),g=l(c,0);g.setFullYear(d,0,4),g.setHours(0,0,0,0);let h=q(g);return c.getTime()>=f.getTime()?d+1:c.getTime()>=h.getTime()?d:d-1}function s(a,b){let c=m(a,b?.in),d=c.getFullYear(),e=b?.firstWeekContainsDate??b?.locale?.options?.firstWeekContainsDate??j.firstWeekContainsDate??j.locale?.options?.firstWeekContainsDate??1,f=l(b?.in||a,0);f.setFullYear(d+1,0,e),f.setHours(0,0,0,0);let g=p(f,b),h=l(b?.in||a,0);h.setFullYear(d,0,e),h.setHours(0,0,0,0);let i=p(h,b);return+c>=+g?d+1:+c>=+i?d:d-1}function t(a,b){let c=Math.abs(a).toString().padStart(b,"0");return(a<0?"-":"")+c}let u={y(a,b){let c=a.getFullYear(),d=c>0?c:1-c;return t("yy"===b?d%100:d,b.length)},M(a,b){let c=a.getMonth();return"M"===b?String(c+1):t(c+1,2)},d:(a,b)=>t(a.getDate(),b.length),a(a,b){let c=a.getHours()/12>=1?"pm":"am";switch(b){case"a":case"aa":return c.toUpperCase();case"aaa":return c;case"aaaaa":return c[0];default:return"am"===c?"a.m.":"p.m."}},h:(a,b)=>t(a.getHours()%12||12,b.length),H:(a,b)=>t(a.getHours(),b.length),m:(a,b)=>t(a.getMinutes(),b.length),s:(a,b)=>t(a.getSeconds(),b.length),S(a,b){let c=b.length;return t(Math.trunc(a.getMilliseconds()*Math.pow(10,c-3)),b.length)}},v={G:function(a,b,c){let d=+(a.getFullYear()>0);switch(b){case"G":case"GG":case"GGG":return c.era(d,{width:"abbreviated"});case"GGGGG":return c.era(d,{width:"narrow"});default:return c.era(d,{width:"wide"})}},y:function(a,b,c){if("yo"===b){let b=a.getFullYear();return c.ordinalNumber(b>0?b:1-b,{unit:"year"})}return u.y(a,b)},Y:function(a,b,c,d){let e=s(a,d),f=e>0?e:1-e;return"YY"===b?t(f%100,2):"Yo"===b?c.ordinalNumber(f,{unit:"year"}):t(f,b.length)},R:function(a,b){return t(r(a),b.length)},u:function(a,b){return t(a.getFullYear(),b.length)},Q:function(a,b,c){let d=Math.ceil((a.getMonth()+1)/3);switch(b){case"Q":return String(d);case"QQ":return t(d,2);case"Qo":return c.ordinalNumber(d,{unit:"quarter"});case"QQQ":return c.quarter(d,{width:"abbreviated",context:"formatting"});case"QQQQQ":return c.quarter(d,{width:"narrow",context:"formatting"});default:return c.quarter(d,{width:"wide",context:"formatting"})}},q:function(a,b,c){let d=Math.ceil((a.getMonth()+1)/3);switch(b){case"q":return String(d);case"qq":return t(d,2);case"qo":return c.ordinalNumber(d,{unit:"quarter"});case"qqq":return c.quarter(d,{width:"abbreviated",context:"standalone"});case"qqqqq":return c.quarter(d,{width:"narrow",context:"standalone"});default:return c.quarter(d,{width:"wide",context:"standalone"})}},M:function(a,b,c){let d=a.getMonth();switch(b){case"M":case"MM":return u.M(a,b);case"Mo":return c.ordinalNumber(d+1,{unit:"month"});case"MMM":return c.month(d,{width:"abbreviated",context:"formatting"});case"MMMMM":return c.month(d,{width:"narrow",context:"formatting"});default:return c.month(d,{width:"wide",context:"formatting"})}},L:function(a,b,c){let d=a.getMonth();switch(b){case"L":return String(d+1);case"LL":return t(d+1,2);case"Lo":return c.ordinalNumber(d+1,{unit:"month"});case"LLL":return c.month(d,{width:"abbreviated",context:"standalone"});case"LLLLL":return c.month(d,{width:"narrow",context:"standalone"});default:return c.month(d,{width:"wide",context:"standalone"})}},w:function(a,b,c,d){let e,f,g,h,i=Math.round((p(e=m(a,d?.in),d)-(f=d?.firstWeekContainsDate??d?.locale?.options?.firstWeekContainsDate??j.firstWeekContainsDate??j.locale?.options?.firstWeekContainsDate??1,g=s(e,d),(h=l(d?.in||e,0)).setFullYear(g,0,f),h.setHours(0,0,0,0),p(h,d)))/6048e5)+1;return"wo"===b?c.ordinalNumber(i,{unit:"week"}):t(i,b.length)},I:function(a,b,c){let d,e,f,g=Math.round((q(d=m(a,void 0))-(e=r(d,void 0),(f=l(d,0)).setFullYear(e,0,4),f.setHours(0,0,0,0),q(f)))/6048e5)+1;return"Io"===b?c.ordinalNumber(g,{unit:"week"}):t(g,b.length)},d:function(a,b,c){return"do"===b?c.ordinalNumber(a.getDate(),{unit:"date"}):u.d(a,b)},D:function(a,b,c){let d,e,f=function(a,b){let[c,d]=function(a,...b){let c=l.bind(null,a||b.find(a=>"object"==typeof a));return b.map(c)}(void 0,a,b),e=o(c),f=o(d);return Math.round((e-n(e)-(f-n(f)))/864e5)}(e=m(a,void 0),((d=m(e,void 0)).setFullYear(d.getFullYear(),0,1),d.setHours(0,0,0,0),d))+1;return"Do"===b?c.ordinalNumber(f,{unit:"dayOfYear"}):t(f,b.length)},E:function(a,b,c){let d=a.getDay();switch(b){case"E":case"EE":case"EEE":return c.day(d,{width:"abbreviated",context:"formatting"});case"EEEEE":return c.day(d,{width:"narrow",context:"formatting"});case"EEEEEE":return c.day(d,{width:"short",context:"formatting"});default:return c.day(d,{width:"wide",context:"formatting"})}},e:function(a,b,c,d){let e=a.getDay(),f=(e-d.weekStartsOn+8)%7||7;switch(b){case"e":return String(f);case"ee":return t(f,2);case"eo":return c.ordinalNumber(f,{unit:"day"});case"eee":return c.day(e,{width:"abbreviated",context:"formatting"});case"eeeee":return c.day(e,{width:"narrow",context:"formatting"});case"eeeeee":return c.day(e,{width:"short",context:"formatting"});default:return c.day(e,{width:"wide",context:"formatting"})}},c:function(a,b,c,d){let e=a.getDay(),f=(e-d.weekStartsOn+8)%7||7;switch(b){case"c":return String(f);case"cc":return t(f,b.length);case"co":return c.ordinalNumber(f,{unit:"day"});case"ccc":return c.day(e,{width:"abbreviated",context:"standalone"});case"ccccc":return c.day(e,{width:"narrow",context:"standalone"});case"cccccc":return c.day(e,{width:"short",context:"standalone"});default:return c.day(e,{width:"wide",context:"standalone"})}},i:function(a,b,c){let d=a.getDay(),e=0===d?7:d;switch(b){case"i":return String(e);case"ii":return t(e,b.length);case"io":return c.ordinalNumber(e,{unit:"day"});case"iii":return c.day(d,{width:"abbreviated",context:"formatting"});case"iiiii":return c.day(d,{width:"narrow",context:"formatting"});case"iiiiii":return c.day(d,{width:"short",context:"formatting"});default:return c.day(d,{width:"wide",context:"formatting"})}},a:function(a,b,c){let d=a.getHours()/12>=1?"pm":"am";switch(b){case"a":case"aa":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"});case"aaa":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return c.dayPeriod(d,{width:"narrow",context:"formatting"});default:return c.dayPeriod(d,{width:"wide",context:"formatting"})}},b:function(a,b,c){let d,e=a.getHours();switch(d=12===e?"noon":0===e?"midnight":e/12>=1?"pm":"am",b){case"b":case"bb":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"});case"bbb":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return c.dayPeriod(d,{width:"narrow",context:"formatting"});default:return c.dayPeriod(d,{width:"wide",context:"formatting"})}},B:function(a,b,c){let d,e=a.getHours();switch(d=e>=17?"evening":e>=12?"afternoon":e>=4?"morning":"night",b){case"B":case"BB":case"BBB":return c.dayPeriod(d,{width:"abbreviated",context:"formatting"});case"BBBBB":return c.dayPeriod(d,{width:"narrow",context:"formatting"});default:return c.dayPeriod(d,{width:"wide",context:"formatting"})}},h:function(a,b,c){if("ho"===b){let b=a.getHours()%12;return 0===b&&(b=12),c.ordinalNumber(b,{unit:"hour"})}return u.h(a,b)},H:function(a,b,c){return"Ho"===b?c.ordinalNumber(a.getHours(),{unit:"hour"}):u.H(a,b)},K:function(a,b,c){let d=a.getHours()%12;return"Ko"===b?c.ordinalNumber(d,{unit:"hour"}):t(d,b.length)},k:function(a,b,c){let d=a.getHours();return(0===d&&(d=24),"ko"===b)?c.ordinalNumber(d,{unit:"hour"}):t(d,b.length)},m:function(a,b,c){return"mo"===b?c.ordinalNumber(a.getMinutes(),{unit:"minute"}):u.m(a,b)},s:function(a,b,c){return"so"===b?c.ordinalNumber(a.getSeconds(),{unit:"second"}):u.s(a,b)},S:function(a,b){return u.S(a,b)},X:function(a,b,c){let d=a.getTimezoneOffset();if(0===d)return"Z";switch(b){case"X":return x(d);case"XXXX":case"XX":return y(d);default:return y(d,":")}},x:function(a,b,c){let d=a.getTimezoneOffset();switch(b){case"x":return x(d);case"xxxx":case"xx":return y(d);default:return y(d,":")}},O:function(a,b,c){let d=a.getTimezoneOffset();switch(b){case"O":case"OO":case"OOO":return"GMT"+w(d,":");default:return"GMT"+y(d,":")}},z:function(a,b,c){let d=a.getTimezoneOffset();switch(b){case"z":case"zz":case"zzz":return"GMT"+w(d,":");default:return"GMT"+y(d,":")}},t:function(a,b,c){return t(Math.trunc(a/1e3),b.length)},T:function(a,b,c){return t(+a,b.length)}};function w(a,b=""){let c=a>0?"-":"+",d=Math.abs(a),e=Math.trunc(d/60),f=d%60;return 0===f?c+String(e):c+String(e)+b+t(f,2)}function x(a,b){return a%60==0?(a>0?"-":"+")+t(Math.abs(a)/60,2):y(a,b)}function y(a,b=""){let c=Math.abs(a);return(a>0?"-":"+")+t(Math.trunc(c/60),2)+b+t(c%60,2)}let z=(a,b)=>{switch(a){case"P":return b.date({width:"short"});case"PP":return b.date({width:"medium"});case"PPP":return b.date({width:"long"});default:return b.date({width:"full"})}},A=(a,b)=>{switch(a){case"p":return b.time({width:"short"});case"pp":return b.time({width:"medium"});case"ppp":return b.time({width:"long"});default:return b.time({width:"full"})}},B={p:A,P:(a,b)=>{let c,d=a.match(/(P+)(p+)?/)||[],e=d[1],f=d[2];if(!f)return z(a,b);switch(e){case"P":c=b.dateTime({width:"short"});break;case"PP":c=b.dateTime({width:"medium"});break;case"PPP":c=b.dateTime({width:"long"});break;default:c=b.dateTime({width:"full"})}return c.replace("{{date}}",z(e,b)).replace("{{time}}",A(f,b))}},C=/^D+$/,D=/^Y+$/,E=["D","DD","YY","YYYY"],F=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,G=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,H=/^'([^]*?)'?$/,I=/''/g,J=/[a-zA-Z]/;function K(a,b,c){var d,e,f,g,h;let i,k,l=Object.assign({},j),m=(d=a,e=c.timeZone,f=c.locale??l.locale,new Intl.DateTimeFormat(f?[f.code,"en-US"]:void 0,{timeZone:e,timeZoneName:d}));return"formatToParts"in m?function(a,b){let c=a.formatToParts(b);for(let a=c.length-1;a>=0;--a)if("timeZoneName"===c[a].type)return c[a].value}(m,b):(g=m,h=b,i=g.format(h).replace(/\u200E/g,""),(k=/ [\w-+ ]+$/.exec(i))?k[0].substr(1):"")}let L={year:0,month:1,day:2,hour:3,minute:4,second:5},M={},N=new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:"America/New_York",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date("2014-06-25T04:00:00.123Z")),O="06/25/2014, 00:00:00"===N||"‎06‎/‎25‎/‎2014‎ ‎00‎:‎00‎:‎00"===N;function P(a,b,c,d,e,f,g){let h=new Date(0);return h.setUTCFullYear(a,b,c),h.setUTCHours(d,e,f,g),h}let Q=/^(Z)$/,R=/^([+-]\d{2})$/,S=/^([+-])(\d{2}):?(\d{2})$/;function T(a,b,c){let d,e;if(!a)return 0;let f=Q.exec(a);if(f)return 0;if(f=R.exec(a))return V(d=parseInt(f[1],10))?-(36e5*d):NaN;if(f=S.exec(a)){d=parseInt(f[2],10);let a=parseInt(f[3],10);return V(d,a)?(e=36e5*Math.abs(d)+6e4*a,"+"===f[1]?-e:e):NaN}if(function(a){if(W[a])return!0;try{return new Intl.DateTimeFormat(void 0,{timeZone:a}),W[a]=!0,!0}catch(a){return!1}}(a)){var g;b=new Date(b||Date.now());let d=U(c?b:P((g=b).getFullYear(),g.getMonth(),g.getDate(),g.getHours(),g.getMinutes(),g.getSeconds(),g.getMilliseconds()),a);return-(c?d:function(a,b,c){let d=a.getTime()-b,e=U(new Date(d),c);if(b===e)return b;let f=U(new Date(d-=e-b),c);return e===f?e:Math.max(e,f)}(b,d,a))}return NaN}function U(a,b){var c,d,e;let f,g,h,i=(M[c=b]||(M[c]=O?new Intl.DateTimeFormat("en-US",{hourCycle:"h23",timeZone:c,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}):new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:c,year:"numeric",month:"numeric",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})),"formatToParts"in(h=M[c])?function(a,b){try{let c=a.formatToParts(b),d=[];for(let a=0;a<c.length;a++){let b=L[c[a].type];void 0!==b&&(d[b]=parseInt(c[a].value,10))}return d}catch(a){if(a instanceof RangeError)return[NaN];throw a}}(h,a):(d=h,e=a,f=d.format(e),[parseInt((g=/(\d+)\/(\d+)\/(\d+),? (\d+):(\d+):(\d+)/.exec(f))[3],10),parseInt(g[1],10),parseInt(g[2],10),parseInt(g[4],10),parseInt(g[5],10),parseInt(g[6],10)])),j=P(i[0],i[1]-1,i[2],i[3]%24,i[4],i[5],0).getTime(),k=a.getTime(),l=k%1e3;return j-(k-=l>=0?l:1e3+l)}function V(a,b){return -23<=a&&a<=23&&(null==b||0<=b&&b<=59)}let W={},X={X:function(a,b,c){let d=Y(c.timeZone,a);if(0===d)return"Z";switch(b){case"X":return _(d);case"XXXX":case"XX":return $(d);default:return $(d,":")}},x:function(a,b,c){let d=Y(c.timeZone,a);switch(b){case"x":return _(d);case"xxxx":case"xx":return $(d);default:return $(d,":")}},O:function(a,b,c){let d=Y(c.timeZone,a);switch(b){case"O":case"OO":case"OOO":return"GMT"+function(a,b=""){let c=a>0?"-":"+",d=Math.abs(a),e=Math.floor(d/60),f=d%60;return 0===f?c+String(e):c+String(e)+b+Z(f,2)}(d,":");default:return"GMT"+$(d,":")}},z:function(a,b,c){switch(b){case"z":case"zz":case"zzz":return K("short",a,c);default:return K("long",a,c)}}};function Y(a,b){let c=a?T(a,b,!0)/6e4:b?.getTimezoneOffset()??0;if(Number.isNaN(c))throw RangeError("Invalid time zone specified: "+a);return c}function Z(a,b){let c=Math.abs(a).toString();for(;c.length<b;)c="0"+c;return(a<0?"-":"")+c}function $(a,b=""){let c=Math.abs(a);return(a>0?"-":"+")+Z(Math.floor(c/60),2)+b+Z(Math.floor(c%60),2)}function _(a,b){return a%60==0?(a>0?"-":"+")+Z(Math.abs(a)/60,2):$(a,b)}function aa(a){let b=new Date(Date.UTC(a.getFullYear(),a.getMonth(),a.getDate(),a.getHours(),a.getMinutes(),a.getSeconds(),a.getMilliseconds()));return b.setUTCFullYear(a.getFullYear()),a-b}let ab=/(Z|[+-]\d{2}(?::?\d{2})?| UTC| [a-zA-Z]+\/[a-zA-Z_]+(?:\/[a-zA-Z_]+)?)$/,ac=/^([0-9W+-]+)(T| )(.*)/,ad=/^([0-9W+-]+)(.*)/,ae=/^(\d{2})$/,af=[/^([+-]\d{2})$/,/^([+-]\d{3})$/,/^([+-]\d{4})$/],ag=/^(\d{4})/,ah=[/^([+-]\d{4})/,/^([+-]\d{5})/,/^([+-]\d{6})/],ai=/^-(\d{2})$/,aj=/^-?(\d{3})$/,ak=/^-?(\d{2})-?(\d{2})$/,al=/^-?W(\d{2})$/,am=/^-?W(\d{2})-?(\d{1})$/,an=/^(\d{2}([.,]\d*)?)$/,ao=/^(\d{2}):?(\d{2}([.,]\d*)?)$/,ap=/^(\d{2}):?(\d{2}):?(\d{2}([.,]\d*)?)$/;function aq(a,b={}){if(arguments.length<1)throw TypeError("1 argument required, but only "+arguments.length+" present");if(null===a)return new Date(NaN);let c=null==b.additionalDigits?2:Number(b.additionalDigits);if(2!==c&&1!==c&&0!==c)throw RangeError("additionalDigits must be 0, 1 or 2");if(a instanceof Date||"object"==typeof a&&"[object Date]"===Object.prototype.toString.call(a))return new Date(a.getTime());if("number"==typeof a||"[object Number]"===Object.prototype.toString.call(a))return new Date(a);if("[object String]"!==Object.prototype.toString.call(a))return new Date(NaN);let d=function(a){let b,c={},d=ac.exec(a);if(d?(c.date=d[1],b=d[3]):(d=ad.exec(a))?(c.date=d[1],b=d[2]):(c.date=null,b=a),b){let a=ab.exec(b);a?(c.time=b.replace(a[1],""),c.timeZone=a[1].trim()):c.time=b}return c}(a),{year:e,restDateString:f}=function(a,b){if(a){let c=af[b],d=ah[b],e=ag.exec(a)||d.exec(a);if(e){let b=e[1];return{year:parseInt(b,10),restDateString:a.slice(b.length)}}if(e=ae.exec(a)||c.exec(a)){let b=e[1];return{year:100*parseInt(b,10),restDateString:a.slice(b.length)}}}return{year:null}}(d.date,c),g=function(a,b){let c,d,e;if(null===b)return null;if(!a||!a.length)return(c=new Date(0)).setUTCFullYear(b),c;let f=ai.exec(a);if(f)return(c=new Date(0),av(b,d=parseInt(f[1],10)-1))?(c.setUTCFullYear(b,d),c):new Date(NaN);if(f=aj.exec(a)){c=new Date(0);let a=parseInt(f[1],10);return!function(a,b){if(b<1)return!1;let c=au(a);return(!c||!(b>366))&&(!!c||!(b>365))}(b,a)?new Date(NaN):(c.setUTCFullYear(b,0,a),c)}if(f=ak.exec(a)){c=new Date(0),d=parseInt(f[1],10)-1;let a=parseInt(f[2],10);return av(b,d,a)?(c.setUTCFullYear(b,d,a),c):new Date(NaN)}if(f=al.exec(a))return aw(e=parseInt(f[1],10)-1)?ar(b,e):new Date(NaN);if(f=am.exec(a)){e=parseInt(f[1],10)-1;let a=parseInt(f[2],10)-1;return aw(e,a)?ar(b,e,a):new Date(NaN)}return null}(f,e);if(null===g||isNaN(g.getTime())||!g)return new Date(NaN);{let a,c=g.getTime(),e=0;if(d.time&&(null===(e=function(a){let b,c,d=an.exec(a);if(d)return ax(b=parseFloat(d[1].replace(",",".")))?b%24*36e5:NaN;if(d=ao.exec(a))return ax(b=parseInt(d[1],10),c=parseFloat(d[2].replace(",",".")))?b%24*36e5+6e4*c:NaN;if(d=ap.exec(a)){b=parseInt(d[1],10),c=parseInt(d[2],10);let a=parseFloat(d[3].replace(",","."));return ax(b,c,a)?b%24*36e5+6e4*c+1e3*a:NaN}return null}(d.time))||isNaN(e)))return new Date(NaN);if(d.timeZone||b.timeZone){if(isNaN(a=T(d.timeZone||b.timeZone,new Date(c+e))))return new Date(NaN)}else a=aa(new Date(c+e)),a=aa(new Date(c+e+a));return new Date(c+e+a)}}function ar(a,b,c){b=b||0,c=c||0;let d=new Date(0);d.setUTCFullYear(a,0,4);let e=7*b+c+1-(d.getUTCDay()||7);return d.setUTCDate(d.getUTCDate()+e),d}let as=[31,28,31,30,31,30,31,31,30,31,30,31],at=[31,29,31,30,31,30,31,31,30,31,30,31];function au(a){return a%400==0||a%4==0&&a%100!=0}function av(a,b,c){if(b<0||b>11)return!1;if(null!=c){if(c<1)return!1;let d=au(a);if(d&&c>at[b]||!d&&c>as[b])return!1}return!0}function aw(a,b){return!(a<0)&&!(a>52)&&(null==b||!(b<0)&&!(b>6))}function ax(a,b,c){return!(a<0)&&!(a>=25)&&(null==b||!(b<0)&&!(b>=60))&&(null==c||!(c<0)&&!(c>=60))}let ay=/([xXOz]+)|''|'(''|[^'])+('|$)/g;function az(a,b,c){let d=T(b,a=aq(a,c),!0),e=new Date(a.getTime()-d),f=new Date(0);return f.setFullYear(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()),f.setHours(e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()),f}let aA="Asia/Shanghai";function aB(a,b="yyyy-MM-dd HH:mm",c=aA){var d;return d={...d,timeZone:c,originalDate:a},function(a,b,c={}){let d=(b=String(b)).match(ay);if(d){let e=aq(c.originalDate||a,c);b=d.reduce(function(a,b){if("'"===b[0])return a;let d=a.indexOf(b),f="'"===a[d-1],g=a.replace(b,"'"+X[b[0]](e,b,c)+"'");return f?g.substring(0,d-1)+g.substring(d+1):g},b)}return function(a,b,c){let d=c?.locale??j.locale??i,e=c?.firstWeekContainsDate??c?.locale?.options?.firstWeekContainsDate??j.firstWeekContainsDate??j.locale?.options?.firstWeekContainsDate??1,f=c?.weekStartsOn??c?.locale?.options?.weekStartsOn??j.weekStartsOn??j.locale?.options?.weekStartsOn??0,g=m(a,c?.in);if(!(g instanceof Date||"object"==typeof g&&"[object Date]"===Object.prototype.toString.call(g))&&"number"!=typeof g||isNaN(+m(g)))throw RangeError("Invalid time value");let h=b.match(G).map(a=>{let b=a[0];return"p"===b||"P"===b?(0,B[b])(a,d.formatLong):a}).join("").match(F).map(a=>{if("''"===a)return{isToken:!1,value:"'"};let b=a[0];if("'"===b){var c;let b;return{isToken:!1,value:(b=(c=a).match(H))?b[1].replace(I,"'"):c}}if(v[b])return{isToken:!0,value:a};if(b.match(J))throw RangeError("Format string contains an unescaped latin alphabet character `"+b+"`");return{isToken:!1,value:a}});d.localize.preprocessor&&(h=d.localize.preprocessor(g,h));let k={firstWeekContainsDate:e,weekStartsOn:f,locale:d};return h.map(e=>{if(!e.isToken)return e.value;let f=e.value;return(!c?.useAdditionalWeekYearTokens&&D.test(f)||!c?.useAdditionalDayOfYearTokens&&C.test(f))&&function(a,b,c){var d,e,f;let g,h=(d=a,e=b,f=c,g="Y"===d[0]?"years":"days of the month",`Use \`${d.toLowerCase()}\` instead of \`${d}\` (in \`${e}\`) for formatting ${g} to the input \`${f}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`);if(console.warn(h),E.includes(a))throw RangeError(h)}(f,b,String(a)),(0,v[f[0]])(g,f,d.localize,k)}).join("")}(a,b,c)}(az(a,c,{timeZone:d.timeZone}),b,d)}a.s(["DEFAULT_TIME_ZONE",0,aA,"answeredDateToISOString",0,function(a,b=aA,c=new Date){return a===aB(c,"yyyy-MM-dd",b)?c.toISOString():function(a,b=aA){return(function(a,b){if("string"==typeof a&&!a.match(ab))return aq(a,{...void 0,timeZone:b});let c=P((a=aq(a,void 0)).getFullYear(),a.getMonth(),a.getDate(),a.getHours(),a.getMinutes(),a.getSeconds(),a.getMilliseconds()).getTime(),d=T(b,new Date(c));return new Date(c+d)})(`${a}T12:00:00`,b).toISOString()}(a,b)},"formatDateTime",0,aB,"getCalendarDate",0,function(a,b=aA){return az(a,b)},"isValidTimeZone",0,function(a){if("string"!=typeof a||!a.trim())return!1;try{return new Intl.DateTimeFormat("en",{timeZone:a.trim()}).format(),!0}catch{return!1}}],86705)}];
2
+
3
+ //# sourceMappingURL=src_lib_date-time_ts_0oyqctn._.js.map
@@ -0,0 +1,3 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["chunks/[root-of-the-server]__1osrt2u._.js",78500,(e,r,o)=>{r.exports=e.x("node:async_hooks",()=>require("node:async_hooks"))},51615,(e,r,o)=>{r.exports=e.x("node:buffer",()=>require("node:buffer"))},35825,(e,r,o)=>{self._ENTRIES||={};let t=Promise.resolve().then(()=>e.i(58217));t.catch(()=>{}),self._ENTRIES.middleware_middleware=new Proxy(t,{get(e,r){if("then"===r)return(r,o)=>e.then(r,o);let o=(...o)=>e.then(e=>(0,e[r])(...o));return o.then=(o,t)=>e.then(e=>e[r]).then(o,t),o}})}]);
2
+
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__1osrt2u._.js.map
@@ -0,0 +1,3 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["chunks/_1s0wgnu._.js",85841,(e,t,n)=>{self._ENTRIES||={};let s=Promise.resolve().then(()=>e.i(32714));s.catch(()=>{}),self._ENTRIES.middleware_instrumentation=new Proxy(s,{get(e,t){if("then"===t)return(t,n)=>e.then(t,n);let n=(...n)=>e.then(e=>(0,e[t])(...n));return n.then=(n,s)=>e.then(e=>e[t]).then(n,s),n}})},32714,e=>{"use strict";async function t(){}e.s(["register",0,t])}]);
2
+
3
+ //# sourceMappingURL=_1s0wgnu._.js.map