dev3000 0.0.126 → 0.0.128

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 (349) hide show
  1. package/dist/cdp-monitor.d.ts.map +1 -1
  2. package/dist/cdp-monitor.js +18 -0
  3. package/dist/cdp-monitor.js.map +1 -1
  4. package/dist/dev-environment.d.ts +0 -4
  5. package/dist/dev-environment.d.ts.map +1 -1
  6. package/dist/dev-environment.js +1 -236
  7. package/dist/dev-environment.js.map +1 -1
  8. package/dist/screencast-manager.d.ts +2 -1
  9. package/dist/screencast-manager.d.ts.map +1 -1
  10. package/dist/screencast-manager.js +85 -36
  11. package/dist/screencast-manager.js.map +1 -1
  12. package/dist/utils/version-check.d.ts +3 -0
  13. package/dist/utils/version-check.d.ts.map +1 -1
  14. package/dist/utils/version-check.js +13 -1
  15. package/dist/utils/version-check.js.map +1 -1
  16. package/mcp-server/.next/BUILD_ID +1 -1
  17. package/mcp-server/.next/app-path-routes-manifest.json +2 -0
  18. package/mcp-server/.next/build/chunks/[turbopack]_runtime.js +32 -7
  19. package/mcp-server/.next/build/chunks/[turbopack]_runtime.js.map +5 -5
  20. package/mcp-server/.next/build/postcss.js +1 -1
  21. package/mcp-server/.next/build/webpack-loaders.js +1 -1
  22. package/mcp-server/.next/build-manifest.json +7 -7
  23. package/mcp-server/.next/fallback-build-manifest.json +2 -2
  24. package/mcp-server/.next/next-minimal-server.js.nft.json +1 -1
  25. package/mcp-server/.next/next-server.js.nft.json +1 -1
  26. package/mcp-server/.next/prerender-manifest.json +3 -6
  27. package/mcp-server/.next/required-server-files.js +164 -0
  28. package/mcp-server/.next/required-server-files.json +39 -192
  29. package/mcp-server/.next/routes-manifest.json +13 -1
  30. package/mcp-server/.next/server/app/_global-error/page/build-manifest.json +5 -5
  31. package/mcp-server/.next/server/app/_global-error/page.js +8 -8
  32. package/mcp-server/.next/server/app/_global-error/page.js.nft.json +1 -1
  33. package/mcp-server/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  34. package/mcp-server/.next/server/app/_global-error.html +2 -2
  35. package/mcp-server/.next/server/app/_global-error.rsc +8 -8
  36. package/mcp-server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +2 -2
  37. package/mcp-server/.next/server/app/_global-error.segments/_full.segment.rsc +8 -8
  38. package/mcp-server/.next/server/app/_global-error.segments/_head.segment.rsc +4 -6
  39. package/mcp-server/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
  40. package/mcp-server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  41. package/mcp-server/.next/server/app/_not-found/page/build-manifest.json +5 -5
  42. package/mcp-server/.next/server/app/_not-found/page.js +10 -10
  43. package/mcp-server/.next/server/app/_not-found/page.js.nft.json +1 -1
  44. package/mcp-server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  45. package/mcp-server/.next/server/app/_not-found.html +1 -1
  46. package/mcp-server/.next/server/app/_not-found.rsc +9 -9
  47. package/mcp-server/.next/server/app/_not-found.segments/_full.segment.rsc +9 -9
  48. package/mcp-server/.next/server/app/_not-found.segments/_head.segment.rsc +4 -6
  49. package/mcp-server/.next/server/app/_not-found.segments/_index.segment.rsc +4 -4
  50. package/mcp-server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  51. package/mcp-server/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  52. package/mcp-server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  53. package/mcp-server/.next/server/app/api/jank/[session]/route.js +8 -8
  54. package/mcp-server/.next/server/app/api/jank/[session]/route.js.nft.json +1 -1
  55. package/mcp-server/.next/server/app/api/logs/append/route.js +4 -4
  56. package/mcp-server/.next/server/app/api/logs/append/route.js.nft.json +1 -1
  57. package/mcp-server/.next/server/app/api/logs/head/route.js +4 -4
  58. package/mcp-server/.next/server/app/api/logs/head/route.js.nft.json +1 -1
  59. package/mcp-server/.next/server/app/api/logs/list/route.js +4 -4
  60. package/mcp-server/.next/server/app/api/logs/list/route.js.nft.json +1 -1
  61. package/mcp-server/.next/server/app/api/logs/rotate/route.js +6 -6
  62. package/mcp-server/.next/server/app/api/logs/rotate/route.js.nft.json +1 -1
  63. package/mcp-server/.next/server/app/api/logs/stream/route.js +4 -4
  64. package/mcp-server/.next/server/app/api/logs/stream/route.js.nft.json +1 -1
  65. package/mcp-server/.next/server/app/api/logs/tail/route.js +4 -4
  66. package/mcp-server/.next/server/app/api/logs/tail/route.js.nft.json +1 -1
  67. package/mcp-server/.next/server/app/api/orchestrator/route.js +6 -6
  68. package/mcp-server/.next/server/app/api/orchestrator/route.js.nft.json +1 -1
  69. package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js +6 -6
  70. package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js.nft.json +1 -1
  71. package/mcp-server/.next/server/app/api/screenshots/capture/route/app-paths-manifest.json +3 -0
  72. package/mcp-server/.next/server/app/api/screenshots/capture/route/build-manifest.json +11 -0
  73. package/mcp-server/.next/server/app/api/screenshots/capture/route/server-reference-manifest.json +4 -0
  74. package/mcp-server/.next/server/app/api/screenshots/capture/route.js +9 -0
  75. package/mcp-server/.next/server/app/api/screenshots/capture/route.js.map +5 -0
  76. package/mcp-server/.next/server/app/api/screenshots/capture/route.js.nft.json +1 -0
  77. package/mcp-server/.next/server/app/api/screenshots/capture/route_client-reference-manifest.js +2 -0
  78. package/mcp-server/.next/server/app/api/screenshots/clear/route/app-paths-manifest.json +3 -0
  79. package/mcp-server/.next/server/app/api/screenshots/clear/route/build-manifest.json +11 -0
  80. package/mcp-server/.next/server/app/api/screenshots/clear/route/server-reference-manifest.json +4 -0
  81. package/mcp-server/.next/server/app/api/screenshots/clear/route.js +8 -0
  82. package/mcp-server/.next/server/app/api/screenshots/clear/route.js.map +5 -0
  83. package/mcp-server/.next/server/app/api/screenshots/clear/route.js.nft.json +1 -0
  84. package/mcp-server/.next/server/app/api/screenshots/clear/route_client-reference-manifest.js +2 -0
  85. package/mcp-server/.next/server/app/api/screenshots/list/route.js +6 -6
  86. package/mcp-server/.next/server/app/api/screenshots/list/route.js.nft.json +1 -1
  87. package/mcp-server/.next/server/app/api/teams/route.js +6 -6
  88. package/mcp-server/.next/server/app/api/teams/route.js.nft.json +1 -1
  89. package/mcp-server/.next/server/app/api/tools/route.js +6 -6
  90. package/mcp-server/.next/server/app/api/tools/route.js.nft.json +1 -1
  91. package/mcp-server/.next/server/app/index.html +1 -1
  92. package/mcp-server/.next/server/app/index.rsc +11 -11
  93. package/mcp-server/.next/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  94. package/mcp-server/.next/server/app/index.segments/_full.segment.rsc +11 -11
  95. package/mcp-server/.next/server/app/index.segments/_head.segment.rsc +4 -6
  96. package/mcp-server/.next/server/app/index.segments/_index.segment.rsc +4 -4
  97. package/mcp-server/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  98. package/mcp-server/.next/server/app/logs/page/build-manifest.json +5 -5
  99. package/mcp-server/.next/server/app/logs/page.js +13 -13
  100. package/mcp-server/.next/server/app/logs/page.js.nft.json +1 -1
  101. package/mcp-server/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  102. package/mcp-server/.next/server/app/mcp/route.js +8 -7
  103. package/mcp-server/.next/server/app/mcp/route.js.nft.json +1 -1
  104. package/mcp-server/.next/server/app/page/build-manifest.json +5 -5
  105. package/mcp-server/.next/server/app/page.js +12 -12
  106. package/mcp-server/.next/server/app/page.js.nft.json +1 -1
  107. package/mcp-server/.next/server/app/page_client-reference-manifest.js +1 -1
  108. package/mcp-server/.next/server/app/video/[session]/page/build-manifest.json +5 -5
  109. package/mcp-server/.next/server/app/video/[session]/page.js +12 -12
  110. package/mcp-server/.next/server/app/video/[session]/page.js.nft.json +1 -1
  111. package/mcp-server/.next/server/app/video/[session]/page_client-reference-manifest.js +1 -1
  112. package/mcp-server/.next/server/app-paths-manifest.json +2 -0
  113. package/mcp-server/.next/server/chunks/250ae__next-internal_server_app_api_screenshots_capture_route_actions_4034f26c.js +3 -0
  114. package/mcp-server/.next/server/chunks/250ae__next-internal_server_app_api_screenshots_clear_route_actions_e26206f4.js +3 -0
  115. package/mcp-server/.next/server/chunks/{[root-of-the-server]__86eb7852._.js → [externals]__eb460e97._.js} +2 -2
  116. package/mcp-server/.next/server/chunks/{[root-of-the-server]__2a398dc7._.js → [externals]_next_dist_2a398dc7._.js} +1 -1
  117. package/mcp-server/.next/server/chunks/{[root-of-the-server]__880af90b._.js → [root-of-the-server]__141a5bc7._.js} +6 -6
  118. package/mcp-server/.next/server/chunks/[root-of-the-server]__141a5bc7._.js.map +1 -0
  119. package/mcp-server/.next/server/chunks/[root-of-the-server]__1ca296d3._.js +3 -0
  120. package/mcp-server/.next/server/chunks/[root-of-the-server]__1ca296d3._.js.map +1 -0
  121. package/mcp-server/.next/server/chunks/[root-of-the-server]__21bdfd19._.js +3 -0
  122. package/mcp-server/.next/server/chunks/[root-of-the-server]__21bdfd19._.js.map +1 -0
  123. package/mcp-server/.next/server/chunks/[root-of-the-server]__31a16876._.js +3 -0
  124. package/mcp-server/.next/server/chunks/[root-of-the-server]__31a16876._.js.map +1 -0
  125. package/mcp-server/.next/server/chunks/[root-of-the-server]__340a77dc._.js +3 -0
  126. package/mcp-server/.next/server/chunks/{[root-of-the-server]__9a45c8f9._.js.map → [root-of-the-server]__340a77dc._.js.map} +1 -1
  127. package/mcp-server/.next/server/chunks/[root-of-the-server]__4aa77621._.js +7 -0
  128. package/mcp-server/.next/server/chunks/[root-of-the-server]__4aa77621._.js.map +1 -0
  129. package/mcp-server/.next/server/chunks/[root-of-the-server]__52809b10._.js +3 -0
  130. package/mcp-server/.next/server/chunks/[root-of-the-server]__52809b10._.js.map +1 -0
  131. package/mcp-server/.next/server/chunks/{[root-of-the-server]__72f849fd._.js → [root-of-the-server]__532c5da6._.js} +2 -2
  132. package/mcp-server/.next/server/chunks/[root-of-the-server]__714e8bcf._.js +3 -0
  133. package/mcp-server/.next/server/chunks/{[root-of-the-server]__e1a64519._.js.map → [root-of-the-server]__714e8bcf._.js.map} +1 -1
  134. package/mcp-server/.next/server/chunks/[root-of-the-server]__81270bcf._.js +3 -0
  135. package/mcp-server/.next/server/chunks/[root-of-the-server]__81270bcf._.js.map +1 -0
  136. package/mcp-server/.next/server/chunks/[root-of-the-server]__8589759c._.js +4 -0
  137. package/mcp-server/.next/server/chunks/[root-of-the-server]__8589759c._.js.map +1 -0
  138. package/mcp-server/.next/server/chunks/[root-of-the-server]__90514e85._.js +4 -0
  139. package/mcp-server/.next/server/chunks/[root-of-the-server]__90514e85._.js.map +1 -0
  140. package/mcp-server/.next/server/chunks/[root-of-the-server]__90569352._.js +3 -0
  141. package/mcp-server/.next/server/chunks/[root-of-the-server]__90569352._.js.map +1 -0
  142. package/mcp-server/.next/server/chunks/[root-of-the-server]__945b2b7b._.js +11 -0
  143. package/mcp-server/.next/server/chunks/[root-of-the-server]__945b2b7b._.js.map +1 -0
  144. package/mcp-server/.next/server/chunks/[root-of-the-server]__ad4d66b0._.js +3 -0
  145. package/mcp-server/.next/server/chunks/[root-of-the-server]__ad4d66b0._.js.map +1 -0
  146. package/mcp-server/.next/server/chunks/[root-of-the-server]__b4ecebbe._.js +3 -0
  147. package/mcp-server/.next/server/chunks/[root-of-the-server]__b4ecebbe._.js.map +1 -0
  148. package/mcp-server/.next/server/chunks/[root-of-the-server]__e7efb7fe._.js +3 -0
  149. package/mcp-server/.next/server/chunks/[root-of-the-server]__e7efb7fe._.js.map +1 -0
  150. package/mcp-server/.next/server/chunks/[root-of-the-server]__fa4b0e38._.js +4 -0
  151. package/mcp-server/.next/server/chunks/[root-of-the-server]__fa4b0e38._.js.map +1 -0
  152. package/mcp-server/.next/server/chunks/[root-of-the-server]__fd2bf649._.js +3 -0
  153. package/mcp-server/.next/server/chunks/[root-of-the-server]__fd2bf649._.js.map +1 -0
  154. package/mcp-server/.next/server/chunks/[turbopack]_runtime.js +32 -7
  155. package/mcp-server/.next/server/chunks/[turbopack]_runtime.js.map +5 -5
  156. package/mcp-server/.next/server/chunks/{8b111_next_70882466._.js → c80b1_next_d479b5fa._.js} +3 -3
  157. package/mcp-server/.next/server/chunks/c80b1_next_d479b5fa._.js.map +1 -0
  158. package/mcp-server/.next/server/chunks/c80b1_next_dist_579c473d._.js +6 -0
  159. package/mcp-server/.next/server/chunks/c80b1_next_dist_579c473d._.js.map +1 -0
  160. package/mcp-server/.next/server/chunks/c80b1_next_dist_esm_build_templates_app-route_ea10d5ad.js +3 -0
  161. package/mcp-server/.next/server/chunks/c80b1_next_dist_esm_build_templates_app-route_ea10d5ad.js.map +1 -0
  162. package/mcp-server/.next/server/chunks/c80b1_next_f225a77d._.js +3 -0
  163. package/mcp-server/.next/server/chunks/c80b1_next_f225a77d._.js.map +1 -0
  164. package/mcp-server/.next/server/chunks/{mcp-server_50ca1d40._.js → mcp-server_70405c2f._.js} +1 -1
  165. package/mcp-server/.next/server/chunks/mcp-server_app_mcp_tools_ts_faf6d7df._.js +216 -0
  166. package/mcp-server/.next/server/chunks/mcp-server_app_mcp_tools_ts_faf6d7df._.js.map +1 -0
  167. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__1d6b73d5._.js +3 -0
  168. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__baf72617._.js.map → [root-of-the-server]__1d6b73d5._.js.map} +1 -1
  169. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__27ae22d6._.js +3 -0
  170. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__ad363fb6._.js.map → [root-of-the-server]__27ae22d6._.js.map} +1 -1
  171. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__324715a4._.js +3 -0
  172. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__d9257d07._.js.map → [root-of-the-server]__324715a4._.js.map} +1 -1
  173. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__3c6c75a6._.js +3 -0
  174. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__0aa14b12._.js.map → [root-of-the-server]__3c6c75a6._.js.map} +1 -1
  175. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__5ba89445._.js → [root-of-the-server]__50b48a29._.js} +2 -2
  176. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__5ba89445._.js.map → [root-of-the-server]__50b48a29._.js.map} +1 -1
  177. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__64e0f342._.js +3 -0
  178. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__0e5de3ed._.js.map → [root-of-the-server]__64e0f342._.js.map} +1 -1
  179. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__75b45b88._.js +3 -0
  180. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__75b45b88._.js.map +1 -0
  181. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__90e175f7._.js +3 -0
  182. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__23b471c0._.js.map → [root-of-the-server]__90e175f7._.js.map} +1 -1
  183. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__ab72cb3d._.js +3 -0
  184. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__f9ee1284._.js.map → [root-of-the-server]__ab72cb3d._.js.map} +1 -1
  185. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__c73c0147._.js → [root-of-the-server]__bbed00c8._.js} +2 -2
  186. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__c73c0147._.js.map → [root-of-the-server]__bbed00c8._.js.map} +1 -1
  187. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__bc51e8b7._.js +3 -0
  188. package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__016aaaae._.js.map → [root-of-the-server]__bc51e8b7._.js.map} +1 -1
  189. package/mcp-server/.next/server/chunks/ssr/[turbopack]_runtime.js +32 -7
  190. package/mcp-server/.next/server/chunks/ssr/[turbopack]_runtime.js.map +5 -5
  191. package/mcp-server/.next/server/chunks/ssr/_262bbdcd._.js +4 -0
  192. package/mcp-server/.next/server/chunks/ssr/_262bbdcd._.js.map +1 -0
  193. package/mcp-server/.next/server/chunks/ssr/{_5ba67898._.js → _9a178862._.js} +4 -4
  194. package/mcp-server/.next/server/chunks/ssr/_9a178862._.js.map +1 -0
  195. package/mcp-server/.next/server/chunks/ssr/_aabc0f14._.js +8 -0
  196. package/mcp-server/.next/server/chunks/ssr/_aabc0f14._.js.map +1 -0
  197. package/mcp-server/.next/server/chunks/ssr/_be1b41b5._.js +4 -0
  198. package/mcp-server/.next/server/chunks/ssr/_be1b41b5._.js.map +1 -0
  199. package/mcp-server/.next/server/chunks/ssr/_e92c871d._.js +4 -0
  200. package/mcp-server/.next/server/chunks/ssr/_e92c871d._.js.map +1 -0
  201. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_0d37e039._.js +3 -0
  202. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_0d37e039._.js.map +1 -0
  203. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_5f2de86d._.js +4 -0
  204. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_5f2de86d._.js.map +1 -0
  205. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_81d07c6e._.js +10 -0
  206. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_81d07c6e._.js.map +1 -0
  207. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_889a708f._.js +6 -0
  208. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_889a708f._.js.map +1 -0
  209. package/mcp-server/.next/server/chunks/ssr/{8b111_next_dist_client_components_69dfdf5e._.js → c80b1_next_dist_client_components_43abb007._.js} +2 -2
  210. package/mcp-server/.next/server/chunks/ssr/{8b111_next_dist_client_components_69dfdf5e._.js.map → c80b1_next_dist_client_components_43abb007._.js.map} +1 -1
  211. package/mcp-server/.next/server/chunks/ssr/{8b111_next_dist_client_components_builtin_forbidden_5a705cc6.js → c80b1_next_dist_client_components_builtin_forbidden_462fb25e.js} +2 -2
  212. package/mcp-server/.next/server/chunks/ssr/{8b111_next_dist_client_components_builtin_forbidden_5a705cc6.js.map → c80b1_next_dist_client_components_builtin_forbidden_462fb25e.js.map} +1 -1
  213. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_client_components_builtin_global-error_f3bf1365.js +3 -0
  214. package/mcp-server/.next/server/chunks/ssr/{8b111_next_dist_client_components_builtin_global-error_d996306b.js.map → c80b1_next_dist_client_components_builtin_global-error_f3bf1365.js.map} +1 -1
  215. package/mcp-server/.next/server/chunks/ssr/{8b111_next_dist_client_components_builtin_unauthorized_0df11997.js → c80b1_next_dist_client_components_builtin_unauthorized_9a1b3d4d.js} +2 -2
  216. package/mcp-server/.next/server/chunks/ssr/{8b111_next_dist_client_components_builtin_unauthorized_0df11997.js.map → c80b1_next_dist_client_components_builtin_unauthorized_9a1b3d4d.js.map} +1 -1
  217. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_esm_build_templates_app-page_9b0ce51c.js +4 -0
  218. package/mcp-server/.next/server/chunks/ssr/c80b1_next_dist_esm_build_templates_app-page_9b0ce51c.js.map +1 -0
  219. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_layout_tsx_afa41767._.js +1 -1
  220. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_page_tsx_9fc46577._.js +1 -1
  221. package/mcp-server/.next/server/chunks/ssr/mcp-server_components_dark-mode-toggle_tsx_f31dd15d._.js +1 -1
  222. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_98754805._.js +5 -0
  223. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_98754805._.js.map +1 -0
  224. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_b801224a._.js +3 -0
  225. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_b801224a._.js.map +1 -0
  226. package/mcp-server/.next/server/functions-config-manifest.json +1 -11
  227. package/mcp-server/.next/server/instrumentation.js +1 -1
  228. package/mcp-server/.next/server/instrumentation.js.nft.json +1 -1
  229. package/mcp-server/.next/server/middleware-build-manifest.js +5 -5
  230. package/mcp-server/.next/server/pages/404.html +1 -1
  231. package/mcp-server/.next/server/pages/500.html +2 -2
  232. package/mcp-server/.next/server/server-reference-manifest.js +1 -1
  233. package/mcp-server/.next/server/server-reference-manifest.json +1 -1
  234. package/mcp-server/.next/static/1tSGEmFktuD3B97MIF49Q/_clientMiddlewareManifest.json +1 -0
  235. package/mcp-server/.next/static/chunks/0ceacd9ff62ffa24.js +1 -0
  236. package/mcp-server/.next/static/chunks/{5171d9a831cc2de4.js → 41c5312e59752fb5.js} +1 -1
  237. package/mcp-server/.next/static/chunks/47219b9a153e0530.js +3 -0
  238. package/mcp-server/.next/static/chunks/4b70aaeeb4b78390.js +1 -0
  239. package/mcp-server/.next/static/chunks/59cdeaf92a780e96.css +1 -0
  240. package/mcp-server/.next/static/chunks/5c8ff2f81b2fec4d.js +3 -0
  241. package/mcp-server/.next/static/chunks/6bd8e9b9ad938cba.js +1 -0
  242. package/mcp-server/.next/static/chunks/{3d612a0a5e49885d.js → 86092b19e32d6ddb.js} +1 -1
  243. package/mcp-server/.next/static/chunks/a6dad97d9634a72d.js.map +1 -0
  244. package/mcp-server/.next/static/chunks/a782bd48b8755eeb.js +1 -0
  245. package/mcp-server/.next/static/chunks/{95b89db5d1d54841.js → ba2f63419c181083.js} +1 -1
  246. package/mcp-server/.next/static/chunks/f09e07f5359ffb6b.js +4 -0
  247. package/mcp-server/.next/static/chunks/f5ae99caea655ac1.js +2 -0
  248. package/mcp-server/.next/static/chunks/turbopack-2c2bdfdb92058782.js +4 -0
  249. package/mcp-server/app/api/screenshots/capture/route.ts +137 -0
  250. package/mcp-server/app/api/screenshots/clear/route.ts +44 -0
  251. package/mcp-server/app/mcp/route.ts +80 -45
  252. package/mcp-server/app/mcp/tools.ts +6 -2
  253. package/mcp-server/package.json +1 -1
  254. package/package.json +2 -2
  255. package/mcp-server/.next/server/chunks/8b111_next_1353f498._.js +0 -3
  256. package/mcp-server/.next/server/chunks/8b111_next_1353f498._.js.map +0 -1
  257. package/mcp-server/.next/server/chunks/8b111_next_70882466._.js.map +0 -1
  258. package/mcp-server/.next/server/chunks/8b111_next_dist_b45da2c0._.js +0 -6
  259. package/mcp-server/.next/server/chunks/8b111_next_dist_b45da2c0._.js.map +0 -1
  260. package/mcp-server/.next/server/chunks/8b111_next_dist_esm_build_templates_app-route_61845054.js +0 -3
  261. package/mcp-server/.next/server/chunks/8b111_next_dist_esm_build_templates_app-route_61845054.js.map +0 -1
  262. package/mcp-server/.next/server/chunks/[root-of-the-server]__11cde0db._.js +0 -3
  263. package/mcp-server/.next/server/chunks/[root-of-the-server]__11cde0db._.js.map +0 -1
  264. package/mcp-server/.next/server/chunks/[root-of-the-server]__3ac957e6._.js +0 -3
  265. package/mcp-server/.next/server/chunks/[root-of-the-server]__45cf400e._.js +0 -7
  266. package/mcp-server/.next/server/chunks/[root-of-the-server]__45cf400e._.js.map +0 -1
  267. package/mcp-server/.next/server/chunks/[root-of-the-server]__5e1331cc._.js +0 -3
  268. package/mcp-server/.next/server/chunks/[root-of-the-server]__5e1331cc._.js.map +0 -1
  269. package/mcp-server/.next/server/chunks/[root-of-the-server]__7a6a57a4._.js +0 -3
  270. package/mcp-server/.next/server/chunks/[root-of-the-server]__7a6a57a4._.js.map +0 -1
  271. package/mcp-server/.next/server/chunks/[root-of-the-server]__8173a02b._.js +0 -3
  272. package/mcp-server/.next/server/chunks/[root-of-the-server]__8173a02b._.js.map +0 -1
  273. package/mcp-server/.next/server/chunks/[root-of-the-server]__880af90b._.js.map +0 -1
  274. package/mcp-server/.next/server/chunks/[root-of-the-server]__92444e87._.js +0 -3
  275. package/mcp-server/.next/server/chunks/[root-of-the-server]__92444e87._.js.map +0 -1
  276. package/mcp-server/.next/server/chunks/[root-of-the-server]__97925d45._.js +0 -3
  277. package/mcp-server/.next/server/chunks/[root-of-the-server]__97925d45._.js.map +0 -1
  278. package/mcp-server/.next/server/chunks/[root-of-the-server]__9a45c8f9._.js +0 -3
  279. package/mcp-server/.next/server/chunks/[root-of-the-server]__9be3321c._.js +0 -4
  280. package/mcp-server/.next/server/chunks/[root-of-the-server]__9be3321c._.js.map +0 -1
  281. package/mcp-server/.next/server/chunks/[root-of-the-server]__ae49815f._.js +0 -217
  282. package/mcp-server/.next/server/chunks/[root-of-the-server]__ae49815f._.js.map +0 -1
  283. package/mcp-server/.next/server/chunks/[root-of-the-server]__d4d47e5f._.js +0 -28
  284. package/mcp-server/.next/server/chunks/[root-of-the-server]__d4d47e5f._.js.map +0 -1
  285. package/mcp-server/.next/server/chunks/[root-of-the-server]__e1a64519._.js +0 -3
  286. package/mcp-server/.next/server/chunks/[root-of-the-server]__f2de2bac._.js +0 -3
  287. package/mcp-server/.next/server/chunks/[root-of-the-server]__f2de2bac._.js.map +0 -1
  288. package/mcp-server/.next/server/chunks/[root-of-the-server]__f449fffa._.js +0 -11
  289. package/mcp-server/.next/server/chunks/[root-of-the-server]__f449fffa._.js.map +0 -1
  290. package/mcp-server/.next/server/chunks/[root-of-the-server]__f9975293._.js +0 -3
  291. package/mcp-server/.next/server/chunks/[root-of-the-server]__f9975293._.js.map +0 -1
  292. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_2d5fda8a._.js +0 -6
  293. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_2d5fda8a._.js.map +0 -1
  294. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_416feb3b._.js +0 -6
  295. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_416feb3b._.js.map +0 -1
  296. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_a0631e8f._.js +0 -3
  297. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_a0631e8f._.js.map +0 -1
  298. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_bc5bff92._.js +0 -4
  299. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_bc5bff92._.js.map +0 -1
  300. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_builtin_global-error_d996306b.js +0 -3
  301. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_esm_build_templates_app-page_4117d230.js +0 -4
  302. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_esm_build_templates_app-page_4117d230.js.map +0 -1
  303. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__016aaaae._.js +0 -3
  304. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__0aa14b12._.js +0 -3
  305. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__0e5de3ed._.js +0 -3
  306. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__23b471c0._.js +0 -3
  307. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__ad363fb6._.js +0 -3
  308. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__baf72617._.js +0 -3
  309. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__bf7cd8c6._.js +0 -3
  310. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__d9257d07._.js +0 -3
  311. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__f9ee1284._.js +0 -3
  312. package/mcp-server/.next/server/chunks/ssr/_2eb35278._.js +0 -4
  313. package/mcp-server/.next/server/chunks/ssr/_2eb35278._.js.map +0 -1
  314. package/mcp-server/.next/server/chunks/ssr/_3b1c49b6._.js +0 -4
  315. package/mcp-server/.next/server/chunks/ssr/_3b1c49b6._.js.map +0 -1
  316. package/mcp-server/.next/server/chunks/ssr/_5ba67898._.js.map +0 -1
  317. package/mcp-server/.next/server/chunks/ssr/_af685f91._.js +0 -8
  318. package/mcp-server/.next/server/chunks/ssr/_af685f91._.js.map +0 -1
  319. package/mcp-server/.next/server/chunks/ssr/_ba028667._.js +0 -4
  320. package/mcp-server/.next/server/chunks/ssr/_ba028667._.js.map +0 -1
  321. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_3bd414fc._.js +0 -5
  322. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_3bd414fc._.js.map +0 -1
  323. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_9d64b6f5._.js +0 -3
  324. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_9d64b6f5._.js.map +0 -1
  325. package/mcp-server/.next/server/middleware.js +0 -5
  326. package/mcp-server/.next/server/middleware.js.nft.json +0 -1
  327. package/mcp-server/.next/static/chunks/37739dbbbff41860.js +0 -2
  328. package/mcp-server/.next/static/chunks/45ba9786ab8c2e44.js +0 -1
  329. package/mcp-server/.next/static/chunks/9af9038936981171.js +0 -3
  330. package/mcp-server/.next/static/chunks/9d9ea52745b7cee8.css +0 -1
  331. package/mcp-server/.next/static/chunks/a3771e169e1ff356.js +0 -1
  332. package/mcp-server/.next/static/chunks/a92901311ade94f3.js +0 -4
  333. package/mcp-server/.next/static/chunks/b3811fb9af254076.js +0 -1
  334. package/mcp-server/.next/static/chunks/eb96b27d3b73ef3b.js +0 -3
  335. package/mcp-server/.next/static/chunks/f9a2399752a0a1fa.js +0 -1
  336. package/mcp-server/.next/static/chunks/turbopack-39686e05867003be.js +0 -3
  337. package/mcp-server/.next/static/lSzvvkjD4ab_1CtchfQYo/_clientMiddlewareManifest.json +0 -6
  338. /package/mcp-server/.next/build/chunks/{[turbopack-node]_transforms_postcss_ts_80bff36f._.js → [turbopack-node]_transforms_postcss_ts_7988927e._.js} +0 -0
  339. /package/mcp-server/.next/build/chunks/{[turbopack-node]_transforms_postcss_ts_80bff36f._.js.map → [turbopack-node]_transforms_postcss_ts_7988927e._.js.map} +0 -0
  340. /package/mcp-server/.next/build/chunks/{[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js → [turbopack-node]_transforms_webpack-loaders_ts_1efa112f._.js} +0 -0
  341. /package/mcp-server/.next/build/chunks/{[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js.map → [turbopack-node]_transforms_webpack-loaders_ts_1efa112f._.js.map} +0 -0
  342. /package/mcp-server/.next/server/chunks/{[root-of-the-server]__2a398dc7._.js.map → 250ae__next-internal_server_app_api_screenshots_capture_route_actions_4034f26c.js.map} +0 -0
  343. /package/mcp-server/.next/server/chunks/{[root-of-the-server]__3ac957e6._.js.map → 250ae__next-internal_server_app_api_screenshots_clear_route_actions_e26206f4.js.map} +0 -0
  344. /package/mcp-server/.next/server/chunks/{[root-of-the-server]__72f849fd._.js.map → [externals]__eb460e97._.js.map} +0 -0
  345. /package/mcp-server/.next/server/chunks/{[root-of-the-server]__86eb7852._.js.map → [externals]_next_dist_2a398dc7._.js.map} +0 -0
  346. /package/mcp-server/.next/server/chunks/{ssr/[root-of-the-server]__bf7cd8c6._.js.map → [root-of-the-server]__532c5da6._.js.map} +0 -0
  347. /package/mcp-server/.next/server/chunks/{mcp-server_50ca1d40._.js.map → mcp-server_70405c2f._.js.map} +0 -0
  348. /package/mcp-server/.next/static/{lSzvvkjD4ab_1CtchfQYo → 1tSGEmFktuD3B97MIF49Q}/_buildManifest.js +0 -0
  349. /package/mcp-server/.next/static/{lSzvvkjD4ab_1CtchfQYo → 1tSGEmFktuD3B97MIF49Q}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/dist/esm/build/templates/app-page.js%3Fpage%3D/logs/page"],"sourcesContent":["const __TURBOPACK__layout__$23$0__ = () => require(\"MODULE_0\");\n\nconst __TURBOPACK__not$2d$found__$23$1__ = () => require(\"MODULE_1\");\n\nconst __TURBOPACK__forbidden__$23$2__ = () => require(\"MODULE_2\");\n\nconst __TURBOPACK__unauthorized__$23$3__ = () => require(\"MODULE_3\");\n\nconst __TURBOPACK__global$2d$error__$23$4__ = () => require(\"MODULE_4\");\n\nconst __TURBOPACK__page__$23$5__ = () => require(\"MODULE_5\");\n\nimport { AppPageRouteModule } from \"next/dist/esm/server/route-modules/app-page/module.compiled\" with {\n 'turbopack-transition': 'next-ssr'\n};\nimport { RouteKind } from \"next/dist/esm/server/route-kind\" with {\n 'turbopack-transition': 'next-server-utility'\n};\nimport { getRevalidateReason } from \"next/dist/esm/server/instrumentation/utils\";\nimport { getTracer, SpanKind } from \"next/dist/esm/server/lib/trace/tracer\";\nimport { addRequestMeta, getRequestMeta } from \"next/dist/esm/server/request-meta\";\nimport { BaseServerSpan } from \"next/dist/esm/server/lib/trace/constants\";\nimport { interopDefault } from \"next/dist/esm/server/app-render/interop-default\";\nimport { stripFlightHeaders } from \"next/dist/esm/server/app-render/strip-flight-headers\";\nimport { NodeNextRequest, NodeNextResponse } from \"next/dist/esm/server/base-http/node\";\nimport { checkIsAppPPREnabled } from \"next/dist/esm/server/lib/experimental/ppr\";\nimport { getFallbackRouteParams, createOpaqueFallbackRouteParams } from \"next/dist/esm/server/request/fallback-params\";\nimport { setReferenceManifestsSingleton } from \"next/dist/esm/server/app-render/encryption-utils\";\nimport { isHtmlBotRequest, shouldServeStreamingMetadata } from \"next/dist/esm/server/lib/streaming-metadata\";\nimport { createServerModuleMap } from \"next/dist/esm/server/app-render/action-utils\";\nimport { normalizeAppPath } from \"next/dist/esm/shared/lib/router/utils/app-paths\";\nimport { getIsPossibleServerAction } from \"next/dist/esm/server/lib/server-action-request-meta\";\nimport { RSC_HEADER, NEXT_ROUTER_PREFETCH_HEADER, NEXT_IS_PRERENDER_HEADER, NEXT_DID_POSTPONE_HEADER, RSC_CONTENT_TYPE_HEADER } from \"next/dist/esm/client/components/app-router-headers\";\nimport { getBotType, isBot } from \"next/dist/esm/shared/lib/router/utils/is-bot\";\nimport { CachedRouteKind, IncrementalCacheKind } from \"next/dist/esm/server/response-cache\";\nimport { FallbackMode, parseFallbackField } from \"next/dist/esm/lib/fallback\";\nimport RenderResult from \"next/dist/esm/server/render-result\";\nimport { CACHE_ONE_YEAR, HTML_CONTENT_TYPE_HEADER, NEXT_CACHE_TAGS_HEADER } from \"next/dist/esm/lib/constants\";\nimport { ENCODED_TAGS } from \"next/dist/esm/server/stream-utils/encoded-tags\";\nimport { sendRenderResult } from \"next/dist/esm/server/send-payload\";\nimport { NoFallbackError } from \"next/dist/esm/shared/lib/no-fallback-error.external\";\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = [\"\", {\n\"children\": [\"logs\", {\n\"children\": [\"__PAGE__\", {\n}, {\n metadata: { }, \"page\": [__TURBOPACK__page__$23$5__, \"[project]/mcp-server/app/logs/page.tsx\"],\n}],\n}, {\n metadata: { },}],\n}, {\n \"layout\": [__TURBOPACK__layout__$23$0__, \"[project]/mcp-server/app/layout.tsx\"],\n \"not-found\": [__TURBOPACK__not$2d$found__$23$1__, \"[project]/node_modules/.pnpm/next@16.0.7_@opentelemetry+api@1.9.0_babel-plugin-react-compiler@1.0.0_react-dom@19.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/dist/client/components/builtin/not-found.js\"],\n \"forbidden\": [__TURBOPACK__forbidden__$23$2__, \"[project]/node_modules/.pnpm/next@16.0.7_@opentelemetry+api@1.9.0_babel-plugin-react-compiler@1.0.0_react-dom@19.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/dist/client/components/builtin/forbidden.js\"],\n \"unauthorized\": [__TURBOPACK__unauthorized__$23$3__, \"[project]/node_modules/.pnpm/next@16.0.7_@opentelemetry+api@1.9.0_babel-plugin-react-compiler@1.0.0_react-dom@19.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/dist/client/components/builtin/unauthorized.js\"],\n \"global-error\": [__TURBOPACK__global$2d$error__$23$4__, \"[project]/node_modules/.pnpm/next@16.0.7_@opentelemetry+api@1.9.0_babel-plugin-react-compiler@1.0.0_react-dom@19.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/dist/client/components/builtin/global-error.js\"],\n}]\nimport GlobalError from \"GLOBAL_ERROR_MODULE\" with {\n 'turbopack-transition': 'next-server-utility'\n};\nexport { GlobalError };\nconst __next_app_require__ = __turbopack_context__.r.bind(__turbopack_context__)\nconst __next_app_load_chunk__ = __turbopack_context__.l.bind(__turbopack_context__)\nexport const __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\nimport * as entryBase from \"next/dist/esm/server/app-render/entry-base\" with {\n 'turbopack-transition': 'next-server-utility'\n};\nimport { RedirectStatusCode } from \"next/dist/esm/client/components/redirect-status-code\";\nimport { InvariantError } from \"next/dist/esm/shared/lib/invariant-error\";\nimport { scheduleOnNextTick } from \"next/dist/esm/lib/scheduler\";\nimport { isInterceptionRouteAppPath } from \"next/dist/esm/shared/lib/router/utils/interception-routes\";\nexport * from \"next/dist/esm/server/app-render/entry-base\" with {\n 'turbopack-transition': 'next-server-utility'\n};\n// Create and export the route module that will be consumed.\nexport const routeModule = new AppPageRouteModule({\n definition: {\n kind: RouteKind.APP_PAGE,\n page: \"/logs/page\",\n pathname: \"/logs\",\n // The following aren't used in production.\n bundlePath: '',\n filename: '',\n appPaths: []\n },\n userland: {\n loaderTree: tree\n },\n distDir: process.env.__NEXT_RELATIVE_DIST_DIR || '',\n relativeProjectDir: process.env.__NEXT_RELATIVE_PROJECT_DIR || ''\n});\nexport async function handler(req, res, ctx) {\n var _this;\n if (routeModule.isDev) {\n addRequestMeta(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());\n }\n let srcPage = \"/logs/page\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (process.env.TURBOPACK) {\n srcPage = srcPage.replace(/\\/index$/, '') || '/';\n } else if (srcPage === '/index') {\n // we always normalize /index specifically\n srcPage = '/';\n }\n const multiZoneDraftMode = process.env.__NEXT_MULTI_ZONE_DRAFT_MODE;\n const isMinimalMode = Boolean(process.env.MINIMAL_MODE || getRequestMeta(req, 'minimalMode'));\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage,\n multiZoneDraftMode\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return null;\n }\n const { buildId, query, params, pageIsDynamic, buildManifest, nextFontManifest, reactLoadableManifest, serverActionsManifest, clientReferenceManifest, subresourceIntegrityManifest, prerenderManifest, isDraftMode, resolvedPathname, revalidateOnlyGenerated, routerServerContext, nextConfig, parsedUrl, interceptionRoutePatterns } = prepareResult;\n const normalizedSrcPage = normalizeAppPath(srcPage);\n let { isOnDemandRevalidate } = prepareResult;\n // We use the resolvedPathname instead of the parsedUrl.pathname because it\n // is not rewritten as resolvedPathname is. This will ensure that the correct\n // prerender info is used instead of using the original pathname as the\n // source. If however PPR is enabled and cacheComponents is disabled, we\n // treat the pathname as dynamic. Currently, there's a bug in the PPR\n // implementation that incorrectly leaves %%drp placeholders in the output of\n // parallel routes. This is addressed with cacheComponents.\n const prerenderInfo = nextConfig.experimental.ppr && !nextConfig.cacheComponents && isInterceptionRouteAppPath(resolvedPathname) ? null : routeModule.match(resolvedPathname, prerenderManifest);\n const isPrerendered = !!prerenderManifest.routes[resolvedPathname];\n const userAgent = req.headers['user-agent'] || '';\n const botType = getBotType(userAgent);\n const isHtmlBot = isHtmlBotRequest(req);\n /**\n * If true, this indicates that the request being made is for an app\n * prefetch request.\n */ const isPrefetchRSCRequest = getRequestMeta(req, 'isPrefetchRSCRequest') ?? req.headers[NEXT_ROUTER_PREFETCH_HEADER] === '1' // exclude runtime prefetches, which use '2'\n ;\n // NOTE: Don't delete headers[RSC] yet, it still needs to be used in renderToHTML later\n const isRSCRequest = getRequestMeta(req, 'isRSCRequest') ?? Boolean(req.headers[RSC_HEADER]);\n const isPossibleServerAction = getIsPossibleServerAction(req);\n /**\n * If the route being rendered is an app page, and the ppr feature has been\n * enabled, then the given route _could_ support PPR.\n */ const couldSupportPPR = checkIsAppPPREnabled(nextConfig.experimental.ppr);\n // When enabled, this will allow the use of the `?__nextppronly` query to\n // enable debugging of the static shell.\n const hasDebugStaticShellQuery = process.env.__NEXT_EXPERIMENTAL_STATIC_SHELL_DEBUGGING === '1' && typeof query.__nextppronly !== 'undefined' && couldSupportPPR;\n // When enabled, this will allow the use of the `?__nextppronly` query\n // to enable debugging of the fallback shell.\n const hasDebugFallbackShellQuery = hasDebugStaticShellQuery && query.__nextppronly === 'fallback';\n // This page supports PPR if it is marked as being `PARTIALLY_STATIC` in the\n // prerender manifest and this is an app page.\n const isRoutePPREnabled = couldSupportPPR && (((_this = prerenderManifest.routes[normalizedSrcPage] ?? prerenderManifest.dynamicRoutes[normalizedSrcPage]) == null ? void 0 : _this.renderingMode) === 'PARTIALLY_STATIC' || // Ideally we'd want to check the appConfig to see if this page has PPR\n // enabled or not, but that would require plumbing the appConfig through\n // to the server during development. We assume that the page supports it\n // but only during development.\n hasDebugStaticShellQuery && (routeModule.isDev === true || (routerServerContext == null ? void 0 : routerServerContext.experimentalTestProxy) === true));\n const isDebugStaticShell = hasDebugStaticShellQuery && isRoutePPREnabled;\n // We should enable debugging dynamic accesses when the static shell\n // debugging has been enabled and we're also in development mode.\n const isDebugDynamicAccesses = isDebugStaticShell && routeModule.isDev === true;\n const isDebugFallbackShell = hasDebugFallbackShellQuery && isRoutePPREnabled;\n // If we're in minimal mode, then try to get the postponed information from\n // the request metadata. If available, use it for resuming the postponed\n // render.\n const minimalPostponed = isRoutePPREnabled ? getRequestMeta(req, 'postponed') : undefined;\n // If PPR is enabled, and this is a RSC request (but not a prefetch), then\n // we can use this fact to only generate the flight data for the request\n // because we can't cache the HTML (as it's also dynamic).\n let isDynamicRSCRequest = isRoutePPREnabled && isRSCRequest && !isPrefetchRSCRequest;\n // During a PPR revalidation, the RSC request is not dynamic if we do not have the postponed data.\n // We only attach the postponed data during a resume. If there's no postponed data, then it must be a revalidation.\n // This is to ensure that we don't bypass the cache during a revalidation.\n if (isMinimalMode) {\n isDynamicRSCRequest = isDynamicRSCRequest && !!minimalPostponed;\n }\n // Need to read this before it's stripped by stripFlightHeaders. We don't\n // need to transfer it to the request meta because it's only read\n // within this function; the static segment data should have already been\n // generated, so we will always either return a static response or a 404.\n const segmentPrefetchHeader = getRequestMeta(req, 'segmentPrefetchRSCRequest');\n // TODO: investigate existing bug with shouldServeStreamingMetadata always\n // being true for a revalidate due to modifying the base-server this.renderOpts\n // when fixing this to correct logic it causes hydration issue since we set\n // serveStreamingMetadata to true during export\n const serveStreamingMetadata = isHtmlBot && isRoutePPREnabled ? false : !userAgent ? true : shouldServeStreamingMetadata(userAgent, nextConfig.htmlLimitedBots);\n const isSSG = Boolean((prerenderInfo || isPrerendered || prerenderManifest.routes[normalizedSrcPage]) && // If this is a html bot request and PPR is enabled, then we don't want\n // to serve a static response.\n !(isHtmlBot && isRoutePPREnabled));\n // When a page supports cacheComponents, we can support RDC for Navigations\n const supportsRDCForNavigations = isRoutePPREnabled && nextConfig.cacheComponents === true;\n // In development, we always want to generate dynamic HTML.\n const supportsDynamicResponse = // If we're in development, we always support dynamic HTML, unless it's\n // a data request, in which case we only produce static HTML.\n routeModule.isDev === true || // If this is not SSG or does not have static paths, then it supports\n // dynamic HTML.\n !isSSG || // If this request has provided postponed data, it supports dynamic\n // HTML.\n typeof minimalPostponed === 'string' || // If this handler supports onCacheEntryV2, then we can only support\n // dynamic responses if it's a dynamic RSC request and not in minimal mode. If it\n // doesn't support it we must fallback to the default behavior.\n (supportsRDCForNavigations && getRequestMeta(req, 'onCacheEntryV2') ? // which will generate the RDC for the route. When resuming a Dynamic\n // RSC request, we'll pass the minimal postponed data to the render\n // which will trigger the `supportsDynamicResponse` to be true.\n isDynamicRSCRequest && !isMinimalMode : isDynamicRSCRequest);\n // When html bots request PPR page, perform the full dynamic rendering.\n const shouldWaitOnAllReady = isHtmlBot && isRoutePPREnabled;\n let ssgCacheKey = null;\n if (!isDraftMode && isSSG && !supportsDynamicResponse && !isPossibleServerAction && !minimalPostponed && !isDynamicRSCRequest) {\n ssgCacheKey = resolvedPathname;\n }\n // the staticPathKey differs from ssgCacheKey since\n // ssgCacheKey is null in dev since we're always in \"dynamic\"\n // mode in dev to bypass the cache, but we still need to honor\n // dynamicParams = false in dev mode\n let staticPathKey = ssgCacheKey;\n if (!staticPathKey && routeModule.isDev) {\n staticPathKey = resolvedPathname;\n }\n // If this is a request for an app path that should be statically generated\n // and we aren't in the edge runtime, strip the flight headers so it will\n // generate the static response.\n if (!routeModule.isDev && !isDraftMode && isSSG && isRSCRequest && !isDynamicRSCRequest) {\n stripFlightHeaders(req.headers);\n }\n const ComponentMod = {\n ...entryBase,\n tree,\n GlobalError,\n handler,\n routeModule,\n __next_app__\n };\n // Before rendering (which initializes component tree modules), we have to\n // set the reference manifests to our global store so Server Action's\n // encryption util can access to them at the top level of the page module.\n if (serverActionsManifest && clientReferenceManifest) {\n setReferenceManifestsSingleton({\n page: srcPage,\n clientReferenceManifest,\n serverActionsManifest,\n serverModuleMap: createServerModuleMap({\n serverActionsManifest\n })\n });\n }\n const method = req.method || 'GET';\n const tracer = getTracer();\n const activeSpan = tracer.getActiveScopeSpan();\n const render404 = async ()=>{\n // TODO: should route-module itself handle rendering the 404\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res, parsedUrl, false);\n } else {\n res.end('This page could not be found');\n }\n return null;\n };\n try {\n const varyHeader = routeModule.getVaryHeader(resolvedPathname, interceptionRoutePatterns);\n res.setHeader('Vary', varyHeader);\n const invokeRouteModule = async (span, context)=>{\n const nextReq = new NodeNextRequest(req);\n const nextRes = new NodeNextResponse(res);\n return routeModule.render(nextReq, nextRes, context).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${srcPage}`);\n }\n });\n };\n const incrementalCache = getRequestMeta(req, 'incrementalCache');\n const doRender = async ({ span, postponed, fallbackRouteParams, forceStaticRender })=>{\n const context = {\n query,\n params,\n page: normalizedSrcPage,\n sharedContext: {\n buildId\n },\n serverComponentsHmrCache: getRequestMeta(req, 'serverComponentsHmrCache'),\n fallbackRouteParams,\n renderOpts: {\n App: ()=>null,\n Document: ()=>null,\n pageConfig: {},\n ComponentMod,\n Component: interopDefault(ComponentMod),\n params,\n routeModule,\n page: srcPage,\n postponed,\n shouldWaitOnAllReady,\n serveStreamingMetadata,\n supportsDynamicResponse: typeof postponed === 'string' || supportsDynamicResponse,\n buildManifest,\n nextFontManifest,\n reactLoadableManifest,\n subresourceIntegrityManifest,\n serverActionsManifest,\n clientReferenceManifest,\n setCacheStatus: routerServerContext == null ? void 0 : routerServerContext.setCacheStatus,\n setIsrStatus: routerServerContext == null ? void 0 : routerServerContext.setIsrStatus,\n setReactDebugChannel: routerServerContext == null ? void 0 : routerServerContext.setReactDebugChannel,\n dir: process.env.NEXT_RUNTIME === 'nodejs' ? require('path').join(/* turbopackIgnore: true */ process.cwd(), routeModule.relativeProjectDir) : `${process.cwd()}/${routeModule.relativeProjectDir}`,\n isDraftMode,\n botType,\n isOnDemandRevalidate,\n isPossibleServerAction,\n assetPrefix: nextConfig.assetPrefix,\n nextConfigOutput: nextConfig.output,\n crossOrigin: nextConfig.crossOrigin,\n trailingSlash: nextConfig.trailingSlash,\n images: nextConfig.images,\n previewProps: prerenderManifest.preview,\n deploymentId: nextConfig.deploymentId,\n enableTainting: nextConfig.experimental.taint,\n htmlLimitedBots: nextConfig.htmlLimitedBots,\n reactMaxHeadersLength: nextConfig.reactMaxHeadersLength,\n multiZoneDraftMode,\n incrementalCache,\n cacheLifeProfiles: nextConfig.cacheLife,\n basePath: nextConfig.basePath,\n serverActions: nextConfig.experimental.serverActions,\n ...isDebugStaticShell || isDebugDynamicAccesses || isDebugFallbackShell ? {\n nextExport: true,\n supportsDynamicResponse: false,\n isStaticGeneration: true,\n isDebugDynamicAccesses: isDebugDynamicAccesses\n } : {},\n cacheComponents: Boolean(nextConfig.cacheComponents),\n experimental: {\n isRoutePPREnabled,\n expireTime: nextConfig.expireTime,\n staleTimes: nextConfig.experimental.staleTimes,\n dynamicOnHover: Boolean(nextConfig.experimental.dynamicOnHover),\n inlineCss: Boolean(nextConfig.experimental.inlineCss),\n authInterrupts: Boolean(nextConfig.experimental.authInterrupts),\n clientTraceMetadata: nextConfig.experimental.clientTraceMetadata || [],\n clientParamParsingOrigins: nextConfig.experimental.clientParamParsingOrigins\n },\n waitUntil: ctx.waitUntil,\n onClose: (cb)=>{\n res.on('close', cb);\n },\n onAfterTaskError: ()=>{},\n onInstrumentationRequestError: (error, _request, errorContext)=>routeModule.onRequestError(req, error, errorContext, routerServerContext),\n err: getRequestMeta(req, 'invokeError'),\n dev: routeModule.isDev\n }\n };\n if (isDebugStaticShell || isDebugDynamicAccesses) {\n context.renderOpts.nextExport = true;\n context.renderOpts.supportsDynamicResponse = false;\n context.renderOpts.isDebugDynamicAccesses = isDebugDynamicAccesses;\n }\n // When we're revalidating in the background, we should not allow dynamic\n // responses.\n if (forceStaticRender) {\n context.renderOpts.supportsDynamicResponse = false;\n }\n const result = await invokeRouteModule(span, context);\n const { metadata } = result;\n const { cacheControl, headers = {}, // Add any fetch tags that were on the page to the response headers.\n fetchTags: cacheTags, fetchMetrics } = metadata;\n if (cacheTags) {\n headers[NEXT_CACHE_TAGS_HEADER] = cacheTags;\n }\n // Pull any fetch metrics from the render onto the request.\n ;\n req.fetchMetrics = fetchMetrics;\n // we don't throw static to dynamic errors in dev as isSSG\n // is a best guess in dev since we don't have the prerender pass\n // to know whether the path is actually static or not\n if (isSSG && (cacheControl == null ? void 0 : cacheControl.revalidate) === 0 && !routeModule.isDev && !isRoutePPREnabled) {\n const staticBailoutInfo = metadata.staticBailoutInfo;\n const err = Object.defineProperty(new Error(`Page changed from static to dynamic at runtime ${resolvedPathname}${(staticBailoutInfo == null ? void 0 : staticBailoutInfo.description) ? `, reason: ${staticBailoutInfo.description}` : ``}` + `\\nsee more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`), \"__NEXT_ERROR_CODE\", {\n value: \"E132\",\n enumerable: false,\n configurable: true\n });\n if (staticBailoutInfo == null ? void 0 : staticBailoutInfo.stack) {\n const stack = staticBailoutInfo.stack;\n err.stack = err.message + stack.substring(stack.indexOf('\\n'));\n }\n throw err;\n }\n return {\n value: {\n kind: CachedRouteKind.APP_PAGE,\n html: result,\n headers,\n rscData: metadata.flightData,\n postponed: metadata.postponed,\n status: metadata.statusCode,\n segmentData: metadata.segmentData\n },\n cacheControl\n };\n };\n const responseGenerator = async ({ hasResolved, previousCacheEntry: previousIncrementalCacheEntry, isRevalidating, span, forceStaticRender = false })=>{\n const isProduction = routeModule.isDev === false;\n const didRespond = hasResolved || res.writableEnded;\n // skip on-demand revalidate if cache is not present and\n // revalidate-if-generated is set\n if (isOnDemandRevalidate && revalidateOnlyGenerated && !previousIncrementalCacheEntry && !isMinimalMode) {\n if (routerServerContext == null ? void 0 : routerServerContext.render404) {\n await routerServerContext.render404(req, res);\n } else {\n res.statusCode = 404;\n res.end('This page could not be found');\n }\n return null;\n }\n let fallbackMode;\n if (prerenderInfo) {\n fallbackMode = parseFallbackField(prerenderInfo.fallback);\n }\n // When serving a HTML bot request, we want to serve a blocking render and\n // not the prerendered page. This ensures that the correct content is served\n // to the bot in the head.\n if (fallbackMode === FallbackMode.PRERENDER && isBot(userAgent)) {\n if (!isRoutePPREnabled || isHtmlBot) {\n fallbackMode = FallbackMode.BLOCKING_STATIC_RENDER;\n }\n }\n if ((previousIncrementalCacheEntry == null ? void 0 : previousIncrementalCacheEntry.isStale) === -1) {\n isOnDemandRevalidate = true;\n }\n // TODO: adapt for PPR\n // only allow on-demand revalidate for fallback: true/blocking\n // or for prerendered fallback: false paths\n if (isOnDemandRevalidate && (fallbackMode !== FallbackMode.NOT_FOUND || previousIncrementalCacheEntry)) {\n fallbackMode = FallbackMode.BLOCKING_STATIC_RENDER;\n }\n if (!isMinimalMode && fallbackMode !== FallbackMode.BLOCKING_STATIC_RENDER && staticPathKey && !didRespond && !isDraftMode && pageIsDynamic && (isProduction || !isPrerendered)) {\n // if the page has dynamicParams: false and this pathname wasn't\n // prerendered trigger the no fallback handling\n if (// In development, fall through to render to handle missing\n // getStaticPaths.\n (isProduction || prerenderInfo) && // When fallback isn't present, abort this render so we 404\n fallbackMode === FallbackMode.NOT_FOUND) {\n if (nextConfig.experimental.adapterPath) {\n return await render404();\n }\n throw new NoFallbackError();\n }\n // When cacheComponents is enabled, we can use the fallback\n // response if the request is not a dynamic RSC request because the\n // RSC data when this feature flag is enabled does not contain any\n // param references. Without this feature flag enabled, the RSC data\n // contains param references, and therefore we can't use the fallback.\n if (isRoutePPREnabled && (nextConfig.cacheComponents ? !isDynamicRSCRequest : !isRSCRequest)) {\n const cacheKey = isProduction && typeof (prerenderInfo == null ? void 0 : prerenderInfo.fallback) === 'string' ? prerenderInfo.fallback : normalizedSrcPage;\n const fallbackRouteParams = // If we're in production and we have fallback route params, then we\n // can use the manifest fallback route params.\n isProduction && (prerenderInfo == null ? void 0 : prerenderInfo.fallbackRouteParams) ? createOpaqueFallbackRouteParams(prerenderInfo.fallbackRouteParams) : // have to manually generate the fallback route params.\n isDebugFallbackShell ? getFallbackRouteParams(normalizedSrcPage, routeModule) : null;\n // We use the response cache here to handle the revalidation and\n // management of the fallback shell.\n const fallbackResponse = await routeModule.handleResponse({\n cacheKey,\n req,\n nextConfig,\n routeKind: RouteKind.APP_PAGE,\n isFallback: true,\n prerenderManifest,\n isRoutePPREnabled,\n responseGenerator: async ()=>doRender({\n span,\n // We pass `undefined` as rendering a fallback isn't resumed\n // here.\n postponed: undefined,\n fallbackRouteParams,\n forceStaticRender: false\n }),\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n // If the fallback response was set to null, then we should return null.\n if (fallbackResponse === null) return null;\n // Otherwise, if we did get a fallback response, we should return it.\n if (fallbackResponse) {\n // Remove the cache control from the response to prevent it from being\n // used in the surrounding cache.\n delete fallbackResponse.cacheControl;\n return fallbackResponse;\n }\n }\n }\n // Only requests that aren't revalidating can be resumed. If we have the\n // minimal postponed data, then we should resume the render with it.\n let postponed = !isOnDemandRevalidate && !isRevalidating && minimalPostponed ? minimalPostponed : undefined;\n // If this is a dynamic RSC request, we should use the postponed data from\n // the static render (if available). This ensures that we can utilize the\n // resume data cache (RDC) from the static render to ensure that the data\n // is consistent between the static and dynamic renders.\n if (// Only enable RDC for Navigations if the feature is enabled.\n supportsRDCForNavigations && process.env.NEXT_RUNTIME !== 'edge' && !isMinimalMode && incrementalCache && isDynamicRSCRequest && // We don't typically trigger an on-demand revalidation for dynamic RSC\n // requests, as we're typically revalidating the page in the background\n // instead. However, if the cache entry is stale, we should trigger a\n // background revalidation on dynamic RSC requests. This prevents us\n // from entering an infinite loop of revalidations.\n !forceStaticRender) {\n const incrementalCacheEntry = await incrementalCache.get(resolvedPathname, {\n kind: IncrementalCacheKind.APP_PAGE,\n isRoutePPREnabled: true,\n isFallback: false\n });\n // If the cache entry is found, we should use the postponed data from\n // the cache.\n if (incrementalCacheEntry && incrementalCacheEntry.value && incrementalCacheEntry.value.kind === CachedRouteKind.APP_PAGE) {\n // CRITICAL: we're assigning the postponed data from the cache entry\n // here as we're using the RDC to resume the render.\n postponed = incrementalCacheEntry.value.postponed;\n // If the cache entry is stale, we should trigger a background\n // revalidation so that subsequent requests will get a fresh response.\n if (incrementalCacheEntry && // We want to trigger this flow if the cache entry is stale and if\n // the requested revalidation flow is either foreground or\n // background.\n (incrementalCacheEntry.isStale === -1 || incrementalCacheEntry.isStale === true)) {\n // We want to schedule this on the next tick to ensure that the\n // render is not blocked on it.\n scheduleOnNextTick(async ()=>{\n const responseCache = routeModule.getResponseCache(req);\n try {\n await responseCache.revalidate(resolvedPathname, incrementalCache, isRoutePPREnabled, false, (c)=>responseGenerator({\n ...c,\n // CRITICAL: we need to set this to true as we're\n // revalidating in the background and typically this dynamic\n // RSC request is not treated as static.\n forceStaticRender: true\n }), // CRITICAL: we need to pass null here because passing the\n // previous cache entry here (which is stale) will switch on\n // isOnDemandRevalidate and break the prerendering.\n null, hasResolved, ctx.waitUntil);\n } catch (err) {\n console.error('Error revalidating the page in the background', err);\n }\n });\n }\n }\n }\n // When we're in minimal mode, if we're trying to debug the static shell,\n // we should just return nothing instead of resuming the dynamic render.\n if ((isDebugStaticShell || isDebugDynamicAccesses) && typeof postponed !== 'undefined') {\n return {\n cacheControl: {\n revalidate: 1,\n expire: undefined\n },\n value: {\n kind: CachedRouteKind.PAGES,\n html: RenderResult.EMPTY,\n pageData: {},\n headers: undefined,\n status: undefined\n }\n };\n }\n const fallbackRouteParams = // If we're in production and we have fallback route params, then we\n // can use the manifest fallback route params if we need to render the\n // fallback shell.\n isProduction && (prerenderInfo == null ? void 0 : prerenderInfo.fallbackRouteParams) && getRequestMeta(req, 'renderFallbackShell') ? createOpaqueFallbackRouteParams(prerenderInfo.fallbackRouteParams) : // manually generate the fallback route params.\n isDebugFallbackShell ? getFallbackRouteParams(normalizedSrcPage, routeModule) : null;\n // Perform the render.\n return doRender({\n span,\n postponed,\n fallbackRouteParams,\n forceStaticRender\n });\n };\n const handleResponse = async (span)=>{\n var _cacheEntry_value, _cachedData_headers;\n const cacheEntry = await routeModule.handleResponse({\n cacheKey: ssgCacheKey,\n responseGenerator: (c)=>responseGenerator({\n span,\n ...c\n }),\n routeKind: RouteKind.APP_PAGE,\n isOnDemandRevalidate,\n isRoutePPREnabled,\n req,\n nextConfig,\n prerenderManifest,\n waitUntil: ctx.waitUntil,\n isMinimalMode\n });\n if (isDraftMode) {\n res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');\n }\n // In dev, we should not cache pages for any reason.\n if (routeModule.isDev) {\n res.setHeader('Cache-Control', 'no-store, must-revalidate');\n }\n if (!cacheEntry) {\n if (ssgCacheKey) {\n // A cache entry might not be generated if a response is written\n // in `getInitialProps` or `getServerSideProps`, but those shouldn't\n // have a cache key. If we do have a cache key but we don't end up\n // with a cache entry, then either Next.js or the application has a\n // bug that needs fixing.\n throw Object.defineProperty(new Error('invariant: cache entry required but not generated'), \"__NEXT_ERROR_CODE\", {\n value: \"E62\",\n enumerable: false,\n configurable: true\n });\n }\n return null;\n }\n if (((_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) !== CachedRouteKind.APP_PAGE) {\n var _cacheEntry_value1;\n throw Object.defineProperty(new Error(`Invariant app-page handler received invalid cache entry ${(_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E707\",\n enumerable: false,\n configurable: true\n });\n }\n const didPostpone = typeof cacheEntry.value.postponed === 'string';\n if (isSSG && // We don't want to send a cache header for requests that contain dynamic\n // data. If this is a Dynamic RSC request or wasn't a Prefetch RSC\n // request, then we should set the cache header.\n !isDynamicRSCRequest && (!didPostpone || isPrefetchRSCRequest)) {\n if (!isMinimalMode) {\n // set x-nextjs-cache header to match the header\n // we set for the image-optimizer\n res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : cacheEntry.isMiss ? 'MISS' : cacheEntry.isStale ? 'STALE' : 'HIT');\n }\n // Set a header used by the client router to signal the response is static\n // and should respect the `static` cache staleTime value.\n res.setHeader(NEXT_IS_PRERENDER_HEADER, '1');\n }\n const { value: cachedData } = cacheEntry;\n // Coerce the cache control parameter from the render.\n let cacheControl;\n // If this is a resume request in minimal mode it is streamed with dynamic\n // content and should not be cached.\n if (minimalPostponed) {\n cacheControl = {\n revalidate: 0,\n expire: undefined\n };\n } else if (isDynamicRSCRequest) {\n cacheControl = {\n revalidate: 0,\n expire: undefined\n };\n } else if (!routeModule.isDev) {\n // If this is a preview mode request, we shouldn't cache it\n if (isDraftMode) {\n cacheControl = {\n revalidate: 0,\n expire: undefined\n };\n } else if (!isSSG) {\n if (!res.getHeader('Cache-Control')) {\n cacheControl = {\n revalidate: 0,\n expire: undefined\n };\n }\n } else if (cacheEntry.cacheControl) {\n // If the cache entry has a cache control with a revalidate value that's\n // a number, use it.\n if (typeof cacheEntry.cacheControl.revalidate === 'number') {\n var _cacheEntry_cacheControl;\n if (cacheEntry.cacheControl.revalidate < 1) {\n throw Object.defineProperty(new Error(`Invalid revalidate configuration provided: ${cacheEntry.cacheControl.revalidate} < 1`), \"__NEXT_ERROR_CODE\", {\n value: \"E22\",\n enumerable: false,\n configurable: true\n });\n }\n cacheControl = {\n revalidate: cacheEntry.cacheControl.revalidate,\n expire: ((_cacheEntry_cacheControl = cacheEntry.cacheControl) == null ? void 0 : _cacheEntry_cacheControl.expire) ?? nextConfig.expireTime\n };\n } else {\n cacheControl = {\n revalidate: CACHE_ONE_YEAR,\n expire: undefined\n };\n }\n }\n }\n cacheEntry.cacheControl = cacheControl;\n if (typeof segmentPrefetchHeader === 'string' && (cachedData == null ? void 0 : cachedData.kind) === CachedRouteKind.APP_PAGE && cachedData.segmentData) {\n var _cachedData_headers1;\n // This is a prefetch request issued by the client Segment Cache. These\n // should never reach the application layer (lambda). We should either\n // respond from the cache (HIT) or respond with 204 No Content (MISS).\n // Set a header to indicate that PPR is enabled for this route. This\n // lets the client distinguish between a regular cache miss and a cache\n // miss due to PPR being disabled. In other contexts this header is used\n // to indicate that the response contains dynamic data, but here we're\n // only using it to indicate that the feature is enabled — the segment\n // response itself contains whether the data is dynamic.\n res.setHeader(NEXT_DID_POSTPONE_HEADER, '2');\n // Add the cache tags header to the response if it exists and we're in\n // minimal mode while rendering a static page.\n const tags = (_cachedData_headers1 = cachedData.headers) == null ? void 0 : _cachedData_headers1[NEXT_CACHE_TAGS_HEADER];\n if (isMinimalMode && isSSG && tags && typeof tags === 'string') {\n res.setHeader(NEXT_CACHE_TAGS_HEADER, tags);\n }\n const matchedSegment = cachedData.segmentData.get(segmentPrefetchHeader);\n if (matchedSegment !== undefined) {\n // Cache hit\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: RenderResult.fromStatic(matchedSegment, RSC_CONTENT_TYPE_HEADER),\n cacheControl: cacheEntry.cacheControl\n });\n }\n // Cache miss. Either a cache entry for this route has not been generated\n // (which technically should not be possible when PPR is enabled, because\n // at a minimum there should always be a fallback entry) or there's no\n // match for the requested segment. Respond with a 204 No Content. We\n // don't bother to respond with 404, because these requests are only\n // issued as part of a prefetch.\n res.statusCode = 204;\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: RenderResult.EMPTY,\n cacheControl: cacheEntry.cacheControl\n });\n }\n // If there's a callback for `onCacheEntry`, call it with the cache entry\n // and the revalidate options. If we support RDC for Navigations, we\n // prefer the `onCacheEntryV2` callback. Once RDC for Navigations is the\n // default, we can remove the fallback to `onCacheEntry` as\n // `onCacheEntryV2` is now fully supported.\n const onCacheEntry = supportsRDCForNavigations ? getRequestMeta(req, 'onCacheEntryV2') ?? getRequestMeta(req, 'onCacheEntry') : getRequestMeta(req, 'onCacheEntry');\n if (onCacheEntry) {\n const finished = await onCacheEntry(cacheEntry, {\n url: getRequestMeta(req, 'initURL') ?? req.url\n });\n if (finished) return null;\n }\n if (cachedData.headers) {\n const headers = {\n ...cachedData.headers\n };\n if (!isMinimalMode || !isSSG) {\n delete headers[NEXT_CACHE_TAGS_HEADER];\n }\n for (let [key, value] of Object.entries(headers)){\n if (typeof value === 'undefined') continue;\n if (Array.isArray(value)) {\n for (const v of value){\n res.appendHeader(key, v);\n }\n } else if (typeof value === 'number') {\n value = value.toString();\n res.appendHeader(key, value);\n } else {\n res.appendHeader(key, value);\n }\n }\n }\n // Add the cache tags header to the response if it exists and we're in\n // minimal mode while rendering a static page.\n const tags = (_cachedData_headers = cachedData.headers) == null ? void 0 : _cachedData_headers[NEXT_CACHE_TAGS_HEADER];\n if (isMinimalMode && isSSG && tags && typeof tags === 'string') {\n res.setHeader(NEXT_CACHE_TAGS_HEADER, tags);\n }\n // If the request is a data request, then we shouldn't set the status code\n // from the response because it should always be 200. This should be gated\n // behind the experimental PPR flag.\n if (cachedData.status && (!isRSCRequest || !isRoutePPREnabled)) {\n res.statusCode = cachedData.status;\n }\n // Redirect information is encoded in RSC payload, so we don't need to use redirect status codes\n if (!isMinimalMode && cachedData.status && RedirectStatusCode[cachedData.status] && isRSCRequest) {\n res.statusCode = 200;\n }\n // Mark that the request did postpone.\n if (didPostpone && !isDynamicRSCRequest) {\n res.setHeader(NEXT_DID_POSTPONE_HEADER, '1');\n }\n // we don't go through this block when preview mode is true\n // as preview mode is a dynamic request (bypasses cache) and doesn't\n // generate both HTML and payloads in the same request so continue to just\n // return the generated payload\n if (isRSCRequest && !isDraftMode) {\n // If this is a dynamic RSC request, then stream the response.\n if (typeof cachedData.rscData === 'undefined') {\n // If the response is not an RSC response, then we can't serve it.\n if (cachedData.html.contentType !== RSC_CONTENT_TYPE_HEADER) {\n if (nextConfig.cacheComponents) {\n res.statusCode = 404;\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: RenderResult.EMPTY,\n cacheControl: cacheEntry.cacheControl\n });\n } else {\n // Otherwise this case is not expected.\n throw Object.defineProperty(new InvariantError(`Expected RSC response, got ${cachedData.html.contentType}`), \"__NEXT_ERROR_CODE\", {\n value: \"E789\",\n enumerable: false,\n configurable: true\n });\n }\n }\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: cachedData.html,\n cacheControl: cacheEntry.cacheControl\n });\n }\n // As this isn't a prefetch request, we should serve the static flight\n // data.\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: RenderResult.fromStatic(cachedData.rscData, RSC_CONTENT_TYPE_HEADER),\n cacheControl: cacheEntry.cacheControl\n });\n }\n // This is a request for HTML data.\n const body = cachedData.html;\n // If there's no postponed state, we should just serve the HTML. This\n // should also be the case for a resume request because it's completed\n // as a server render (rather than a static render).\n if (!didPostpone || isMinimalMode || isRSCRequest) {\n // If we're in test mode, we should add a sentinel chunk to the response\n // that's between the static and dynamic parts so we can compare the\n // chunks and add assertions.\n if (process.env.__NEXT_TEST_MODE && isMinimalMode && isRoutePPREnabled && body.contentType === HTML_CONTENT_TYPE_HEADER) {\n // As we're in minimal mode, the static part would have already been\n // streamed first. The only part that this streams is the dynamic part\n // so we should FIRST stream the sentinel and THEN the dynamic part.\n body.unshift(createPPRBoundarySentinel());\n }\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: body,\n cacheControl: cacheEntry.cacheControl\n });\n }\n // If we're debugging the static shell or the dynamic API accesses, we\n // should just serve the HTML without resuming the render. The returned\n // HTML will be the static shell so all the Dynamic API's will be used\n // during static generation.\n if (isDebugStaticShell || isDebugDynamicAccesses) {\n // Since we're not resuming the render, we need to at least add the\n // closing body and html tags to create valid HTML.\n body.push(new ReadableStream({\n start (controller) {\n controller.enqueue(ENCODED_TAGS.CLOSED.BODY_AND_HTML);\n controller.close();\n }\n }));\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: body,\n cacheControl: {\n revalidate: 0,\n expire: undefined\n }\n });\n }\n // If we're in test mode, we should add a sentinel chunk to the response\n // that's between the static and dynamic parts so we can compare the\n // chunks and add assertions.\n if (process.env.__NEXT_TEST_MODE) {\n body.push(createPPRBoundarySentinel());\n }\n // This request has postponed, so let's create a new transformer that the\n // dynamic data can pipe to that will attach the dynamic data to the end\n // of the response.\n const transformer = new TransformStream();\n body.push(transformer.readable);\n // Perform the render again, but this time, provide the postponed state.\n // We don't await because we want the result to start streaming now, and\n // we've already chained the transformer's readable to the render result.\n doRender({\n span,\n postponed: cachedData.postponed,\n // This is a resume render, not a fallback render, so we don't need to\n // set this.\n fallbackRouteParams: null,\n forceStaticRender: false\n }).then(async (result)=>{\n var _result_value;\n if (!result) {\n throw Object.defineProperty(new Error('Invariant: expected a result to be returned'), \"__NEXT_ERROR_CODE\", {\n value: \"E463\",\n enumerable: false,\n configurable: true\n });\n }\n if (((_result_value = result.value) == null ? void 0 : _result_value.kind) !== CachedRouteKind.APP_PAGE) {\n var _result_value1;\n throw Object.defineProperty(new Error(`Invariant: expected a page response, got ${(_result_value1 = result.value) == null ? void 0 : _result_value1.kind}`), \"__NEXT_ERROR_CODE\", {\n value: \"E305\",\n enumerable: false,\n configurable: true\n });\n }\n // Pipe the resume result to the transformer.\n await result.value.html.pipeTo(transformer.writable);\n }).catch((err)=>{\n // An error occurred during piping or preparing the render, abort\n // the transformers writer so we can terminate the stream.\n transformer.writable.abort(err).catch((e)=>{\n console.error(\"couldn't abort transformer\", e);\n });\n });\n return sendRenderResult({\n req,\n res,\n generateEtags: nextConfig.generateEtags,\n poweredByHeader: nextConfig.poweredByHeader,\n result: body,\n // We don't want to cache the response if it has postponed data because\n // the response being sent to the client it's dynamic parts are streamed\n // to the client on the same request.\n cacheControl: {\n revalidate: 0,\n expire: undefined\n }\n });\n };\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await handleResponse(activeSpan);\n } else {\n return await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(BaseServerSpan.handleRequest, {\n spanName: `${method} ${srcPage}`,\n kind: SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, handleResponse));\n }\n } catch (err) {\n if (!(err instanceof NoFallbackError)) {\n await routeModule.onRequestError(req, err, {\n routerKind: 'App Router',\n routePath: srcPage,\n routeType: 'render',\n revalidateReason: getRevalidateReason({\n isStaticGeneration: isSSG,\n isOnDemandRevalidate\n })\n }, routerServerContext);\n }\n // rethrow so that we can handle serving error page\n throw err;\n }\n}\n// TODO: omit this from production builds, only test builds should include it\n/**\n * Creates a readable stream that emits a PPR boundary sentinel.\n *\n * @returns A readable stream that emits a PPR boundary sentinel.\n */ function createPPRBoundarySentinel() {\n return new ReadableStream({\n start (controller) {\n controller.enqueue(new TextEncoder().encode('<!-- PPR_BOUNDARY_SENTINEL -->'));\n controller.close();\n }\n });\n}\n\n//# sourceMappingURL=app-page.js.map\n"],"names":[],"mappings":"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","ignoreList":[0]}
@@ -1,5 +0,0 @@
1
- module.exports=[63652,(a,b,c)=>{"use strict";c._=function(a){return a&&a.__esModule?a:{default:a}}},52940,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"warnOnce",{enumerable:!0,get:function(){return d}});let d=a=>{}},99446,(a,b,c)=>{"use strict";function d({widthInt:a,heightInt:b,blurWidth:c,blurHeight:d,blurDataURL:e,objectFit:f}){let g=c?40*c:a,h=d?40*d:b,i=g&&h?`viewBox='0 0 ${g} ${h}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${i}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${i?"none":"contain"===f?"xMidYMid":"cover"===f?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${e}'/%3E%3C/svg%3E`}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImageBlurSvg",{enumerable:!0,get:function(){return d}})},50532,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={VALID_LOADERS:function(){return f},imageConfigDefault:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=["default","imgix","cloudinary","akamai","custom"],g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},46359,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"getImgProps",{enumerable:!0,get:function(){return i}}),a.r(52940);let d=a.r(99446),e=a.r(50532),f=["-moz-initial","fill","none","scale-down",void 0];function g(a){return void 0!==a.default}function h(a){return void 0===a?a:"number"==typeof a?Number.isFinite(a)?a:NaN:"string"==typeof a&&/^[0-9]+$/.test(a)?parseInt(a,10):NaN}function i({src:a,sizes:b,unoptimized:c=!1,priority:i=!1,preload:j=!1,loading:k,className:l,quality:m,width:n,height:o,fill:p=!1,style:q,overrideSrc:r,onLoad:s,onLoadingComplete:t,placeholder:u="empty",blurDataURL:v,fetchPriority:w,decoding:x="async",layout:y,objectFit:z,objectPosition:A,lazyBoundary:B,lazyRoot:C,...D},E){var F;let G,H,I,{imgConf:J,showAltText:K,blurComplete:L,defaultLoader:M}=E,N=J||e.imageConfigDefault;if("allSizes"in N)G=N;else{let a=[...N.deviceSizes,...N.imageSizes].sort((a,b)=>a-b),b=N.deviceSizes.sort((a,b)=>a-b),c=N.qualities?.sort((a,b)=>a-b);G={...N,allSizes:a,deviceSizes:b,qualities:c}}if(void 0===M)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let O=D.loader||M;delete D.loader,delete D.srcSet;let P="__next_img_default"in O;if(P){if("custom"===G.loader)throw Object.defineProperty(Error(`Image with src "${a}" is missing "loader" prop.
2
- Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let a=O;O=b=>{let{config:c,...d}=b;return a(d)}}if(y){"fill"===y&&(p=!0);let a={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[y];a&&(q={...q,...a});let c={responsive:"100vw",fill:"100vw"}[y];c&&!b&&(b=c)}let Q="",R=h(n),S=h(o);if((F=a)&&"object"==typeof F&&(g(F)||void 0!==F.src)){let b=g(a)?a.default:a;if(!b.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!b.height||!b.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(b)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(H=b.blurWidth,I=b.blurHeight,v=v||b.blurDataURL,Q=b.src,!p)if(R||S){if(R&&!S){let a=R/b.width;S=Math.round(b.height*a)}else if(!R&&S){let a=S/b.height;R=Math.round(b.width*a)}}else R=b.width,S=b.height}let T=!i&&!j&&("lazy"===k||void 0===k);(!(a="string"==typeof a?a:Q)||a.startsWith("data:")||a.startsWith("blob:"))&&(c=!0,T=!1),G.unoptimized&&(c=!0),P&&!G.dangerouslyAllowSVG&&a.split("?",1)[0].endsWith(".svg")&&(c=!0);let U=h(m),V=Object.assign(p?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:z,objectPosition:A}:{},K?{}:{color:"transparent"},q),W=L||"empty"===u?null:"blur"===u?`url("data:image/svg+xml;charset=utf-8,${(0,d.getImageBlurSvg)({widthInt:R,heightInt:S,blurWidth:H,blurHeight:I,blurDataURL:v||"",objectFit:V.objectFit})}")`:`url("${u}")`,X=f.includes(V.objectFit)?"fill"===V.objectFit?"100% 100%":"cover":V.objectFit,Y=W?{backgroundSize:X,backgroundPosition:V.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:W}:{},Z=function({config:a,src:b,unoptimized:c,width:d,quality:e,sizes:f,loader:g}){if(c)return{src:b,srcSet:void 0,sizes:void 0};let{widths:h,kind:i}=function({deviceSizes:a,allSizes:b},c,d){if(d){let c=/(^|\s)(1?\d?\d)vw/g,e=[];for(let a;a=c.exec(d);)e.push(parseInt(a[2]));if(e.length){let c=.01*Math.min(...e);return{widths:b.filter(b=>b>=a[0]*c),kind:"w"}}return{widths:b,kind:"w"}}return"number"!=typeof c?{widths:a,kind:"w"}:{widths:[...new Set([c,2*c].map(a=>b.find(b=>b>=a)||b[b.length-1]))],kind:"x"}}(a,d,f),j=h.length-1;return{sizes:f||"w"!==i?f:"100vw",srcSet:h.map((c,d)=>`${g({config:a,src:b,quality:e,width:c})} ${"w"===i?c:d+1}${i}`).join(", "),src:g({config:a,src:b,quality:e,width:h[j]})}}({config:G,src:a,unoptimized:c,width:R,quality:U,sizes:b,loader:O}),$=T?"lazy":k;return{props:{...D,loading:$,fetchPriority:w,width:R,height:S,decoding:x,className:l,style:{...V,...Y},sizes:Z.sizes,srcSet:Z.srcSet,src:r||Z.src},meta:{unoptimized:c,preload:j||i,placeholder:u,fill:p}}}},3988,(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}c._=function(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}},92329,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}});let d=a.r(40833),e=()=>{};function f(a){let{headManager:b,reduceComponentsToState:c}=a;function f(){if(b&&b.mountedInstances){let a=d.Children.toArray(Array.from(b.mountedInstances).filter(Boolean));b.updateHead(c(a))}}return b?.mountedInstances?.add(a.children),f(),e(()=>(b?.mountedInstances?.add(a.children),()=>{b?.mountedInstances?.delete(a.children)})),e(()=>(b&&(b._pendingUpdate=f),()=>{b&&(b._pendingUpdate=f)})),null}},69468,(a,b,c)=>{"use strict";b.exports=a.r(71116).vendored.contexts.HeadManagerContext},28644,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return p},defaultHead:function(){return l}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(63652),g=a.r(3988),h=a.r(58038),i=g._(a.r(40833)),j=f._(a.r(92329)),k=a.r(69468);function l(){return[(0,h.jsx)("meta",{charSet:"utf-8"},"charset"),(0,h.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function m(a,b){return"string"==typeof b||"number"==typeof b?a:b.type===i.default.Fragment?a.concat(i.default.Children.toArray(b.props.children).reduce((a,b)=>"string"==typeof b||"number"==typeof b?a:a.concat(b),[])):a.concat(b)}a.r(52940);let n=["name","httpEquiv","charSet","itemProp"];function o(a){let b,c,d,e;return a.reduce(m,[]).reverse().concat(l().reverse()).filter((b=new Set,c=new Set,d=new Set,e={},a=>{let f=!0,g=!1;if(a.key&&"number"!=typeof a.key&&a.key.indexOf("$")>0){g=!0;let c=a.key.slice(a.key.indexOf("$")+1);b.has(c)?f=!1:b.add(c)}switch(a.type){case"title":case"base":c.has(a.type)?f=!1:c.add(a.type);break;case"meta":for(let b=0,c=n.length;b<c;b++){let c=n[b];if(a.props.hasOwnProperty(c))if("charSet"===c)d.has(c)?f=!1:d.add(c);else{let b=a.props[c],d=e[c]||new Set;("name"!==c||!g)&&d.has(b)?f=!1:(d.add(b),e[c]=d)}}}return f})).reverse().map((a,b)=>{let c=a.key||b;return i.default.cloneElement(a,{key:c})})}let p=function({children:a}){let b=(0,i.useContext)(k.HeadManagerContext);return(0,h.jsx)(j.default,{reduceComponentsToState:o,headManager:b,children:a})};("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},13295,(a,b,c)=>{"use strict";b.exports=a.r(71116).vendored.contexts.ImageConfigContext},53156,(a,b,c)=>{"use strict";b.exports=a.r(71116).vendored.contexts.RouterContext},81598,(a,b,c)=>{"use strict";function d(a,b){let c=a||75;return b?.qualities?.length?b.qualities.reduce((a,b)=>Math.abs(b-c)<Math.abs(a-c)?b:a,0):c}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"findClosestQuality",{enumerable:!0,get:function(){return d}})},76713,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"default",{enumerable:!0,get:function(){return f}});let d=a.r(81598);function e({config:a,src:b,width:c,quality:e}){if(b.startsWith("/")&&b.includes("?")&&a.localPatterns?.length===1&&"**"===a.localPatterns[0].pathname&&""===a.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${b}" is using a query string which is not configured in images.localPatterns.
3
- Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let f=(0,d.findClosestQuality)(e,a);return`${a.path}?url=${encodeURIComponent(b)}&w=${c}&q=${f}${b.startsWith("/_next/static/media/"),""}`}e.__next_img_default=!0;let f=e},3427,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"useMergedRef",{enumerable:!0,get:function(){return e}});let d=a.r(40833);function e(a,b){let c=(0,d.useRef)(null),e=(0,d.useRef)(null);return(0,d.useCallback)(d=>{if(null===d){let a=c.current;a&&(c.current=null,a());let b=e.current;b&&(e.current=null,b())}else a&&(c.current=f(a,d)),b&&(e.current=f(b,d))},[a,b])}function f(a,b){if("function"!=typeof a)return a.current=b,()=>{a.current=null};{let c=a(b);return"function"==typeof c?c:()=>a(null)}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},83839,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"Image",{enumerable:!0,get:function(){return u}});let d=a.r(63652),e=a.r(3988),f=a.r(58038),g=e._(a.r(40833)),h=d._(a.r(40553)),i=d._(a.r(28644)),j=a.r(46359),k=a.r(50532),l=a.r(13295);a.r(52940);let m=a.r(53156),n=d._(a.r(76713)),o=a.r(3427),p={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0};function q(a,b,c,d,e,f,g){let h=a?.src;a&&a["data-loaded-src"]!==h&&(a["data-loaded-src"]=h,("decode"in a?a.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(a.parentElement&&a.isConnected){if("empty"!==b&&e(!0),c?.current){let b=new Event("load");Object.defineProperty(b,"target",{writable:!1,value:a});let d=!1,e=!1;c.current({...b,nativeEvent:b,currentTarget:a,target:a,isDefaultPrevented:()=>d,isPropagationStopped:()=>e,persist:()=>{},preventDefault:()=>{d=!0,b.preventDefault()},stopPropagation:()=>{e=!0,b.stopPropagation()}})}d?.current&&d.current(a)}}))}function r(a){return g.use?{fetchPriority:a}:{fetchpriority:a}}globalThis.__NEXT_IMAGE_IMPORTED=!0;let s=(0,g.forwardRef)(({src:a,srcSet:b,sizes:c,height:d,width:e,decoding:h,className:i,style:j,fetchPriority:k,placeholder:l,loading:m,unoptimized:n,fill:p,onLoadRef:s,onLoadingCompleteRef:t,setBlurComplete:u,setShowAltText:v,sizesInput:w,onLoad:x,onError:y,...z},A)=>{let B=(0,g.useCallback)(a=>{a&&(y&&(a.src=a.src),a.complete&&q(a,l,s,t,u,n,w))},[a,l,s,t,u,y,n,w]),C=(0,o.useMergedRef)(A,B);return(0,f.jsx)("img",{...z,...r(k),loading:m,width:e,height:d,decoding:h,"data-nimg":p?"fill":"1",className:i,style:j,sizes:c,srcSet:b,src:a,ref:C,onLoad:a=>{q(a.currentTarget,l,s,t,u,n,w)},onError:a=>{v(!0),"empty"!==l&&u(!0),y&&y(a)}})});function t({isAppRouter:a,imgAttributes:b}){let c={as:"image",imageSrcSet:b.srcSet,imageSizes:b.sizes,crossOrigin:b.crossOrigin,referrerPolicy:b.referrerPolicy,...r(b.fetchPriority)};return a&&h.default.preload?(h.default.preload(b.src,c),null):(0,f.jsx)(i.default,{children:(0,f.jsx)("link",{rel:"preload",href:b.srcSet?void 0:b.src,...c},"__nimg-"+b.src+b.srcSet+b.sizes)})}let u=(0,g.forwardRef)((a,b)=>{let c=(0,g.useContext)(m.RouterContext),d=(0,g.useContext)(l.ImageConfigContext),e=(0,g.useMemo)(()=>{let a=p||d||k.imageConfigDefault,b=[...a.deviceSizes,...a.imageSizes].sort((a,b)=>a-b),c=a.deviceSizes.sort((a,b)=>a-b),e=a.qualities?.sort((a,b)=>a-b);return{...a,allSizes:b,deviceSizes:c,qualities:e,localPatterns:d?.localPatterns}},[d]),{onLoad:h,onLoadingComplete:i}=a,o=(0,g.useRef)(h);(0,g.useEffect)(()=>{o.current=h},[h]);let q=(0,g.useRef)(i);(0,g.useEffect)(()=>{q.current=i},[i]);let[r,u]=(0,g.useState)(!1),[v,w]=(0,g.useState)(!1),{props:x,meta:y}=(0,j.getImgProps)(a,{defaultLoader:n.default,imgConf:e,blurComplete:r,showAltText:v});return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(s,{...x,unoptimized:y.unoptimized,placeholder:y.placeholder,fill:y.fill,onLoadRef:o,onLoadingCompleteRef:q,setBlurComplete:u,setShowAltText:w,sizesInput:a.sizes,ref:b}),y.preload?(0,f.jsx)(t,{isAppRouter:!c,imgAttributes:x}):null]})});("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},82404,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={default:function(){return k},getImageProps:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(63652),g=a.r(46359),h=a.r(83839),i=f._(a.r(76713));function j(a){let{props:b}=(0,g.getImgProps)(a,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0}});for(let[a,c]of Object.entries(b))void 0===c&&delete b[a];return{props:b}}let k=h.Image},1164,(a,b,c)=>{b.exports=a.r(82404)}];
4
-
5
- //# sourceMappingURL=node_modules__pnpm_3bd414fc._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../node_modules/.pnpm/%40swc%2Bhelpers%400.5.15/node_modules/%40swc/helpers/cjs/_interop_require_default.cjs","../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/src/shared/lib/utils/warn-once.ts","../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/src/shared/lib/image-blur-svg.ts","../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/src/shared/lib/image-config.ts","../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/src/shared/lib/get-img-props.ts","../../../../../node_modules/.pnpm/%40swc%2Bhelpers%400.5.15/node_modules/%40swc/helpers/cjs/_interop_require_wildcard.cjs","../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/src/shared/lib/side-effect.tsx","../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/src/server/route-modules/app-page/vendored/contexts/head-manager-context.ts","../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/src/shared/lib/head.tsx","../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/src/server/route-modules/app-page/vendored/contexts/image-config-context.ts","../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/src/server/route-modules/app-page/vendored/contexts/router-context.ts","../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/src/shared/lib/find-closest-quality.ts","../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/src/shared/lib/image-loader.ts","../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/src/client/use-merged-ref.ts","../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/src/client/image-component.tsx","../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/src/shared/lib/image-external.tsx","../../../../../node_modules/.pnpm/next%4016.0.7_%40opentelemetry%2Bapi%401.9.0_babel-plugin-react-compiler%401.0.0_react-dom%4019.3.0_a20848594014cb183ab624f2be88a203/node_modules/next/image.js"],"sourcesContent":["\"use strict\";\n\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\nexports._ = _interop_require_default;\n","let warnOnce = (_: string) => {}\nif (process.env.NODE_ENV !== 'production') {\n const warnings = new Set<string>()\n warnOnce = (msg: string) => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\nexport { warnOnce }\n","/**\n * A shared function, used on both client and server, to generate a SVG blur placeholder.\n */\nexport function getImageBlurSvg({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL,\n objectFit,\n}: {\n widthInt?: number\n heightInt?: number\n blurWidth?: number\n blurHeight?: number\n blurDataURL: string\n objectFit?: string\n}): string {\n const std = 20\n const svgWidth = blurWidth ? blurWidth * 40 : widthInt\n const svgHeight = blurHeight ? blurHeight * 40 : heightInt\n\n const viewBox =\n svgWidth && svgHeight ? `viewBox='0 0 ${svgWidth} ${svgHeight}'` : ''\n const preserveAspectRatio = viewBox\n ? 'none'\n : objectFit === 'contain'\n ? 'xMidYMid'\n : objectFit === 'cover'\n ? 'xMidYMid slice'\n : 'none'\n\n return `%3Csvg xmlns='http://www.w3.org/2000/svg' ${viewBox}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='${std}'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='${std}'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${preserveAspectRatio}' style='filter: url(%23b);' href='${blurDataURL}'/%3E%3C/svg%3E`\n}\n","export const VALID_LOADERS = [\n 'default',\n 'imgix',\n 'cloudinary',\n 'akamai',\n 'custom',\n] as const\n\nexport type LoaderValue = (typeof VALID_LOADERS)[number]\n\nexport type ImageLoaderProps = {\n src: string\n width: number\n quality?: number\n}\n\nexport type ImageLoaderPropsWithConfig = ImageLoaderProps & {\n config: Readonly<ImageConfig>\n}\n\nexport type LocalPattern = {\n /**\n * Can be literal or wildcard.\n * Single `*` matches a single path segment.\n * Double `**` matches any number of path segments.\n */\n pathname?: string\n\n /**\n * Can be literal query string such as `?v=1` or\n * empty string meaning no query string.\n */\n search?: string\n}\n\nexport type RemotePattern = {\n /**\n * Must be `http` or `https`.\n */\n protocol?: 'http' | 'https'\n\n /**\n * Can be literal or wildcard.\n * Single `*` matches a single subdomain.\n * Double `**` matches any number of subdomains.\n */\n hostname: string\n\n /**\n * Can be literal port such as `8080` or empty string\n * meaning no port.\n */\n port?: string\n\n /**\n * Can be literal or wildcard.\n * Single `*` matches a single path segment.\n * Double `**` matches any number of path segments.\n */\n pathname?: string\n\n /**\n * Can be literal query string such as `?v=1` or\n * empty string meaning no query string.\n */\n search?: string\n}\n\ntype ImageFormat = 'image/avif' | 'image/webp'\n\n/**\n * Image configurations\n *\n * @see [Image configuration options](https://nextjs.org/docs/api-reference/next/image#configuration-options)\n */\nexport type ImageConfigComplete = {\n /** @see [Device sizes documentation](https://nextjs.org/docs/api-reference/next/image#device-sizes) */\n deviceSizes: number[]\n\n /** @see [Image sizing documentation](https://nextjs.org/docs/app/building-your-application/optimizing/images#image-sizing) */\n imageSizes: number[]\n\n /** @see [Image loaders configuration](https://nextjs.org/docs/api-reference/next/legacy/image#loader) */\n loader: LoaderValue\n\n /** @see [Image loader configuration](https://nextjs.org/docs/app/api-reference/components/image#path) */\n path: string\n\n /** @see [Image loader configuration](https://nextjs.org/docs/api-reference/next/image#loader-configuration) */\n loaderFile: string\n\n /**\n * @deprecated Use `remotePatterns` instead.\n */\n domains: string[]\n\n /** @see [Disable static image import configuration](https://nextjs.org/docs/api-reference/next/image#disable-static-imports) */\n disableStaticImages: boolean\n\n /** @see [Cache behavior](https://nextjs.org/docs/api-reference/next/image#caching-behavior) */\n minimumCacheTTL: number\n\n /** @see [Acceptable formats](https://nextjs.org/docs/api-reference/next/image#acceptable-formats) */\n formats: ImageFormat[]\n\n /** @see [Maximum Redirects](https://nextjs.org/docs/api-reference/next/image#maximumredirects) */\n maximumRedirects: number\n\n /** @see [Dangerously Allow Local IP](https://nextjs.org/docs/api-reference/next/image#dangerously-allow-local-ip) */\n dangerouslyAllowLocalIP: boolean\n\n /** @see [Dangerously Allow SVG](https://nextjs.org/docs/api-reference/next/image#dangerously-allow-svg) */\n dangerouslyAllowSVG: boolean\n\n /** @see [Content Security Policy](https://nextjs.org/docs/api-reference/next/image#contentsecuritypolicy) */\n contentSecurityPolicy: string\n\n /** @see [Content Disposition Type](https://nextjs.org/docs/api-reference/next/image#contentdispositiontype) */\n contentDispositionType: 'inline' | 'attachment'\n\n /** @see [Remote Patterns](https://nextjs.org/docs/api-reference/next/image#remotepatterns) */\n remotePatterns: Array<URL | RemotePattern>\n\n /** @see [Local Patterns](https://nextjs.org/docs/api-reference/next/image#localPatterns) */\n localPatterns: LocalPattern[] | undefined\n\n /** @see [Qualities](https://nextjs.org/docs/api-reference/next/image#qualities) */\n qualities: number[] | undefined\n\n /** @see [Unoptimized](https://nextjs.org/docs/api-reference/next/image#unoptimized) */\n unoptimized: boolean\n}\n\nexport type ImageConfig = Partial<ImageConfigComplete>\n\nexport const imageConfigDefault: ImageConfigComplete = {\n deviceSizes: [640, 750, 828, 1080, 1200, 1920, 2048, 3840],\n imageSizes: [32, 48, 64, 96, 128, 256, 384],\n path: '/_next/image',\n loader: 'default',\n loaderFile: '',\n /**\n * @deprecated Use `remotePatterns` instead to protect your application from malicious users.\n */\n domains: [],\n disableStaticImages: false,\n minimumCacheTTL: 14400, // 4 hours\n formats: ['image/webp'],\n maximumRedirects: 3,\n dangerouslyAllowLocalIP: false,\n dangerouslyAllowSVG: false,\n contentSecurityPolicy: `script-src 'none'; frame-src 'none'; sandbox;`,\n contentDispositionType: 'attachment',\n localPatterns: undefined, // default: allow all local images\n remotePatterns: [], // default: allow no remote images\n qualities: [75],\n unoptimized: false,\n}\n","import { warnOnce } from './utils/warn-once'\nimport { getImageBlurSvg } from './image-blur-svg'\nimport { imageConfigDefault } from './image-config'\nimport type {\n ImageConfigComplete,\n ImageLoaderProps,\n ImageLoaderPropsWithConfig,\n} from './image-config'\n\nimport type { CSSProperties, JSX } from 'react'\n\nexport interface StaticImageData {\n src: string\n height: number\n width: number\n blurDataURL?: string\n blurWidth?: number\n blurHeight?: number\n}\n\nexport interface StaticRequire {\n default: StaticImageData\n}\n\nexport type StaticImport = StaticRequire | StaticImageData\n\nexport type ImageProps = Omit<\n JSX.IntrinsicElements['img'],\n 'src' | 'srcSet' | 'ref' | 'alt' | 'width' | 'height' | 'loading'\n> & {\n src: string | StaticImport\n alt: string\n width?: number | `${number}`\n height?: number | `${number}`\n fill?: boolean\n loader?: ImageLoader\n quality?: number | `${number}`\n preload?: boolean\n /**\n * @deprecated Use `preload` prop instead.\n * See https://nextjs.org/docs/app/api-reference/components/image#preload\n */\n priority?: boolean\n loading?: LoadingValue\n placeholder?: PlaceholderValue\n blurDataURL?: string\n unoptimized?: boolean\n overrideSrc?: string\n /**\n * @deprecated Use `onLoad` instead.\n * @see https://nextjs.org/docs/app/api-reference/components/image#onload\n */\n onLoadingComplete?: OnLoadingComplete\n /**\n * @deprecated Use `fill` prop instead of `layout=\"fill\"` or change import to `next/legacy/image`.\n * @see https://nextjs.org/docs/api-reference/next/legacy/image\n */\n layout?: string\n /**\n * @deprecated Use `style` prop instead.\n */\n objectFit?: string\n /**\n * @deprecated Use `style` prop instead.\n */\n objectPosition?: string\n /**\n * @deprecated This prop does not do anything.\n */\n lazyBoundary?: string\n /**\n * @deprecated This prop does not do anything.\n */\n lazyRoot?: string\n}\n\nexport type ImgProps = Omit<ImageProps, 'src' | 'loader'> & {\n loading: LoadingValue\n width: number | undefined\n height: number | undefined\n style: NonNullable<JSX.IntrinsicElements['img']['style']>\n sizes: string | undefined\n srcSet: string | undefined\n src: string\n}\n\nconst VALID_LOADING_VALUES = ['lazy', 'eager', undefined] as const\n\n// Object-fit values that are not valid background-size values\nconst INVALID_BACKGROUND_SIZE_VALUES = [\n '-moz-initial',\n 'fill',\n 'none',\n 'scale-down',\n undefined,\n]\ntype LoadingValue = (typeof VALID_LOADING_VALUES)[number]\ntype ImageConfig = ImageConfigComplete & {\n allSizes: number[]\n output?: 'standalone' | 'export'\n}\n\nexport type ImageLoader = (p: ImageLoaderProps) => string\n\n// Do not export - this is an internal type only\n// because `next.config.js` is only meant for the\n// built-in loaders, not for a custom loader() prop.\ntype ImageLoaderWithConfig = (p: ImageLoaderPropsWithConfig) => string\n\nexport type PlaceholderValue = 'blur' | 'empty' | `data:image/${string}`\nexport type OnLoad = React.ReactEventHandler<HTMLImageElement> | undefined\nexport type OnLoadingComplete = (img: HTMLImageElement) => void\n\nexport type PlaceholderStyle = Partial<\n Pick<\n CSSProperties,\n | 'backgroundSize'\n | 'backgroundPosition'\n | 'backgroundRepeat'\n | 'backgroundImage'\n >\n>\n\nfunction isStaticRequire(\n src: StaticRequire | StaticImageData\n): src is StaticRequire {\n return (src as StaticRequire).default !== undefined\n}\n\nfunction isStaticImageData(\n src: StaticRequire | StaticImageData\n): src is StaticImageData {\n return (src as StaticImageData).src !== undefined\n}\n\nfunction isStaticImport(src: string | StaticImport): src is StaticImport {\n return (\n !!src &&\n typeof src === 'object' &&\n (isStaticRequire(src as StaticImport) ||\n isStaticImageData(src as StaticImport))\n )\n}\n\nconst allImgs = new Map<\n string,\n { src: string; loading: LoadingValue; placeholder: PlaceholderValue }\n>()\nlet perfObserver: PerformanceObserver | undefined\n\nfunction getInt(x: unknown): number | undefined {\n if (typeof x === 'undefined') {\n return x\n }\n if (typeof x === 'number') {\n return Number.isFinite(x) ? x : NaN\n }\n if (typeof x === 'string' && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10)\n }\n return NaN\n}\n\nfunction getWidths(\n { deviceSizes, allSizes }: ImageConfig,\n width: number | undefined,\n sizes: string | undefined\n): { widths: number[]; kind: 'w' | 'x' } {\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g\n const percentSizes = []\n for (let match; (match = viewportWidthRe.exec(sizes)); match) {\n percentSizes.push(parseInt(match[2]))\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01\n return {\n widths: allSizes.filter((s) => s >= deviceSizes[0] * smallestRatio),\n kind: 'w',\n }\n }\n return { widths: allSizes, kind: 'w' }\n }\n if (typeof width !== 'number') {\n return { widths: deviceSizes, kind: 'w' }\n }\n\n const widths = [\n ...new Set(\n // > This means that most OLED screens that say they are 3x resolution,\n // > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [width, width * 2 /*, width * 3*/].map(\n (w) => allSizes.find((p) => p >= w) || allSizes[allSizes.length - 1]\n )\n ),\n ]\n return { widths, kind: 'x' }\n}\n\ntype GenImgAttrsData = {\n config: ImageConfig\n src: string\n unoptimized: boolean\n loader: ImageLoaderWithConfig\n width?: number\n quality?: number\n sizes?: string\n}\n\ntype GenImgAttrsResult = {\n src: string\n srcSet: string | undefined\n sizes: string | undefined\n}\n\nfunction generateImgAttrs({\n config,\n src,\n unoptimized,\n width,\n quality,\n sizes,\n loader,\n}: GenImgAttrsData): GenImgAttrsResult {\n if (unoptimized) {\n return { src, srcSet: undefined, sizes: undefined }\n }\n\n const { widths, kind } = getWidths(config, width, sizes)\n const last = widths.length - 1\n\n return {\n sizes: !sizes && kind === 'w' ? '100vw' : sizes,\n srcSet: widths\n .map(\n (w, i) =>\n `${loader({ config, src, quality, width: w })} ${\n kind === 'w' ? w : i + 1\n }${kind}`\n )\n .join(', '),\n\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({ config, src, quality, width: widths[last] }),\n }\n}\n\n/**\n * A shared function, used on both client and server, to generate the props for <img>.\n */\nexport function getImgProps(\n {\n src,\n sizes,\n unoptimized = false,\n priority = false,\n preload = false,\n loading,\n className,\n quality,\n width,\n height,\n fill = false,\n style,\n overrideSrc,\n onLoad,\n onLoadingComplete,\n placeholder = 'empty',\n blurDataURL,\n fetchPriority,\n decoding = 'async',\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot,\n ...rest\n }: ImageProps,\n _state: {\n defaultLoader: ImageLoaderWithConfig\n imgConf: ImageConfigComplete\n showAltText?: boolean\n blurComplete?: boolean\n }\n): {\n props: ImgProps\n meta: {\n unoptimized: boolean\n preload: boolean\n placeholder: NonNullable<ImageProps['placeholder']>\n fill: boolean\n }\n} {\n const { imgConf, showAltText, blurComplete, defaultLoader } = _state\n let config: ImageConfig\n let c = imgConf || imageConfigDefault\n if ('allSizes' in c) {\n config = c as ImageConfig\n } else {\n const allSizes = [...c.deviceSizes, ...c.imageSizes].sort((a, b) => a - b)\n const deviceSizes = c.deviceSizes.sort((a, b) => a - b)\n const qualities = c.qualities?.sort((a, b) => a - b)\n config = { ...c, allSizes, deviceSizes, qualities }\n }\n\n if (typeof defaultLoader === 'undefined') {\n throw new Error(\n 'images.loaderFile detected but the file is missing default export.\\nRead more: https://nextjs.org/docs/messages/invalid-images-config'\n )\n }\n let loader: ImageLoaderWithConfig = rest.loader || defaultLoader\n\n // Remove property so it's not spread on <img> element\n delete rest.loader\n delete (rest as any).srcSet\n\n // This special value indicates that the user\n // didn't define a \"loader\" prop or \"loader\" config.\n const isDefaultLoader = '__next_img_default' in loader\n\n if (isDefaultLoader) {\n if (config.loader === 'custom') {\n throw new Error(\n `Image with src \"${src}\" is missing \"loader\" prop.` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader`\n )\n }\n } else {\n // The user defined a \"loader\" prop or config.\n // Since the config object is internal only, we\n // must not pass it to the user-defined \"loader\".\n const customImageLoader = loader as ImageLoader\n loader = (obj) => {\n const { config: _, ...opts } = obj\n return customImageLoader(opts)\n }\n }\n\n if (layout) {\n if (layout === 'fill') {\n fill = true\n }\n const layoutToStyle: Record<string, Record<string, string> | undefined> = {\n intrinsic: { maxWidth: '100%', height: 'auto' },\n responsive: { width: '100%', height: 'auto' },\n }\n const layoutToSizes: Record<string, string | undefined> = {\n responsive: '100vw',\n fill: '100vw',\n }\n const layoutStyle = layoutToStyle[layout]\n if (layoutStyle) {\n style = { ...style, ...layoutStyle }\n }\n const layoutSizes = layoutToSizes[layout]\n if (layoutSizes && !sizes) {\n sizes = layoutSizes\n }\n }\n\n let staticSrc = ''\n let widthInt = getInt(width)\n let heightInt = getInt(height)\n let blurWidth: number | undefined\n let blurHeight: number | undefined\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src\n\n if (!staticImageData.src) {\n throw new Error(\n `An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(\n staticImageData\n )}`\n )\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(\n `An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(\n staticImageData\n )}`\n )\n }\n\n blurWidth = staticImageData.blurWidth\n blurHeight = staticImageData.blurHeight\n blurDataURL = blurDataURL || staticImageData.blurDataURL\n staticSrc = staticImageData.src\n\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width\n heightInt = staticImageData.height\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width\n heightInt = Math.round(staticImageData.height * ratio)\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height\n widthInt = Math.round(staticImageData.width * ratio)\n }\n }\n }\n src = typeof src === 'string' ? src : staticSrc\n\n let isLazy =\n !priority &&\n !preload &&\n (loading === 'lazy' || typeof loading === 'undefined')\n if (!src || src.startsWith('data:') || src.startsWith('blob:')) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true\n isLazy = false\n }\n if (config.unoptimized) {\n unoptimized = true\n }\n if (\n isDefaultLoader &&\n !config.dangerouslyAllowSVG &&\n src.split('?', 1)[0].endsWith('.svg')\n ) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true\n }\n\n const qualityInt = getInt(quality)\n\n if (process.env.NODE_ENV !== 'production') {\n if (config.output === 'export' && isDefaultLoader && !unoptimized) {\n throw new Error(\n `Image Optimization using the default loader is not compatible with \\`{ output: 'export' }\\`.\n Possible solutions:\n - Remove \\`{ output: 'export' }\\` and run \"next start\" to run server mode including the Image Optimization API.\n - Configure \\`{ images: { unoptimized: true } }\\` in \\`next.config.js\\` to disable the Image Optimization API.\n Read more: https://nextjs.org/docs/messages/export-image-api`\n )\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true\n } else {\n if (fill) {\n if (width) {\n throw new Error(\n `Image with src \"${src}\" has both \"width\" and \"fill\" properties. Only one should be used.`\n )\n }\n if (height) {\n throw new Error(\n `Image with src \"${src}\" has both \"height\" and \"fill\" properties. Only one should be used.`\n )\n }\n if (style?.position && style.position !== 'absolute') {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.`\n )\n }\n if (style?.width && style.width !== '100%') {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.`\n )\n }\n if (style?.height && style.height !== '100%') {\n throw new Error(\n `Image with src \"${src}\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.`\n )\n }\n } else {\n if (typeof widthInt === 'undefined') {\n throw new Error(\n `Image with src \"${src}\" is missing required \"width\" property.`\n )\n } else if (isNaN(widthInt)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"width\" property. Expected a numeric value in pixels but received \"${width}\".`\n )\n }\n if (typeof heightInt === 'undefined') {\n throw new Error(\n `Image with src \"${src}\" is missing required \"height\" property.`\n )\n } else if (isNaN(heightInt)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"height\" property. Expected a numeric value in pixels but received \"${height}\".`\n )\n }\n // eslint-disable-next-line no-control-regex\n if (/^[\\x00-\\x20]/.test(src)) {\n throw new Error(\n `Image with src \"${src}\" cannot start with a space or control character. Use src.trimStart() to remove it or encodeURIComponent(src) to keep it.`\n )\n }\n // eslint-disable-next-line no-control-regex\n if (/[\\x00-\\x20]$/.test(src)) {\n throw new Error(\n `Image with src \"${src}\" cannot end with a space or control character. Use src.trimEnd() to remove it or encodeURIComponent(src) to keep it.`\n )\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"loading\" property. Provided \"${loading}\" should be one of ${VALID_LOADING_VALUES.map(\n String\n ).join(',')}.`\n )\n }\n if (priority && loading === 'lazy') {\n throw new Error(\n `Image with src \"${src}\" has both \"priority\" and \"loading='lazy'\" properties. Only one should be used.`\n )\n }\n if (preload && loading === 'lazy') {\n throw new Error(\n `Image with src \"${src}\" has both \"preload\" and \"loading='lazy'\" properties. Only one should be used.`\n )\n }\n if (preload && priority) {\n throw new Error(\n `Image with src \"${src}\" has both \"preload\" and \"priority\" properties. Only \"preload\" should be used.`\n )\n }\n if (\n placeholder !== 'empty' &&\n placeholder !== 'blur' &&\n !placeholder.startsWith('data:image/')\n ) {\n throw new Error(\n `Image with src \"${src}\" has invalid \"placeholder\" property \"${placeholder}\".`\n )\n }\n if (placeholder !== 'empty') {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n warnOnce(\n `Image with src \"${src}\" is smaller than 40x40. Consider removing the \"placeholder\" property to improve performance.`\n )\n }\n }\n if (\n qualityInt &&\n config.qualities &&\n !config.qualities.includes(qualityInt)\n ) {\n warnOnce(\n `Image with src \"${src}\" is using quality \"${qualityInt}\" which is not configured in images.qualities [${config.qualities.join(', ')}]. Please update your config to [${[...config.qualities, qualityInt].sort().join(', ')}].` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-qualities`\n )\n }\n if (placeholder === 'blur' && !blurDataURL) {\n const VALID_BLUR_EXT = ['jpeg', 'png', 'webp', 'avif'] // should match next-image-loader\n\n throw new Error(\n `Image with src \"${src}\" has \"placeholder='blur'\" property but is missing the \"blurDataURL\" property.\n Possible solutions:\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\n - Change the \"src\" property to a static import with one of the supported file types: ${VALID_BLUR_EXT.join(\n ','\n )} (animated images not supported)\n - Remove the \"placeholder\" property, effectively no blur effect\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url`\n )\n }\n if ('ref' in rest) {\n warnOnce(\n `Image with src \"${src}\" is using unsupported \"ref\" property. Consider using the \"onLoad\" property instead.`\n )\n }\n\n if (!unoptimized && !isDefaultLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75,\n })\n let url: URL | undefined\n try {\n url = new URL(urlStr)\n } catch (err) {}\n if (urlStr === src || (url && url.pathname === src && !url.search)) {\n warnOnce(\n `Image with src \"${src}\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width`\n )\n }\n }\n\n if (onLoadingComplete) {\n warnOnce(\n `Image with src \"${src}\" is using deprecated \"onLoadingComplete\" property. Please use the \"onLoad\" property instead.`\n )\n }\n\n for (const [legacyKey, legacyValue] of Object.entries({\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot,\n })) {\n if (legacyValue) {\n warnOnce(\n `Image with src \"${src}\" has legacy prop \"${legacyKey}\". Did you forget to run the codemod?` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13`\n )\n }\n }\n\n if (\n typeof window !== 'undefined' &&\n !perfObserver &&\n window.PerformanceObserver\n ) {\n perfObserver = new PerformanceObserver((entryList) => {\n for (const entry of entryList.getEntries()) {\n // @ts-ignore - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = entry?.element?.src || ''\n const lcpImage = allImgs.get(imgSrc)\n if (\n lcpImage &&\n lcpImage.loading === 'lazy' &&\n lcpImage.placeholder === 'empty' &&\n !lcpImage.src.startsWith('data:') &&\n !lcpImage.src.startsWith('blob:')\n ) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n warnOnce(\n `Image with src \"${lcpImage.src}\" was detected as the Largest Contentful Paint (LCP). Please add the \\`loading=\"eager\"\\` property if this image is above the fold.` +\n `\\nRead more: https://nextjs.org/docs/app/api-reference/components/image#loading`\n )\n }\n }\n })\n try {\n perfObserver.observe({\n type: 'largest-contentful-paint',\n buffered: true,\n })\n } catch (err) {\n // Log error but don't crash the app\n console.error(err)\n }\n }\n }\n const imgStyle = Object.assign(\n fill\n ? {\n position: 'absolute',\n height: '100%',\n width: '100%',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit,\n objectPosition,\n }\n : {},\n showAltText ? {} : { color: 'transparent' },\n style\n )\n\n const backgroundImage =\n !blurComplete && placeholder !== 'empty'\n ? placeholder === 'blur'\n ? `url(\"data:image/svg+xml;charset=utf-8,${getImageBlurSvg({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL: blurDataURL || '', // assume not undefined\n objectFit: imgStyle.objectFit,\n })}\")`\n : `url(\"${placeholder}\")` // assume `data:image/`\n : null\n\n const backgroundSize = !INVALID_BACKGROUND_SIZE_VALUES.includes(\n imgStyle.objectFit\n )\n ? imgStyle.objectFit\n : imgStyle.objectFit === 'fill'\n ? '100% 100%' // the background-size equivalent of `fill`\n : 'cover'\n\n let placeholderStyle: PlaceholderStyle = backgroundImage\n ? {\n backgroundSize,\n backgroundPosition: imgStyle.objectPosition || '50% 50%',\n backgroundRepeat: 'no-repeat',\n backgroundImage,\n }\n : {}\n\n if (process.env.NODE_ENV === 'development') {\n if (\n placeholderStyle.backgroundImage &&\n placeholder === 'blur' &&\n blurDataURL?.startsWith('/')\n ) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n placeholderStyle.backgroundImage = `url(\"${blurDataURL}\")`\n }\n }\n\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader,\n })\n\n const loadingFinal = isLazy ? 'lazy' : loading\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window !== 'undefined') {\n let fullUrl: URL\n try {\n fullUrl = new URL(imgAttributes.src)\n } catch (e) {\n fullUrl = new URL(imgAttributes.src, window.location.href)\n }\n allImgs.set(fullUrl.href, { src, loading: loadingFinal, placeholder })\n }\n }\n\n const props: ImgProps = {\n ...rest,\n loading: loadingFinal,\n fetchPriority,\n width: widthInt,\n height: heightInt,\n decoding,\n className,\n style: { ...imgStyle, ...placeholderStyle },\n sizes: imgAttributes.sizes,\n srcSet: imgAttributes.srcSet,\n src: overrideSrc || imgAttributes.src,\n }\n const meta = { unoptimized, preload: preload || priority, placeholder, fill }\n return { props, meta }\n}\n","\"use strict\";\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\nexports._ = _interop_require_wildcard;\n","import type React from 'react'\nimport { Children, useEffect, useLayoutEffect, type JSX } from 'react'\n\ntype State = JSX.Element[] | undefined\n\nexport type SideEffectProps = {\n reduceComponentsToState: (components: Array<React.ReactElement<any>>) => State\n handleStateChange?: (state: State) => void\n headManager: any\n children: React.ReactNode\n}\n\nconst isServer = typeof window === 'undefined'\nconst useClientOnlyLayoutEffect = isServer ? () => {} : useLayoutEffect\nconst useClientOnlyEffect = isServer ? () => {} : useEffect\n\nexport default function SideEffect(props: SideEffectProps) {\n const { headManager, reduceComponentsToState } = props\n\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = Children.toArray(\n Array.from(headManager.mountedInstances as Set<React.ReactNode>).filter(\n Boolean\n )\n ) as React.ReactElement[]\n headManager.updateHead(reduceComponentsToState(headElements))\n }\n }\n\n if (isServer) {\n headManager?.mountedInstances?.add(props.children)\n emitChange()\n }\n\n useClientOnlyLayoutEffect(() => {\n headManager?.mountedInstances?.add(props.children)\n return () => {\n headManager?.mountedInstances?.delete(props.children)\n }\n })\n\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(() => {\n if (headManager) {\n headManager._pendingUpdate = emitChange\n }\n return () => {\n if (headManager) {\n headManager._pendingUpdate = emitChange\n }\n }\n })\n\n useClientOnlyEffect(() => {\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate()\n headManager._pendingUpdate = null\n }\n return () => {\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate()\n headManager._pendingUpdate = null\n }\n }\n })\n\n return null\n}\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HeadManagerContext\n","'use client'\n\nimport React, { useContext, type JSX } from 'react'\nimport Effect from './side-effect'\nimport { HeadManagerContext } from './head-manager-context.shared-runtime'\nimport { warnOnce } from './utils/warn-once'\n\nexport function defaultHead(): JSX.Element[] {\n const head = [\n <meta charSet=\"utf-8\" key=\"charset\" />,\n <meta name=\"viewport\" content=\"width=device-width\" key=\"viewport\" />,\n ]\n return head\n}\n\nfunction onlyReactElement(\n list: Array<React.ReactElement<any>>,\n child: React.ReactElement | number | string\n): Array<React.ReactElement<any>> {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === 'string' || typeof child === 'number') {\n return list\n }\n // Adds support for React.Fragment\n if (child.type === React.Fragment) {\n return list.concat(\n // @ts-expect-error @types/react does not remove fragments but this could also return ReactPortal[]\n React.Children.toArray(child.props.children).reduce(\n // @ts-expect-error @types/react does not remove fragments but this could also return ReactPortal[]\n (\n fragmentList: Array<React.ReactElement<any>>,\n fragmentChild: React.ReactElement | number | string\n ): Array<React.ReactElement<any>> => {\n if (\n typeof fragmentChild === 'string' ||\n typeof fragmentChild === 'number'\n ) {\n return fragmentList\n }\n return fragmentList.concat(fragmentChild)\n },\n []\n )\n )\n }\n return list.concat(child)\n}\n\nconst METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp']\n\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/\nfunction unique() {\n const keys = new Set()\n const tags = new Set()\n const metaTypes = new Set()\n const metaCategories: { [metatype: string]: Set<string> } = {}\n\n return (h: React.ReactElement<any>) => {\n let isUnique = true\n let hasKey = false\n\n if (h.key && typeof h.key !== 'number' && h.key.indexOf('$') > 0) {\n hasKey = true\n const key = h.key.slice(h.key.indexOf('$') + 1)\n if (keys.has(key)) {\n isUnique = false\n } else {\n keys.add(key)\n }\n }\n\n // eslint-disable-next-line default-case\n switch (h.type) {\n case 'title':\n case 'base':\n if (tags.has(h.type)) {\n isUnique = false\n } else {\n tags.add(h.type)\n }\n break\n case 'meta':\n for (let i = 0, len = METATYPES.length; i < len; i++) {\n const metatype = METATYPES[i]\n if (!h.props.hasOwnProperty(metatype)) continue\n\n if (metatype === 'charSet') {\n if (metaTypes.has(metatype)) {\n isUnique = false\n } else {\n metaTypes.add(metatype)\n }\n } else {\n const category = h.props[metatype]\n const categories = metaCategories[metatype] || new Set()\n if ((metatype !== 'name' || !hasKey) && categories.has(category)) {\n isUnique = false\n } else {\n categories.add(category)\n metaCategories[metatype] = categories\n }\n }\n }\n break\n }\n\n return isUnique\n }\n}\n\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */\nfunction reduceComponents(\n headChildrenElements: Array<React.ReactElement<any>>\n) {\n return headChildrenElements\n .reduce(onlyReactElement, [])\n .reverse()\n .concat(defaultHead().reverse())\n .filter(unique())\n .reverse()\n .map((c: React.ReactElement<any>, i: number) => {\n const key = c.key || i\n if (process.env.NODE_ENV === 'development') {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === 'script' && c.props['type'] !== 'application/ld+json') {\n const srcMessage = c.props['src']\n ? `<script> tag with src=\"${c.props['src']}\"`\n : `inline <script>`\n warnOnce(\n `Do not add <script> tags using next/head (see ${srcMessage}). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component`\n )\n } else if (c.type === 'link' && c.props['rel'] === 'stylesheet') {\n warnOnce(\n `Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"${c.props['href']}\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component`\n )\n }\n }\n return React.cloneElement(c, { key })\n })\n}\n\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */\nfunction Head({ children }: { children: React.ReactNode }) {\n const headManager = useContext(HeadManagerContext)\n return (\n <Effect\n reduceComponentsToState={reduceComponents}\n headManager={headManager}\n >\n {children}\n </Effect>\n )\n}\n\nexport default Head\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].ImageConfigContext\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].RouterContext\n","import type { NextConfig } from '../../server/config-shared'\n\n/**\n * Find the closest matching `quality` in the list of `config.qualities`\n * @param quality the quality prop passed to the image component\n * @param config the \"images\" configuration from next.config.js\n * @returns the closest matching quality value\n */\nexport function findClosestQuality(\n quality: number | undefined,\n config: NextConfig['images'] | undefined\n): number {\n const q = quality || 75\n if (!config?.qualities?.length) {\n return q\n }\n return config.qualities.reduce(\n (prev, cur) => (Math.abs(cur - q) < Math.abs(prev - q) ? cur : prev),\n 0\n )\n}\n","import type { ImageLoaderPropsWithConfig } from './image-config'\nimport { findClosestQuality } from './find-closest-quality'\n\nfunction defaultLoader({\n config,\n src,\n width,\n quality,\n}: ImageLoaderPropsWithConfig): string {\n if (\n src.startsWith('/') &&\n src.includes('?') &&\n config.localPatterns?.length === 1 &&\n config.localPatterns[0].pathname === '**' &&\n config.localPatterns[0].search === ''\n ) {\n throw new Error(\n `Image with src \"${src}\" is using a query string which is not configured in images.localPatterns.` +\n `\\nRead more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`\n )\n }\n\n if (process.env.NODE_ENV !== 'production') {\n const missingValues = []\n\n // these should always be provided but make sure they are\n if (!src) missingValues.push('src')\n if (!width) missingValues.push('width')\n\n if (missingValues.length > 0) {\n throw new Error(\n `Next Image Optimization requires ${missingValues.join(\n ', '\n )} to be provided. Make sure you pass them as props to the \\`next/image\\` component. Received: ${JSON.stringify(\n { src, width, quality }\n )}`\n )\n }\n\n if (src.startsWith('//')) {\n throw new Error(\n `Failed to parse src \"${src}\" on \\`next/image\\`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)`\n )\n }\n\n if (src.startsWith('/') && config.localPatterns) {\n if (\n process.env.NODE_ENV !== 'test' &&\n // micromatch isn't compatible with edge runtime\n process.env.NEXT_RUNTIME !== 'edge'\n ) {\n // We use dynamic require because this should only error in development\n const { hasLocalMatch } =\n require('./match-local-pattern') as typeof import('./match-local-pattern')\n if (!hasLocalMatch(config.localPatterns, src)) {\n throw new Error(\n `Invalid src prop (${src}) on \\`next/image\\` does not match \\`images.localPatterns\\` configured in your \\`next.config.js\\`\\n` +\n `See more info: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`\n )\n }\n }\n }\n\n if (!src.startsWith('/') && (config.domains || config.remotePatterns)) {\n let parsedSrc: URL\n try {\n parsedSrc = new URL(src)\n } catch (err) {\n console.error(err)\n throw new Error(\n `Failed to parse src \"${src}\" on \\`next/image\\`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)`\n )\n }\n\n if (\n process.env.NODE_ENV !== 'test' &&\n // micromatch isn't compatible with edge runtime\n process.env.NEXT_RUNTIME !== 'edge'\n ) {\n // We use dynamic require because this should only error in development\n const { hasRemoteMatch } =\n require('./match-remote-pattern') as typeof import('./match-remote-pattern')\n if (\n !hasRemoteMatch(config.domains!, config.remotePatterns!, parsedSrc)\n ) {\n throw new Error(\n `Invalid src prop (${src}) on \\`next/image\\`, hostname \"${parsedSrc.hostname}\" is not configured under images in your \\`next.config.js\\`\\n` +\n `See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host`\n )\n }\n }\n }\n }\n\n const q = findClosestQuality(quality, config)\n\n return `${config.path}?url=${encodeURIComponent(src)}&w=${width}&q=${q}${\n src.startsWith('/_next/static/media/') && process.env.NEXT_DEPLOYMENT_ID\n ? `&dpl=${process.env.NEXT_DEPLOYMENT_ID}`\n : ''\n }`\n}\n\n// We use this to determine if the import is the default loader\n// or a custom loader defined by the user in next.config.js\ndefaultLoader.__next_img_default = true\n\nexport default defaultLoader\n","import { useCallback, useRef, type Ref } from 'react'\n\n// This is a compatibility hook to support React 18 and 19 refs.\n// In 19, a cleanup function from refs may be returned.\n// In 18, returning a cleanup function creates a warning.\n// Since we take userspace refs, we don't know ahead of time if a cleanup function will be returned.\n// This implements cleanup functions with the old behavior in 18.\n// We know refs are always called alternating with `null` and then `T`.\n// So a call with `null` means we need to call the previous cleanup functions.\nexport function useMergedRef<TElement>(\n refA: Ref<TElement>,\n refB: Ref<TElement>\n): Ref<TElement> {\n const cleanupA = useRef<(() => void) | null>(null)\n const cleanupB = useRef<(() => void) | null>(null)\n\n // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.\n // (this happens often if the user doesn't pass a ref to Link/Form/Image)\n // But this can cause us to leak a cleanup-ref into user code (previously via `<Link legacyBehavior>`),\n // and the user might pass that ref into ref-merging library that doesn't support cleanup refs\n // (because it hasn't been updated for React 19)\n // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.\n // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.\n return useCallback(\n (current: TElement | null): void => {\n if (current === null) {\n const cleanupFnA = cleanupA.current\n if (cleanupFnA) {\n cleanupA.current = null\n cleanupFnA()\n }\n const cleanupFnB = cleanupB.current\n if (cleanupFnB) {\n cleanupB.current = null\n cleanupFnB()\n }\n } else {\n if (refA) {\n cleanupA.current = applyRef(refA, current)\n }\n if (refB) {\n cleanupB.current = applyRef(refB, current)\n }\n }\n },\n [refA, refB]\n )\n}\n\nfunction applyRef<TElement>(\n refA: NonNullable<Ref<TElement>>,\n current: TElement\n) {\n if (typeof refA === 'function') {\n const cleanup = refA(current)\n if (typeof cleanup === 'function') {\n return cleanup\n } else {\n return () => refA(null)\n }\n } else {\n refA.current = current\n return () => {\n refA.current = null\n }\n }\n}\n","'use client'\n\nimport React, {\n useRef,\n useEffect,\n useCallback,\n useContext,\n useMemo,\n useState,\n forwardRef,\n use,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport Head from '../shared/lib/head'\nimport { getImgProps } from '../shared/lib/get-img-props'\nimport type {\n ImageProps,\n ImgProps,\n OnLoad,\n OnLoadingComplete,\n PlaceholderValue,\n} from '../shared/lib/get-img-props'\nimport type {\n ImageConfigComplete,\n ImageLoaderProps,\n} from '../shared/lib/image-config'\nimport { imageConfigDefault } from '../shared/lib/image-config'\nimport { ImageConfigContext } from '../shared/lib/image-config-context.shared-runtime'\nimport { warnOnce } from '../shared/lib/utils/warn-once'\nimport { RouterContext } from '../shared/lib/router-context.shared-runtime'\n\n// This is replaced by webpack alias\nimport defaultLoader from 'next/dist/shared/lib/image-loader'\nimport { useMergedRef } from './use-merged-ref'\n\n// This is replaced by webpack define plugin\nconst configEnv = process.env.__NEXT_IMAGE_OPTS as any as ImageConfigComplete\n\nif (typeof window === 'undefined') {\n ;(globalThis as any).__NEXT_IMAGE_IMPORTED = true\n}\n\nexport type { ImageLoaderProps }\nexport type ImageLoader = (p: ImageLoaderProps) => string\n\ntype ImgElementWithDataProp = HTMLImageElement & {\n 'data-loaded-src': string | undefined\n}\n\ntype ImageElementProps = ImgProps & {\n unoptimized: boolean\n placeholder: PlaceholderValue\n onLoadRef: React.MutableRefObject<OnLoad | undefined>\n onLoadingCompleteRef: React.MutableRefObject<OnLoadingComplete | undefined>\n setBlurComplete: (b: boolean) => void\n setShowAltText: (b: boolean) => void\n sizesInput: string | undefined\n}\n\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(\n img: ImgElementWithDataProp,\n placeholder: PlaceholderValue,\n onLoadRef: React.MutableRefObject<OnLoad | undefined>,\n onLoadingCompleteRef: React.MutableRefObject<OnLoadingComplete | undefined>,\n setBlurComplete: (b: boolean) => void,\n unoptimized: boolean,\n sizesInput: string | undefined\n) {\n const src = img?.src\n if (!img || img['data-loaded-src'] === src) {\n return\n }\n img['data-loaded-src'] = src\n const p = 'decode' in img ? img.decode() : Promise.resolve()\n p.catch(() => {}).then(() => {\n if (!img.parentElement || !img.isConnected) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return\n }\n if (placeholder !== 'empty') {\n setBlurComplete(true)\n }\n if (onLoadRef?.current) {\n // Since we don't have the SyntheticEvent here,\n // we must create one with the same shape.\n // See https://reactjs.org/docs/events.html\n const event = new Event('load')\n Object.defineProperty(event, 'target', { writable: false, value: img })\n let prevented = false\n let stopped = false\n onLoadRef.current({\n ...event,\n nativeEvent: event,\n currentTarget: img,\n target: img,\n isDefaultPrevented: () => prevented,\n isPropagationStopped: () => stopped,\n persist: () => {},\n preventDefault: () => {\n prevented = true\n event.preventDefault()\n },\n stopPropagation: () => {\n stopped = true\n event.stopPropagation()\n },\n })\n }\n if (onLoadingCompleteRef?.current) {\n onLoadingCompleteRef.current(img)\n }\n if (process.env.NODE_ENV !== 'production') {\n const origSrc = new URL(src, 'http://n').searchParams.get('url') || src\n if (img.getAttribute('data-nimg') === 'fill') {\n if (!unoptimized && (!sizesInput || sizesInput === '100vw')) {\n let widthViewportRatio =\n img.getBoundingClientRect().width / window.innerWidth\n if (widthViewportRatio < 0.6) {\n if (sizesInput === '100vw') {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" prop and \"sizes\" prop of \"100vw\", but image is not rendered at full viewport width. Please adjust \"sizes\" to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes`\n )\n } else {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" but is missing \"sizes\" prop. Please add it to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes`\n )\n }\n }\n }\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement)\n const valid = ['absolute', 'fixed', 'relative']\n if (!valid.includes(position)) {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" and parent element with invalid \"position\". Provided \"${position}\" should be one of ${valid\n .map(String)\n .join(',')}.`\n )\n }\n }\n if (img.height === 0) {\n warnOnce(\n `Image with src \"${origSrc}\" has \"fill\" and a height value of 0. This is likely because the parent element of the image has not been styled to have a set height.`\n )\n }\n }\n\n const heightModified =\n img.height.toString() !== img.getAttribute('height')\n const widthModified = img.width.toString() !== img.getAttribute('width')\n if (\n (heightModified && !widthModified) ||\n (!heightModified && widthModified)\n ) {\n warnOnce(\n `Image with src \"${origSrc}\" has either width or height modified, but not the other. If you use CSS to change the size of your image, also include the styles 'width: \"auto\"' or 'height: \"auto\"' to maintain the aspect ratio.`\n )\n }\n }\n })\n}\n\nfunction getDynamicProps(\n fetchPriority?: string\n): Record<string, string | undefined> {\n if (Boolean(use)) {\n // In React 19.0.0 or newer, we must use camelCase\n // prop to avoid \"Warning: Invalid DOM property\".\n // See https://github.com/facebook/react/pull/25927\n return { fetchPriority }\n }\n // In React 18.2.0 or older, we must use lowercase prop\n // to avoid \"Warning: Invalid DOM property\".\n return { fetchpriority: fetchPriority }\n}\n\nconst ImageElement = forwardRef<HTMLImageElement | null, ImageElementProps>(\n (\n {\n src,\n srcSet,\n sizes,\n height,\n width,\n decoding,\n className,\n style,\n fetchPriority,\n placeholder,\n loading,\n unoptimized,\n fill,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n setShowAltText,\n sizesInput,\n onLoad,\n onError,\n ...rest\n },\n forwardedRef\n ) => {\n const ownRef = useCallback(\n (img: ImgElementWithDataProp | null) => {\n if (!img) {\n return\n }\n if (onError) {\n // If the image has an error before react hydrates, then the error is lost.\n // The workaround is to wait until the image is mounted which is after hydration,\n // then we set the src again to trigger the error handler (if there was an error).\n // eslint-disable-next-line no-self-assign\n img.src = img.src\n }\n if (process.env.NODE_ENV !== 'production') {\n if (!src) {\n console.error(`Image is missing required \"src\" property:`, img)\n }\n if (img.getAttribute('alt') === null) {\n console.error(\n `Image is missing required \"alt\" property. Please add Alternative Text to describe the image for screen readers and search engines.`\n )\n }\n }\n if (img.complete) {\n handleLoading(\n img,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n unoptimized,\n sizesInput\n )\n }\n },\n [\n src,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n onError,\n unoptimized,\n sizesInput,\n ]\n )\n\n const ref = useMergedRef(forwardedRef, ownRef)\n\n return (\n <img\n {...rest}\n {...getDynamicProps(fetchPriority)}\n // It's intended to keep `loading` before `src` because React updates\n // props in order which causes Safari/Firefox to not lazy load properly.\n // See https://github.com/facebook/react/issues/25883\n loading={loading}\n width={width}\n height={height}\n decoding={decoding}\n data-nimg={fill ? 'fill' : '1'}\n className={className}\n style={style}\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n sizes={sizes}\n srcSet={srcSet}\n src={src}\n ref={ref}\n onLoad={(event) => {\n const img = event.currentTarget as ImgElementWithDataProp\n handleLoading(\n img,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n unoptimized,\n sizesInput\n )\n }}\n onError={(event) => {\n // if the real image fails to load, this will ensure \"alt\" is visible\n setShowAltText(true)\n if (placeholder !== 'empty') {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true)\n }\n if (onError) {\n onError(event)\n }\n }}\n />\n )\n }\n)\n\nfunction ImagePreload({\n isAppRouter,\n imgAttributes,\n}: {\n isAppRouter: boolean\n imgAttributes: ImgProps\n}) {\n const opts: ReactDOM.PreloadOptions = {\n as: 'image',\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: imgAttributes.crossOrigin,\n referrerPolicy: imgAttributes.referrerPolicy,\n ...getDynamicProps(imgAttributes.fetchPriority),\n }\n\n if (isAppRouter && ReactDOM.preload) {\n ReactDOM.preload(imgAttributes.src, opts)\n return null\n }\n\n return (\n <Head>\n <link\n key={\n '__nimg-' +\n imgAttributes.src +\n imgAttributes.srcSet +\n imgAttributes.sizes\n }\n rel=\"preload\"\n // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n href={imgAttributes.srcSet ? undefined : imgAttributes.src}\n {...opts}\n />\n </Head>\n )\n}\n\n/**\n * The `Image` component is used to optimize images.\n *\n * Read more: [Next.js docs: `Image`](https://nextjs.org/docs/app/api-reference/components/image)\n */\nexport const Image = forwardRef<HTMLImageElement | null, ImageProps>(\n (props, forwardedRef) => {\n const pagesRouter = useContext(RouterContext)\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter\n\n const configContext = useContext(ImageConfigContext)\n const config = useMemo(() => {\n const c = configEnv || configContext || imageConfigDefault\n\n const allSizes = [...c.deviceSizes, ...c.imageSizes].sort((a, b) => a - b)\n const deviceSizes = c.deviceSizes.sort((a, b) => a - b)\n const qualities = c.qualities?.sort((a, b) => a - b)\n return {\n ...c,\n allSizes,\n deviceSizes,\n qualities,\n // During the SSR, configEnv (__NEXT_IMAGE_OPTS) does not include\n // security sensitive configs like `localPatterns`, which is needed\n // during the server render to ensure it's validated. Therefore use\n // configContext, which holds the config from the server for validation.\n localPatterns:\n typeof window === 'undefined'\n ? configContext?.localPatterns\n : c.localPatterns,\n }\n }, [configContext])\n\n const { onLoad, onLoadingComplete } = props\n const onLoadRef = useRef(onLoad)\n\n useEffect(() => {\n onLoadRef.current = onLoad\n }, [onLoad])\n\n const onLoadingCompleteRef = useRef(onLoadingComplete)\n\n useEffect(() => {\n onLoadingCompleteRef.current = onLoadingComplete\n }, [onLoadingComplete])\n\n const [blurComplete, setBlurComplete] = useState(false)\n const [showAltText, setShowAltText] = useState(false)\n const { props: imgAttributes, meta: imgMeta } = getImgProps(props, {\n defaultLoader,\n imgConf: config,\n blurComplete,\n showAltText,\n })\n\n return (\n <>\n {\n <ImageElement\n {...imgAttributes}\n unoptimized={imgMeta.unoptimized}\n placeholder={imgMeta.placeholder}\n fill={imgMeta.fill}\n onLoadRef={onLoadRef}\n onLoadingCompleteRef={onLoadingCompleteRef}\n setBlurComplete={setBlurComplete}\n setShowAltText={setShowAltText}\n sizesInput={props.sizes}\n ref={forwardedRef}\n />\n }\n {imgMeta.preload ? (\n <ImagePreload\n isAppRouter={isAppRouter}\n imgAttributes={imgAttributes}\n />\n ) : null}\n </>\n )\n }\n)\n","import type { ImageConfigComplete, ImageLoaderProps } from './image-config'\nimport type { ImageProps, ImageLoader, StaticImageData } from './get-img-props'\n\nimport { getImgProps } from './get-img-props'\nimport { Image } from '../../client/image-component'\n\n// This is replaced by webpack alias\nimport defaultLoader from 'next/dist/shared/lib/image-loader'\n\n/**\n * For more advanced use cases, you can call `getImageProps()`\n * to get the props that would be passed to the underlying `<img>` element,\n * and instead pass to them to another component, style, canvas, etc.\n *\n * Read more: [Next.js docs: `getImageProps`](https://nextjs.org/docs/app/api-reference/components/image#getimageprops)\n */\nexport function getImageProps(imgProps: ImageProps) {\n const { props } = getImgProps(imgProps, {\n defaultLoader,\n // This is replaced by webpack define plugin\n imgConf: process.env.__NEXT_IMAGE_OPTS as any as ImageConfigComplete,\n })\n // Normally we don't care about undefined props because we pass to JSX,\n // but this exported function could be used by the end user for anything\n // so we delete undefined props to clean it up a little.\n for (const [key, value] of Object.entries(props)) {\n if (value === undefined) {\n delete props[key as keyof typeof props]\n }\n }\n return { props }\n}\n\nexport default Image\n\nexport type { ImageProps, ImageLoaderProps, ImageLoader, StaticImageData }\n","module.exports = require('./dist/shared/lib/image-external')\n"],"names":["warnOnce","_","process","env","NODE_ENV","warnings","Set","msg","has","console","warn","add","getImageBlurSvg","widthInt","heightInt","blurWidth","blurHeight","blurDataURL","objectFit","std","svgWidth","svgHeight","viewBox","preserveAspectRatio","VALID_LOADERS","imageConfigDefault","deviceSizes","imageSizes","path","loader","loaderFile","domains","disableStaticImages","minimumCacheTTL","formats","maximumRedirects","dangerouslyAllowLocalIP","dangerouslyAllowSVG","contentSecurityPolicy","contentDispositionType","localPatterns","undefined","remotePatterns","qualities","unoptimized","getImgProps","VALID_LOADING_VALUES","INVALID_BACKGROUND_SIZE_VALUES","isStaticRequire","src","default","isStaticImageData","isStaticImport","allImgs","Map","perfObserver","getInt","x","Number","isFinite","NaN","test","parseInt","getWidths","allSizes","width","sizes","viewportWidthRe","percentSizes","match","exec","push","length","smallestRatio","Math","min","widths","filter","s","kind","map","w","find","p","generateImgAttrs","config","quality","srcSet","last","i","join","priority","preload","loading","className","height","fill","style","overrideSrc","onLoad","onLoadingComplete","placeholder","fetchPriority","decoding","layout","objectPosition","lazyBoundary","lazyRoot","rest","_state","imgConf","showAltText","blurComplete","defaultLoader","c","sort","a","b","Error","isDefaultLoader","customImageLoader","obj","opts","layoutToStyle","intrinsic","maxWidth","responsive","layoutToSizes","layoutStyle","layoutSizes","staticSrc","staticImageData","JSON","stringify","ratio","round","isLazy","startsWith","split","endsWith","qualityInt","output","position","isNaN","includes","String","VALID_BLUR_EXT","urlStr","url","URL","err","pathname","search","legacyKey","legacyValue","Object","entries","window","PerformanceObserver","entryList","entry","getEntries","imgSrc","element","lcpImage","get","observe","type","buffered","error","imgStyle","assign","left","top","right","bottom","color","backgroundImage","backgroundSize","placeholderStyle","backgroundPosition","backgroundRepeat","imgAttributes","loadingFinal","fullUrl","e","location","href","set","props","meta","SideEffect","isServer","useClientOnlyLayoutEffect","useLayoutEffect","useClientOnlyEffect","useEffect","headManager","reduceComponentsToState","emitChange","mountedInstances","headElements","Children","toArray","Array","from","Boolean","updateHead","children","delete","_pendingUpdate","module","exports","require","vendored","HeadManagerContext","defaultHead","head","charSet","name","content","onlyReactElement","list","child","React","Fragment","concat","reduce","fragmentList","fragmentChild","METATYPES","unique","keys","tags","metaTypes","metaCategories","h","isUnique","hasKey","key","indexOf","slice","len","metatype","hasOwnProperty","category","categories","reduceComponents","headChildrenElements","reverse","srcMessage","cloneElement","Head","useContext","Effect","ImageConfigContext","RouterContext","findClosestQuality","q","prev","cur","abs","missingValues","NEXT_RUNTIME","hasLocalMatch","parsedSrc","hasRemoteMatch","hostname","encodeURIComponent","NEXT_DEPLOYMENT_ID","__next_img_default","useMergedRef","refA","refB","cleanupA","useRef","cleanupB","useCallback","current","cleanupFnA","cleanupFnB","applyRef","cleanup","Image","configEnv","__NEXT_IMAGE_OPTS","globalThis","__NEXT_IMAGE_IMPORTED","handleLoading","img","onLoadRef","onLoadingCompleteRef","setBlurComplete","sizesInput","decode","Promise","resolve","catch","then","parentElement","isConnected","event","Event","defineProperty","writable","value","prevented","stopped","nativeEvent","currentTarget","target","isDefaultPrevented","isPropagationStopped","persist","preventDefault","stopPropagation","origSrc","searchParams","getAttribute","widthViewportRatio","getBoundingClientRect","innerWidth","getComputedStyle","valid","heightModified","toString","widthModified","getDynamicProps","use","fetchpriority","ImageElement","forwardRef","setShowAltText","onError","forwardedRef","ownRef","complete","ref","data-nimg","ImagePreload","isAppRouter","as","imageSrcSet","crossOrigin","referrerPolicy","ReactDOM","link","rel","pagesRouter","configContext","useMemo","useState","imgMeta","getImageProps","imgProps"],"mappings":"6CAKA,EAAQ,CAAC,CAHT,EAGY,OAHsB,AAAzB,CAA4B,EACjC,OAAO,GAAO,EAAI,UAAU,CAAG,EAAM,CAAE,QAAS,CAAI,CACxD,yGCOSA,WAAAA,qCAAAA,KAXT,IAAIA,EAAW,AAACC,IAAe,gCCGxB,SAASW,EAAgB,UAC9BC,CAAQ,WACRC,CAAS,WACTC,CAAS,YACTC,CAAU,aACVC,CAAW,WACXC,CAAS,CAQV,EAEC,IAAME,EAAWL,EAAYA,AAAY,KAAKF,EACxCQ,EAAYL,EAA0B,GAAbA,EAAkBF,EAE3CQ,EACJF,GAAYC,EAAY,CAAC,aAAa,EAAED,EAAS,CAAC,EAAEC,EAAU,CAAC,CAAC,CAAG,GASrE,MAAO,CAAC,0CAA0C,EAAEC,QAAQ,yFAAyF,EAAEH,IAAI,+PAA+P,EAAEA,IAAI,+EARpYG,EACxB,OACc,GAMye,EAAEC,OANzfL,EACE,WAK2gB,AAJ3gBA,AAAc,YACZ,iBACA,MAE4iB,sCAAED,YAAY,MAAgB,AACplB,CA/BC,OAAA,CA8BklB,aA9BllB,CAAA,EAAA,aAAA,oCACeL,kBAAAA,qCAAAA,2FCHHY,aAAa,CAAA,kBAAbA,GAuIAC,kBAAkB,CAAA,kBAAlBA,uEAvIN,IAAMD,EAAgB,CAC3B,UACA,QACA,aACA,SACA,SACD,CAiIYC,EAA0C,CACrDC,YAAa,CAAC,IAAK,IAAK,IAAK,KAAM,KAAM,KAAM,KAAM,KAAK,CAC1DC,WAAY,CAAC,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAI,CAC3CC,KAAM,eACNC,OAAQ,UACRC,WAAY,GAIZC,QAAS,EAAE,CACXC,oBAAqB,GACrBC,gBAAiB,MACjBC,QAAS,CAAC,aAAa,CACvBC,iBAAkB,EAClBC,yBAAyB,EACzBC,qBAAqB,EACrBC,sBAAuB,CAAC,6CAA6C,CAAC,CACtEC,uBAAwB,aACxBC,mBAAeC,EACfC,eAAgB,EAAE,CAClBC,UAAW,CAAC,GAAG,CACfC,aAAa,CACf,yGCyGgBC,cAAAA,qCAAAA,OAtQS,CAAA,CAAA,IAAA,WACO,CAAA,CAAA,IAAA,OACG,CAAA,CAAA,IAAA,GAuF7BE,EAAiC,CACrC,eACA,OACA,OACA,aACAN,OACD,CA4BD,SAASO,EACPC,CAAoC,EAEpC,YAA0CR,IAAlCQ,EAAsBC,OAAO,AACvC,CAuBA,SAASM,EAAOC,CAAU,SACxB,AAAI,KAAa,IAANA,EACFA,EAEQ,KAHa,KAGH,AAAvB,OAAOA,EACFC,OAAOC,QAAQ,CAACF,GAAKA,EAAIG,IAEjB,UAAb,OAAOH,GAAkB,WAAWI,IAAI,CAACJ,GACpCK,CADwC,QAC/BL,EAAG,IAEdG,GACT,CAqGO,SAASf,EACd,KACEI,CAAG,OACHiB,CAAK,aACLtB,GAAc,CAAK,UACnB+C,GAAW,CAAK,SAChBC,GAAU,CAAK,SACfC,CAAO,WACPC,CAAS,SACTR,CAAO,CACPrB,OAAK,QACL8B,CAAM,MACNC,GAAO,CAAK,OACZC,CAAK,aACLC,CAAW,QACXC,CAAM,mBACNC,CAAiB,CACjBC,cAAc,OAAO,aACrBpF,CAAW,eACXqF,CAAa,UACbC,EAAW,OAAO,QAClBC,CAAM,WACNtF,CAAS,gBACTuF,CAAc,CACdC,cAAY,UACZC,CAAQ,CACR,GAAGC,EACQ,CACbC,CAKC,QAUD,IACIxB,EAqEAtE,EACAC,EAvEE,SAAE8F,CAAO,aAAEC,CAAW,cAAEC,CAAY,eAAEC,CAAa,CAAE,CAAGJ,EAE1DK,EAAIJ,GAAWrF,EAAAA,kBAAkB,CACrC,GAAI,aAAcyF,EAChB7B,CADmB,CACV6B,MACJ,CACL,IAAMlD,EAAW,IAAIkD,EAAExF,WAAW,IAAKwF,EAAEvF,UAAU,CAAC,CAACwF,IAAI,CAAC,CAACC,EAAGC,IAAMD,EAAIC,GAClE3F,EAAcwF,EAAExF,WAAW,CAACyF,IAAI,CAAC,CAACC,EAAGC,IAAMD,EAAIC,GAC/C1E,EAAYuE,EAAEvE,SAAS,EAAEwE,KAAK,CAACC,EAAGC,IAAMD,EAAIC,GAClDhC,EAAS,CAAE,GAAG6B,CAAC,UAAElD,cAAUtC,YAAaiB,CAAU,CACpD,CAEA,GAAI,KAAyB,IAAlBsE,EACT,MAAM,CADkC,MAClC,cAEL,CAFK,AAAIK,MACR,yIADI,oBAAA,OAAA,mBAAA,gBAAA,CAEN,GAEF,IAAIzF,EAAgC+E,EAAK/E,MAAM,EAAIoF,CAGnD,QAAOL,EAAK/E,MAAM,CAClB,OAAQ+E,EAAarB,MAAM,CAI3B,IAAMgC,EAAkB,uBAAwB1F,EAEhD,GAAI0F,GACF,GAAsB,UAAU,CADb,AACflC,EAAOxD,MAAM,CACf,MAAM,OAAA,cAGL,CAHK,AAAIyF,MACR,CAAC,gBAAgB,EAAErE,EAChB,EADoB,2BAA2B;AAC/C,qEAAuE,CADvB,AACwB,EAFvE,CAEF,mBAFE,OAAA,mBAAA,gBAAA,CAGN,EACF,KACK,CAIL,IAAMuE,EAAoB3F,EAC1BA,EAAU4F,AAAD,IACP,GAAM,CAAEpC,OAAQpF,CAAC,CAAE,GAAGyH,EAAM,CAAGD,EAC/B,OAAOD,EAAkBE,EAC3B,CACF,CAEA,GAAIlB,EAAQ,CACK,QAAQ,CAAnBA,IACFR,EAAO,EAAA,EAUT,IAAMgC,EARoE,AAQtDL,CAPlBC,UAAW,CAAEC,SAAU,OAAQ9B,OAAQ,MAAO,EAC9C+B,WAAY,CAAE7D,MAAO,OAAQ8B,OAAQ,MAAO,CAC9C,CAKiC,CAACS,EAAO,CACrCwB,IACF/B,EAAQ,CAAE,GAAGA,CAAK,CAAE,CADL,EACQ+B,CAAW,CAAC,EAErC,IAAMC,EARoD,AAQtCF,CAPlBD,WAAY,QACZ9B,KAAM,OACR,CAKiC,CAACQ,EAAO,CACrCyB,GAAe,CAAC/D,IAClBA,EAAQ+D,CADiB,AACjBA,CAEZ,CAEA,IAAIC,EAAY,GACZrH,EAAW2C,EAAOS,GAClBnD,EAAY0C,EAAOuC,GAGvB,GAhPE,CAAC,AAgPC3C,AAlPkBH,CAElBA,CAgPeA,CAlP6B,GAG/B,UAAf,EACCD,KADMC,IACND,EAAgBC,QACfE,CARoCV,IAQlBQ,AARdA,EAAwBA,GAQVA,AARa,CAQM,CA6OhB,CACvB,IAAMkF,EAAkBnF,EAAgBC,GAAOA,EAAIC,OAAO,CAAGD,EAE7D,GAAI,CAACkF,EAAgBlF,GAAG,CACtB,CADwB,KAClB,OAAA,cAIL,CAJK,AAAIqE,MACR,CAAC,2IAA2I,EAAEc,KAAKC,SAAS,CAC1JF,GAAAA,CACC,EAHC,oBAAA,OAAA,mBAAA,eAAA,EAIN,GAEF,GAAI,CAACA,EAAgBpC,MAAM,EAAI,CAACoC,EAAgBlE,KAAK,CACnD,CADqD,KAC/C,OAAA,cAIL,CAJK,AAAIqD,MACR,CAAC,wJAAwJ,EAAEc,KAAKC,SAAS,CACvKF,GAAAA,CACC,EAHC,oBAAA,OAAA,kBAAA,gBAAA,CAIN,GAQF,GALApH,EAAYoH,EAAgBpH,SAAS,CACrCC,EAAamH,EAAgBnH,UAAU,CACvCC,EAAcA,GAAekH,EAAgBlH,WAAW,CACxDiH,EAAYC,EAAgBlF,GAAG,CAE3B,CAAC+C,EACH,GAAI,AAACnF,CADI,EACSC,GAGX,GAAID,GAHM,AAGM,CAACC,CAHK,CAGM,CACjC,IAAMwH,EAAQzH,EAAWsH,EAAgBlE,KAAK,CAC9CnD,EAAY4D,KAAK6D,KAAK,CAACJ,EAAgBpC,MAAM,CAAGuC,EAClD,MAAO,GAAI,CAACzH,GAAYC,EAAW,CACjC,IAAMwH,EAAQxH,EAAYqH,EAAgBpC,MAAM,CAChDlF,EAAW6D,KAAK6D,KAAK,CAACJ,EAAgBlE,KAAK,CAAGqE,GAChD,MAREzH,EAAWsH,EAAgBlE,KAAK,CAChCnD,EAAYqH,EAAgBpC,MASlC,AATwC,CAYxC,IAAIyC,EACF,CAAC7C,GACD,CAACC,IACY,OAAZC,EAAAA,GAAsB,KAAmB,IAAZA,CAAY,CAAU,EAClD,CAAC5C,AANLA,GAAqB,UAAf,OAAOA,EAAmBA,EAAMiF,CAAAA,GAM1BjF,EAAIwF,UAAU,CAAC,UAAYxF,EAAIwF,UAAU,CAAC,QAAA,GAAU,CAE9D7F,GAAc,EACd4F,GAAS,GAEPnD,EAAOzC,WAAW,EAAE,CACtBA,GAAc,CAAA,EAGd2E,GACA,CAAClC,EAAOhD,mBAAmB,EAC3BY,EAAIyF,KAAK,CAAC,IAAK,EAAE,CAAC,EAAE,CAACC,QAAQ,CAAC,SAC9B,CAGA/F,GAAc,CAAA,EAGhB,IAAMgG,EAAapF,EAAO8B,GA6NpBoF,EAAWf,OAAOgB,MAAM,CAC5B3E,EACI,CACE8C,SAAU,WACV/C,OAAQ,OACR9B,MAAO,OACP2G,KAAM,EACNC,IAAK,EACLC,MAAO,EACPC,OAAQ,YACR7J,iBACAuF,CACF,EACA,CAAC,EACLM,EAAc,CAAC,EAAI,CAAEiE,MAAO,aAAc,EAC1C/E,GAGIgF,EACJ,AAACjE,GAAgC,UAAhBX,EAWb,KAVgB,SAAhBA,EACE,CAAC,sCAAsC,EAAEzF,CAAAA,EAAAA,EAAAA,eAAAA,AAAe,EAAC,UACvDC,YACAC,EACAC,uBACAC,EACAC,YAAaA,GAAe,GAC5BC,UAAWwJ,EAASxJ,SAAS,AAC/B,GAAG,EAAE,CAAC,CACN,CAAC,KAAK,EAAEmF,EAAY,EAAE,CAAC,CAAC,AAG1B6E,EAAiB,AAACnI,EAA+BiG,QAAQ,CAC7D0B,EAASxJ,QAJ4C,CAInC,EAGO,SAAvBwJ,EAASxJ,SAAS,CAChB,YAAY,AACZ,QAHFwJ,EAASxJ,SAAS,CAKlBiK,EAAqCF,EACrC,gBACEC,EACAE,CANuD,kBAMnCV,EAASjE,cAAc,EAAI,UAC/C4E,iBAAkB,4BAClBJ,CACF,EACA,CAAC,EAeCK,EAAgBlG,AAlfxB,SAASA,AAAiB,QACxBC,CAAM,KACNpC,CAAG,aACHL,CAAW,OACXqB,CAAK,SACLqB,CAAO,OACPpB,CAAK,CACLrC,QAAM,CACU,EAChB,GAAIe,EACF,MAAO,KAAEK,AADM,EACDsC,YAAQ9C,EAAWyB,WAAOzB,CAAU,EAGpD,GAAM,QAAEmC,CAAM,MAAEG,CAAI,CAAE,CAAGhB,AAxE3B,SAASA,AACP,aAAErC,CAAW,UAAEsC,CAAQ,CAAe,CACtCC,CAAyB,CACzBC,CAAyB,EAEzB,GAAIA,EAAO,CAET,IAAMC,EAAkB,qBAClBC,EAAe,EAAE,CACvB,IAAK,IAAIC,EAAQA,EAAQF,EAAgBG,IAAI,CAACJ,IAC5CE,EAAaG,EADwCF,EACpC,CAACP,GAD0C,MACjCO,CAAK,CAAC,EAAE,GAErC,GAAID,EAAaI,MAAM,CAAE,CACvB,IAAMC,EAA4C,IAA5BC,KAAKC,GAAG,IAAIP,GAClC,MAAO,CACLQ,OAAQZ,EAASa,MAAM,CAAC,AAACC,GAAMA,GAAKpD,CAAW,CAAC,EAAE,CAAG+C,GACrDM,KAAM,GACR,CACF,CACA,MAAO,CAAEH,OAAQZ,EAAUe,KAAM,GAAI,CACvC,OACqB,AAArB,UAAI,AAA2B,OAApBd,EACF,CAAEW,OAAQlD,EAAaqD,KAAM,GAAI,EAkBnC,CAAEH,OAfM,IACV,IAAItE,IACL,AACA,AAOA,CAAC2D,EAAe,EAARA,AAAU,EAAgB,CAACe,GAAG,CACpC,AAACC,GAAMjB,EAASkB,CADa,GACT,CAAEC,AAAD,GAAOA,GAAKF,IAAMjB,CAAQ,CAACA,EAASQ,MAAM,CAAG,EAAE,GAGzE,CACgBO,KAAM,GAAI,CAC7B,EA+BqCM,EAAQpB,EAAOC,GAC5CsB,EA7CmE,AA6C5DZ,EA9C8D,AA8CvDJ,MAAM,CAAG,EAE7B,MAAO,CACLN,MAAO,AAACA,GAAkB,MAATa,EAAyBb,EAAV,QAChCqB,OAAQX,EACLI,GAAG,CACF,CAACC,EAAGQ,IACF,CAAA,EAAG5D,EAAO,QAAEwD,MAAQpC,UAAKqC,EAASrB,MAAOgB,CAAE,GAAG,CAAC,EACpC,MAATF,EAAeE,EAAIQ,EAAI,EAAA,EACtBV,EAAAA,CAAM,EAEZW,IAAI,CAAC,MAQRzC,IAAKpB,EAAO,QAAEwD,EAAQpC,cAAKqC,EAASrB,MAAOW,CAAM,CAACY,EAAK,AAAC,EAC1D,CACF,EA+cyC,QACrCH,MACApC,EACAL,cACAqB,MAAOpD,EACPyE,QAASsD,QACT1E,SACArC,CACF,GAEM0J,EAAe/C,EAAS,OAAS3C,EA4BvC,MAAO,CAAEgG,MAde,CACtB,GAAGjF,CAAI,CACPf,QAAS0F,gBACTjF,EACArC,MAAOpD,EACPkF,OAAQjF,WACRyF,YACAT,EACAG,MAAO,CAAE,GAAGyE,CAAQ,CAAE,GAAGS,CAAgB,AAAC,EAC1CjH,MAAOoH,EAAcpH,KAAK,CAC1BqB,OAAQ+F,EAAc/F,MAAM,CAC5BtC,IAAKiD,GAAeoF,EAAcrI,GAAG,AACvC,EAEgB6I,KADH,aAAElJ,EAAagD,QAASA,GAAWD,cAAUU,OAAaL,CAAK,CACvD,CACvB,+BCrvBA,SAAS,EAAyB,CAAW,EACzC,GAAuB,YAAnB,OAAO,QAAwB,OAAO,KAE1C,IAAI,EAAoB,IAAI,QACxB,EAAmB,IAAI,QAE3B,MAAO,CAAC,EAA2B,SAAS,CAAW,EACnD,OAAO,EAAc,EAAmB,EAC5C,CAAC,CAAE,EACP,CA0BA,EAAQ,CAAC,CAzBT,EAyBY,OAzBH,AAA0B,CAAG,CAAE,CAAW,EAC/C,GAAI,CAAC,GAAe,GAAO,EAAI,UAAU,CAAE,OAAO,EAClD,GAAY,OAAR,GAA+B,UAAf,OAAO,GAAmC,YAAf,OAAO,EAAoB,MAAO,CAAE,QAAS,CAAI,EAEhG,IAAI,EAAQ,EAAyB,GAErC,GAAI,GAAS,EAAM,GAAG,CAAC,GAAM,OAAO,EAAM,GAAG,CAAC,GAE9C,IAAI,EAAS,CAAE,UAAW,IAAK,EAC3B,EAAwB,OAAO,cAAc,EAAI,OAAO,wBAAwB,CAEpF,IAAK,IAAI,KAAO,EACZ,EADiB,CACL,YAAR,GAAqB,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,EAAK,GAAM,CACrE,IAAI,EAAO,EAAwB,OAAO,wBAAwB,CAAC,EAAK,GAAO,KAC3E,IAAS,EAAK,EAAN,CAAS,EAAI,EAAK,GAAA,AAAG,EAAG,OAAO,cAAc,CAAC,EAAQ,EAAK,GAClE,CAAM,CAAC,EAAI,CAAG,CAAG,CAAC,EAAI,AAC/B,CAOJ,OAJA,EAAO,OAAO,CAAG,EAEb,GAAO,EAAM,GAAG,CAAC,EAAK,GAEnB,CACX,yGCpBA,UAAA,qCAAwB+F,aAfuC,CAAA,CAAA,IAAA,GAYzDE,EAAuC,KAAO,EAGrC,EAHyCC,OAGhCH,EAAWF,CAAsB,EACvD,GAAM,EAJ0BG,KAAqC,MAI7DK,CAAW,yBAAEC,CAAuB,CAAE,CAAGT,EAEjD,SAASU,IACP,GAAIF,GAAeA,EAAYG,gBAAgB,CAAE,CAC/C,IAAMC,EAAeC,EAAAA,QAAQ,CAACC,OAAO,CACnCC,MAAMC,IAAI,CAACR,EAAYG,gBAAgB,EAA0B3H,MAAM,CACrEiI,UAGJT,EAAYU,UAAU,CAACT,EAAwBG,GACjD,CACF,QAGEJ,GAAaG,kBAAkB7L,IAAIkL,EAAMmB,QAAQ,EACjDT,IAGFN,EAA0B,KACxBI,GAAaG,kBAAkB7L,IAAIkL,EAAMmB,QAAQ,EAC1C,KACLX,GAAaG,kBAAkBS,OAAOpB,EAAMmB,QAAQ,CACtD,IAQFf,EAA0B,KACpBI,IACFA,EAAYa,OADG,OACW,CAAGX,CAAAA,EAExB,KACDF,IACFA,EAAYa,OADG,OACW,CAAGX,CAAAA,CAEjC,IAgBK,IACT,+BCxEAY,GAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRC,QAAQ,CAAC,QAAW,CAACC,kBAAkB,uFCkKzC,OAAmB,CAAA,kBAAnB,GA7JgBC,WAAW,CAAA,kBAAXA,yHAL4B,CAAA,CAAA,IAAA,YACzB,CAAA,CAAA,IAAA,QACgB,CAAA,CAAA,IAAA,GAG5B,SAASA,IAKd,MAJa,CACX,AAGKC,CAHL,EAAA,EAAA,GAAA,EAAC3B,OAAAA,CAAK4B,QAAQ,SAAY,WAC1B,CAAA,EAAA,EAAA,GAAA,EAAC5B,OAAAA,CAAK6B,KAAK,WAAWC,QAAQ,sBAAyB,YAG3D,AAFG,CAIH,SAASC,EACPC,CAAoC,CACpCC,CAA2C,QAG3C,AAAqB,UAAjB,OAAOA,GAAuC,UAAjB,AAA2B,OAApBA,EAC/BD,EAGLC,EAAMxD,IAAI,GAAKyD,EAAAA,OAAK,CAACC,QAAQ,CACxBH,CAD0B,CACrBI,MAAM,CAEhBF,EAAAA,OAAK,CAACtB,QAAQ,CAACC,OAAO,CAACoB,EAAMlC,KAAK,CAACmB,QAAQ,EAAEmB,MAAM,CAEjD,CACEC,EACAC,IAEA,AAC2B,UAAzB,OAAOA,EARsF,CAS7F,AAAyB,UACzB,OADOA,EAEAD,EAEFA,EAAaF,MAAM,CAACG,GAE7B,EAAE,GAIDP,EAAKI,MAAM,CAACH,EACrB,GAzCyB,CAAA,CAAA,IAAA,EAuBkF,CAoB3G,IAAMO,EAAY,CAAC,OAAQ,YAAa,UAAW,WAAW,CAsE9D,SAASiB,EACPC,CAAoD,EA/DpD,YAiEA,OAAOA,EACJrB,MAAM,CAACN,EAAkB,EAAE,EAC3B4B,OAAO,GACPvB,MAAM,CAACV,IAAciC,OAAO,IAC5B5K,MAAM,CAAC0J,CArEJC,EAAO,IAAIlO,IACXmO,EAAO,IAAInO,IACXoO,EAAY,IAAIpO,IAChBqO,EAAsD,CAAC,EAEtD,AAACC,IACN,IAAIC,EAAW,GACXC,GAAS,EAEb,GAAIF,EAAEG,GAAG,EAAqB,UAAjB,OAAOH,EAAEG,GAAG,EAAiBH,EAAEG,GAAG,CAACC,OAAO,CAAC,KAAO,EAAG,CAChEF,GAAS,EACT,IAAMC,EAAMH,EAAEG,GAAG,CAACE,KAAK,CAACL,EAAEG,GAAG,CAACC,OAAO,CAAC,KAAO,GACzCR,EAAKhO,GAAG,CAACuO,GACXF,GADiB,AACN,EAEXL,EAAK7N,GAAG,CAACoO,EAEb,CAGA,OAAQH,EAAErE,IAAI,EACZ,IAAK,QACL,IAAK,OACCkE,EAAKjO,GAAG,CAACoO,EAAErE,IAAI,EACjBsE,CADoB,EACT,EAEXJ,EAAK9N,GAAG,CAACiO,EAAErE,IAAI,EAEjB,KACF,KAAK,OACH,IAAK,IAAI9E,EAAI,EAAGyJ,EAAMZ,EAAU9J,MAAM,CAAEiB,EAAIyJ,EAAKzJ,IAAK,CACpD,IAAM0J,EAAWb,CAAS,CAAC7I,EAAE,CAC7B,GAAKmJ,CAAD,CAAG/C,KAAK,CAACuD,cAAc,CAACD,GAE5B,GAAiB,KAFsB,MAEX,CAAxBA,EACET,EAAUlO,GAAG,CAAC2O,GAChBN,GAAW,EAEXH,EAAU/N,CAHiB,EAGd,CAACwO,OAEX,CACL,IAAME,EAAWT,EAAE/C,KAAK,CAACsD,EAAS,CAC5BG,EAAaX,CAAc,CAACQ,EAAS,EAAI,IAAI7O,GAC9C6O,EAAa,SAAbA,GAAuB,CAACL,CAAAA,CAAK,EAAMQ,EAAW9O,GAAG,CAAC6O,GACrDR,EAAW,IAEXS,EAHgE,AAGrD3O,GAAG,CAAC0O,GACfV,CAAc,CAACQ,EAAS,CAAGG,EAE/B,CACF,CAEJ,CAEA,OAAOT,CACT,IAeGY,OAAO,GACPzK,GAAG,CAAC,CAACkC,EAA4BzB,KAChC,IAAMsJ,EAAM7H,EAAE6H,GAAG,EAAItJ,EAgBrB,OAAA,AAAOuI,EAAAA,OAAK,CAAC2B,CAAb,WAAyB,CAACzI,EAAG,KAAE6H,CAAI,EACrC,EACJ,KAkBA,EAZA,SAASa,AAAK,AAYCA,UAZC5C,CAAQ,CAAiC,EACvD,IAAMX,EAAcwD,CAAAA,EAAAA,EAAAA,UAAAA,AAAU,EAACtC,EAAAA,kBAAkB,EACjD,MACE,CADF,AACE,EAAA,EAAA,GAAA,EAACuC,EADH,AACGA,OAAM,CAAA,CACLxD,wBAAyBiD,EACzBlD,YAAaA,WAEZW,GAGP,uPClKAG,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRC,QAAQ,CAAC,QAAW,CAACyC,kBAAkB,+BCFzC5C,EAAOC,OAAO,CACZC,EAAQ,CAAA,CAAA,IAAA,GACRC,QAAQ,CAAC,QAAW,CAAC0C,aAAa,+BCM7B,SAASC,EACd3K,CAA2B,CAC3BD,CAAwC,EAExC,IAAM6K,EAAI5K,GAAW,UACrB,AAAKD,GAAQ1C,CAAT,UAAoB6B,OAGjBa,CAHyB,CAGlB1C,SAAS,CAACwL,MAAM,CAC5B,CAACgC,EAAMC,IAAS1L,KAAK2L,GAAG,CAACD,EAAMF,GAAKxL,KAAK2L,GAAG,CAACF,EAAOD,GAAKE,EAAMD,EAC/D,GAJOD,CAMX,0EAZgBD,qBAAAA,qCAAAA,4GCmGhB,UAAA,qCAAA,aA1GmC,CAAA,CAAA,IAAA,GAEnC,SAAShJ,EAAc,QACrB5B,CAAM,KACNpC,CAAG,OACHgB,CAAK,SACLqB,CAAO,CACoB,EAC3B,GACErC,EAAIwF,UAAU,CAAC,MACfxF,EAAI+F,QAAQ,CAAC,MACb3D,EAAO7C,aAAa,EAAEgC,SAAW,GACI,OAArCa,EAAO7C,aAAa,CAAC,EAAE,CAAC+G,QAAQ,EACG,IACnC,CADAlE,EAAO7C,aAAa,CAAC,EAAE,CAACgH,MAAM,CAE9B,MAAM,OAAA,cAGL,CAHK,AAAIlC,MACR,CAAC,gBAAgB,EAAErE,EAChB,EADoB,0EAA0E;AAC9F,iFAAmF,CAAC,AADW,EAD9F,CAEF,mBAFE,OAAA,mBAAA,gBAAA,CAGN,GA2EF,IAAMiN,EAAID,CAAAA,EAAAA,EAAAA,kBAAAA,AAAkB,EAAC3K,EAASD,GAEtC,MAAO,CAAA,EAAGA,EAAOzD,IAAI,CAAC,KAAK,EAAEgP,mBAAmB3N,GAAK,GAAG,EAAEgB,EAAM,GAAG,EAAEiM,EAAAA,EACnEjN,EAAIwF,UAAU,CAAC,wBAEX,GAFsCvI,AAEtC,CACJ,AACJ,CAIA+G,EAAc6J,IARwC3Q,CACR,EADW,AACT,CADU0Q,UAQ1B,CAAG,OARyC,AAU5E,EAAe5J,UATP,CAAC,KAAK,EAAE/G,QAAQC,GAAG,CAAC0Q,0ECzFZE,eAAAA,qCAAAA,aAT8B,CAAA,CAAA,IAAA,GASvC,SAASA,EACdC,CAAmB,CACnBC,CAAmB,EAEnB,IAAMC,EAAWC,CAAAA,EAAAA,EAAAA,MAAAA,AAAM,EAAsB,MACvCC,EAAWD,CAAAA,EAAAA,EAAAA,MAAAA,AAAM,EAAsB,MAS7C,MAAOE,GAAAA,EAAAA,WAAAA,AAAW,EACfC,AAAD,IACE,GAAgB,OAAZA,EAAkB,CACpB,IAAMC,EAAaL,EAASI,OAAO,CAC/BC,IACFL,EAASI,MADK,CACE,CAAG,KACnBC,KAEF,IAAMC,EAAaJ,EAASE,OAAO,CAC/BE,IACFJ,EAASE,MADK,CACE,CAAG,KACnBE,IAEJ,MACMR,CADC,GAEHE,EADQ,AACCI,OAAO,CAAGG,EAAST,EAAMM,EAAAA,EAEhCL,IACFG,EADQ,AACCE,OAAO,CAAGG,EAASR,EAAMK,EAAAA,CAGxC,EACA,CAACN,EAAMC,EAAK,CAEhB,CAEA,SAASQ,EACPT,CAAgC,CAChCM,CAAiB,EAEjB,GAAoB,YAAhB,OAAON,EAST,OADAA,EAAKM,OAAO,CAAGA,EACR,KACLN,EAAKM,OAAO,CAAG,IACjB,CAX8B,EAC9B,IAAMI,EAAUV,EAAKM,SACE,AAAvB,YAAmC,AAA/B,OAAOI,EACFA,EAEA,IAAMV,EAAK,KAEtB,CAMF,MANS,yTCySIW,QAAAA,qCAAAA,uDA1VN,CAAA,CAAA,IAAA,YACc,CAAA,CAAA,IAAA,YACJ,CAAA,CAAA,IAAA,QACW,CAAA,CAAA,IAAA,OAYO,CAAA,CAAA,IAAA,OACA,CAAA,CAAA,IAAA,KACV,CAAA,CAAA,IAAA,WACK,CAAA,CAAA,IAAA,WAGJ,CAAA,CAAA,IAAA,QACG,CAAA,CAAA,IAAA,EAGvBC,EAAyC,UAA7B1R,QAAQC,GAAG,CAAC0R,iBAAiB,6IAyB/C,SAASG,EACPC,CAA2B,CAC3B5L,CAA6B,CAC7B6L,CAAqD,CACrDC,CAA2E,CAC3EC,CAAqC,CACrCxP,CAAoB,CACpByP,CAA8B,EAE9B,IAAMpP,EAAMgP,GAAKhP,GACjB,CAAKgP,GAAD,AAAQA,CAAG,CAAC,kBAAkB,GAAKhP,IAGvCgP,CAH4C,AAGzC,CAAC,kBAAkB,CAAGhP,EAEzBkC,CADU,WAAY8M,EAAMA,EAAIK,MAAM,GAAKC,QAAQC,OAAO,EAAA,EACxDC,KAAK,CAAC,KAAO,GAAGC,IAAI,CAAC,KACrB,GAAI,AAACT,EAAIU,aAAa,EAAKV,EAAD,AAAKW,WAAW,EAAE,AAW5C,GAHoB,SAAS,CAAzBvM,GACF+L,GAAgB,GAEdF,GAAWZ,QAAS,CAItB,IAAMuB,EAAQ,IAAIC,MAAM,QACxBnJ,OAAOoJ,cAAc,CAACF,EAAO,SAAU,CAAEG,UAAU,EAAOC,MAAOhB,CAAI,GACrE,IAAIiB,GAAY,EACZC,GAAU,EACdjB,EAAUZ,OAAO,CAAC,CAChB,GAAGuB,CAAK,CACRO,YAAaP,EACbQ,cAAepB,EACfqB,OAAQrB,EACRsB,mBAAoB,IAAML,EAC1BM,qBAAsB,IAAML,EAC5BM,QAAS,KAAO,EAChBC,eAAgB,KACdR,GAAY,EACZL,EAAMa,cAAc,EACtB,EACAC,gBAAiB,KACfR,EAAU,GACVN,EAAMc,eAAe,EACvB,CACF,EACF,CACIxB,GAAsBb,SAAS,AACjCa,EAAqBb,OAAO,CAACW,GAkDjC,GACF,CAEA,SAASsC,EACPjO,CAAsB,SAEVkO,AAAZ,EAAYA,EAAR1H,CAAW,CAIN,EAJS,aAIPxG,CAAc,EAIlB,CAAEmO,cAAenO,CAAc,CACxC,CA7IIwL,WAAmBC,qBAAqB,EAAG,EA+I/C,IAAM2C,EAAeC,CAAAA,EAAAA,EAAAA,QAAfD,EAAeC,AAAU,EAC7B,CACE,KACE1R,CAHAyR,AAGG,QACHnP,CAAM,OACNrB,CAAK,QACL6B,CAAM,OACN9B,CAAK,UACLsC,CAAQ,WACRT,CAAS,CACTG,OAAK,eACLK,CAAa,aACbD,CAAW,SACXR,CAAO,aACPjD,CAAW,MACXoD,CAAI,WACJkM,CAAS,sBACTC,CAAoB,iBACpBC,CAAe,gBACfwC,CAAc,YACdvC,CAAU,QACVlM,CAAM,SACN0O,CAAO,CACP,GAAGjO,EACJ,CACDkO,KAEA,IAAMC,EAAS1D,CAAAA,EAAAA,EAAAA,WAAAA,AAAW,EACxB,AAACY,IACMA,IAGD4C,CAHM,GAQR5C,EAAIhP,GALO,AAKJ,CAAGgP,EAAIhP,GAAAA,AAAG,EAYfgP,EAAI+C,QAAQ,EAAE,AAChBhD,EACEC,EACA5L,EACA6L,EACAC,EACAC,EACAxP,EACAyP,GAGN,EACA,CACEpP,EACAoD,EACA6L,EACAC,EACAC,EACAyC,EACAjS,EACAyP,EACD,EAGG4C,EAAMlE,CAAAA,EAAAA,EAAAA,YAAAA,AAAY,EAAC+D,EAAcC,GAEvC,MACE,CADF,AACE,EAAA,EAAA,GAAA,EAAC9C,EADH,IACGA,CACE,GAAGrL,CAAI,CACP,GAAG2N,EAAgBjO,EAAc,CAIlCT,QAASA,EACT5B,MAAOA,EACP8B,OAAQA,EACRQ,SAAUA,EACV2O,YAAWlP,EAAO,OAAS,IAC3BF,UAAWA,EACXG,MAAOA,EAOP/B,MAAOA,EACPqB,OAAQA,EACRtC,IAAKA,EACLgS,IAAKA,EACL9O,OAAQ,AAAC0M,IAEPb,EADYa,EAAMQ,UAEhBpB,GAF6B,CAG7B5L,EACA6L,EACAC,EACAC,EACAxP,EACAyP,EAEJ,EACAwC,QAAS,AAAChC,IAER+B,GAAe,GACK,SAAS,CAAzBvO,GAEF+L,GAAgB,GAEdyC,GACFA,EAAQhC,EAEZ,EAHe,CAMrB,GAGF,SAASsC,EAAa,aACpBC,CAAW,eACX9J,CAAa,CAId,EACC,IAAM5D,EAAgC,CACpC2N,GAAI,QACJC,YAAahK,EAAc/F,MAAM,CACjC5D,WAAY2J,EAAcpH,KAAK,CAC/BqR,YAAajK,EAAciK,WAAW,CACtCC,eAAgBlK,EAAckK,cAAc,CAC5C,GAAGjB,EAAgBjJ,EAAchF,aAAa,CAAC,AACjD,SAEA,AAAI8O,GAAeK,EAAAA,OAAQ,CAAC7P,OAAO,EAAE,AACnC6P,EAAAA,OAAQ,CAAC7P,OAAO,CAAC0F,EAAcrI,GAAG,CAAEyE,GAC7B,MAIP,CAAA,EAAA,EAAA,GAAA,EAACkI,EAAAA,OAAI,CAAA,UACH,CAAA,EAAA,EAAA,GAAA,EAAC8F,EAAD,KAACA,CAOCC,IAAI,UAMJhK,KAAML,EAAc/F,MAAM,MAAG9C,EAAY6I,EAAcrI,GAAG,CACzD,GAAGyE,CAAI,EAZN,UACA4D,EAAcrI,GAAG,CACjBqI,EAAc/F,MAAM,CACpB+F,EAAcpH,KAAK,GAa7B,CAOO,IAAMyN,EAAQgD,CAAAA,EAAAA,EAAAA,CAARhD,SAAQgD,AAAU,EAC7B,AADWhD,CACV9F,EAAOiJ,KACN,IAAMc,EAAc/F,GAAAA,EAAAA,UAAAA,AAAU,EAACG,EAAAA,aAAa,EAItC6F,EAAgBhG,CAAAA,EAAAA,EAAAA,UAAAA,AAAU,EAACE,EAAAA,kBAAkB,EAC7C1K,EAASyQ,CAAAA,EAAAA,EAAAA,OAAAA,AAAO,EAAC,KACrB,IAAM5O,EAAI0K,GAAaiE,GAAiBpU,EAAAA,kBAAkB,CAEpDuC,EAAW,IAAIkD,EAAExF,WAAW,IAAKwF,EAAEvF,UAAU,CAAC,CAACwF,IAAI,CAAC,CAACC,EAAGC,IAAMD,EAAIC,GAClE3F,EAAcwF,EAAExF,WAAW,CAACyF,IAAI,CAAC,CAACC,EAAGC,IAAMD,EAAIC,GAC/C1E,EAAYuE,EAAEvE,SAAS,EAAEwE,KAAK,CAACC,EAAGC,IAAMD,EAAIC,GAClD,MAAO,CACL,GAAGH,CAAC,CACJlD,uBACAtC,EACAiB,YAKAH,cAEMqT,CADJ,EACmBrT,KADZqH,QAGX,CACF,EAJwB,AAEd3C,AAEP,CAAC2O,CAFQrT,CAEM,EAEZ,QAAE2D,CAAM,CAJW,kBAITC,CAAiB,CAAE,CAAGyF,EAChCqG,EAAYf,CAAAA,EAAAA,EAAAA,MAAAA,AAAM,EAAChL,GAEzBiG,CAAAA,EAAAA,EAAAA,SAAAA,AAAS,EAAC,KACR8F,EAAUZ,OAAO,CAAGnL,CACtB,EAAG,CAACA,EAAO,EAEX,IAAMgM,EAAuBhB,CAAAA,EAAAA,EAAAA,MAAAA,AAAM,EAAC/K,GAEpCgG,CAAAA,EAAAA,EAAAA,SAAAA,AAAS,EAAC,KACR+F,EAAqBb,OAAO,CAAGlL,CACjC,EAAG,CAACA,EAAkB,EAEtB,GAAM,CAACY,EAAcoL,EAAgB,CAAG2D,CAAAA,EAAAA,EAAAA,QAAAA,AAAQ,GAAC,GAC3C,CAAChP,EAAa6N,EAAe,CAAGmB,CAAAA,EAAAA,EAAAA,QAAAA,AAAQ,GAAC,GACzC,CAAElK,MAAOP,CAAa,CAAEQ,KAAMkK,CAAO,CAAE,CAAGnT,CAAAA,EAAAA,EAAAA,WAAAA,AAAW,EAACgJ,EAAO,CACjE5E,cAAAA,EAAAA,OAAa,CACbH,QAASzB,eACT2B,EACAD,aACF,GAEA,MACE,CAAA,AADF,EACE,EAAA,IAAA,EAAA,CADF,CACE,QAAA,CAAA,WAEI,CAAA,EAAA,EAAA,GAAA,EAAC2N,EAAAA,CACE,GAAGpJ,CAAa,CACjB1I,YAAaoT,EAAQpT,WAAW,CAChCyD,YAAa2P,EAAQ3P,WAAW,CAChCL,KAAMgQ,EAAQhQ,IAAI,CAClBkM,UAAWA,EACXC,qBAAsBA,EACtBC,gBAAiBA,EACjBwC,eAAgBA,EAChBvC,WAAYxG,EAAM3H,KAAK,CACvB+Q,IAAKH,IAGRkB,EAAQpQ,OAAO,CACd,CAAA,CADc,CACd,EAAA,GAAA,EAACuP,EAAAA,CADa,AAEZC,YAjEY,CAiECA,AAjEAQ,EAkEbtK,cAAeA,IAEf,OAGV,gTC/YF,OAAoB,CAAA,kBAApB,GAjBgB2K,aAAa,CAAA,kBAAbA,4FAbY,CAAA,CAAA,IAAA,OACN,CAAA,CAAA,IAAA,WAGI,CAAA,CAAA,IAAA,IASnB,SAASA,EAAcC,CAAoB,EAChD,GAAM,OAAErK,CAAK,CAAE,CAAGhJ,GAAAA,EAAAA,WAAW,AAAXA,EAAYqT,EAAU,CACtCjP,cAAAA,EAAAA,OAAa,CAEbH,OAAAA,CAAsC,CAA7B5G,QAAQC,GAAG,CAAC0R,iBAAiB,qJACxC,GAIA,IAAK,GAAM,CAAC9C,EAAKkE,EAAM,GAAItJ,OAAOC,OAAO,CAACiC,GAC1BpJ,IADkC,KAC5CwQ,EAAqB,CACvB,OAAOpH,CAAK,CAACkD,EAA0B,CAG3C,MAAO,OAAElD,CAAM,CACjB,KAEA,EAAe8F,EAAAA,KAAK,iBCjCpB,EAAO,OAAO,CAAA,EAAA,CAAA,CAAA","ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]}