dev3000 0.0.124 → 0.0.126

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 (388) hide show
  1. package/mcp-server/.next/BUILD_ID +1 -0
  2. package/mcp-server/.next/app-path-routes-manifest.json +20 -0
  3. package/mcp-server/.next/build/chunks/[root-of-the-server]__25374c4f._.js +500 -0
  4. package/mcp-server/.next/build/chunks/[root-of-the-server]__25374c4f._.js.map +11 -0
  5. package/mcp-server/.next/build/chunks/[root-of-the-server]__6e020478._.js +441 -0
  6. package/mcp-server/.next/build/chunks/[root-of-the-server]__6e020478._.js.map +7 -0
  7. package/mcp-server/.next/build/chunks/[root-of-the-server]__c438ef56._.js +205 -0
  8. package/mcp-server/.next/build/chunks/[root-of-the-server]__c438ef56._.js.map +8 -0
  9. package/mcp-server/.next/build/chunks/[root-of-the-server]__c7ae8543._.js +500 -0
  10. package/mcp-server/.next/build/chunks/[root-of-the-server]__c7ae8543._.js.map +11 -0
  11. package/mcp-server/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_80bff36f._.js +13 -0
  12. package/mcp-server/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_80bff36f._.js.map +5 -0
  13. package/mcp-server/.next/build/chunks/[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js +12 -0
  14. package/mcp-server/.next/build/chunks/[turbopack-node]_transforms_webpack-loaders_ts_c84aa21a._.js.map +5 -0
  15. package/mcp-server/.next/build/chunks/[turbopack]_runtime.js +770 -0
  16. package/mcp-server/.next/build/chunks/[turbopack]_runtime.js.map +10 -0
  17. package/mcp-server/.next/build/chunks/node_modules__pnpm_806d01c0._.js +6758 -0
  18. package/mcp-server/.next/build/chunks/node_modules__pnpm_806d01c0._.js.map +47 -0
  19. package/mcp-server/.next/build/package.json +1 -0
  20. package/mcp-server/.next/build/postcss.js +6 -0
  21. package/mcp-server/.next/build/postcss.js.map +5 -0
  22. package/mcp-server/.next/build/webpack-loaders.js +6 -0
  23. package/mcp-server/.next/build/webpack-loaders.js.map +5 -0
  24. package/mcp-server/.next/build-manifest.json +20 -0
  25. package/mcp-server/.next/export-marker.json +6 -0
  26. package/mcp-server/.next/fallback-build-manifest.json +12 -0
  27. package/mcp-server/.next/images-manifest.json +66 -0
  28. package/mcp-server/.next/next-minimal-server.js.nft.json +1 -0
  29. package/mcp-server/.next/next-server.js.nft.json +1 -0
  30. package/mcp-server/.next/package.json +1 -0
  31. package/mcp-server/.next/prerender-manifest.json +88 -0
  32. package/mcp-server/.next/required-server-files.json +317 -0
  33. package/mcp-server/.next/routes-manifest.json +159 -0
  34. package/mcp-server/.next/server/app/_global-error/page/app-paths-manifest.json +3 -0
  35. package/mcp-server/.next/server/app/_global-error/page/build-manifest.json +17 -0
  36. package/mcp-server/.next/server/app/_global-error/page/next-font-manifest.json +6 -0
  37. package/mcp-server/.next/server/app/_global-error/page/react-loadable-manifest.json +1 -0
  38. package/mcp-server/.next/server/app/_global-error/page/server-reference-manifest.json +4 -0
  39. package/mcp-server/.next/server/app/_global-error/page.js +10 -0
  40. package/mcp-server/.next/server/app/_global-error/page.js.map +5 -0
  41. package/mcp-server/.next/server/app/_global-error/page.js.nft.json +1 -0
  42. package/mcp-server/.next/server/app/_global-error/page_client-reference-manifest.js +2 -0
  43. package/mcp-server/.next/server/app/_global-error.html +2 -0
  44. package/mcp-server/.next/server/app/_global-error.meta +15 -0
  45. package/mcp-server/.next/server/app/_global-error.rsc +12 -0
  46. package/mcp-server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +5 -0
  47. package/mcp-server/.next/server/app/_global-error.segments/_full.segment.rsc +12 -0
  48. package/mcp-server/.next/server/app/_global-error.segments/_head.segment.rsc +7 -0
  49. package/mcp-server/.next/server/app/_global-error.segments/_index.segment.rsc +4 -0
  50. package/mcp-server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  51. package/mcp-server/.next/server/app/_not-found/page/app-paths-manifest.json +3 -0
  52. package/mcp-server/.next/server/app/_not-found/page/build-manifest.json +17 -0
  53. package/mcp-server/.next/server/app/_not-found/page/next-font-manifest.json +6 -0
  54. package/mcp-server/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -0
  55. package/mcp-server/.next/server/app/_not-found/page/server-reference-manifest.json +4 -0
  56. package/mcp-server/.next/server/app/_not-found/page.js +13 -0
  57. package/mcp-server/.next/server/app/_not-found/page.js.map +5 -0
  58. package/mcp-server/.next/server/app/_not-found/page.js.nft.json +1 -0
  59. package/mcp-server/.next/server/app/_not-found/page_client-reference-manifest.js +2 -0
  60. package/mcp-server/.next/server/app/_not-found.html +1 -0
  61. package/mcp-server/.next/server/app/_not-found.meta +16 -0
  62. package/mcp-server/.next/server/app/_not-found.rsc +14 -0
  63. package/mcp-server/.next/server/app/_not-found.segments/_full.segment.rsc +14 -0
  64. package/mcp-server/.next/server/app/_not-found.segments/_head.segment.rsc +7 -0
  65. package/mcp-server/.next/server/app/_not-found.segments/_index.segment.rsc +6 -0
  66. package/mcp-server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -0
  67. package/mcp-server/.next/server/app/_not-found.segments/_not-found.segment.rsc +4 -0
  68. package/mcp-server/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -0
  69. package/mcp-server/.next/server/app/api/jank/[session]/route/app-paths-manifest.json +3 -0
  70. package/mcp-server/.next/server/app/api/jank/[session]/route/build-manifest.json +11 -0
  71. package/mcp-server/.next/server/app/api/jank/[session]/route/server-reference-manifest.json +4 -0
  72. package/mcp-server/.next/server/app/api/jank/[session]/route.js +10 -0
  73. package/mcp-server/.next/server/app/api/jank/[session]/route.js.map +5 -0
  74. package/mcp-server/.next/server/app/api/jank/[session]/route.js.nft.json +1 -0
  75. package/mcp-server/.next/server/app/api/jank/[session]/route_client-reference-manifest.js +2 -0
  76. package/mcp-server/.next/server/app/api/logs/append/route/app-paths-manifest.json +3 -0
  77. package/mcp-server/.next/server/app/api/logs/append/route/build-manifest.json +11 -0
  78. package/mcp-server/.next/server/app/api/logs/append/route/server-reference-manifest.json +4 -0
  79. package/mcp-server/.next/server/app/api/logs/append/route.js +6 -0
  80. package/mcp-server/.next/server/app/api/logs/append/route.js.map +5 -0
  81. package/mcp-server/.next/server/app/api/logs/append/route.js.nft.json +1 -0
  82. package/mcp-server/.next/server/app/api/logs/append/route_client-reference-manifest.js +2 -0
  83. package/mcp-server/.next/server/app/api/logs/head/route/app-paths-manifest.json +3 -0
  84. package/mcp-server/.next/server/app/api/logs/head/route/build-manifest.json +11 -0
  85. package/mcp-server/.next/server/app/api/logs/head/route/server-reference-manifest.json +4 -0
  86. package/mcp-server/.next/server/app/api/logs/head/route.js +6 -0
  87. package/mcp-server/.next/server/app/api/logs/head/route.js.map +5 -0
  88. package/mcp-server/.next/server/app/api/logs/head/route.js.nft.json +1 -0
  89. package/mcp-server/.next/server/app/api/logs/head/route_client-reference-manifest.js +2 -0
  90. package/mcp-server/.next/server/app/api/logs/list/route/app-paths-manifest.json +3 -0
  91. package/mcp-server/.next/server/app/api/logs/list/route/build-manifest.json +11 -0
  92. package/mcp-server/.next/server/app/api/logs/list/route/server-reference-manifest.json +4 -0
  93. package/mcp-server/.next/server/app/api/logs/list/route.js +6 -0
  94. package/mcp-server/.next/server/app/api/logs/list/route.js.map +5 -0
  95. package/mcp-server/.next/server/app/api/logs/list/route.js.nft.json +1 -0
  96. package/mcp-server/.next/server/app/api/logs/list/route_client-reference-manifest.js +2 -0
  97. package/mcp-server/.next/server/app/api/logs/rotate/route/app-paths-manifest.json +3 -0
  98. package/mcp-server/.next/server/app/api/logs/rotate/route/build-manifest.json +11 -0
  99. package/mcp-server/.next/server/app/api/logs/rotate/route/server-reference-manifest.json +4 -0
  100. package/mcp-server/.next/server/app/api/logs/rotate/route.js +8 -0
  101. package/mcp-server/.next/server/app/api/logs/rotate/route.js.map +5 -0
  102. package/mcp-server/.next/server/app/api/logs/rotate/route.js.nft.json +1 -0
  103. package/mcp-server/.next/server/app/api/logs/rotate/route_client-reference-manifest.js +2 -0
  104. package/mcp-server/.next/server/app/api/logs/stream/route/app-paths-manifest.json +3 -0
  105. package/mcp-server/.next/server/app/api/logs/stream/route/build-manifest.json +11 -0
  106. package/mcp-server/.next/server/app/api/logs/stream/route/server-reference-manifest.json +4 -0
  107. package/mcp-server/.next/server/app/api/logs/stream/route.js +6 -0
  108. package/mcp-server/.next/server/app/api/logs/stream/route.js.map +5 -0
  109. package/mcp-server/.next/server/app/api/logs/stream/route.js.nft.json +1 -0
  110. package/mcp-server/.next/server/app/api/logs/stream/route_client-reference-manifest.js +2 -0
  111. package/mcp-server/.next/server/app/api/logs/tail/route/app-paths-manifest.json +3 -0
  112. package/mcp-server/.next/server/app/api/logs/tail/route/build-manifest.json +11 -0
  113. package/mcp-server/.next/server/app/api/logs/tail/route/server-reference-manifest.json +4 -0
  114. package/mcp-server/.next/server/app/api/logs/tail/route.js +6 -0
  115. package/mcp-server/.next/server/app/api/logs/tail/route.js.map +5 -0
  116. package/mcp-server/.next/server/app/api/logs/tail/route.js.nft.json +1 -0
  117. package/mcp-server/.next/server/app/api/logs/tail/route_client-reference-manifest.js +2 -0
  118. package/mcp-server/.next/server/app/api/orchestrator/route/app-paths-manifest.json +3 -0
  119. package/mcp-server/.next/server/app/api/orchestrator/route/build-manifest.json +11 -0
  120. package/mcp-server/.next/server/app/api/orchestrator/route/server-reference-manifest.json +4 -0
  121. package/mcp-server/.next/server/app/api/orchestrator/route.js +9 -0
  122. package/mcp-server/.next/server/app/api/orchestrator/route.js.map +5 -0
  123. package/mcp-server/.next/server/app/api/orchestrator/route.js.nft.json +1 -0
  124. package/mcp-server/.next/server/app/api/orchestrator/route_client-reference-manifest.js +2 -0
  125. package/mcp-server/.next/server/app/api/screenshots/[filename]/route/app-paths-manifest.json +3 -0
  126. package/mcp-server/.next/server/app/api/screenshots/[filename]/route/build-manifest.json +11 -0
  127. package/mcp-server/.next/server/app/api/screenshots/[filename]/route/server-reference-manifest.json +4 -0
  128. package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js +8 -0
  129. package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js.map +5 -0
  130. package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js.nft.json +1 -0
  131. package/mcp-server/.next/server/app/api/screenshots/[filename]/route_client-reference-manifest.js +2 -0
  132. package/mcp-server/.next/server/app/api/screenshots/list/route/app-paths-manifest.json +3 -0
  133. package/mcp-server/.next/server/app/api/screenshots/list/route/build-manifest.json +11 -0
  134. package/mcp-server/.next/server/app/api/screenshots/list/route/server-reference-manifest.json +4 -0
  135. package/mcp-server/.next/server/app/api/screenshots/list/route.js +8 -0
  136. package/mcp-server/.next/server/app/api/screenshots/list/route.js.map +5 -0
  137. package/mcp-server/.next/server/app/api/screenshots/list/route.js.nft.json +1 -0
  138. package/mcp-server/.next/server/app/api/screenshots/list/route_client-reference-manifest.js +2 -0
  139. package/mcp-server/.next/server/app/api/teams/route/app-paths-manifest.json +3 -0
  140. package/mcp-server/.next/server/app/api/teams/route/build-manifest.json +11 -0
  141. package/mcp-server/.next/server/app/api/teams/route/server-reference-manifest.json +4 -0
  142. package/mcp-server/.next/server/app/api/teams/route.js +8 -0
  143. package/mcp-server/.next/server/app/api/teams/route.js.map +5 -0
  144. package/mcp-server/.next/server/app/api/teams/route.js.nft.json +1 -0
  145. package/mcp-server/.next/server/app/api/teams/route_client-reference-manifest.js +2 -0
  146. package/mcp-server/.next/server/app/api/tools/route/app-paths-manifest.json +3 -0
  147. package/mcp-server/.next/server/app/api/tools/route/build-manifest.json +11 -0
  148. package/mcp-server/.next/server/app/api/tools/route/server-reference-manifest.json +4 -0
  149. package/mcp-server/.next/server/app/api/tools/route.js +8 -0
  150. package/mcp-server/.next/server/app/api/tools/route.js.map +5 -0
  151. package/mcp-server/.next/server/app/api/tools/route.js.nft.json +1 -0
  152. package/mcp-server/.next/server/app/api/tools/route_client-reference-manifest.js +2 -0
  153. package/mcp-server/.next/server/app/index.html +1 -0
  154. package/mcp-server/.next/server/app/index.meta +14 -0
  155. package/mcp-server/.next/server/app/index.rsc +18 -0
  156. package/mcp-server/.next/server/app/index.segments/__PAGE__.segment.rsc +9 -0
  157. package/mcp-server/.next/server/app/index.segments/_full.segment.rsc +18 -0
  158. package/mcp-server/.next/server/app/index.segments/_head.segment.rsc +7 -0
  159. package/mcp-server/.next/server/app/index.segments/_index.segment.rsc +6 -0
  160. package/mcp-server/.next/server/app/index.segments/_tree.segment.rsc +2 -0
  161. package/mcp-server/.next/server/app/logs/page/app-paths-manifest.json +3 -0
  162. package/mcp-server/.next/server/app/logs/page/build-manifest.json +17 -0
  163. package/mcp-server/.next/server/app/logs/page/next-font-manifest.json +6 -0
  164. package/mcp-server/.next/server/app/logs/page/react-loadable-manifest.json +1 -0
  165. package/mcp-server/.next/server/app/logs/page/server-reference-manifest.json +4 -0
  166. package/mcp-server/.next/server/app/logs/page.js +16 -0
  167. package/mcp-server/.next/server/app/logs/page.js.map +5 -0
  168. package/mcp-server/.next/server/app/logs/page.js.nft.json +1 -0
  169. package/mcp-server/.next/server/app/logs/page_client-reference-manifest.js +2 -0
  170. package/mcp-server/.next/server/app/mcp/route/app-paths-manifest.json +3 -0
  171. package/mcp-server/.next/server/app/mcp/route/build-manifest.json +11 -0
  172. package/mcp-server/.next/server/app/mcp/route/server-reference-manifest.json +4 -0
  173. package/mcp-server/.next/server/app/mcp/route.js +10 -0
  174. package/mcp-server/.next/server/app/mcp/route.js.map +5 -0
  175. package/mcp-server/.next/server/app/mcp/route.js.nft.json +1 -0
  176. package/mcp-server/.next/server/app/mcp/route_client-reference-manifest.js +2 -0
  177. package/mcp-server/.next/server/app/page/app-paths-manifest.json +3 -0
  178. package/mcp-server/.next/server/app/page/build-manifest.json +17 -0
  179. package/mcp-server/.next/server/app/page/next-font-manifest.json +6 -0
  180. package/mcp-server/.next/server/app/page/react-loadable-manifest.json +1 -0
  181. package/mcp-server/.next/server/app/page/server-reference-manifest.json +4 -0
  182. package/mcp-server/.next/server/app/page.js +15 -0
  183. package/mcp-server/.next/server/app/page.js.map +5 -0
  184. package/mcp-server/.next/server/app/page.js.nft.json +1 -0
  185. package/mcp-server/.next/server/app/page_client-reference-manifest.js +2 -0
  186. package/mcp-server/.next/server/app/video/[session]/page/app-paths-manifest.json +3 -0
  187. package/mcp-server/.next/server/app/video/[session]/page/build-manifest.json +17 -0
  188. package/mcp-server/.next/server/app/video/[session]/page/next-font-manifest.json +6 -0
  189. package/mcp-server/.next/server/app/video/[session]/page/react-loadable-manifest.json +1 -0
  190. package/mcp-server/.next/server/app/video/[session]/page/server-reference-manifest.json +4 -0
  191. package/mcp-server/.next/server/app/video/[session]/page.js +15 -0
  192. package/mcp-server/.next/server/app/video/[session]/page.js.map +5 -0
  193. package/mcp-server/.next/server/app/video/[session]/page.js.nft.json +1 -0
  194. package/mcp-server/.next/server/app/video/[session]/page_client-reference-manifest.js +2 -0
  195. package/mcp-server/.next/server/app-paths-manifest.json +20 -0
  196. package/mcp-server/.next/server/chunks/250ae__next-internal_server_app_api_screenshots_[filename]_route_actions_4f8d6e37.js +3 -0
  197. package/mcp-server/.next/server/chunks/250ae__next-internal_server_app_api_screenshots_[filename]_route_actions_4f8d6e37.js.map +1 -0
  198. package/mcp-server/.next/server/chunks/8b111_next_1353f498._.js +3 -0
  199. package/mcp-server/.next/server/chunks/8b111_next_1353f498._.js.map +1 -0
  200. package/mcp-server/.next/server/chunks/8b111_next_70882466._.js +14 -0
  201. package/mcp-server/.next/server/chunks/8b111_next_70882466._.js.map +1 -0
  202. package/mcp-server/.next/server/chunks/8b111_next_dist_b45da2c0._.js +6 -0
  203. package/mcp-server/.next/server/chunks/8b111_next_dist_b45da2c0._.js.map +1 -0
  204. package/mcp-server/.next/server/chunks/8b111_next_dist_esm_build_templates_app-route_61845054.js +3 -0
  205. package/mcp-server/.next/server/chunks/8b111_next_dist_esm_build_templates_app-route_61845054.js.map +1 -0
  206. package/mcp-server/.next/server/chunks/[externals]_node:crypto_c20cce38._.js +3 -0
  207. package/mcp-server/.next/server/chunks/[externals]_node:crypto_c20cce38._.js.map +1 -0
  208. package/mcp-server/.next/server/chunks/[root-of-the-server]__11cde0db._.js +3 -0
  209. package/mcp-server/.next/server/chunks/[root-of-the-server]__11cde0db._.js.map +1 -0
  210. package/mcp-server/.next/server/chunks/[root-of-the-server]__2a398dc7._.js +3 -0
  211. package/mcp-server/.next/server/chunks/[root-of-the-server]__2a398dc7._.js.map +1 -0
  212. package/mcp-server/.next/server/chunks/[root-of-the-server]__3ac957e6._.js +3 -0
  213. package/mcp-server/.next/server/chunks/[root-of-the-server]__3ac957e6._.js.map +1 -0
  214. package/mcp-server/.next/server/chunks/[root-of-the-server]__45cf400e._.js +7 -0
  215. package/mcp-server/.next/server/chunks/[root-of-the-server]__45cf400e._.js.map +1 -0
  216. package/mcp-server/.next/server/chunks/[root-of-the-server]__5e1331cc._.js +3 -0
  217. package/mcp-server/.next/server/chunks/[root-of-the-server]__5e1331cc._.js.map +1 -0
  218. package/mcp-server/.next/server/chunks/[root-of-the-server]__72f849fd._.js +3 -0
  219. package/mcp-server/.next/server/chunks/[root-of-the-server]__72f849fd._.js.map +1 -0
  220. package/mcp-server/.next/server/chunks/[root-of-the-server]__7a6a57a4._.js +3 -0
  221. package/mcp-server/.next/server/chunks/[root-of-the-server]__7a6a57a4._.js.map +1 -0
  222. package/mcp-server/.next/server/chunks/[root-of-the-server]__8173a02b._.js +3 -0
  223. package/mcp-server/.next/server/chunks/[root-of-the-server]__8173a02b._.js.map +1 -0
  224. package/mcp-server/.next/server/chunks/[root-of-the-server]__86eb7852._.js +3 -0
  225. package/mcp-server/.next/server/chunks/[root-of-the-server]__86eb7852._.js.map +1 -0
  226. package/mcp-server/.next/server/chunks/[root-of-the-server]__880af90b._.js +17 -0
  227. package/mcp-server/.next/server/chunks/[root-of-the-server]__880af90b._.js.map +1 -0
  228. package/mcp-server/.next/server/chunks/[root-of-the-server]__92444e87._.js +3 -0
  229. package/mcp-server/.next/server/chunks/[root-of-the-server]__92444e87._.js.map +1 -0
  230. package/mcp-server/.next/server/chunks/[root-of-the-server]__94037b23._.js +7 -0
  231. package/mcp-server/.next/server/chunks/[root-of-the-server]__94037b23._.js.map +1 -0
  232. package/mcp-server/.next/server/chunks/[root-of-the-server]__97925d45._.js +3 -0
  233. package/mcp-server/.next/server/chunks/[root-of-the-server]__97925d45._.js.map +1 -0
  234. package/mcp-server/.next/server/chunks/[root-of-the-server]__9a45c8f9._.js +3 -0
  235. package/mcp-server/.next/server/chunks/[root-of-the-server]__9a45c8f9._.js.map +1 -0
  236. package/mcp-server/.next/server/chunks/[root-of-the-server]__9be3321c._.js +4 -0
  237. package/mcp-server/.next/server/chunks/[root-of-the-server]__9be3321c._.js.map +1 -0
  238. package/mcp-server/.next/server/chunks/[root-of-the-server]__ae49815f._.js +217 -0
  239. package/mcp-server/.next/server/chunks/[root-of-the-server]__ae49815f._.js.map +1 -0
  240. package/mcp-server/.next/server/chunks/[root-of-the-server]__cc74dbef._.js +7 -0
  241. package/mcp-server/.next/server/chunks/[root-of-the-server]__cc74dbef._.js.map +1 -0
  242. package/mcp-server/.next/server/chunks/[root-of-the-server]__d4d47e5f._.js +28 -0
  243. package/mcp-server/.next/server/chunks/[root-of-the-server]__d4d47e5f._.js.map +1 -0
  244. package/mcp-server/.next/server/chunks/[root-of-the-server]__e1a64519._.js +3 -0
  245. package/mcp-server/.next/server/chunks/[root-of-the-server]__e1a64519._.js.map +1 -0
  246. package/mcp-server/.next/server/chunks/[root-of-the-server]__f2de2bac._.js +3 -0
  247. package/mcp-server/.next/server/chunks/[root-of-the-server]__f2de2bac._.js.map +1 -0
  248. package/mcp-server/.next/server/chunks/[root-of-the-server]__f449fffa._.js +11 -0
  249. package/mcp-server/.next/server/chunks/[root-of-the-server]__f449fffa._.js.map +1 -0
  250. package/mcp-server/.next/server/chunks/[root-of-the-server]__f9975293._.js +3 -0
  251. package/mcp-server/.next/server/chunks/[root-of-the-server]__f9975293._.js.map +1 -0
  252. package/mcp-server/.next/server/chunks/[turbopack]_runtime.js +770 -0
  253. package/mcp-server/.next/server/chunks/[turbopack]_runtime.js.map +10 -0
  254. package/mcp-server/.next/server/chunks/mcp-server_50ca1d40._.js +3 -0
  255. package/mcp-server/.next/server/chunks/mcp-server_50ca1d40._.js.map +1 -0
  256. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_jank_[session]_route_actions_3b2b275b.js +3 -0
  257. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_jank_[session]_route_actions_3b2b275b.js.map +1 -0
  258. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_append_route_actions_bc66060f.js +3 -0
  259. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_append_route_actions_bc66060f.js.map +1 -0
  260. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_head_route_actions_1152480c.js +3 -0
  261. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_head_route_actions_1152480c.js.map +1 -0
  262. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_list_route_actions_b9e24400.js +3 -0
  263. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_list_route_actions_b9e24400.js.map +1 -0
  264. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_rotate_route_actions_76075d08.js +3 -0
  265. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_rotate_route_actions_76075d08.js.map +1 -0
  266. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_stream_route_actions_16e5c553.js +3 -0
  267. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_stream_route_actions_16e5c553.js.map +1 -0
  268. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_tail_route_actions_55440150.js +3 -0
  269. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_logs_tail_route_actions_55440150.js.map +1 -0
  270. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_orchestrator_route_actions_c6fba9ec.js +3 -0
  271. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_orchestrator_route_actions_c6fba9ec.js.map +1 -0
  272. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_screenshots_list_route_actions_acfa57bd.js +3 -0
  273. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_screenshots_list_route_actions_acfa57bd.js.map +1 -0
  274. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_teams_route_actions_aaa1c876.js +3 -0
  275. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_teams_route_actions_aaa1c876.js.map +1 -0
  276. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_tools_route_actions_007f3c7c.js +3 -0
  277. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_api_tools_route_actions_007f3c7c.js.map +1 -0
  278. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_mcp_route_actions_7f7b5be4.js +3 -0
  279. package/mcp-server/.next/server/chunks/mcp-server__next-internal_server_app_mcp_route_actions_7f7b5be4.js.map +1 -0
  280. package/mcp-server/.next/server/chunks/mcp-server_instrumentation_node_ts_32271e34._.js +3 -0
  281. package/mcp-server/.next/server/chunks/mcp-server_instrumentation_node_ts_32271e34._.js.map +1 -0
  282. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_2d5fda8a._.js +6 -0
  283. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_2d5fda8a._.js.map +1 -0
  284. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_416feb3b._.js +6 -0
  285. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_416feb3b._.js.map +1 -0
  286. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_a0631e8f._.js +3 -0
  287. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_a0631e8f._.js.map +1 -0
  288. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_bc5bff92._.js +4 -0
  289. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_bc5bff92._.js.map +1 -0
  290. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_69dfdf5e._.js +3 -0
  291. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_69dfdf5e._.js.map +1 -0
  292. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_builtin_forbidden_5a705cc6.js +3 -0
  293. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_builtin_forbidden_5a705cc6.js.map +1 -0
  294. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_builtin_global-error_d996306b.js +3 -0
  295. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_builtin_global-error_d996306b.js.map +1 -0
  296. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_builtin_unauthorized_0df11997.js +3 -0
  297. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_client_components_builtin_unauthorized_0df11997.js.map +1 -0
  298. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_esm_build_templates_app-page_4117d230.js +4 -0
  299. package/mcp-server/.next/server/chunks/ssr/8b111_next_dist_esm_build_templates_app-page_4117d230.js.map +1 -0
  300. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__016aaaae._.js +3 -0
  301. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__016aaaae._.js.map +1 -0
  302. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__0aa14b12._.js +3 -0
  303. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__0aa14b12._.js.map +1 -0
  304. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__0e5de3ed._.js +3 -0
  305. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__0e5de3ed._.js.map +1 -0
  306. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__23b471c0._.js +3 -0
  307. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__23b471c0._.js.map +1 -0
  308. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__5ba89445._.js +4 -0
  309. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__5ba89445._.js.map +1 -0
  310. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__ad363fb6._.js +3 -0
  311. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__ad363fb6._.js.map +1 -0
  312. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__baf72617._.js +3 -0
  313. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__baf72617._.js.map +1 -0
  314. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__bf7cd8c6._.js +3 -0
  315. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__bf7cd8c6._.js.map +1 -0
  316. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__c73c0147._.js +3 -0
  317. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__c73c0147._.js.map +1 -0
  318. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__d9257d07._.js +3 -0
  319. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__d9257d07._.js.map +1 -0
  320. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__f9ee1284._.js +3 -0
  321. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__f9ee1284._.js.map +1 -0
  322. package/mcp-server/.next/server/chunks/ssr/[turbopack]_runtime.js +770 -0
  323. package/mcp-server/.next/server/chunks/ssr/[turbopack]_runtime.js.map +10 -0
  324. package/mcp-server/.next/server/chunks/ssr/_2eb35278._.js +4 -0
  325. package/mcp-server/.next/server/chunks/ssr/_2eb35278._.js.map +1 -0
  326. package/mcp-server/.next/server/chunks/ssr/_3b1c49b6._.js +4 -0
  327. package/mcp-server/.next/server/chunks/ssr/_3b1c49b6._.js.map +1 -0
  328. package/mcp-server/.next/server/chunks/ssr/_5ba67898._.js +8 -0
  329. package/mcp-server/.next/server/chunks/ssr/_5ba67898._.js.map +1 -0
  330. package/mcp-server/.next/server/chunks/ssr/_af685f91._.js +8 -0
  331. package/mcp-server/.next/server/chunks/ssr/_af685f91._.js.map +1 -0
  332. package/mcp-server/.next/server/chunks/ssr/_ba028667._.js +4 -0
  333. package/mcp-server/.next/server/chunks/ssr/_ba028667._.js.map +1 -0
  334. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app__global-error_page_actions_404453e7.js +3 -0
  335. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app__global-error_page_actions_404453e7.js.map +1 -0
  336. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app__not-found_page_actions_c1864427.js +3 -0
  337. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app__not-found_page_actions_c1864427.js.map +1 -0
  338. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app_logs_page_actions_71542ba9.js +3 -0
  339. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app_logs_page_actions_71542ba9.js.map +1 -0
  340. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app_page_actions_a5ee4758.js +3 -0
  341. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app_page_actions_a5ee4758.js.map +1 -0
  342. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app_video_[session]_page_actions_a6aab323.js +3 -0
  343. package/mcp-server/.next/server/chunks/ssr/mcp-server__next-internal_server_app_video_[session]_page_actions_a6aab323.js.map +1 -0
  344. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_layout_tsx_afa41767._.js +3 -0
  345. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_layout_tsx_afa41767._.js.map +1 -0
  346. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_page_tsx_9fc46577._.js +3 -0
  347. package/mcp-server/.next/server/chunks/ssr/mcp-server_app_page_tsx_9fc46577._.js.map +1 -0
  348. package/mcp-server/.next/server/chunks/ssr/mcp-server_components_dark-mode-toggle_tsx_f31dd15d._.js +3 -0
  349. package/mcp-server/.next/server/chunks/ssr/mcp-server_components_dark-mode-toggle_tsx_f31dd15d._.js.map +1 -0
  350. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_3bd414fc._.js +5 -0
  351. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_3bd414fc._.js.map +1 -0
  352. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_9d64b6f5._.js +3 -0
  353. package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_9d64b6f5._.js.map +1 -0
  354. package/mcp-server/.next/server/functions-config-manifest.json +14 -0
  355. package/mcp-server/.next/server/instrumentation.js +4 -0
  356. package/mcp-server/.next/server/instrumentation.js.nft.json +1 -0
  357. package/mcp-server/.next/server/interception-route-rewrite-manifest.js +1 -0
  358. package/mcp-server/.next/server/middleware-build-manifest.js +21 -0
  359. package/mcp-server/.next/server/middleware-manifest.json +6 -0
  360. package/mcp-server/.next/server/middleware.js +5 -0
  361. package/mcp-server/.next/server/middleware.js.nft.json +1 -0
  362. package/mcp-server/.next/server/next-font-manifest.js +1 -0
  363. package/mcp-server/.next/server/next-font-manifest.json +6 -0
  364. package/mcp-server/.next/server/pages/404.html +1 -0
  365. package/mcp-server/.next/server/pages/500.html +2 -0
  366. package/mcp-server/.next/server/pages-manifest.json +4 -0
  367. package/mcp-server/.next/server/server-reference-manifest.js +1 -0
  368. package/mcp-server/.next/server/server-reference-manifest.json +5 -0
  369. package/mcp-server/.next/static/chunks/37739dbbbff41860.js +2 -0
  370. package/mcp-server/.next/static/chunks/3d612a0a5e49885d.js +1 -0
  371. package/mcp-server/.next/static/chunks/45ba9786ab8c2e44.js +1 -0
  372. package/mcp-server/.next/static/chunks/5171d9a831cc2de4.js +1 -0
  373. package/mcp-server/.next/static/chunks/95b89db5d1d54841.js +3 -0
  374. package/mcp-server/.next/static/chunks/9af9038936981171.js +3 -0
  375. package/mcp-server/.next/static/chunks/9d9ea52745b7cee8.css +1 -0
  376. package/mcp-server/.next/static/chunks/a3771e169e1ff356.js +1 -0
  377. package/mcp-server/.next/static/chunks/a6dad97d9634a72d.js +1 -0
  378. package/mcp-server/.next/static/chunks/a92901311ade94f3.js +4 -0
  379. package/mcp-server/.next/static/chunks/b3811fb9af254076.js +1 -0
  380. package/mcp-server/.next/static/chunks/eb96b27d3b73ef3b.js +3 -0
  381. package/mcp-server/.next/static/chunks/f9a2399752a0a1fa.js +1 -0
  382. package/mcp-server/.next/static/chunks/turbopack-39686e05867003be.js +3 -0
  383. package/mcp-server/.next/static/lSzvvkjD4ab_1CtchfQYo/_buildManifest.js +11 -0
  384. package/mcp-server/.next/static/lSzvvkjD4ab_1CtchfQYo/_clientMiddlewareManifest.json +6 -0
  385. package/mcp-server/.next/static/lSzvvkjD4ab_1CtchfQYo/_ssgManifest.js +1 -0
  386. package/mcp-server/app/mcp/route.ts +3 -1
  387. package/mcp-server/package.json +6 -6
  388. package/package.json +5 -2
@@ -0,0 +1 @@
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/src/server/route-modules/app-page/vendored/rsc/react-server-dom-turbopack-static.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/dist/esm/client/components/layout-router.js/__nextjs-internal-proxy.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/client/components/layout-router.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/dist/esm/client/components/render-from-template-context.js/__nextjs-internal-proxy.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/client/components/render-from-template-context.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/dist/esm/client/components/client-page.js/__nextjs-internal-proxy.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/client/components/client-page.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/dist/esm/client/components/client-segment.js/__nextjs-internal-proxy.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/client/components/client-segment.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/dist/esm/client/components/http-access-fallback/error-boundary.js/__nextjs-internal-proxy.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/client/components/http-access-fallback/error-boundary.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/dist/esm/lib/metadata/generate/icon-mark.js/__nextjs-internal-proxy.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/lib/metadata/generate/icon-mark.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/isomorphic/path.js","../../../../../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/lib/framework/boundary-components.js/__nextjs-internal-proxy.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/lib/framework/boundary-components.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/rsc/react-dom.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/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-client.node.production.js","../../../../../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/compiled/react-server-dom-turbopack/client.node.js","../../../../../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/compiled/string-hash/index.js","../../../../../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/client/components/static-generation-bailout.js","../../../../../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/server/request/search-params.js","../../../../../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/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../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/shared/lib/utils/reflect-utils.js","../../../../../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/lib/metadata/metadata.js","../../../../../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/lib/metadata/generate/utils.js","../../../../../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/lib/metadata/resolve-metadata.js","../../../../../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/lib/metadata/resolvers/resolve-url.js","../../../../../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/lib/metadata/resolvers/resolve-title.js","../../../../../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/lib/url.js","../../../../../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/server/app-render/entry-base.js","../../../../../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/server/lib/router-utils/is-postpone.js","../../../../../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/server/app-render/rsc/preloads.js","../../../../../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/server/app-render/create-error-handler.js","../../../../../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/lib/format-server-error.js","../../../../../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/client/components/redirect-error.js","../../../../../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/client/components/hooks-server-context.js","../../../../../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/lib/error-telemetry-utils.js","../../../../../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/server/lib/clone-response.js","../../../../../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/lib/framework/boundary-constants.js","../../../../../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/lib/interop-default.js","../../../../../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/lib/non-nullable.js","../../../../../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/client/components/http-access-fallback/http-access-fallback.js","../../../../../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/lib/metadata/constants.js","../../../../../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/server/dynamic-rendering-utils.js","../../../../../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/shared/lib/is-plain-object.js","../../../../../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/lib/metadata/default-metadata.js","../../../../../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/shared/lib/promise-with-resolvers.js","../../../../../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/server/request/utils.js","../../../../../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/lib/is-error.js","../../../../../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/lib/metadata/generate/icons.js","../../../../../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/server/app-render/collect-segment-data.js","../../../../../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/server/create-deduped-by-callsite-server-error-logger.js","../../../../../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/lib/metadata/generate/opengraph.js","../../../../../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/shared/lib/segment-cache/segment-value-encoding.js","../../../../../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/lib/metadata/resolvers/resolve-basics.js","../../../../../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/server/lib/patch-fetch.js","../../../../../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/server/app-render/staged-rendering.js","../../../../../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/server/app-render/react-large-shell-error.js","../../../../../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/lib/metadata/generate/alternate.js","../../../../../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/lib/metadata/generate/meta.js","../../../../../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/lib/metadata/resolvers/resolve-icons.js","../../../../../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/lib/metadata/generate/basic.js","../../../../../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/lib/metadata/resolvers/resolve-opengraph.js","../../../../../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/server/request/pathname.js","../../../../../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/server/lib/lazy-result.js","../../../../../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/server/app-render/rsc/taint.js","../../../../../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/server/lib/dedupe-fetch.js","../../../../../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/client/components/is-next-router-error.js","../../../../../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/server/request/params.js","../../../../../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/server/app-render/dynamic-rendering.js"],"sourcesContent":["module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactServerDOMTurbopackStatic\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nconst { createClientModuleProxy } = require(\"react-server-dom-turbopack/server\");\n\n__turbopack_context__.n(createClientModuleProxy(\"[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/esm/client/components/layout-router.js\"));\n","'use client'\n\nimport type {\n CacheNode,\n LazyCacheNode,\n} from '../../shared/lib/app-router-types'\nimport type { LoadingModuleData } from '../../shared/lib/app-router-types'\nimport type {\n FlightRouterState,\n FlightSegmentPath,\n Segment,\n} from '../../shared/lib/app-router-types'\nimport type { ErrorComponent } from './error-boundary'\nimport {\n ACTION_SERVER_PATCH,\n type FocusAndScrollRef,\n} from './router-reducer/router-reducer-types'\n\nimport React, {\n Activity,\n useContext,\n use,\n startTransition,\n Suspense,\n useDeferredValue,\n type JSX,\n type ActivityProps,\n} from 'react'\nimport ReactDOM from 'react-dom'\nimport {\n LayoutRouterContext,\n GlobalLayoutRouterContext,\n TemplateContext,\n} from '../../shared/lib/app-router-context.shared-runtime'\nimport { fetchServerResponse } from './router-reducer/fetch-server-response'\nimport { unresolvedThenable } from './unresolved-thenable'\nimport { ErrorBoundary } from './error-boundary'\nimport { matchSegment } from './match-segments'\nimport { disableSmoothScrollDuringRouteTransition } from '../../shared/lib/router/utils/disable-smooth-scroll'\nimport { RedirectBoundary } from './redirect-boundary'\nimport { HTTPAccessFallbackBoundary } from './http-access-fallback/error-boundary'\nimport { createRouterCacheKey } from './router-reducer/create-router-cache-key'\nimport { hasInterceptionRouteInCurrentTree } from './router-reducer/reducers/has-interception-route-in-current-tree'\nimport { dispatchAppRouterAction } from './use-action-queue'\nimport { useRouterBFCache, type RouterBFCacheEntry } from './bfcache'\nimport { normalizeAppPath } from '../../shared/lib/router/utils/app-paths'\nimport {\n NavigationPromisesContext,\n type NavigationPromises,\n} from '../../shared/lib/hooks-client-context.shared-runtime'\nimport { getParamValueFromCacheKey } from '../route-params'\nimport type { Params } from '../../server/request/params'\n\n/**\n * Add refetch marker to router state at the point of the current layout segment.\n * This ensures the response returned is not further down than the current layout segment.\n */\nfunction walkAddRefetch(\n segmentPathToWalk: FlightSegmentPath | undefined,\n treeToRecreate: FlightRouterState\n): FlightRouterState {\n if (segmentPathToWalk) {\n const [segment, parallelRouteKey] = segmentPathToWalk\n const isLast = segmentPathToWalk.length === 2\n\n if (matchSegment(treeToRecreate[0], segment)) {\n if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) {\n if (isLast) {\n const subTree = walkAddRefetch(\n undefined,\n treeToRecreate[1][parallelRouteKey]\n )\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: [\n subTree[0],\n subTree[1],\n subTree[2],\n 'refetch',\n ],\n },\n ]\n }\n\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: walkAddRefetch(\n segmentPathToWalk.slice(2),\n treeToRecreate[1][parallelRouteKey]\n ),\n },\n ]\n }\n }\n }\n\n return treeToRecreate\n}\n\nconst __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = (\n ReactDOM as any\n).__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE\n\n// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available\n/**\n * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning\n */\nfunction findDOMNode(\n instance: React.ReactInstance | null | undefined\n): Element | Text | null {\n // Tree-shake for server bundle\n if (typeof window === 'undefined') return null\n\n // __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode is null during module init.\n // We need to lazily reference it.\n const internal_reactDOMfindDOMNode =\n __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode\n return internal_reactDOMfindDOMNode(instance)\n}\n\nconst rectProperties = [\n 'bottom',\n 'height',\n 'left',\n 'right',\n 'top',\n 'width',\n 'x',\n 'y',\n] as const\n/**\n * Check if a HTMLElement is hidden or fixed/sticky position\n */\nfunction shouldSkipElement(element: HTMLElement) {\n // we ignore fixed or sticky positioned elements since they'll likely pass the \"in-viewport\" check\n // and will result in a situation we bail on scroll because of something like a fixed nav,\n // even though the actual page content is offscreen\n if (['sticky', 'fixed'].includes(getComputedStyle(element).position)) {\n return true\n }\n\n // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent`\n // because `offsetParent` doesn't consider document/body\n const rect = element.getBoundingClientRect()\n return rectProperties.every((item) => rect[item] === 0)\n}\n\n/**\n * Check if the top corner of the HTMLElement is in the viewport.\n */\nfunction topOfElementInViewport(element: HTMLElement, viewportHeight: number) {\n const rect = element.getBoundingClientRect()\n return rect.top >= 0 && rect.top <= viewportHeight\n}\n\n/**\n * Find the DOM node for a hash fragment.\n * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior.\n * If the hash fragment is an id, the page has to scroll to the element with that id.\n * If the hash fragment is a name, the page has to scroll to the first element with that name.\n */\nfunction getHashFragmentDomNode(hashFragment: string) {\n // If the hash fragment is `top` the page has to scroll to the top of the page.\n if (hashFragment === 'top') {\n return document.body\n }\n\n // If the hash fragment is an id, the page has to scroll to the element with that id.\n return (\n document.getElementById(hashFragment) ??\n // If the hash fragment is a name, the page has to scroll to the first element with that name.\n document.getElementsByName(hashFragment)[0]\n )\n}\ninterface ScrollAndFocusHandlerProps {\n focusAndScrollRef: FocusAndScrollRef\n children: React.ReactNode\n segmentPath: FlightSegmentPath\n}\nclass InnerScrollAndFocusHandler extends React.Component<ScrollAndFocusHandlerProps> {\n handlePotentialScroll = () => {\n // Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed.\n const { focusAndScrollRef, segmentPath } = this.props\n\n if (focusAndScrollRef.apply) {\n // segmentPaths is an array of segment paths that should be scrolled to\n // if the current segment path is not in the array, the scroll is not applied\n // unless the array is empty, in which case the scroll is always applied\n if (\n focusAndScrollRef.segmentPaths.length !== 0 &&\n !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath) =>\n segmentPath.every((segment, index) =>\n matchSegment(segment, scrollRefSegmentPath[index])\n )\n )\n ) {\n return\n }\n\n let domNode:\n | ReturnType<typeof getHashFragmentDomNode>\n | ReturnType<typeof findDOMNode> = null\n const hashFragment = focusAndScrollRef.hashFragment\n\n if (hashFragment) {\n domNode = getHashFragmentDomNode(hashFragment)\n }\n\n // `findDOMNode` is tricky because it returns just the first child if the component is a fragment.\n // This already caused a bug where the first child was a <link/> in head.\n if (!domNode) {\n domNode = findDOMNode(this)\n }\n\n // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree.\n if (!(domNode instanceof Element)) {\n return\n }\n\n // Verify if the element is a HTMLElement and if we want to consider it for scroll behavior.\n // If the element is skipped, try to select the next sibling and try again.\n while (!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)) {\n if (process.env.NODE_ENV !== 'production') {\n if (domNode.parentElement?.localName === 'head') {\n // TODO: We enter this state when metadata was rendered as part of the page or via Next.js.\n // This is always a bug in Next.js and caused by React hoisting metadata.\n // We need to replace `findDOMNode` in favor of Fragment Refs (when available) so that we can skip over metadata.\n }\n }\n\n // No siblings found that match the criteria are found, so handle scroll higher up in the tree instead.\n if (domNode.nextElementSibling === null) {\n return\n }\n domNode = domNode.nextElementSibling\n }\n\n // State is mutated to ensure that the focus and scroll is applied only once.\n focusAndScrollRef.apply = false\n focusAndScrollRef.hashFragment = null\n focusAndScrollRef.segmentPaths = []\n\n disableSmoothScrollDuringRouteTransition(\n () => {\n // In case of hash scroll, we only need to scroll the element into view\n if (hashFragment) {\n ;(domNode as HTMLElement).scrollIntoView()\n\n return\n }\n // Store the current viewport height because reading `clientHeight` causes a reflow,\n // and it won't change during this function.\n const htmlElement = document.documentElement\n const viewportHeight = htmlElement.clientHeight\n\n // If the element's top edge is already in the viewport, exit early.\n if (topOfElementInViewport(domNode as HTMLElement, viewportHeight)) {\n return\n }\n\n // Otherwise, try scrolling go the top of the document to be backward compatible with pages\n // scrollIntoView() called on `<html/>` element scrolls horizontally on chrome and firefox (that shouldn't happen)\n // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left\n // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically\n htmlElement.scrollTop = 0\n\n // Scroll to domNode if domNode is not in viewport when scrolled to top of document\n if (!topOfElementInViewport(domNode as HTMLElement, viewportHeight)) {\n // Scroll into view doesn't scroll horizontally by default when not needed\n ;(domNode as HTMLElement).scrollIntoView()\n }\n },\n {\n // We will force layout by querying domNode position\n dontForceLayout: true,\n onlyHashChange: focusAndScrollRef.onlyHashChange,\n }\n )\n\n // Mutate after scrolling so that it can be read by `disableSmoothScrollDuringRouteTransition`\n focusAndScrollRef.onlyHashChange = false\n\n // Set focus on the element\n domNode.focus()\n }\n }\n\n componentDidMount() {\n this.handlePotentialScroll()\n }\n\n componentDidUpdate() {\n // Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders.\n if (this.props.focusAndScrollRef.apply) {\n this.handlePotentialScroll()\n }\n }\n\n render() {\n return this.props.children\n }\n}\n\nfunction ScrollAndFocusHandler({\n segmentPath,\n children,\n}: {\n segmentPath: FlightSegmentPath\n children: React.ReactNode\n}) {\n const context = useContext(GlobalLayoutRouterContext)\n if (!context) {\n throw new Error('invariant global layout router not mounted')\n }\n\n return (\n <InnerScrollAndFocusHandler\n segmentPath={segmentPath}\n focusAndScrollRef={context.focusAndScrollRef}\n >\n {children}\n </InnerScrollAndFocusHandler>\n )\n}\n\n/**\n * InnerLayoutRouter handles rendering the provided segment based on the cache.\n */\nfunction InnerLayoutRouter({\n tree,\n segmentPath,\n debugNameContext,\n cacheNode,\n params,\n url,\n isActive,\n}: {\n tree: FlightRouterState\n segmentPath: FlightSegmentPath\n debugNameContext: string\n cacheNode: CacheNode\n params: Params\n url: string\n isActive: boolean\n}) {\n const context = useContext(GlobalLayoutRouterContext)\n const parentNavPromises = useContext(NavigationPromisesContext)\n\n if (!context) {\n throw new Error('invariant global layout router not mounted')\n }\n\n const { tree: fullTree } = context\n\n // `rsc` represents the renderable node for this segment.\n\n // If this segment has a `prefetchRsc`, it's the statically prefetched data.\n // We should use that on initial render instead of `rsc`. Then we'll switch\n // to `rsc` when the dynamic response streams in.\n //\n // If no prefetch data is available, then we go straight to rendering `rsc`.\n const resolvedPrefetchRsc =\n cacheNode.prefetchRsc !== null ? cacheNode.prefetchRsc : cacheNode.rsc\n\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n const rsc: any = useDeferredValue(cacheNode.rsc, resolvedPrefetchRsc)\n\n // `rsc` is either a React node or a promise for a React node, except we\n // special case `null` to represent that this segment's data is missing. If\n // it's a promise, we need to unwrap it so we can determine whether or not the\n // data is missing.\n const resolvedRsc: React.ReactNode =\n typeof rsc === 'object' && rsc !== null && typeof rsc.then === 'function'\n ? use(rsc)\n : rsc\n\n if (!resolvedRsc) {\n // The data for this segment is not available, and there's no pending\n // navigation that will be able to fulfill it. We need to fetch more from\n // the server and patch the cache.\n\n // Only fetch data for the active segment. Inactive segments (rendered\n // offscreen for bfcache) should not trigger fetches.\n if (isActive) {\n // Check if there's already a pending request.\n let lazyData = cacheNode.lazyData\n if (lazyData === null) {\n /**\n * Router state with refetch marker added\n */\n // TODO-APP: remove ''\n const refetchTree = walkAddRefetch(['', ...segmentPath], fullTree)\n const includeNextUrl = hasInterceptionRouteInCurrentTree(fullTree)\n const navigatedAt = Date.now()\n cacheNode.lazyData = lazyData = fetchServerResponse(\n new URL(url, location.origin),\n {\n flightRouterState: refetchTree,\n nextUrl: includeNextUrl\n ? // We always send the last next-url, not the current when\n // performing a dynamic request. This is because we update\n // the next-url after a navigation, but we want the same\n // interception route to be matched that used the last\n // next-url.\n context.previousNextUrl || context.nextUrl\n : null,\n }\n ).then((serverResponse) => {\n startTransition(() => {\n dispatchAppRouterAction({\n type: ACTION_SERVER_PATCH,\n previousTree: fullTree,\n serverResponse,\n navigatedAt,\n })\n })\n\n return serverResponse\n })\n\n // Suspend while waiting for lazyData to resolve\n use(lazyData)\n }\n }\n // Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered.\n // A falsey `resolvedRsc` indicates missing data -- we should not commit that branch, and we need to wait for the data to arrive.\n use(unresolvedThenable) as never\n }\n\n // If we get to this point, then we know we have something we can render.\n let content = resolvedRsc\n\n // In dev, we create a NavigationPromisesContext containing the instrumented promises that provide\n // `useSelectedLayoutSegment` and `useSelectedLayoutSegments`.\n // Promises are cached outside of render to survive suspense retries.\n let navigationPromises: NavigationPromises | null = null\n if (process.env.NODE_ENV !== 'production') {\n const { createNestedLayoutNavigationPromises } =\n require('./navigation-devtools') as typeof import('./navigation-devtools')\n\n navigationPromises = createNestedLayoutNavigationPromises(\n tree,\n parentNavPromises\n )\n }\n\n if (navigationPromises) {\n content = (\n <NavigationPromisesContext.Provider value={navigationPromises}>\n {resolvedRsc}\n </NavigationPromisesContext.Provider>\n )\n }\n\n const subtree = (\n // The layout router context narrows down tree and childNodes at each level.\n <LayoutRouterContext.Provider\n value={{\n parentTree: tree,\n parentCacheNode: cacheNode,\n parentSegmentPath: segmentPath,\n parentParams: params,\n debugNameContext: debugNameContext,\n\n // TODO-APP: overriding of url for parallel routes\n url: url,\n isActive: isActive,\n }}\n >\n {content}\n </LayoutRouterContext.Provider>\n )\n // Ensure root layout is not wrapped in a div as the root layout renders `<html>`\n return subtree\n}\n\n/**\n * Renders suspense boundary with the provided \"loading\" property as the fallback.\n * If no loading property is provided it renders the children without a suspense boundary.\n */\nfunction LoadingBoundary({\n name,\n loading,\n children,\n}: {\n name: ActivityProps['name']\n loading: LoadingModuleData | Promise<LoadingModuleData>\n children: React.ReactNode\n}): JSX.Element {\n // If loading is a promise, unwrap it. This happens in cases where we haven't\n // yet received the loading data from the server — which includes whether or\n // not this layout has a loading component at all.\n //\n // It's OK to suspend here instead of inside the fallback because this\n // promise will resolve simultaneously with the data for the segment itself.\n // So it will never suspend for longer than it would have if we didn't use\n // a Suspense fallback at all.\n let loadingModuleData\n if (\n typeof loading === 'object' &&\n loading !== null &&\n typeof (loading as any).then === 'function'\n ) {\n const promiseForLoading = loading as Promise<LoadingModuleData>\n loadingModuleData = use(promiseForLoading)\n } else {\n loadingModuleData = loading as LoadingModuleData\n }\n\n if (loadingModuleData) {\n const loadingRsc = loadingModuleData[0]\n const loadingStyles = loadingModuleData[1]\n const loadingScripts = loadingModuleData[2]\n return (\n <Suspense\n name={name}\n fallback={\n <>\n {loadingStyles}\n {loadingScripts}\n {loadingRsc}\n </>\n }\n >\n {children}\n </Suspense>\n )\n }\n\n return <>{children}</>\n}\n\n/**\n * OuterLayoutRouter handles the current segment as well as <Offscreen> rendering of other segments.\n * It can be rendered next to each other with a different `parallelRouterKey`, allowing for Parallel routes.\n */\nexport default function OuterLayoutRouter({\n parallelRouterKey,\n error,\n errorStyles,\n errorScripts,\n templateStyles,\n templateScripts,\n template,\n notFound,\n forbidden,\n unauthorized,\n segmentViewBoundaries,\n}: {\n parallelRouterKey: string\n error: ErrorComponent | undefined\n errorStyles: React.ReactNode | undefined\n errorScripts: React.ReactNode | undefined\n templateStyles: React.ReactNode | undefined\n templateScripts: React.ReactNode | undefined\n template: React.ReactNode\n notFound: React.ReactNode | undefined\n forbidden: React.ReactNode | undefined\n unauthorized: React.ReactNode | undefined\n segmentViewBoundaries?: React.ReactNode\n}) {\n const context = useContext(LayoutRouterContext)\n if (!context) {\n throw new Error('invariant expected layout router to be mounted')\n }\n\n const {\n parentTree,\n parentCacheNode,\n parentSegmentPath,\n parentParams,\n url,\n isActive,\n debugNameContext,\n } = context\n\n // Get the CacheNode for this segment by reading it from the parent segment's\n // child map.\n const parentParallelRoutes = parentCacheNode.parallelRoutes\n let segmentMap = parentParallelRoutes.get(parallelRouterKey)\n // If the parallel router cache node does not exist yet, create it.\n // This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.\n if (!segmentMap) {\n segmentMap = new Map()\n parentParallelRoutes.set(parallelRouterKey, segmentMap)\n }\n const parentTreeSegment = parentTree[0]\n const segmentPath =\n parentSegmentPath === null\n ? // TODO: The root segment value is currently omitted from the segment\n // path. This has led to a bunch of special cases scattered throughout\n // the code. We should clean this up.\n [parallelRouterKey]\n : parentSegmentPath.concat([parentTreeSegment, parallelRouterKey])\n\n // The \"state\" key of a segment is the one passed to React — it represents the\n // identity of the UI tree. Whenever the state key changes, the tree is\n // recreated and the state is reset. In the App Router model, search params do\n // not cause state to be lost, so two segments with the same segment path but\n // different search params should have the same state key.\n //\n // The \"cache\" key of a segment, however, *does* include the search params, if\n // it's possible that the segment accessed the search params on the server.\n // (This only applies to page segments; layout segments cannot access search\n // params on the server.)\n const activeTree = parentTree[1][parallelRouterKey]\n const activeSegment = activeTree[0]\n const activeStateKey = createRouterCacheKey(activeSegment, true) // no search params\n\n // At each level of the route tree, not only do we render the currently\n // active segment — we also render the last N segments that were active at\n // this level inside a hidden <Activity> boundary, to preserve their state\n // if or when the user navigates to them again.\n //\n // bfcacheEntry is a linked list of FlightRouterStates.\n let bfcacheEntry: RouterBFCacheEntry | null = useRouterBFCache(\n activeTree,\n activeStateKey\n )\n let children: Array<React.ReactNode> = []\n do {\n const tree = bfcacheEntry.tree\n const stateKey = bfcacheEntry.stateKey\n const segment = tree[0]\n const cacheKey = createRouterCacheKey(segment)\n\n // Read segment path from the parallel router cache node.\n let cacheNode = segmentMap.get(cacheKey)\n if (cacheNode === undefined) {\n // When data is not available during rendering client-side we need to fetch\n // it from the server.\n const newLazyCacheNode: LazyCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n loading: null,\n navigatedAt: -1,\n }\n\n // Flight data fetch kicked off during render and put into the cache.\n cacheNode = newLazyCacheNode\n segmentMap.set(cacheKey, newLazyCacheNode)\n }\n\n /*\n - Error boundary\n - Only renders error boundary if error component is provided.\n - Rendered for each segment to ensure they have their own error state.\n - When gracefully degrade for bots, skip rendering error boundary.\n - Loading boundary\n - Only renders suspense boundary if loading components is provided.\n - Rendered for each segment to ensure they have their own loading state.\n - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch.\n */\n\n let segmentBoundaryTriggerNode: React.ReactNode = null\n let segmentViewStateNode: React.ReactNode = null\n if (process.env.NODE_ENV !== 'production') {\n const { SegmentBoundaryTriggerNode, SegmentViewStateNode } =\n require('../../next-devtools/userspace/app/segment-explorer-node') as typeof import('../../next-devtools/userspace/app/segment-explorer-node')\n\n const pagePrefix = normalizeAppPath(url)\n segmentViewStateNode = (\n <SegmentViewStateNode key={pagePrefix} page={pagePrefix} />\n )\n\n segmentBoundaryTriggerNode = (\n <>\n <SegmentBoundaryTriggerNode />\n </>\n )\n }\n\n let params = parentParams\n if (Array.isArray(segment)) {\n // This segment contains a route param. Accumulate these as we traverse\n // down the router tree. The result represents the set of params that\n // the layout/page components are permitted to access below this point.\n const paramName = segment[0]\n const paramCacheKey = segment[1]\n const paramType = segment[2]\n const paramValue = getParamValueFromCacheKey(paramCacheKey, paramType)\n if (paramValue !== null) {\n params = {\n ...parentParams,\n [paramName]: paramValue,\n }\n }\n }\n\n const debugName = getBoundaryDebugNameFromSegment(segment)\n // `debugNameContext` represents the nearest non-\"virtual\" parent segment.\n // `getBoundaryDebugNameFromSegment` returns undefined for virtual segments.\n // So if `debugName` is undefined, the context is passed through unchanged.\n const childDebugNameContext = debugName ?? debugNameContext\n\n // In practical terms, clicking this name in the Suspense DevTools\n // should select the child slots of that layout.\n //\n // So the name we apply to the Activity boundary is actually based on\n // the nearest parent segments.\n //\n // We skip over \"virtual\" parents, i.e. ones inserted by Next.js that\n // don't correspond to application-defined code.\n const isVirtual = debugName === undefined\n const debugNameToDisplay = isVirtual ? undefined : debugNameContext\n\n // TODO: The loading module data for a segment is stored on the parent, then\n // applied to each of that parent segment's parallel route slots. In the\n // simple case where there's only one parallel route (the `children` slot),\n // this is no different from if the loading module data where stored on the\n // child directly. But I'm not sure this actually makes sense when there are\n // multiple parallel routes. It's not a huge issue because you always have\n // the option to define a narrower loading boundary for a particular slot. But\n // this sort of smells like an implementation accident to me.\n const loadingModuleData = parentCacheNode.loading\n let child = (\n <TemplateContext.Provider\n key={stateKey}\n value={\n <ScrollAndFocusHandler segmentPath={segmentPath}>\n <ErrorBoundary\n errorComponent={error}\n errorStyles={errorStyles}\n errorScripts={errorScripts}\n >\n <LoadingBoundary\n name={debugNameToDisplay}\n loading={loadingModuleData}\n >\n <HTTPAccessFallbackBoundary\n notFound={notFound}\n forbidden={forbidden}\n unauthorized={unauthorized}\n >\n <RedirectBoundary>\n <InnerLayoutRouter\n url={url}\n tree={tree}\n params={params}\n cacheNode={cacheNode}\n segmentPath={segmentPath}\n debugNameContext={childDebugNameContext}\n isActive={isActive && stateKey === activeStateKey}\n />\n {segmentBoundaryTriggerNode}\n </RedirectBoundary>\n </HTTPAccessFallbackBoundary>\n </LoadingBoundary>\n </ErrorBoundary>\n {segmentViewStateNode}\n </ScrollAndFocusHandler>\n }\n >\n {templateStyles}\n {templateScripts}\n {template}\n </TemplateContext.Provider>\n )\n\n if (process.env.NODE_ENV !== 'production') {\n const { SegmentStateProvider } =\n require('../../next-devtools/userspace/app/segment-explorer-node') as typeof import('../../next-devtools/userspace/app/segment-explorer-node')\n\n child = (\n <SegmentStateProvider key={stateKey}>\n {child}\n {segmentViewBoundaries}\n </SegmentStateProvider>\n )\n }\n\n if (process.env.__NEXT_CACHE_COMPONENTS) {\n child = (\n <Activity\n name={debugNameToDisplay}\n key={stateKey}\n mode={stateKey === activeStateKey ? 'visible' : 'hidden'}\n >\n {child}\n </Activity>\n )\n }\n\n children.push(child)\n\n bfcacheEntry = bfcacheEntry.next\n } while (bfcacheEntry !== null)\n\n return children\n}\n\nfunction getBoundaryDebugNameFromSegment(segment: Segment): string | undefined {\n if (segment === '/') {\n // Reached the root\n return '/'\n }\n if (typeof segment === 'string') {\n if (isVirtualLayout(segment)) {\n return undefined\n } else {\n return segment + '/'\n }\n }\n const paramCacheKey = segment[1]\n return paramCacheKey + '/'\n}\n\nfunction isVirtualLayout(segment: string): boolean {\n return (\n // This is inserted by the loader. We should consider encoding these\n // in a more special way instead of checking the name, to distinguish them\n // from app-defined groups.\n segment === '(slot)'\n )\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nconst { createClientModuleProxy } = require(\"react-server-dom-turbopack/server\");\n\n__turbopack_context__.n(createClientModuleProxy(\"[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/esm/client/components/render-from-template-context.js\"));\n","'use client'\n\nimport React, { useContext, type JSX } from 'react'\nimport { TemplateContext } from '../../shared/lib/app-router-context.shared-runtime'\n\nexport default function RenderFromTemplateContext(): JSX.Element {\n const children = useContext(TemplateContext)\n return <>{children}</>\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nconst { createClientModuleProxy } = require(\"react-server-dom-turbopack/server\");\n\n__turbopack_context__.n(createClientModuleProxy(\"[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/esm/client/components/client-page.js\"));\n","'use client'\n\nimport type { ParsedUrlQuery } from 'querystring'\nimport { InvariantError } from '../../shared/lib/invariant-error'\n\nimport type { Params } from '../../server/request/params'\nimport { LayoutRouterContext } from '../../shared/lib/app-router-context.shared-runtime'\nimport { use } from 'react'\nimport { urlSearchParamsToParsedUrlQuery } from '../route-params'\nimport { SearchParamsContext } from '../../shared/lib/hooks-client-context.shared-runtime'\n\n/**\n * When the Page is a client component we send the params and searchParams to this client wrapper\n * where they are turned into dynamically tracked values before being passed to the actual Page component.\n *\n * additionally we may send promises representing the params and searchParams. We don't ever use these passed\n * values but it can be necessary for the sender to send a Promise that doesn't resolve in certain situations.\n * It is up to the caller to decide if the promises are needed.\n */\nexport function ClientPageRoot({\n Component,\n serverProvidedParams,\n}: {\n Component: React.ComponentType<any>\n serverProvidedParams: null | {\n searchParams: ParsedUrlQuery\n params: Params\n promises: Array<Promise<any>> | null\n }\n}) {\n let searchParams: ParsedUrlQuery\n let params: Params\n if (serverProvidedParams !== null) {\n searchParams = serverProvidedParams.searchParams\n params = serverProvidedParams.params\n } else {\n // When Cache Components is enabled, the server does not pass the params as\n // props; they are parsed on the client and passed via context.\n const layoutRouterContext = use(LayoutRouterContext)\n params =\n layoutRouterContext !== null ? layoutRouterContext.parentParams : {}\n\n // This is an intentional behavior change: when Cache Components is enabled,\n // client segments receive the \"canonical\" search params, not the\n // rewritten ones. Users should either call useSearchParams directly or pass\n // the rewritten ones in from a Server Component.\n // TODO: Log a deprecation error when this object is accessed\n searchParams = urlSearchParamsToParsedUrlQuery(use(SearchParamsContext)!)\n }\n\n if (typeof window === 'undefined') {\n const { workAsyncStorage } =\n require('../../server/app-render/work-async-storage.external') as typeof import('../../server/app-render/work-async-storage.external')\n\n let clientSearchParams: Promise<ParsedUrlQuery>\n let clientParams: Promise<Params>\n // We are going to instrument the searchParams prop with tracking for the\n // appropriate context. We wrap differently in prerendering vs rendering\n const store = workAsyncStorage.getStore()\n if (!store) {\n throw new InvariantError(\n 'Expected workStore to exist when handling searchParams in a client Page.'\n )\n }\n\n const { createSearchParamsFromClient } =\n require('../../server/request/search-params') as typeof import('../../server/request/search-params')\n clientSearchParams = createSearchParamsFromClient(searchParams, store)\n\n const { createParamsFromClient } =\n require('../../server/request/params') as typeof import('../../server/request/params')\n clientParams = createParamsFromClient(params, store)\n\n return <Component params={clientParams} searchParams={clientSearchParams} />\n } else {\n const { createRenderSearchParamsFromClient } =\n require('../request/search-params.browser') as typeof import('../request/search-params.browser')\n const clientSearchParams = createRenderSearchParamsFromClient(searchParams)\n const { createRenderParamsFromClient } =\n require('../request/params.browser') as typeof import('../request/params.browser')\n const clientParams = createRenderParamsFromClient(params)\n\n return <Component params={clientParams} searchParams={clientSearchParams} />\n }\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nconst { createClientModuleProxy } = require(\"react-server-dom-turbopack/server\");\n\n__turbopack_context__.n(createClientModuleProxy(\"[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/esm/client/components/client-segment.js\"));\n","'use client'\n\nimport { InvariantError } from '../../shared/lib/invariant-error'\n\nimport type { Params } from '../../server/request/params'\nimport { LayoutRouterContext } from '../../shared/lib/app-router-context.shared-runtime'\nimport { use } from 'react'\n\n/**\n * When the Page is a client component we send the params to this client wrapper\n * where they are turned into dynamically tracked values before being passed to the actual Segment component.\n *\n * additionally we may send a promise representing params. We don't ever use this passed\n * value but it can be necessary for the sender to send a Promise that doesn't resolve in certain situations\n * such as when cacheComponents is enabled. It is up to the caller to decide if the promises are needed.\n */\nexport function ClientSegmentRoot({\n Component,\n slots,\n serverProvidedParams,\n}: {\n Component: React.ComponentType<any>\n slots: { [key: string]: React.ReactNode }\n serverProvidedParams: null | {\n params: Params\n promises: Array<Promise<any>> | null\n }\n}) {\n let params: Params\n if (serverProvidedParams !== null) {\n params = serverProvidedParams.params\n } else {\n // When Cache Components is enabled, the server does not pass the params\n // as props; they are parsed on the client and passed via context.\n const layoutRouterContext = use(LayoutRouterContext)\n params =\n layoutRouterContext !== null ? layoutRouterContext.parentParams : {}\n }\n\n if (typeof window === 'undefined') {\n const { workAsyncStorage } =\n require('../../server/app-render/work-async-storage.external') as typeof import('../../server/app-render/work-async-storage.external')\n\n let clientParams: Promise<Params>\n // We are going to instrument the searchParams prop with tracking for the\n // appropriate context. We wrap differently in prerendering vs rendering\n const store = workAsyncStorage.getStore()\n if (!store) {\n throw new InvariantError(\n 'Expected workStore to exist when handling params in a client segment such as a Layout or Template.'\n )\n }\n\n const { createParamsFromClient } =\n require('../../server/request/params') as typeof import('../../server/request/params')\n clientParams = createParamsFromClient(params, store)\n\n return <Component {...slots} params={clientParams} />\n } else {\n const { createRenderParamsFromClient } =\n require('../request/params.browser') as typeof import('../request/params.browser')\n const clientParams = createRenderParamsFromClient(params)\n return <Component {...slots} params={clientParams} />\n }\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nconst { createClientModuleProxy } = require(\"react-server-dom-turbopack/server\");\n\n__turbopack_context__.n(createClientModuleProxy(\"[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/esm/client/components/http-access-fallback/error-boundary.js\"));\n","'use client'\n\n/**\n * HTTPAccessFallbackBoundary is a boundary that catches errors and renders a\n * fallback component for HTTP errors.\n *\n * It receives the status code, and determine if it should render fallbacks for few HTTP 4xx errors.\n *\n * e.g. 404\n * 404 represents not found, and the fallback component pair contains the component and its styles.\n *\n */\n\nimport React, { useContext } from 'react'\nimport { useUntrackedPathname } from '../navigation-untracked'\nimport {\n HTTPAccessErrorStatus,\n getAccessFallbackHTTPStatus,\n getAccessFallbackErrorTypeByStatus,\n isHTTPAccessFallbackError,\n} from './http-access-fallback'\nimport { warnOnce } from '../../../shared/lib/utils/warn-once'\nimport { MissingSlotContext } from '../../../shared/lib/app-router-context.shared-runtime'\n\ninterface HTTPAccessFallbackBoundaryProps {\n notFound?: React.ReactNode\n forbidden?: React.ReactNode\n unauthorized?: React.ReactNode\n // TODO: Make this required once `React.createElement` understands that positional args go into children\n children?: React.ReactNode\n missingSlots?: Set<string>\n}\n\ninterface HTTPAccessFallbackErrorBoundaryProps\n extends HTTPAccessFallbackBoundaryProps {\n pathname: string | null\n missingSlots?: Set<string>\n}\n\ninterface HTTPAccessBoundaryState {\n triggeredStatus: number | undefined\n previousPathname: string | null\n}\n\nclass HTTPAccessFallbackErrorBoundary extends React.Component<\n HTTPAccessFallbackErrorBoundaryProps,\n HTTPAccessBoundaryState\n> {\n constructor(props: HTTPAccessFallbackErrorBoundaryProps) {\n super(props)\n this.state = {\n triggeredStatus: undefined,\n previousPathname: props.pathname,\n }\n }\n\n componentDidCatch(): void {\n if (\n process.env.NODE_ENV === 'development' &&\n this.props.missingSlots &&\n this.props.missingSlots.size > 0 &&\n // A missing children slot is the typical not-found case, so no need to warn\n !this.props.missingSlots.has('children')\n ) {\n let warningMessage =\n 'No default component was found for a parallel route rendered on this page. Falling back to nearest NotFound boundary.\\n' +\n 'Learn more: https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#defaultjs\\n\\n'\n\n const formattedSlots = Array.from(this.props.missingSlots)\n .sort((a, b) => a.localeCompare(b))\n .map((slot) => `@${slot}`)\n .join(', ')\n\n warningMessage += 'Missing slots: ' + formattedSlots\n\n warnOnce(warningMessage)\n }\n }\n\n static getDerivedStateFromError(error: any) {\n if (isHTTPAccessFallbackError(error)) {\n const httpStatus = getAccessFallbackHTTPStatus(error)\n return {\n triggeredStatus: httpStatus,\n }\n }\n // Re-throw if error is not for 404\n throw error\n }\n\n static getDerivedStateFromProps(\n props: HTTPAccessFallbackErrorBoundaryProps,\n state: HTTPAccessBoundaryState\n ): HTTPAccessBoundaryState | null {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */\n if (props.pathname !== state.previousPathname && state.triggeredStatus) {\n return {\n triggeredStatus: undefined,\n previousPathname: props.pathname,\n }\n }\n return {\n triggeredStatus: state.triggeredStatus,\n previousPathname: props.pathname,\n }\n }\n\n render() {\n const { notFound, forbidden, unauthorized, children } = this.props\n const { triggeredStatus } = this.state\n const errorComponents = {\n [HTTPAccessErrorStatus.NOT_FOUND]: notFound,\n [HTTPAccessErrorStatus.FORBIDDEN]: forbidden,\n [HTTPAccessErrorStatus.UNAUTHORIZED]: unauthorized,\n }\n\n if (triggeredStatus) {\n const isNotFound =\n triggeredStatus === HTTPAccessErrorStatus.NOT_FOUND && notFound\n const isForbidden =\n triggeredStatus === HTTPAccessErrorStatus.FORBIDDEN && forbidden\n const isUnauthorized =\n triggeredStatus === HTTPAccessErrorStatus.UNAUTHORIZED && unauthorized\n\n // If there's no matched boundary in this layer, keep throwing the error by rendering the children\n if (!(isNotFound || isForbidden || isUnauthorized)) {\n return children\n }\n\n return (\n <>\n <meta name=\"robots\" content=\"noindex\" />\n {process.env.NODE_ENV === 'development' && (\n <meta\n name=\"boundary-next-error\"\n content={getAccessFallbackErrorTypeByStatus(triggeredStatus)}\n />\n )}\n {errorComponents[triggeredStatus]}\n </>\n )\n }\n\n return children\n }\n}\n\nexport function HTTPAccessFallbackBoundary({\n notFound,\n forbidden,\n unauthorized,\n children,\n}: HTTPAccessFallbackBoundaryProps) {\n // When we're rendering the missing params shell, this will return null. This\n // is because we won't be rendering any not found boundaries or error\n // boundaries for the missing params shell. When this runs on the client\n // (where these error can occur), we will get the correct pathname.\n const pathname = useUntrackedPathname()\n const missingSlots = useContext(MissingSlotContext)\n const hasErrorFallback = !!(notFound || forbidden || unauthorized)\n\n if (hasErrorFallback) {\n return (\n <HTTPAccessFallbackErrorBoundary\n pathname={pathname}\n notFound={notFound}\n forbidden={forbidden}\n unauthorized={unauthorized}\n missingSlots={missingSlots}\n >\n {children}\n </HTTPAccessFallbackErrorBoundary>\n )\n }\n\n return <>{children}</>\n}\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nconst { createClientModuleProxy } = require(\"react-server-dom-turbopack/server\");\n\n__turbopack_context__.n(createClientModuleProxy(\"[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/esm/lib/metadata/generate/icon-mark.js\"));\n","'use client'\n\n// This is a client component that only renders during SSR,\n// but will be replaced during streaming with an icon insertion script tag.\n// We don't want it to be presented anywhere so it's only visible during streaming,\n// right after the icon meta tags so that browser can pick it up as soon as it's rendered.\n// Note: we don't just emit the script here because we only need the script if it's not in the head,\n// and we need it to be hoistable alongside the other metadata but sync scripts are not hoistable.\nexport const IconMark = () => {\n if (typeof window !== 'undefined') {\n return null\n }\n return <meta name=\"«nxt-icon»\" />\n}\n","/**\n * This module is for next.js server internal usage of path module.\n * It will use native path module for nodejs runtime.\n * It will use path-browserify polyfill for edge runtime.\n */\nlet path\n\nif (process.env.NEXT_RUNTIME === 'edge') {\n path = require('next/dist/compiled/path-browserify')\n} else {\n path = require('path')\n}\n\nmodule.exports = path\n","// This file is generated by next-core EcmascriptClientReferenceModule.\nconst { createClientModuleProxy } = require(\"react-server-dom-turbopack/server\");\n\n__turbopack_context__.n(createClientModuleProxy(\"[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/esm/lib/framework/boundary-components.js\"));\n","'use client'\n\nimport type { ReactNode } from 'react'\nimport {\n METADATA_BOUNDARY_NAME,\n VIEWPORT_BOUNDARY_NAME,\n OUTLET_BOUNDARY_NAME,\n ROOT_LAYOUT_BOUNDARY_NAME,\n} from './boundary-constants'\n\n// We use a namespace object to allow us to recover the name of the function\n// at runtime even when production bundling/minification is used.\nconst NameSpace = {\n [METADATA_BOUNDARY_NAME]: function ({ children }: { children: ReactNode }) {\n return children\n },\n [VIEWPORT_BOUNDARY_NAME]: function ({ children }: { children: ReactNode }) {\n return children\n },\n [OUTLET_BOUNDARY_NAME]: function ({ children }: { children: ReactNode }) {\n return children\n },\n [ROOT_LAYOUT_BOUNDARY_NAME]: function ({\n children,\n }: {\n children: ReactNode\n }) {\n return children\n },\n}\n\nexport const MetadataBoundary =\n // We use slice(0) to trick the bundler into not inlining/minifying the function\n // so it retains the name inferred from the namespace object\n NameSpace[METADATA_BOUNDARY_NAME.slice(0) as typeof METADATA_BOUNDARY_NAME]\n\nexport const ViewportBoundary =\n // We use slice(0) to trick the bundler into not inlining/minifying the function\n // so it retains the name inferred from the namespace object\n NameSpace[VIEWPORT_BOUNDARY_NAME.slice(0) as typeof VIEWPORT_BOUNDARY_NAME]\n\nexport const OutletBoundary =\n // We use slice(0) to trick the bundler into not inlining/minifying the function\n // so it retains the name inferred from the namespace object\n NameSpace[OUTLET_BOUNDARY_NAME.slice(0) as typeof OUTLET_BOUNDARY_NAME]\n\nexport const RootLayoutBoundary =\n // We use slice(0) to trick the bundler into not inlining/minifying the function\n // so it retains the name inferred from the namespace object\n NameSpace[\n ROOT_LAYOUT_BOUNDARY_NAME.slice(0) as typeof ROOT_LAYOUT_BOUNDARY_NAME\n ]\n","module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['react-rsc']!.ReactDOM\n","/**\n * @license React\n * react-server-dom-turbopack-client.node.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar util = require(\"util\"),\n ReactDOM = require(\"react-dom\"),\n decoderOptions = { stream: !0 },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction resolveClientReference(bundlerConfig, metadata) {\n if (bundlerConfig) {\n var moduleExports = bundlerConfig[metadata[0]];\n if ((bundlerConfig = moduleExports && moduleExports[metadata[2]]))\n moduleExports = bundlerConfig.name;\n else {\n bundlerConfig = moduleExports && moduleExports[\"*\"];\n if (!bundlerConfig)\n throw Error(\n 'Could not find the module \"' +\n metadata[0] +\n '\" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.'\n );\n moduleExports = metadata[2];\n }\n return 4 === metadata.length\n ? [bundlerConfig.id, bundlerConfig.chunks, moduleExports, 1]\n : [bundlerConfig.id, bundlerConfig.chunks, moduleExports];\n }\n return metadata;\n}\nfunction resolveServerReference(bundlerConfig, id) {\n var name = \"\",\n resolvedModuleData = bundlerConfig[id];\n if (resolvedModuleData) name = resolvedModuleData.name;\n else {\n var idx = id.lastIndexOf(\"#\");\n -1 !== idx &&\n ((name = id.slice(idx + 1)),\n (resolvedModuleData = bundlerConfig[id.slice(0, idx)]));\n if (!resolvedModuleData)\n throw Error(\n 'Could not find the module \"' +\n id +\n '\" in the React Server Manifest. This is probably a bug in the React Server Components bundler.'\n );\n }\n return resolvedModuleData.async\n ? [resolvedModuleData.id, resolvedModuleData.chunks, name, 1]\n : [resolvedModuleData.id, resolvedModuleData.chunks, name];\n}\nfunction requireAsyncModule(id) {\n var promise = globalThis.__next_require__(id);\n if (\"function\" !== typeof promise.then || \"fulfilled\" === promise.status)\n return null;\n promise.then(\n function (value) {\n promise.status = \"fulfilled\";\n promise.value = value;\n },\n function (reason) {\n promise.status = \"rejected\";\n promise.reason = reason;\n }\n );\n return promise;\n}\nvar instrumentedChunks = new WeakSet(),\n loadedChunks = new WeakSet();\nfunction ignoreReject() {}\nfunction preloadModule(metadata) {\n for (var chunks = metadata[1], promises = [], i = 0; i < chunks.length; i++) {\n var thenable = globalThis.__next_chunk_load__(chunks[i]);\n loadedChunks.has(thenable) || promises.push(thenable);\n if (!instrumentedChunks.has(thenable)) {\n var resolve = loadedChunks.add.bind(loadedChunks, thenable);\n thenable.then(resolve, ignoreReject);\n instrumentedChunks.add(thenable);\n }\n }\n return 4 === metadata.length\n ? 0 === promises.length\n ? requireAsyncModule(metadata[0])\n : Promise.all(promises).then(function () {\n return requireAsyncModule(metadata[0]);\n })\n : 0 < promises.length\n ? Promise.all(promises)\n : null;\n}\nfunction requireModule(metadata) {\n var moduleExports = globalThis.__next_require__(metadata[0]);\n if (4 === metadata.length && \"function\" === typeof moduleExports.then)\n if (\"fulfilled\" === moduleExports.status)\n moduleExports = moduleExports.value;\n else throw moduleExports.reason;\n if (\"*\" === metadata[2]) return moduleExports;\n if (\"\" === metadata[2])\n return moduleExports.__esModule ? moduleExports.default : moduleExports;\n if (hasOwnProperty.call(moduleExports, metadata[2]))\n return moduleExports[metadata[2]];\n}\nfunction prepareDestinationWithChunks(moduleLoading, chunks, nonce$jscomp$0) {\n if (null !== moduleLoading)\n for (var i = 0; i < chunks.length; i++) {\n var nonce = nonce$jscomp$0,\n JSCompiler_temp_const = ReactDOMSharedInternals.d,\n JSCompiler_temp_const$jscomp$0 = JSCompiler_temp_const.X,\n JSCompiler_temp_const$jscomp$1 = moduleLoading.prefix + chunks[i];\n var JSCompiler_inline_result = moduleLoading.crossOrigin;\n JSCompiler_inline_result =\n \"string\" === typeof JSCompiler_inline_result\n ? \"use-credentials\" === JSCompiler_inline_result\n ? JSCompiler_inline_result\n : \"\"\n : void 0;\n JSCompiler_temp_const$jscomp$0.call(\n JSCompiler_temp_const,\n JSCompiler_temp_const$jscomp$1,\n { crossOrigin: JSCompiler_inline_result, nonce: nonce }\n );\n }\n}\nvar ReactDOMSharedInternals =\n ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ASYNC_ITERATOR = Symbol.asyncIterator,\n isArrayImpl = Array.isArray,\n getPrototypeOf = Object.getPrototypeOf,\n ObjectPrototype = Object.prototype,\n knownServerReferences = new WeakMap();\nfunction serializeNumber(number) {\n return Number.isFinite(number)\n ? 0 === number && -Infinity === 1 / number\n ? \"$-0\"\n : number\n : Infinity === number\n ? \"$Infinity\"\n : -Infinity === number\n ? \"$-Infinity\"\n : \"$NaN\";\n}\nfunction processReply(\n root,\n formFieldPrefix,\n temporaryReferences,\n resolve,\n reject\n) {\n function serializeTypedArray(tag, typedArray) {\n typedArray = new Blob([\n new Uint8Array(\n typedArray.buffer,\n typedArray.byteOffset,\n typedArray.byteLength\n )\n ]);\n var blobId = nextPartId++;\n null === formData && (formData = new FormData());\n formData.append(formFieldPrefix + blobId, typedArray);\n return \"$\" + tag + blobId.toString(16);\n }\n function serializeBinaryReader(reader) {\n function progress(entry) {\n entry.done\n ? ((entry = nextPartId++),\n data.append(formFieldPrefix + entry, new Blob(buffer)),\n data.append(\n formFieldPrefix + streamId,\n '\"$o' + entry.toString(16) + '\"'\n ),\n data.append(formFieldPrefix + streamId, \"C\"),\n pendingParts--,\n 0 === pendingParts && resolve(data))\n : (buffer.push(entry.value),\n reader.read(new Uint8Array(1024)).then(progress, reject));\n }\n null === formData && (formData = new FormData());\n var data = formData;\n pendingParts++;\n var streamId = nextPartId++,\n buffer = [];\n reader.read(new Uint8Array(1024)).then(progress, reject);\n return \"$r\" + streamId.toString(16);\n }\n function serializeReader(reader) {\n function progress(entry) {\n if (entry.done)\n data.append(formFieldPrefix + streamId, \"C\"),\n pendingParts--,\n 0 === pendingParts && resolve(data);\n else\n try {\n var partJSON = JSON.stringify(entry.value, resolveToJSON);\n data.append(formFieldPrefix + streamId, partJSON);\n reader.read().then(progress, reject);\n } catch (x) {\n reject(x);\n }\n }\n null === formData && (formData = new FormData());\n var data = formData;\n pendingParts++;\n var streamId = nextPartId++;\n reader.read().then(progress, reject);\n return \"$R\" + streamId.toString(16);\n }\n function serializeReadableStream(stream) {\n try {\n var binaryReader = stream.getReader({ mode: \"byob\" });\n } catch (x) {\n return serializeReader(stream.getReader());\n }\n return serializeBinaryReader(binaryReader);\n }\n function serializeAsyncIterable(iterable, iterator) {\n function progress(entry) {\n if (entry.done) {\n if (void 0 === entry.value)\n data.append(formFieldPrefix + streamId, \"C\");\n else\n try {\n var partJSON = JSON.stringify(entry.value, resolveToJSON);\n data.append(formFieldPrefix + streamId, \"C\" + partJSON);\n } catch (x) {\n reject(x);\n return;\n }\n pendingParts--;\n 0 === pendingParts && resolve(data);\n } else\n try {\n var partJSON$21 = JSON.stringify(entry.value, resolveToJSON);\n data.append(formFieldPrefix + streamId, partJSON$21);\n iterator.next().then(progress, reject);\n } catch (x$22) {\n reject(x$22);\n }\n }\n null === formData && (formData = new FormData());\n var data = formData;\n pendingParts++;\n var streamId = nextPartId++;\n iterable = iterable === iterator;\n iterator.next().then(progress, reject);\n return \"$\" + (iterable ? \"x\" : \"X\") + streamId.toString(16);\n }\n function resolveToJSON(key, value) {\n if (null === value) return null;\n if (\"object\" === typeof value) {\n switch (value.$$typeof) {\n case REACT_ELEMENT_TYPE:\n if (void 0 !== temporaryReferences && -1 === key.indexOf(\":\")) {\n var parentReference = writtenObjects.get(this);\n if (void 0 !== parentReference)\n return (\n temporaryReferences.set(parentReference + \":\" + key, value),\n \"$T\"\n );\n }\n throw Error(\n \"React Element cannot be passed to Server Functions from the Client without a temporary reference set. Pass a TemporaryReferenceSet to the options.\"\n );\n case REACT_LAZY_TYPE:\n parentReference = value._payload;\n var init = value._init;\n null === formData && (formData = new FormData());\n pendingParts++;\n try {\n var resolvedModel = init(parentReference),\n lazyId = nextPartId++,\n partJSON = serializeModel(resolvedModel, lazyId);\n formData.append(formFieldPrefix + lazyId, partJSON);\n return \"$\" + lazyId.toString(16);\n } catch (x) {\n if (\n \"object\" === typeof x &&\n null !== x &&\n \"function\" === typeof x.then\n ) {\n pendingParts++;\n var lazyId$23 = nextPartId++;\n parentReference = function () {\n try {\n var partJSON$24 = serializeModel(value, lazyId$23),\n data$25 = formData;\n data$25.append(formFieldPrefix + lazyId$23, partJSON$24);\n pendingParts--;\n 0 === pendingParts && resolve(data$25);\n } catch (reason) {\n reject(reason);\n }\n };\n x.then(parentReference, parentReference);\n return \"$\" + lazyId$23.toString(16);\n }\n reject(x);\n return null;\n } finally {\n pendingParts--;\n }\n }\n if (\"function\" === typeof value.then) {\n null === formData && (formData = new FormData());\n pendingParts++;\n var promiseId = nextPartId++;\n value.then(function (partValue) {\n try {\n var partJSON$27 = serializeModel(partValue, promiseId);\n partValue = formData;\n partValue.append(formFieldPrefix + promiseId, partJSON$27);\n pendingParts--;\n 0 === pendingParts && resolve(partValue);\n } catch (reason) {\n reject(reason);\n }\n }, reject);\n return \"$@\" + promiseId.toString(16);\n }\n parentReference = writtenObjects.get(value);\n if (void 0 !== parentReference)\n if (modelRoot === value) modelRoot = null;\n else return parentReference;\n else\n -1 === key.indexOf(\":\") &&\n ((parentReference = writtenObjects.get(this)),\n void 0 !== parentReference &&\n ((key = parentReference + \":\" + key),\n writtenObjects.set(value, key),\n void 0 !== temporaryReferences &&\n temporaryReferences.set(key, value)));\n if (isArrayImpl(value)) return value;\n if (value instanceof FormData) {\n null === formData && (formData = new FormData());\n var data$31 = formData;\n key = nextPartId++;\n var prefix = formFieldPrefix + key + \"_\";\n value.forEach(function (originalValue, originalKey) {\n data$31.append(prefix + originalKey, originalValue);\n });\n return \"$K\" + key.toString(16);\n }\n if (value instanceof Map)\n return (\n (key = nextPartId++),\n (parentReference = serializeModel(Array.from(value), key)),\n null === formData && (formData = new FormData()),\n formData.append(formFieldPrefix + key, parentReference),\n \"$Q\" + key.toString(16)\n );\n if (value instanceof Set)\n return (\n (key = nextPartId++),\n (parentReference = serializeModel(Array.from(value), key)),\n null === formData && (formData = new FormData()),\n formData.append(formFieldPrefix + key, parentReference),\n \"$W\" + key.toString(16)\n );\n if (value instanceof ArrayBuffer)\n return (\n (key = new Blob([value])),\n (parentReference = nextPartId++),\n null === formData && (formData = new FormData()),\n formData.append(formFieldPrefix + parentReference, key),\n \"$A\" + parentReference.toString(16)\n );\n if (value instanceof Int8Array) return serializeTypedArray(\"O\", value);\n if (value instanceof Uint8Array) return serializeTypedArray(\"o\", value);\n if (value instanceof Uint8ClampedArray)\n return serializeTypedArray(\"U\", value);\n if (value instanceof Int16Array) return serializeTypedArray(\"S\", value);\n if (value instanceof Uint16Array) return serializeTypedArray(\"s\", value);\n if (value instanceof Int32Array) return serializeTypedArray(\"L\", value);\n if (value instanceof Uint32Array) return serializeTypedArray(\"l\", value);\n if (value instanceof Float32Array) return serializeTypedArray(\"G\", value);\n if (value instanceof Float64Array) return serializeTypedArray(\"g\", value);\n if (value instanceof BigInt64Array)\n return serializeTypedArray(\"M\", value);\n if (value instanceof BigUint64Array)\n return serializeTypedArray(\"m\", value);\n if (value instanceof DataView) return serializeTypedArray(\"V\", value);\n if (\"function\" === typeof Blob && value instanceof Blob)\n return (\n null === formData && (formData = new FormData()),\n (key = nextPartId++),\n formData.append(formFieldPrefix + key, value),\n \"$B\" + key.toString(16)\n );\n if ((key = getIteratorFn(value)))\n return (\n (parentReference = key.call(value)),\n parentReference === value\n ? ((key = nextPartId++),\n (parentReference = serializeModel(\n Array.from(parentReference),\n key\n )),\n null === formData && (formData = new FormData()),\n formData.append(formFieldPrefix + key, parentReference),\n \"$i\" + key.toString(16))\n : Array.from(parentReference)\n );\n if (\n \"function\" === typeof ReadableStream &&\n value instanceof ReadableStream\n )\n return serializeReadableStream(value);\n key = value[ASYNC_ITERATOR];\n if (\"function\" === typeof key)\n return serializeAsyncIterable(value, key.call(value));\n key = getPrototypeOf(value);\n if (\n key !== ObjectPrototype &&\n (null === key || null !== getPrototypeOf(key))\n ) {\n if (void 0 === temporaryReferences)\n throw Error(\n \"Only plain objects, and a few built-ins, can be passed to Server Functions. Classes or null prototypes are not supported.\"\n );\n return \"$T\";\n }\n return value;\n }\n if (\"string\" === typeof value) {\n if (\"Z\" === value[value.length - 1] && this[key] instanceof Date)\n return \"$D\" + value;\n key = \"$\" === value[0] ? \"$\" + value : value;\n return key;\n }\n if (\"boolean\" === typeof value) return value;\n if (\"number\" === typeof value) return serializeNumber(value);\n if (\"undefined\" === typeof value) return \"$undefined\";\n if (\"function\" === typeof value) {\n parentReference = knownServerReferences.get(value);\n if (void 0 !== parentReference)\n return (\n (key = JSON.stringify(\n { id: parentReference.id, bound: parentReference.bound },\n resolveToJSON\n )),\n null === formData && (formData = new FormData()),\n (parentReference = nextPartId++),\n formData.set(formFieldPrefix + parentReference, key),\n \"$F\" + parentReference.toString(16)\n );\n if (\n void 0 !== temporaryReferences &&\n -1 === key.indexOf(\":\") &&\n ((parentReference = writtenObjects.get(this)),\n void 0 !== parentReference)\n )\n return (\n temporaryReferences.set(parentReference + \":\" + key, value), \"$T\"\n );\n throw Error(\n \"Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again.\"\n );\n }\n if (\"symbol\" === typeof value) {\n if (\n void 0 !== temporaryReferences &&\n -1 === key.indexOf(\":\") &&\n ((parentReference = writtenObjects.get(this)),\n void 0 !== parentReference)\n )\n return (\n temporaryReferences.set(parentReference + \":\" + key, value), \"$T\"\n );\n throw Error(\n \"Symbols cannot be passed to a Server Function without a temporary reference set. Pass a TemporaryReferenceSet to the options.\"\n );\n }\n if (\"bigint\" === typeof value) return \"$n\" + value.toString(10);\n throw Error(\n \"Type \" +\n typeof value +\n \" is not supported as an argument to a Server Function.\"\n );\n }\n function serializeModel(model, id) {\n \"object\" === typeof model &&\n null !== model &&\n ((id = \"$\" + id.toString(16)),\n writtenObjects.set(model, id),\n void 0 !== temporaryReferences && temporaryReferences.set(id, model));\n modelRoot = model;\n return JSON.stringify(model, resolveToJSON);\n }\n var nextPartId = 1,\n pendingParts = 0,\n formData = null,\n writtenObjects = new WeakMap(),\n modelRoot = root,\n json = serializeModel(root, 0);\n null === formData\n ? resolve(json)\n : (formData.set(formFieldPrefix + \"0\", json),\n 0 === pendingParts && resolve(formData));\n return function () {\n 0 < pendingParts &&\n ((pendingParts = 0),\n null === formData ? resolve(json) : resolve(formData));\n };\n}\nvar boundCache = new WeakMap();\nfunction encodeFormData(reference) {\n var resolve,\n reject,\n thenable = new Promise(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n processReply(\n reference,\n \"\",\n void 0,\n function (body) {\n if (\"string\" === typeof body) {\n var data = new FormData();\n data.append(\"0\", body);\n body = data;\n }\n thenable.status = \"fulfilled\";\n thenable.value = body;\n resolve(body);\n },\n function (e) {\n thenable.status = \"rejected\";\n thenable.reason = e;\n reject(e);\n }\n );\n return thenable;\n}\nfunction defaultEncodeFormAction(identifierPrefix) {\n var referenceClosure = knownServerReferences.get(this);\n if (!referenceClosure)\n throw Error(\n \"Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.\"\n );\n var data = null;\n if (null !== referenceClosure.bound) {\n data = boundCache.get(referenceClosure);\n data ||\n ((data = encodeFormData({\n id: referenceClosure.id,\n bound: referenceClosure.bound\n })),\n boundCache.set(referenceClosure, data));\n if (\"rejected\" === data.status) throw data.reason;\n if (\"fulfilled\" !== data.status) throw data;\n referenceClosure = data.value;\n var prefixedData = new FormData();\n referenceClosure.forEach(function (value, key) {\n prefixedData.append(\"$ACTION_\" + identifierPrefix + \":\" + key, value);\n });\n data = prefixedData;\n referenceClosure = \"$ACTION_REF_\" + identifierPrefix;\n } else referenceClosure = \"$ACTION_ID_\" + referenceClosure.id;\n return {\n name: referenceClosure,\n method: \"POST\",\n encType: \"multipart/form-data\",\n data: data\n };\n}\nfunction isSignatureEqual(referenceId, numberOfBoundArgs) {\n var referenceClosure = knownServerReferences.get(this);\n if (!referenceClosure)\n throw Error(\n \"Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.\"\n );\n if (referenceClosure.id !== referenceId) return !1;\n var boundPromise = referenceClosure.bound;\n if (null === boundPromise) return 0 === numberOfBoundArgs;\n switch (boundPromise.status) {\n case \"fulfilled\":\n return boundPromise.value.length === numberOfBoundArgs;\n case \"pending\":\n throw boundPromise;\n case \"rejected\":\n throw boundPromise.reason;\n default:\n throw (\n (\"string\" !== typeof boundPromise.status &&\n ((boundPromise.status = \"pending\"),\n boundPromise.then(\n function (boundArgs) {\n boundPromise.status = \"fulfilled\";\n boundPromise.value = boundArgs;\n },\n function (error) {\n boundPromise.status = \"rejected\";\n boundPromise.reason = error;\n }\n )),\n boundPromise)\n );\n }\n}\nfunction registerBoundServerReference(reference, id, bound, encodeFormAction) {\n knownServerReferences.has(reference) ||\n (knownServerReferences.set(reference, {\n id: id,\n originalBind: reference.bind,\n bound: bound\n }),\n Object.defineProperties(reference, {\n $$FORM_ACTION: {\n value:\n void 0 === encodeFormAction\n ? defaultEncodeFormAction\n : function () {\n var referenceClosure = knownServerReferences.get(this);\n if (!referenceClosure)\n throw Error(\n \"Tried to encode a Server Action from a different instance than the encoder is from. This is a bug in React.\"\n );\n var boundPromise = referenceClosure.bound;\n null === boundPromise && (boundPromise = Promise.resolve([]));\n return encodeFormAction(referenceClosure.id, boundPromise);\n }\n },\n $$IS_SIGNATURE_EQUAL: { value: isSignatureEqual },\n bind: { value: bind }\n }));\n}\nvar FunctionBind = Function.prototype.bind,\n ArraySlice = Array.prototype.slice;\nfunction bind() {\n var referenceClosure = knownServerReferences.get(this);\n if (!referenceClosure) return FunctionBind.apply(this, arguments);\n var newFn = referenceClosure.originalBind.apply(this, arguments),\n args = ArraySlice.call(arguments, 1),\n boundPromise = null;\n boundPromise =\n null !== referenceClosure.bound\n ? Promise.resolve(referenceClosure.bound).then(function (boundArgs) {\n return boundArgs.concat(args);\n })\n : Promise.resolve(args);\n knownServerReferences.set(newFn, {\n id: referenceClosure.id,\n originalBind: newFn.bind,\n bound: boundPromise\n });\n Object.defineProperties(newFn, {\n $$FORM_ACTION: { value: this.$$FORM_ACTION },\n $$IS_SIGNATURE_EQUAL: { value: isSignatureEqual },\n bind: { value: bind }\n });\n return newFn;\n}\nfunction createBoundServerReference(metaData, callServer, encodeFormAction) {\n function action() {\n var args = Array.prototype.slice.call(arguments);\n return bound\n ? \"fulfilled\" === bound.status\n ? callServer(id, bound.value.concat(args))\n : Promise.resolve(bound).then(function (boundArgs) {\n return callServer(id, boundArgs.concat(args));\n })\n : callServer(id, args);\n }\n var id = metaData.id,\n bound = metaData.bound;\n registerBoundServerReference(action, id, bound, encodeFormAction);\n return action;\n}\nfunction createServerReference$1(id, callServer, encodeFormAction) {\n function action() {\n var args = Array.prototype.slice.call(arguments);\n return callServer(id, args);\n }\n registerBoundServerReference(action, id, null, encodeFormAction);\n return action;\n}\nfunction ReactPromise(status, value, reason) {\n this.status = status;\n this.value = value;\n this.reason = reason;\n}\nReactPromise.prototype = Object.create(Promise.prototype);\nReactPromise.prototype.then = function (resolve, reject) {\n switch (this.status) {\n case \"resolved_model\":\n initializeModelChunk(this);\n break;\n case \"resolved_module\":\n initializeModuleChunk(this);\n }\n switch (this.status) {\n case \"fulfilled\":\n \"function\" === typeof resolve && resolve(this.value);\n break;\n case \"pending\":\n case \"blocked\":\n \"function\" === typeof resolve &&\n (null === this.value && (this.value = []), this.value.push(resolve));\n \"function\" === typeof reject &&\n (null === this.reason && (this.reason = []), this.reason.push(reject));\n break;\n case \"halted\":\n break;\n default:\n \"function\" === typeof reject && reject(this.reason);\n }\n};\nfunction readChunk(chunk) {\n switch (chunk.status) {\n case \"resolved_model\":\n initializeModelChunk(chunk);\n break;\n case \"resolved_module\":\n initializeModuleChunk(chunk);\n }\n switch (chunk.status) {\n case \"fulfilled\":\n return chunk.value;\n case \"pending\":\n case \"blocked\":\n case \"halted\":\n throw chunk;\n default:\n throw chunk.reason;\n }\n}\nfunction wakeChunk(response, listeners, value) {\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n \"function\" === typeof listener\n ? listener(value)\n : fulfillReference(response, listener, value);\n }\n}\nfunction rejectChunk(response, listeners, error) {\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n \"function\" === typeof listener\n ? listener(error)\n : rejectReference(response, listener.handler, error);\n }\n}\nfunction resolveBlockedCycle(resolvedChunk, reference) {\n var referencedChunk = reference.handler.chunk;\n if (null === referencedChunk) return null;\n if (referencedChunk === resolvedChunk) return reference.handler;\n reference = referencedChunk.value;\n if (null !== reference)\n for (\n referencedChunk = 0;\n referencedChunk < reference.length;\n referencedChunk++\n ) {\n var listener = reference[referencedChunk];\n if (\n \"function\" !== typeof listener &&\n ((listener = resolveBlockedCycle(resolvedChunk, listener)),\n null !== listener)\n )\n return listener;\n }\n return null;\n}\nfunction wakeChunkIfInitialized(\n response,\n chunk,\n resolveListeners,\n rejectListeners\n) {\n switch (chunk.status) {\n case \"fulfilled\":\n wakeChunk(response, resolveListeners, chunk.value);\n break;\n case \"blocked\":\n for (var i = 0; i < resolveListeners.length; i++) {\n var listener = resolveListeners[i];\n if (\"function\" !== typeof listener) {\n var cyclicHandler = resolveBlockedCycle(chunk, listener);\n if (null !== cyclicHandler)\n switch (\n (fulfillReference(response, listener, cyclicHandler.value),\n resolveListeners.splice(i, 1),\n i--,\n null !== rejectListeners &&\n ((listener = rejectListeners.indexOf(listener)),\n -1 !== listener && rejectListeners.splice(listener, 1)),\n chunk.status)\n ) {\n case \"fulfilled\":\n wakeChunk(response, resolveListeners, chunk.value);\n return;\n case \"rejected\":\n null !== rejectListeners &&\n rejectChunk(response, rejectListeners, chunk.reason);\n return;\n }\n }\n }\n case \"pending\":\n if (chunk.value)\n for (response = 0; response < resolveListeners.length; response++)\n chunk.value.push(resolveListeners[response]);\n else chunk.value = resolveListeners;\n if (chunk.reason) {\n if (rejectListeners)\n for (\n resolveListeners = 0;\n resolveListeners < rejectListeners.length;\n resolveListeners++\n )\n chunk.reason.push(rejectListeners[resolveListeners]);\n } else chunk.reason = rejectListeners;\n break;\n case \"rejected\":\n rejectListeners && rejectChunk(response, rejectListeners, chunk.reason);\n }\n}\nfunction triggerErrorOnChunk(response, chunk, error) {\n if (\"pending\" !== chunk.status && \"blocked\" !== chunk.status)\n chunk.reason.error(error);\n else {\n var listeners = chunk.reason;\n chunk.status = \"rejected\";\n chunk.reason = error;\n null !== listeners && rejectChunk(response, listeners, error);\n }\n}\nfunction createResolvedIteratorResultChunk(response, value, done) {\n return new ReactPromise(\n \"resolved_model\",\n (done ? '{\"done\":true,\"value\":' : '{\"done\":false,\"value\":') + value + \"}\",\n response\n );\n}\nfunction resolveIteratorResultChunk(response, chunk, value, done) {\n resolveModelChunk(\n response,\n chunk,\n (done ? '{\"done\":true,\"value\":' : '{\"done\":false,\"value\":') + value + \"}\"\n );\n}\nfunction resolveModelChunk(response, chunk, value) {\n if (\"pending\" !== chunk.status) chunk.reason.enqueueModel(value);\n else {\n var resolveListeners = chunk.value,\n rejectListeners = chunk.reason;\n chunk.status = \"resolved_model\";\n chunk.value = value;\n chunk.reason = response;\n null !== resolveListeners &&\n (initializeModelChunk(chunk),\n wakeChunkIfInitialized(\n response,\n chunk,\n resolveListeners,\n rejectListeners\n ));\n }\n}\nfunction resolveModuleChunk(response, chunk, value) {\n if (\"pending\" === chunk.status || \"blocked\" === chunk.status) {\n var resolveListeners = chunk.value,\n rejectListeners = chunk.reason;\n chunk.status = \"resolved_module\";\n chunk.value = value;\n null !== resolveListeners &&\n (initializeModuleChunk(chunk),\n wakeChunkIfInitialized(\n response,\n chunk,\n resolveListeners,\n rejectListeners\n ));\n }\n}\nvar initializingHandler = null;\nfunction initializeModelChunk(chunk) {\n var prevHandler = initializingHandler;\n initializingHandler = null;\n var resolvedModel = chunk.value,\n response = chunk.reason;\n chunk.status = \"blocked\";\n chunk.value = null;\n chunk.reason = null;\n try {\n var value = JSON.parse(resolvedModel, response._fromJSON),\n resolveListeners = chunk.value;\n if (null !== resolveListeners)\n for (\n chunk.value = null, chunk.reason = null, resolvedModel = 0;\n resolvedModel < resolveListeners.length;\n resolvedModel++\n ) {\n var listener = resolveListeners[resolvedModel];\n \"function\" === typeof listener\n ? listener(value)\n : fulfillReference(response, listener, value, chunk);\n }\n if (null !== initializingHandler) {\n if (initializingHandler.errored) throw initializingHandler.reason;\n if (0 < initializingHandler.deps) {\n initializingHandler.value = value;\n initializingHandler.chunk = chunk;\n return;\n }\n }\n chunk.status = \"fulfilled\";\n chunk.value = value;\n } catch (error) {\n (chunk.status = \"rejected\"), (chunk.reason = error);\n } finally {\n initializingHandler = prevHandler;\n }\n}\nfunction initializeModuleChunk(chunk) {\n try {\n var value = requireModule(chunk.value);\n chunk.status = \"fulfilled\";\n chunk.value = value;\n } catch (error) {\n (chunk.status = \"rejected\"), (chunk.reason = error);\n }\n}\nfunction reportGlobalError(weakResponse, error) {\n weakResponse._closed = !0;\n weakResponse._closedReason = error;\n weakResponse._chunks.forEach(function (chunk) {\n \"pending\" === chunk.status &&\n triggerErrorOnChunk(weakResponse, chunk, error);\n });\n}\nfunction createLazyChunkWrapper(chunk) {\n return { $$typeof: REACT_LAZY_TYPE, _payload: chunk, _init: readChunk };\n}\nfunction getChunk(response, id) {\n var chunks = response._chunks,\n chunk = chunks.get(id);\n chunk ||\n ((chunk = response._closed\n ? new ReactPromise(\"rejected\", null, response._closedReason)\n : new ReactPromise(\"pending\", null, null)),\n chunks.set(id, chunk));\n return chunk;\n}\nfunction fulfillReference(response, reference, value) {\n for (\n var handler = reference.handler,\n parentObject = reference.parentObject,\n key = reference.key,\n map = reference.map,\n path = reference.path,\n i = 1;\n i < path.length;\n i++\n ) {\n for (\n ;\n \"object\" === typeof value &&\n null !== value &&\n value.$$typeof === REACT_LAZY_TYPE;\n\n )\n if (((value = value._payload), value === handler.chunk))\n value = handler.value;\n else {\n switch (value.status) {\n case \"resolved_model\":\n initializeModelChunk(value);\n break;\n case \"resolved_module\":\n initializeModuleChunk(value);\n }\n switch (value.status) {\n case \"fulfilled\":\n value = value.value;\n continue;\n case \"blocked\":\n var cyclicHandler = resolveBlockedCycle(value, reference);\n if (null !== cyclicHandler) {\n value = cyclicHandler.value;\n continue;\n }\n case \"pending\":\n path.splice(0, i - 1);\n null === value.value\n ? (value.value = [reference])\n : value.value.push(reference);\n null === value.reason\n ? (value.reason = [reference])\n : value.reason.push(reference);\n return;\n case \"halted\":\n return;\n default:\n rejectReference(response, reference.handler, value.reason);\n return;\n }\n }\n value = value[path[i]];\n }\n for (\n ;\n \"object\" === typeof value &&\n null !== value &&\n value.$$typeof === REACT_LAZY_TYPE;\n\n )\n if (((reference = value._payload), reference === handler.chunk))\n value = handler.value;\n else {\n switch (reference.status) {\n case \"resolved_model\":\n initializeModelChunk(reference);\n break;\n case \"resolved_module\":\n initializeModuleChunk(reference);\n }\n switch (reference.status) {\n case \"fulfilled\":\n value = reference.value;\n continue;\n }\n break;\n }\n map = map(response, value, parentObject, key);\n parentObject[key] = map;\n \"\" === key && null === handler.value && (handler.value = map);\n if (\n parentObject[0] === REACT_ELEMENT_TYPE &&\n \"object\" === typeof handler.value &&\n null !== handler.value &&\n handler.value.$$typeof === REACT_ELEMENT_TYPE\n )\n switch (((parentObject = handler.value), key)) {\n case \"3\":\n parentObject.props = map;\n }\n handler.deps--;\n 0 === handler.deps &&\n ((key = handler.chunk),\n null !== key &&\n \"blocked\" === key.status &&\n ((parentObject = key.value),\n (key.status = \"fulfilled\"),\n (key.value = handler.value),\n (key.reason = handler.reason),\n null !== parentObject &&\n wakeChunk(response, parentObject, handler.value)));\n}\nfunction rejectReference(response, handler, error) {\n handler.errored ||\n ((handler.errored = !0),\n (handler.value = null),\n (handler.reason = error),\n (handler = handler.chunk),\n null !== handler &&\n \"blocked\" === handler.status &&\n triggerErrorOnChunk(response, handler, error));\n}\nfunction waitForReference(\n referencedChunk,\n parentObject,\n key,\n response,\n map,\n path\n) {\n initializingHandler\n ? ((response = initializingHandler), response.deps++)\n : (response = initializingHandler =\n {\n parent: null,\n chunk: null,\n value: null,\n reason: null,\n deps: 1,\n errored: !1\n });\n parentObject = {\n handler: response,\n parentObject: parentObject,\n key: key,\n map: map,\n path: path\n };\n null === referencedChunk.value\n ? (referencedChunk.value = [parentObject])\n : referencedChunk.value.push(parentObject);\n null === referencedChunk.reason\n ? (referencedChunk.reason = [parentObject])\n : referencedChunk.reason.push(parentObject);\n return null;\n}\nfunction loadServerReference(response, metaData, parentObject, key) {\n if (!response._serverReferenceConfig)\n return createBoundServerReference(\n metaData,\n response._callServer,\n response._encodeFormAction\n );\n var serverReference = resolveServerReference(\n response._serverReferenceConfig,\n metaData.id\n ),\n promise = preloadModule(serverReference);\n if (promise)\n metaData.bound && (promise = Promise.all([promise, metaData.bound]));\n else if (metaData.bound) promise = Promise.resolve(metaData.bound);\n else\n return (\n (promise = requireModule(serverReference)),\n registerBoundServerReference(\n promise,\n metaData.id,\n metaData.bound,\n response._encodeFormAction\n ),\n promise\n );\n if (initializingHandler) {\n var handler = initializingHandler;\n handler.deps++;\n } else\n handler = initializingHandler = {\n parent: null,\n chunk: null,\n value: null,\n reason: null,\n deps: 1,\n errored: !1\n };\n promise.then(\n function () {\n var resolvedValue = requireModule(serverReference);\n if (metaData.bound) {\n var boundArgs = metaData.bound.value.slice(0);\n boundArgs.unshift(null);\n resolvedValue = resolvedValue.bind.apply(resolvedValue, boundArgs);\n }\n registerBoundServerReference(\n resolvedValue,\n metaData.id,\n metaData.bound,\n response._encodeFormAction\n );\n parentObject[key] = resolvedValue;\n \"\" === key && null === handler.value && (handler.value = resolvedValue);\n if (\n parentObject[0] === REACT_ELEMENT_TYPE &&\n \"object\" === typeof handler.value &&\n null !== handler.value &&\n handler.value.$$typeof === REACT_ELEMENT_TYPE\n )\n switch (((boundArgs = handler.value), key)) {\n case \"3\":\n boundArgs.props = resolvedValue;\n }\n handler.deps--;\n 0 === handler.deps &&\n ((resolvedValue = handler.chunk),\n null !== resolvedValue &&\n \"blocked\" === resolvedValue.status &&\n ((boundArgs = resolvedValue.value),\n (resolvedValue.status = \"fulfilled\"),\n (resolvedValue.value = handler.value),\n null !== boundArgs && wakeChunk(response, boundArgs, handler.value)));\n },\n function (error) {\n if (!handler.errored) {\n handler.errored = !0;\n handler.value = null;\n handler.reason = error;\n var chunk = handler.chunk;\n null !== chunk &&\n \"blocked\" === chunk.status &&\n triggerErrorOnChunk(response, chunk, error);\n }\n }\n );\n return null;\n}\nfunction getOutlinedModel(response, reference, parentObject, key, map) {\n reference = reference.split(\":\");\n var id = parseInt(reference[0], 16);\n id = getChunk(response, id);\n switch (id.status) {\n case \"resolved_model\":\n initializeModelChunk(id);\n break;\n case \"resolved_module\":\n initializeModuleChunk(id);\n }\n switch (id.status) {\n case \"fulfilled\":\n id = id.value;\n for (var i = 1; i < reference.length; i++) {\n for (\n ;\n \"object\" === typeof id &&\n null !== id &&\n id.$$typeof === REACT_LAZY_TYPE;\n\n ) {\n id = id._payload;\n switch (id.status) {\n case \"resolved_model\":\n initializeModelChunk(id);\n break;\n case \"resolved_module\":\n initializeModuleChunk(id);\n }\n switch (id.status) {\n case \"fulfilled\":\n id = id.value;\n break;\n case \"blocked\":\n case \"pending\":\n return waitForReference(\n id,\n parentObject,\n key,\n response,\n map,\n reference.slice(i - 1)\n );\n case \"halted\":\n return (\n initializingHandler\n ? ((response = initializingHandler), response.deps++)\n : (initializingHandler = {\n parent: null,\n chunk: null,\n value: null,\n reason: null,\n deps: 1,\n errored: !1\n }),\n null\n );\n default:\n return (\n initializingHandler\n ? ((initializingHandler.errored = !0),\n (initializingHandler.value = null),\n (initializingHandler.reason = id.reason))\n : (initializingHandler = {\n parent: null,\n chunk: null,\n value: null,\n reason: id.reason,\n deps: 0,\n errored: !0\n }),\n null\n );\n }\n }\n id = id[reference[i]];\n }\n for (\n ;\n \"object\" === typeof id &&\n null !== id &&\n id.$$typeof === REACT_LAZY_TYPE;\n\n ) {\n reference = id._payload;\n switch (reference.status) {\n case \"resolved_model\":\n initializeModelChunk(reference);\n break;\n case \"resolved_module\":\n initializeModuleChunk(reference);\n }\n switch (reference.status) {\n case \"fulfilled\":\n id = reference.value;\n continue;\n }\n break;\n }\n return map(response, id, parentObject, key);\n case \"pending\":\n case \"blocked\":\n return waitForReference(id, parentObject, key, response, map, reference);\n case \"halted\":\n return (\n initializingHandler\n ? ((response = initializingHandler), response.deps++)\n : (initializingHandler = {\n parent: null,\n chunk: null,\n value: null,\n reason: null,\n deps: 1,\n errored: !1\n }),\n null\n );\n default:\n return (\n initializingHandler\n ? ((initializingHandler.errored = !0),\n (initializingHandler.value = null),\n (initializingHandler.reason = id.reason))\n : (initializingHandler = {\n parent: null,\n chunk: null,\n value: null,\n reason: id.reason,\n deps: 0,\n errored: !0\n }),\n null\n );\n }\n}\nfunction createMap(response, model) {\n return new Map(model);\n}\nfunction createSet(response, model) {\n return new Set(model);\n}\nfunction createBlob(response, model) {\n return new Blob(model.slice(1), { type: model[0] });\n}\nfunction createFormData(response, model) {\n response = new FormData();\n for (var i = 0; i < model.length; i++)\n response.append(model[i][0], model[i][1]);\n return response;\n}\nfunction extractIterator(response, model) {\n return model[Symbol.iterator]();\n}\nfunction createModel(response, model) {\n return model;\n}\nfunction parseModelString(response, parentObject, key, value) {\n if (\"$\" === value[0]) {\n if (\"$\" === value)\n return (\n null !== initializingHandler &&\n \"0\" === key &&\n (initializingHandler = {\n parent: initializingHandler,\n chunk: null,\n value: null,\n reason: null,\n deps: 0,\n errored: !1\n }),\n REACT_ELEMENT_TYPE\n );\n switch (value[1]) {\n case \"$\":\n return value.slice(1);\n case \"L\":\n return (\n (parentObject = parseInt(value.slice(2), 16)),\n (response = getChunk(response, parentObject)),\n createLazyChunkWrapper(response)\n );\n case \"@\":\n return (\n (parentObject = parseInt(value.slice(2), 16)),\n getChunk(response, parentObject)\n );\n case \"S\":\n return Symbol.for(value.slice(2));\n case \"F\":\n return (\n (value = value.slice(2)),\n getOutlinedModel(\n response,\n value,\n parentObject,\n key,\n loadServerReference\n )\n );\n case \"T\":\n parentObject = \"$\" + value.slice(2);\n response = response._tempRefs;\n if (null == response)\n throw Error(\n \"Missing a temporary reference set but the RSC response returned a temporary reference. Pass a temporaryReference option with the set that was used with the reply.\"\n );\n return response.get(parentObject);\n case \"Q\":\n return (\n (value = value.slice(2)),\n getOutlinedModel(response, value, parentObject, key, createMap)\n );\n case \"W\":\n return (\n (value = value.slice(2)),\n getOutlinedModel(response, value, parentObject, key, createSet)\n );\n case \"B\":\n return (\n (value = value.slice(2)),\n getOutlinedModel(response, value, parentObject, key, createBlob)\n );\n case \"K\":\n return (\n (value = value.slice(2)),\n getOutlinedModel(response, value, parentObject, key, createFormData)\n );\n case \"Z\":\n return resolveErrorProd();\n case \"i\":\n return (\n (value = value.slice(2)),\n getOutlinedModel(response, value, parentObject, key, extractIterator)\n );\n case \"I\":\n return Infinity;\n case \"-\":\n return \"$-0\" === value ? -0 : -Infinity;\n case \"N\":\n return NaN;\n case \"u\":\n return;\n case \"D\":\n return new Date(Date.parse(value.slice(2)));\n case \"n\":\n return BigInt(value.slice(2));\n default:\n return (\n (value = value.slice(1)),\n getOutlinedModel(response, value, parentObject, key, createModel)\n );\n }\n }\n return value;\n}\nfunction missingCall() {\n throw Error(\n 'Trying to call a function from \"use server\" but the callServer option was not implemented in your router runtime.'\n );\n}\nfunction ResponseInstance(\n bundlerConfig,\n serverReferenceConfig,\n moduleLoading,\n callServer,\n encodeFormAction,\n nonce,\n temporaryReferences\n) {\n var chunks = new Map();\n this._bundlerConfig = bundlerConfig;\n this._serverReferenceConfig = serverReferenceConfig;\n this._moduleLoading = moduleLoading;\n this._callServer = void 0 !== callServer ? callServer : missingCall;\n this._encodeFormAction = encodeFormAction;\n this._nonce = nonce;\n this._chunks = chunks;\n this._stringDecoder = new util.TextDecoder();\n this._fromJSON = null;\n this._closed = !1;\n this._closedReason = null;\n this._tempRefs = temporaryReferences;\n this._fromJSON = createFromJSONCallback(this);\n}\nfunction createStreamState() {\n return { _rowState: 0, _rowID: 0, _rowTag: 0, _rowLength: 0, _buffer: [] };\n}\nfunction resolveBuffer(response, id, buffer) {\n response = response._chunks;\n var chunk = response.get(id);\n chunk && \"pending\" !== chunk.status\n ? chunk.reason.enqueueValue(buffer)\n : ((buffer = new ReactPromise(\"fulfilled\", buffer, null)),\n response.set(id, buffer));\n}\nfunction resolveModule(response, id, model) {\n var chunks = response._chunks,\n chunk = chunks.get(id);\n model = JSON.parse(model, response._fromJSON);\n var clientReference = resolveClientReference(response._bundlerConfig, model);\n prepareDestinationWithChunks(\n response._moduleLoading,\n model[1],\n response._nonce\n );\n if ((model = preloadModule(clientReference))) {\n if (chunk) {\n var blockedChunk = chunk;\n blockedChunk.status = \"blocked\";\n } else\n (blockedChunk = new ReactPromise(\"blocked\", null, null)),\n chunks.set(id, blockedChunk);\n model.then(\n function () {\n return resolveModuleChunk(response, blockedChunk, clientReference);\n },\n function (error) {\n return triggerErrorOnChunk(response, blockedChunk, error);\n }\n );\n } else\n chunk\n ? resolveModuleChunk(response, chunk, clientReference)\n : ((chunk = new ReactPromise(\"resolved_module\", clientReference, null)),\n chunks.set(id, chunk));\n}\nfunction resolveStream(response, id, stream, controller) {\n var chunks = response._chunks,\n chunk = chunks.get(id);\n chunk\n ? \"pending\" === chunk.status &&\n ((id = chunk.value),\n (chunk.status = \"fulfilled\"),\n (chunk.value = stream),\n (chunk.reason = controller),\n null !== id && wakeChunk(response, id, chunk.value))\n : ((response = new ReactPromise(\"fulfilled\", stream, controller)),\n chunks.set(id, response));\n}\nfunction startReadableStream(response, id, type) {\n var controller = null;\n type = new ReadableStream({\n type: type,\n start: function (c) {\n controller = c;\n }\n });\n var previousBlockedChunk = null;\n resolveStream(response, id, type, {\n enqueueValue: function (value) {\n null === previousBlockedChunk\n ? controller.enqueue(value)\n : previousBlockedChunk.then(function () {\n controller.enqueue(value);\n });\n },\n enqueueModel: function (json) {\n if (null === previousBlockedChunk) {\n var chunk = new ReactPromise(\"resolved_model\", json, response);\n initializeModelChunk(chunk);\n \"fulfilled\" === chunk.status\n ? controller.enqueue(chunk.value)\n : (chunk.then(\n function (v) {\n return controller.enqueue(v);\n },\n function (e) {\n return controller.error(e);\n }\n ),\n (previousBlockedChunk = chunk));\n } else {\n chunk = previousBlockedChunk;\n var chunk$54 = new ReactPromise(\"pending\", null, null);\n chunk$54.then(\n function (v) {\n return controller.enqueue(v);\n },\n function (e) {\n return controller.error(e);\n }\n );\n previousBlockedChunk = chunk$54;\n chunk.then(function () {\n previousBlockedChunk === chunk$54 && (previousBlockedChunk = null);\n resolveModelChunk(response, chunk$54, json);\n });\n }\n },\n close: function () {\n if (null === previousBlockedChunk) controller.close();\n else {\n var blockedChunk = previousBlockedChunk;\n previousBlockedChunk = null;\n blockedChunk.then(function () {\n return controller.close();\n });\n }\n },\n error: function (error) {\n if (null === previousBlockedChunk) controller.error(error);\n else {\n var blockedChunk = previousBlockedChunk;\n previousBlockedChunk = null;\n blockedChunk.then(function () {\n return controller.error(error);\n });\n }\n }\n });\n}\nfunction asyncIterator() {\n return this;\n}\nfunction createIterator(next) {\n next = { next: next };\n next[ASYNC_ITERATOR] = asyncIterator;\n return next;\n}\nfunction startAsyncIterable(response, id, iterator) {\n var buffer = [],\n closed = !1,\n nextWriteIndex = 0,\n iterable = {};\n iterable[ASYNC_ITERATOR] = function () {\n var nextReadIndex = 0;\n return createIterator(function (arg) {\n if (void 0 !== arg)\n throw Error(\n \"Values cannot be passed to next() of AsyncIterables passed to Client Components.\"\n );\n if (nextReadIndex === buffer.length) {\n if (closed)\n return new ReactPromise(\n \"fulfilled\",\n { done: !0, value: void 0 },\n null\n );\n buffer[nextReadIndex] = new ReactPromise(\"pending\", null, null);\n }\n return buffer[nextReadIndex++];\n });\n };\n resolveStream(\n response,\n id,\n iterator ? iterable[ASYNC_ITERATOR]() : iterable,\n {\n enqueueValue: function (value) {\n if (nextWriteIndex === buffer.length)\n buffer[nextWriteIndex] = new ReactPromise(\n \"fulfilled\",\n { done: !1, value: value },\n null\n );\n else {\n var chunk = buffer[nextWriteIndex],\n resolveListeners = chunk.value,\n rejectListeners = chunk.reason;\n chunk.status = \"fulfilled\";\n chunk.value = { done: !1, value: value };\n null !== resolveListeners &&\n wakeChunkIfInitialized(\n response,\n chunk,\n resolveListeners,\n rejectListeners\n );\n }\n nextWriteIndex++;\n },\n enqueueModel: function (value) {\n nextWriteIndex === buffer.length\n ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(\n response,\n value,\n !1\n ))\n : resolveIteratorResultChunk(\n response,\n buffer[nextWriteIndex],\n value,\n !1\n );\n nextWriteIndex++;\n },\n close: function (value) {\n closed = !0;\n nextWriteIndex === buffer.length\n ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(\n response,\n value,\n !0\n ))\n : resolveIteratorResultChunk(\n response,\n buffer[nextWriteIndex],\n value,\n !0\n );\n for (nextWriteIndex++; nextWriteIndex < buffer.length; )\n resolveIteratorResultChunk(\n response,\n buffer[nextWriteIndex++],\n '\"$undefined\"',\n !0\n );\n },\n error: function (error) {\n closed = !0;\n for (\n nextWriteIndex === buffer.length &&\n (buffer[nextWriteIndex] = new ReactPromise(\"pending\", null, null));\n nextWriteIndex < buffer.length;\n\n )\n triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);\n }\n }\n );\n}\nfunction resolveErrorProd() {\n var error = Error(\n \"An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error.\"\n );\n error.stack = \"Error: \" + error.message;\n return error;\n}\nfunction mergeBuffer(buffer, lastChunk) {\n for (var l = buffer.length, byteLength = lastChunk.length, i = 0; i < l; i++)\n byteLength += buffer[i].byteLength;\n byteLength = new Uint8Array(byteLength);\n for (var i$55 = (i = 0); i$55 < l; i$55++) {\n var chunk = buffer[i$55];\n byteLength.set(chunk, i);\n i += chunk.byteLength;\n }\n byteLength.set(lastChunk, i);\n return byteLength;\n}\nfunction resolveTypedArray(\n response,\n id,\n buffer,\n lastChunk,\n constructor,\n bytesPerElement\n) {\n buffer =\n 0 === buffer.length && 0 === lastChunk.byteOffset % bytesPerElement\n ? lastChunk\n : mergeBuffer(buffer, lastChunk);\n constructor = new constructor(\n buffer.buffer,\n buffer.byteOffset,\n buffer.byteLength / bytesPerElement\n );\n resolveBuffer(response, id, constructor);\n}\nfunction processFullBinaryRow(response, streamState, id, tag, buffer, chunk) {\n switch (tag) {\n case 65:\n resolveBuffer(response, id, mergeBuffer(buffer, chunk).buffer);\n return;\n case 79:\n resolveTypedArray(response, id, buffer, chunk, Int8Array, 1);\n return;\n case 111:\n resolveBuffer(\n response,\n id,\n 0 === buffer.length ? chunk : mergeBuffer(buffer, chunk)\n );\n return;\n case 85:\n resolveTypedArray(response, id, buffer, chunk, Uint8ClampedArray, 1);\n return;\n case 83:\n resolveTypedArray(response, id, buffer, chunk, Int16Array, 2);\n return;\n case 115:\n resolveTypedArray(response, id, buffer, chunk, Uint16Array, 2);\n return;\n case 76:\n resolveTypedArray(response, id, buffer, chunk, Int32Array, 4);\n return;\n case 108:\n resolveTypedArray(response, id, buffer, chunk, Uint32Array, 4);\n return;\n case 71:\n resolveTypedArray(response, id, buffer, chunk, Float32Array, 4);\n return;\n case 103:\n resolveTypedArray(response, id, buffer, chunk, Float64Array, 8);\n return;\n case 77:\n resolveTypedArray(response, id, buffer, chunk, BigInt64Array, 8);\n return;\n case 109:\n resolveTypedArray(response, id, buffer, chunk, BigUint64Array, 8);\n return;\n case 86:\n resolveTypedArray(response, id, buffer, chunk, DataView, 1);\n return;\n }\n for (\n var stringDecoder = response._stringDecoder, row = \"\", i = 0;\n i < buffer.length;\n i++\n )\n row += stringDecoder.decode(buffer[i], decoderOptions);\n row += stringDecoder.decode(chunk);\n processFullStringRow(response, streamState, id, tag, row);\n}\nfunction processFullStringRow(response, streamState, id, tag, row) {\n switch (tag) {\n case 73:\n resolveModule(response, id, row);\n break;\n case 72:\n id = row[0];\n row = row.slice(1);\n response = JSON.parse(row, response._fromJSON);\n row = ReactDOMSharedInternals.d;\n switch (id) {\n case \"D\":\n row.D(response);\n break;\n case \"C\":\n \"string\" === typeof response\n ? row.C(response)\n : row.C(response[0], response[1]);\n break;\n case \"L\":\n id = response[0];\n streamState = response[1];\n 3 === response.length\n ? row.L(id, streamState, response[2])\n : row.L(id, streamState);\n break;\n case \"m\":\n \"string\" === typeof response\n ? row.m(response)\n : row.m(response[0], response[1]);\n break;\n case \"X\":\n \"string\" === typeof response\n ? row.X(response)\n : row.X(response[0], response[1]);\n break;\n case \"S\":\n \"string\" === typeof response\n ? row.S(response)\n : row.S(\n response[0],\n 0 === response[1] ? void 0 : response[1],\n 3 === response.length ? response[2] : void 0\n );\n break;\n case \"M\":\n \"string\" === typeof response\n ? row.M(response)\n : row.M(response[0], response[1]);\n }\n break;\n case 69:\n streamState = response._chunks;\n tag = streamState.get(id);\n row = JSON.parse(row);\n var error = resolveErrorProd();\n error.digest = row.digest;\n tag\n ? triggerErrorOnChunk(response, tag, error)\n : ((response = new ReactPromise(\"rejected\", null, error)),\n streamState.set(id, response));\n break;\n case 84:\n response = response._chunks;\n (streamState = response.get(id)) && \"pending\" !== streamState.status\n ? streamState.reason.enqueueValue(row)\n : ((row = new ReactPromise(\"fulfilled\", row, null)),\n response.set(id, row));\n break;\n case 78:\n case 68:\n case 74:\n case 87:\n throw Error(\n \"Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client.\"\n );\n case 82:\n startReadableStream(response, id, void 0);\n break;\n case 114:\n startReadableStream(response, id, \"bytes\");\n break;\n case 88:\n startAsyncIterable(response, id, !1);\n break;\n case 120:\n startAsyncIterable(response, id, !0);\n break;\n case 67:\n (id = response._chunks.get(id)) &&\n \"fulfilled\" === id.status &&\n id.reason.close(\"\" === row ? '\"$undefined\"' : row);\n break;\n default:\n (streamState = response._chunks),\n (tag = streamState.get(id))\n ? resolveModelChunk(response, tag, row)\n : ((response = new ReactPromise(\"resolved_model\", row, response)),\n streamState.set(id, response));\n }\n}\nfunction processBinaryChunk(weakResponse, streamState, chunk) {\n for (\n var i = 0,\n rowState = streamState._rowState,\n rowID = streamState._rowID,\n rowTag = streamState._rowTag,\n rowLength = streamState._rowLength,\n buffer = streamState._buffer,\n chunkLength = chunk.length;\n i < chunkLength;\n\n ) {\n var lastIdx = -1;\n switch (rowState) {\n case 0:\n lastIdx = chunk[i++];\n 58 === lastIdx\n ? (rowState = 1)\n : (rowID =\n (rowID << 4) | (96 < lastIdx ? lastIdx - 87 : lastIdx - 48));\n continue;\n case 1:\n rowState = chunk[i];\n 84 === rowState ||\n 65 === rowState ||\n 79 === rowState ||\n 111 === rowState ||\n 85 === rowState ||\n 83 === rowState ||\n 115 === rowState ||\n 76 === rowState ||\n 108 === rowState ||\n 71 === rowState ||\n 103 === rowState ||\n 77 === rowState ||\n 109 === rowState ||\n 86 === rowState\n ? ((rowTag = rowState), (rowState = 2), i++)\n : (64 < rowState && 91 > rowState) ||\n 35 === rowState ||\n 114 === rowState ||\n 120 === rowState\n ? ((rowTag = rowState), (rowState = 3), i++)\n : ((rowTag = 0), (rowState = 3));\n continue;\n case 2:\n lastIdx = chunk[i++];\n 44 === lastIdx\n ? (rowState = 4)\n : (rowLength =\n (rowLength << 4) | (96 < lastIdx ? lastIdx - 87 : lastIdx - 48));\n continue;\n case 3:\n lastIdx = chunk.indexOf(10, i);\n break;\n case 4:\n (lastIdx = i + rowLength), lastIdx > chunk.length && (lastIdx = -1);\n }\n var offset = chunk.byteOffset + i;\n if (-1 < lastIdx)\n (rowLength = new Uint8Array(chunk.buffer, offset, lastIdx - i)),\n processFullBinaryRow(\n weakResponse,\n streamState,\n rowID,\n rowTag,\n buffer,\n rowLength\n ),\n (i = lastIdx),\n 3 === rowState && i++,\n (rowLength = rowID = rowTag = rowState = 0),\n (buffer.length = 0);\n else {\n weakResponse = new Uint8Array(chunk.buffer, offset, chunk.byteLength - i);\n buffer.push(weakResponse);\n rowLength -= weakResponse.byteLength;\n break;\n }\n }\n streamState._rowState = rowState;\n streamState._rowID = rowID;\n streamState._rowTag = rowTag;\n streamState._rowLength = rowLength;\n}\nfunction createFromJSONCallback(response) {\n return function (key, value) {\n if (\"string\" === typeof value)\n return parseModelString(response, this, key, value);\n if (\"object\" === typeof value && null !== value) {\n if (value[0] === REACT_ELEMENT_TYPE) {\n if (\n ((key = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: value[1],\n key: value[2],\n ref: null,\n props: value[3]\n }),\n null !== initializingHandler)\n )\n if (\n ((value = initializingHandler),\n (initializingHandler = value.parent),\n value.errored)\n )\n (key = new ReactPromise(\"rejected\", null, value.reason)),\n (key = createLazyChunkWrapper(key));\n else if (0 < value.deps) {\n var blockedChunk = new ReactPromise(\"blocked\", null, null);\n value.value = key;\n value.chunk = blockedChunk;\n key = createLazyChunkWrapper(blockedChunk);\n }\n } else key = value;\n return key;\n }\n return value;\n };\n}\nfunction close(weakResponse) {\n reportGlobalError(weakResponse, Error(\"Connection closed.\"));\n}\nfunction noServerCall$1() {\n throw Error(\n \"Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.\"\n );\n}\nfunction createResponseFromOptions(options) {\n return new ResponseInstance(\n options.serverConsumerManifest.moduleMap,\n options.serverConsumerManifest.serverModuleMap,\n options.serverConsumerManifest.moduleLoading,\n noServerCall$1,\n options.encodeFormAction,\n \"string\" === typeof options.nonce ? options.nonce : void 0,\n options && options.temporaryReferences\n ? options.temporaryReferences\n : void 0\n );\n}\nfunction startReadingFromStream$1(response, stream, onDone) {\n function progress(_ref) {\n var value = _ref.value;\n if (_ref.done) return onDone();\n processBinaryChunk(response, streamState, value);\n return reader.read().then(progress).catch(error);\n }\n function error(e) {\n reportGlobalError(response, e);\n }\n var streamState = createStreamState(),\n reader = stream.getReader();\n reader.read().then(progress).catch(error);\n}\nfunction noServerCall() {\n throw Error(\n \"Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead.\"\n );\n}\nfunction startReadingFromStream(response, stream, onEnd) {\n var streamState = createStreamState();\n stream.on(\"data\", function (chunk) {\n if (\"string\" === typeof chunk) {\n for (\n var i = 0,\n rowState = streamState._rowState,\n rowID = streamState._rowID,\n rowTag = streamState._rowTag,\n rowLength = streamState._rowLength,\n buffer = streamState._buffer,\n chunkLength = chunk.length;\n i < chunkLength;\n\n ) {\n var lastIdx = -1;\n switch (rowState) {\n case 0:\n lastIdx = chunk.charCodeAt(i++);\n 58 === lastIdx\n ? (rowState = 1)\n : (rowID =\n (rowID << 4) | (96 < lastIdx ? lastIdx - 87 : lastIdx - 48));\n continue;\n case 1:\n rowState = chunk.charCodeAt(i);\n 84 === rowState ||\n 65 === rowState ||\n 79 === rowState ||\n 111 === rowState ||\n 85 === rowState ||\n 83 === rowState ||\n 115 === rowState ||\n 76 === rowState ||\n 108 === rowState ||\n 71 === rowState ||\n 103 === rowState ||\n 77 === rowState ||\n 109 === rowState ||\n 86 === rowState\n ? ((rowTag = rowState), (rowState = 2), i++)\n : (64 < rowState && 91 > rowState) ||\n 114 === rowState ||\n 120 === rowState\n ? ((rowTag = rowState), (rowState = 3), i++)\n : ((rowTag = 0), (rowState = 3));\n continue;\n case 2:\n lastIdx = chunk.charCodeAt(i++);\n 44 === lastIdx\n ? (rowState = 4)\n : (rowLength =\n (rowLength << 4) |\n (96 < lastIdx ? lastIdx - 87 : lastIdx - 48));\n continue;\n case 3:\n lastIdx = chunk.indexOf(\"\\n\", i);\n break;\n case 4:\n if (84 !== rowTag)\n throw Error(\n \"Binary RSC chunks cannot be encoded as strings. This is a bug in the wiring of the React streams.\"\n );\n if (rowLength < chunk.length || chunk.length > 3 * rowLength)\n throw Error(\n \"String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.\"\n );\n lastIdx = chunk.length;\n }\n if (-1 < lastIdx) {\n if (0 < buffer.length)\n throw Error(\n \"String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.\"\n );\n i = chunk.slice(i, lastIdx);\n processFullStringRow(response, streamState, rowID, rowTag, i);\n i = lastIdx;\n 3 === rowState && i++;\n rowLength = rowID = rowTag = rowState = 0;\n buffer.length = 0;\n } else if (chunk.length !== i)\n throw Error(\n \"String chunks need to be passed in their original shape. Not split into smaller string chunks. This is a bug in the wiring of the React streams.\"\n );\n }\n streamState._rowState = rowState;\n streamState._rowID = rowID;\n streamState._rowTag = rowTag;\n streamState._rowLength = rowLength;\n } else processBinaryChunk(response, streamState, chunk);\n });\n stream.on(\"error\", function (error) {\n reportGlobalError(response, error);\n });\n stream.on(\"end\", onEnd);\n}\nexports.createFromFetch = function (promiseForResponse, options) {\n var response = createResponseFromOptions(options);\n promiseForResponse.then(\n function (r) {\n startReadingFromStream$1(response, r.body, close.bind(null, response));\n },\n function (e) {\n reportGlobalError(response, e);\n }\n );\n return getChunk(response, 0);\n};\nexports.createFromNodeStream = function (\n stream,\n serverConsumerManifest,\n options\n) {\n serverConsumerManifest = new ResponseInstance(\n serverConsumerManifest.moduleMap,\n serverConsumerManifest.serverModuleMap,\n serverConsumerManifest.moduleLoading,\n noServerCall,\n options ? options.encodeFormAction : void 0,\n options && \"string\" === typeof options.nonce ? options.nonce : void 0,\n void 0\n );\n startReadingFromStream(\n serverConsumerManifest,\n stream,\n close.bind(null, serverConsumerManifest)\n );\n return getChunk(serverConsumerManifest, 0);\n};\nexports.createFromReadableStream = function (stream, options) {\n options = createResponseFromOptions(options);\n startReadingFromStream$1(options, stream, close.bind(null, options));\n return getChunk(options, 0);\n};\nexports.createServerReference = function (id) {\n return createServerReference$1(id, noServerCall$1);\n};\nexports.createTemporaryReferenceSet = function () {\n return new Map();\n};\nexports.encodeReply = function (value, options) {\n return new Promise(function (resolve, reject) {\n var abort = processReply(\n value,\n \"\",\n options && options.temporaryReferences\n ? options.temporaryReferences\n : void 0,\n resolve,\n reject\n );\n if (options && options.signal) {\n var signal = options.signal;\n if (signal.aborted) abort(signal.reason);\n else {\n var listener = function () {\n abort(signal.reason);\n signal.removeEventListener(\"abort\", listener);\n };\n signal.addEventListener(\"abort\", listener);\n }\n }\n });\n};\nexports.registerServerReference = function (reference, id, encodeFormAction) {\n registerBoundServerReference(reference, id, null, encodeFormAction);\n return reference;\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-server-dom-turbopack-client.node.production.js');\n} else {\n module.exports = require('./cjs/react-server-dom-turbopack-client.node.development.js');\n}\n","(()=>{\"use strict\";var e={328:e=>{function hash(e){var r=5381,_=e.length;while(_){r=r*33^e.charCodeAt(--_)}return r>>>0}e.exports=hash}};var r={};function __nccwpck_require__(_){var a=r[_];if(a!==undefined){return a.exports}var t=r[_]={exports:{}};var i=true;try{e[_](t,t.exports,__nccwpck_require__);i=false}finally{if(i)delete r[_]}return t.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var _=__nccwpck_require__(328);module.exports=_})();","const NEXT_STATIC_GEN_BAILOUT = 'NEXT_STATIC_GEN_BAILOUT';\nexport class StaticGenBailoutError extends Error {\n constructor(...args){\n super(...args), this.code = NEXT_STATIC_GEN_BAILOUT;\n }\n}\nexport function isStaticGenBailoutError(error) {\n if (typeof error !== 'object' || error === null || !('code' in error)) {\n return false;\n }\n return error.code === NEXT_STATIC_GEN_BAILOUT;\n}\n\n//# sourceMappingURL=static-generation-bailout.js.map","import { ReflectAdapter } from '../web/spec-extension/adapters/reflect';\nimport { throwToInterruptStaticGeneration, postponeWithTracking, annotateDynamicAccess, delayUntilRuntimeStage } from '../app-render/dynamic-rendering';\nimport { workUnitAsyncStorage, throwInvariantForMissingStore } from '../app-render/work-unit-async-storage.external';\nimport { InvariantError } from '../../shared/lib/invariant-error';\nimport { makeDevtoolsIOAwarePromise, makeHangingPromise } from '../dynamic-rendering-utils';\nimport { createDedupedByCallsiteServerErrorLoggerDev } from '../create-deduped-by-callsite-server-error-logger';\nimport { describeStringPropertyAccess, describeHasCheckingStringProperty, wellKnownProperties } from '../../shared/lib/utils/reflect-utils';\nimport { throwWithStaticGenerationBailoutErrorWithDynamicError, throwForSearchParamsAccessInUseCache } from './utils';\nimport { RenderStage } from '../app-render/staged-rendering';\nexport function createSearchParamsFromClient(underlyingSearchParams, workStore) {\n const workUnitStore = workUnitAsyncStorage.getStore();\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-client':\n case 'prerender-ppr':\n case 'prerender-legacy':\n return createStaticPrerenderSearchParams(workStore, workUnitStore);\n case 'prerender-runtime':\n throw Object.defineProperty(new InvariantError('createSearchParamsFromClient should not be called in a runtime prerender.'), \"__NEXT_ERROR_CODE\", {\n value: \"E769\",\n enumerable: false,\n configurable: true\n });\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n throw Object.defineProperty(new InvariantError('createSearchParamsFromClient should not be called in cache contexts.'), \"__NEXT_ERROR_CODE\", {\n value: \"E739\",\n enumerable: false,\n configurable: true\n });\n case 'request':\n return createRenderSearchParams(underlyingSearchParams, workStore, workUnitStore);\n default:\n workUnitStore;\n }\n }\n throwInvariantForMissingStore();\n}\n// generateMetadata always runs in RSC context so it is equivalent to a Server Page Component\nexport const createServerSearchParamsForMetadata = createServerSearchParamsForServerPage;\nexport function createServerSearchParamsForServerPage(underlyingSearchParams, workStore) {\n const workUnitStore = workUnitAsyncStorage.getStore();\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-client':\n case 'prerender-ppr':\n case 'prerender-legacy':\n return createStaticPrerenderSearchParams(workStore, workUnitStore);\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n throw Object.defineProperty(new InvariantError('createServerSearchParamsForServerPage should not be called in cache contexts.'), \"__NEXT_ERROR_CODE\", {\n value: \"E747\",\n enumerable: false,\n configurable: true\n });\n case 'prerender-runtime':\n return createRuntimePrerenderSearchParams(underlyingSearchParams, workUnitStore);\n case 'request':\n return createRenderSearchParams(underlyingSearchParams, workStore, workUnitStore);\n default:\n workUnitStore;\n }\n }\n throwInvariantForMissingStore();\n}\nexport function createPrerenderSearchParamsForClientPage(workStore) {\n if (workStore.forceStatic) {\n // When using forceStatic we override all other logic and always just return an empty\n // dictionary object.\n return Promise.resolve({});\n }\n const workUnitStore = workUnitAsyncStorage.getStore();\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-client':\n // We're prerendering in a mode that aborts (cacheComponents) and should stall\n // the promise to ensure the RSC side is considered dynamic\n return makeHangingPromise(workUnitStore.renderSignal, workStore.route, '`searchParams`');\n case 'prerender-runtime':\n throw Object.defineProperty(new InvariantError('createPrerenderSearchParamsForClientPage should not be called in a runtime prerender.'), \"__NEXT_ERROR_CODE\", {\n value: \"E768\",\n enumerable: false,\n configurable: true\n });\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n throw Object.defineProperty(new InvariantError('createPrerenderSearchParamsForClientPage should not be called in cache contexts.'), \"__NEXT_ERROR_CODE\", {\n value: \"E746\",\n enumerable: false,\n configurable: true\n });\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'request':\n return Promise.resolve({});\n default:\n workUnitStore;\n }\n }\n throwInvariantForMissingStore();\n}\nfunction createStaticPrerenderSearchParams(workStore, prerenderStore) {\n if (workStore.forceStatic) {\n // When using forceStatic we override all other logic and always just return an empty\n // dictionary object.\n return Promise.resolve({});\n }\n switch(prerenderStore.type){\n case 'prerender':\n case 'prerender-client':\n // We are in a cacheComponents (PPR or otherwise) prerender\n return makeHangingSearchParams(workStore, prerenderStore);\n case 'prerender-ppr':\n case 'prerender-legacy':\n // We are in a legacy static generation and need to interrupt the\n // prerender when search params are accessed.\n return makeErroringSearchParams(workStore, prerenderStore);\n default:\n return prerenderStore;\n }\n}\nfunction createRuntimePrerenderSearchParams(underlyingSearchParams, workUnitStore) {\n return delayUntilRuntimeStage(workUnitStore, makeUntrackedSearchParams(underlyingSearchParams));\n}\nfunction createRenderSearchParams(underlyingSearchParams, workStore, requestStore) {\n if (workStore.forceStatic) {\n // When using forceStatic we override all other logic and always just return an empty\n // dictionary object.\n return Promise.resolve({});\n } else {\n if (process.env.NODE_ENV === 'development') {\n // Semantically we only need the dev tracking when running in `next dev`\n // but since you would never use next dev with production NODE_ENV we use this\n // as a proxy so we can statically exclude this code from production builds.\n return makeUntrackedSearchParamsWithDevWarnings(underlyingSearchParams, workStore, requestStore);\n } else {\n return makeUntrackedSearchParams(underlyingSearchParams);\n }\n }\n}\nconst CachedSearchParams = new WeakMap();\nconst CachedSearchParamsForUseCache = new WeakMap();\nfunction makeHangingSearchParams(workStore, prerenderStore) {\n const cachedSearchParams = CachedSearchParams.get(prerenderStore);\n if (cachedSearchParams) {\n return cachedSearchParams;\n }\n const promise = makeHangingPromise(prerenderStore.renderSignal, workStore.route, '`searchParams`');\n const proxiedPromise = new Proxy(promise, {\n get (target, prop, receiver) {\n if (Object.hasOwn(promise, prop)) {\n // The promise has this property directly. we must return it.\n // We know it isn't a dynamic access because it can only be something\n // that was previously written to the promise and thus not an underlying searchParam value\n return ReflectAdapter.get(target, prop, receiver);\n }\n switch(prop){\n case 'then':\n {\n const expression = '`await searchParams`, `searchParams.then`, or similar';\n annotateDynamicAccess(expression, prerenderStore);\n return ReflectAdapter.get(target, prop, receiver);\n }\n case 'status':\n {\n const expression = '`use(searchParams)`, `searchParams.status`, or similar';\n annotateDynamicAccess(expression, prerenderStore);\n return ReflectAdapter.get(target, prop, receiver);\n }\n default:\n {\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n }\n });\n CachedSearchParams.set(prerenderStore, proxiedPromise);\n return proxiedPromise;\n}\nfunction makeErroringSearchParams(workStore, prerenderStore) {\n const cachedSearchParams = CachedSearchParams.get(workStore);\n if (cachedSearchParams) {\n return cachedSearchParams;\n }\n const underlyingSearchParams = {};\n // For search params we don't construct a ReactPromise because we want to interrupt\n // rendering on any property access that was not set from outside and so we only want\n // to have properties like value and status if React sets them.\n const promise = Promise.resolve(underlyingSearchParams);\n const proxiedPromise = new Proxy(promise, {\n get (target, prop, receiver) {\n if (Object.hasOwn(promise, prop)) {\n // The promise has this property directly. we must return it.\n // We know it isn't a dynamic access because it can only be something\n // that was previously written to the promise and thus not an underlying searchParam value\n return ReflectAdapter.get(target, prop, receiver);\n }\n if (typeof prop === 'string' && prop === 'then') {\n const expression = '`await searchParams`, `searchParams.then`, or similar';\n if (workStore.dynamicShouldError) {\n throwWithStaticGenerationBailoutErrorWithDynamicError(workStore.route, expression);\n } else if (prerenderStore.type === 'prerender-ppr') {\n // PPR Prerender (no cacheComponents)\n postponeWithTracking(workStore.route, expression, prerenderStore.dynamicTracking);\n } else {\n // Legacy Prerender\n throwToInterruptStaticGeneration(expression, workStore, prerenderStore);\n }\n }\n return ReflectAdapter.get(target, prop, receiver);\n }\n });\n CachedSearchParams.set(workStore, proxiedPromise);\n return proxiedPromise;\n}\n/**\n * This is a variation of `makeErroringSearchParams` that always throws an\n * error on access, because accessing searchParams inside of `\"use cache\"` is\n * not allowed.\n */ export function makeErroringSearchParamsForUseCache(workStore) {\n const cachedSearchParams = CachedSearchParamsForUseCache.get(workStore);\n if (cachedSearchParams) {\n return cachedSearchParams;\n }\n const promise = Promise.resolve({});\n const proxiedPromise = new Proxy(promise, {\n get: function get(target, prop, receiver) {\n if (Object.hasOwn(promise, prop)) {\n // The promise has this property directly. we must return it. We know it\n // isn't a dynamic access because it can only be something that was\n // previously written to the promise and thus not an underlying\n // searchParam value\n return ReflectAdapter.get(target, prop, receiver);\n }\n if (typeof prop === 'string' && (prop === 'then' || !wellKnownProperties.has(prop))) {\n throwForSearchParamsAccessInUseCache(workStore, get);\n }\n return ReflectAdapter.get(target, prop, receiver);\n }\n });\n CachedSearchParamsForUseCache.set(workStore, proxiedPromise);\n return proxiedPromise;\n}\nfunction makeUntrackedSearchParams(underlyingSearchParams) {\n const cachedSearchParams = CachedSearchParams.get(underlyingSearchParams);\n if (cachedSearchParams) {\n return cachedSearchParams;\n }\n const promise = Promise.resolve(underlyingSearchParams);\n CachedSearchParams.set(underlyingSearchParams, promise);\n return promise;\n}\nfunction makeUntrackedSearchParamsWithDevWarnings(underlyingSearchParams, workStore, requestStore) {\n if (requestStore.asyncApiPromises) {\n // Do not cache the resulting promise. If we do, we'll only show the first \"awaited at\"\n // across all segments that receive searchParams.\n return makeUntrackedSearchParamsWithDevWarningsImpl(underlyingSearchParams, workStore, requestStore);\n } else {\n const cachedSearchParams = CachedSearchParams.get(underlyingSearchParams);\n if (cachedSearchParams) {\n return cachedSearchParams;\n }\n const promise = makeUntrackedSearchParamsWithDevWarningsImpl(underlyingSearchParams, workStore, requestStore);\n CachedSearchParams.set(requestStore, promise);\n return promise;\n }\n}\nfunction makeUntrackedSearchParamsWithDevWarningsImpl(underlyingSearchParams, workStore, requestStore) {\n const promiseInitialized = {\n current: false\n };\n const proxiedUnderlying = instrumentSearchParamsObjectWithDevWarnings(underlyingSearchParams, workStore, promiseInitialized);\n let promise;\n if (requestStore.asyncApiPromises) {\n // We wrap each instance of searchParams in a `new Promise()`.\n // This is important when all awaits are in third party which would otherwise\n // track all the way to the internal params.\n const sharedSearchParamsParent = requestStore.asyncApiPromises.sharedSearchParamsParent;\n promise = new Promise((resolve, reject)=>{\n sharedSearchParamsParent.then(()=>resolve(proxiedUnderlying), reject);\n });\n // @ts-expect-error\n promise.displayName = 'searchParams';\n } else {\n promise = makeDevtoolsIOAwarePromise(proxiedUnderlying, requestStore, RenderStage.Runtime);\n }\n promise.then(()=>{\n promiseInitialized.current = true;\n }, // If we're in staged rendering, this promise will reject if the render\n // is aborted before it can reach the runtime stage.\n // In that case, we have to prevent an unhandled rejection from the promise\n // created by this `.then()` call.\n // This does not affect the `promiseInitialized` logic above,\n // because `proxiedUnderlying` will not be used to resolve the promise,\n // so there's no risk of any of its properties being accessed and triggering\n // an undesireable warning.\n ignoreReject);\n return instrumentSearchParamsPromiseWithDevWarnings(underlyingSearchParams, promise, workStore);\n}\nfunction ignoreReject() {}\nfunction instrumentSearchParamsObjectWithDevWarnings(underlyingSearchParams, workStore, promiseInitialized) {\n // We have an unfortunate sequence of events that requires this initialization logic. We want to instrument the underlying\n // searchParams object to detect if you are accessing values in dev. This is used for warnings and for things like the static prerender\n // indicator. However when we pass this proxy to our Promise.resolve() below the VM checks if the resolved value is a promise by looking\n // at the `.then` property. To our dynamic tracking logic this is indistinguishable from a `then` searchParam and so we would normally trigger\n // dynamic tracking. However we know that this .then is not real dynamic access, it's just how thenables resolve in sequence. So we introduce\n // this initialization concept so we omit the dynamic check until after we've constructed our resolved promise.\n return new Proxy(underlyingSearchParams, {\n get (target, prop, receiver) {\n if (typeof prop === 'string' && promiseInitialized.current) {\n if (workStore.dynamicShouldError) {\n const expression = describeStringPropertyAccess('searchParams', prop);\n throwWithStaticGenerationBailoutErrorWithDynamicError(workStore.route, expression);\n }\n }\n return ReflectAdapter.get(target, prop, receiver);\n },\n has (target, prop) {\n if (typeof prop === 'string') {\n if (workStore.dynamicShouldError) {\n const expression = describeHasCheckingStringProperty('searchParams', prop);\n throwWithStaticGenerationBailoutErrorWithDynamicError(workStore.route, expression);\n }\n }\n return Reflect.has(target, prop);\n },\n ownKeys (target) {\n if (workStore.dynamicShouldError) {\n const expression = '`{...searchParams}`, `Object.keys(searchParams)`, or similar';\n throwWithStaticGenerationBailoutErrorWithDynamicError(workStore.route, expression);\n }\n return Reflect.ownKeys(target);\n }\n });\n}\nfunction instrumentSearchParamsPromiseWithDevWarnings(underlyingSearchParams, promise, workStore) {\n // Track which properties we should warn for.\n const proxiedProperties = new Set();\n Object.keys(underlyingSearchParams).forEach((prop)=>{\n if (wellKnownProperties.has(prop)) {\n // These properties cannot be shadowed because they need to be the\n // true underlying value for Promises to work correctly at runtime\n } else {\n proxiedProperties.add(prop);\n }\n });\n return new Proxy(promise, {\n get (target, prop, receiver) {\n if (prop === 'then' && workStore.dynamicShouldError) {\n const expression = '`searchParams.then`';\n throwWithStaticGenerationBailoutErrorWithDynamicError(workStore.route, expression);\n }\n if (typeof prop === 'string') {\n if (!wellKnownProperties.has(prop) && (proxiedProperties.has(prop) || // We are accessing a property that doesn't exist on the promise nor\n // the underlying searchParams.\n Reflect.has(target, prop) === false)) {\n const expression = describeStringPropertyAccess('searchParams', prop);\n warnForSyncAccess(workStore.route, expression);\n }\n }\n return ReflectAdapter.get(target, prop, receiver);\n },\n set (target, prop, value, receiver) {\n if (typeof prop === 'string') {\n proxiedProperties.delete(prop);\n }\n return Reflect.set(target, prop, value, receiver);\n },\n has (target, prop) {\n if (typeof prop === 'string') {\n if (!wellKnownProperties.has(prop) && (proxiedProperties.has(prop) || // We are accessing a property that doesn't exist on the promise nor\n // the underlying searchParams.\n Reflect.has(target, prop) === false)) {\n const expression = describeHasCheckingStringProperty('searchParams', prop);\n warnForSyncAccess(workStore.route, expression);\n }\n }\n return Reflect.has(target, prop);\n },\n ownKeys (target) {\n const expression = '`Object.keys(searchParams)` or similar';\n warnForSyncAccess(workStore.route, expression);\n return Reflect.ownKeys(target);\n }\n });\n}\nconst warnForSyncAccess = createDedupedByCallsiteServerErrorLoggerDev(createSearchAccessError);\nfunction createSearchAccessError(route, expression) {\n const prefix = route ? `Route \"${route}\" ` : 'This route ';\n return Object.defineProperty(new Error(`${prefix}used ${expression}. ` + `\\`searchParams\\` is a Promise and must be unwrapped with \\`await\\` or \\`React.use()\\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`), \"__NEXT_ERROR_CODE\", {\n value: \"E848\",\n enumerable: false,\n configurable: true\n });\n}\n\n//# sourceMappingURL=search-params.js.map","// This has to be a shared module which is shared between client component error boundary and dynamic component\nconst BAILOUT_TO_CSR = 'BAILOUT_TO_CLIENT_SIDE_RENDERING';\n/** An error that should be thrown when we want to bail out to client-side rendering. */ export class BailoutToCSRError extends Error {\n constructor(reason){\n super(`Bail out to client-side rendering: ${reason}`), this.reason = reason, this.digest = BAILOUT_TO_CSR;\n }\n}\n/** Checks if a passed argument is an error that is thrown if we want to bail out to client-side rendering. */ export function isBailoutToCSRError(err) {\n if (typeof err !== 'object' || err === null || !('digest' in err)) {\n return false;\n }\n return err.digest === BAILOUT_TO_CSR;\n}\n\n//# sourceMappingURL=bailout-to-csr.js.map","// This regex will have fast negatives meaning valid identifiers may not pass\n// this test. However this is only used during static generation to provide hints\n// about why a page bailed out of some or all prerendering and we can use bracket notation\n// for example while `ಠ_ಠ` is a valid identifier it's ok to print `searchParams['ಠ_ಠ']`\n// even if this would have been fine too `searchParams.ಠ_ಠ`\nconst isDefinitelyAValidIdentifier = /^[A-Za-z_$][A-Za-z0-9_$]*$/;\nexport function describeStringPropertyAccess(target, prop) {\n if (isDefinitelyAValidIdentifier.test(prop)) {\n return `\\`${target}.${prop}\\``;\n }\n return `\\`${target}[${JSON.stringify(prop)}]\\``;\n}\nexport function describeHasCheckingStringProperty(target, prop) {\n const stringifiedProp = JSON.stringify(prop);\n return `\\`Reflect.has(${target}, ${stringifiedProp})\\`, \\`${stringifiedProp} in ${target}\\`, or similar`;\n}\nexport const wellKnownProperties = new Set([\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toString',\n 'valueOf',\n 'toLocaleString',\n // Promise prototype\n 'then',\n 'catch',\n 'finally',\n // React Promise extension\n 'status',\n // 'value',\n // 'error',\n // React introspection\n 'displayName',\n '_debugInfo',\n // Common tested properties\n 'toJSON',\n '$$typeof',\n '__esModule'\n]);\n\n//# sourceMappingURL=reflect-utils.js.map","import { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport React, { Suspense, cache, cloneElement } from 'react';\nimport { AppleWebAppMeta, FormatDetectionMeta, ItunesMeta, BasicMeta, ViewportMeta, VerificationMeta, FacebookMeta, PinterestMeta } from './generate/basic';\nimport { AlternatesMetadata } from './generate/alternate';\nimport { OpenGraphMetadata, TwitterMetadata, AppLinksMeta } from './generate/opengraph';\nimport { IconsMetadata } from './generate/icons';\nimport { resolveMetadata, resolveViewport } from './resolve-metadata';\nimport { MetaFilter } from './generate/meta';\nimport { isHTTPAccessFallbackError } from '../../client/components/http-access-fallback/http-access-fallback';\nimport { createServerSearchParamsForMetadata } from '../../server/request/search-params';\nimport { createServerPathnameForMetadata } from '../../server/request/pathname';\nimport { isPostpone } from '../../server/lib/router-utils/is-postpone';\nimport { MetadataBoundary, ViewportBoundary, OutletBoundary } from '../framework/boundary-components';\n// Use a promise to share the status of the metadata resolving,\n// returning two components `MetadataTree` and `MetadataOutlet`\n// `MetadataTree` is the one that will be rendered at first in the content sequence for metadata tags.\n// `MetadataOutlet` is the one that will be rendered under error boundaries for metadata resolving errors.\n// In this way we can let the metadata tags always render successfully,\n// and the error will be caught by the error boundary and trigger fallbacks.\nexport function createMetadataComponents({ tree, pathname, parsedQuery, metadataContext, getDynamicParamFromSegment, errorType, workStore, serveStreamingMetadata }) {\n const searchParams = createServerSearchParamsForMetadata(parsedQuery, workStore);\n const pathnameForMetadata = createServerPathnameForMetadata(pathname, workStore);\n function Viewport() {\n const pendingViewportTags = getResolvedViewport(tree, searchParams, getDynamicParamFromSegment, workStore, errorType).catch((viewportErr)=>{\n // When Legacy PPR is enabled viewport can reject with a Postpone type\n // This will go away once Legacy PPR is removed and dynamic metadata will\n // stay pending until after the prerender is complete when it is dynamic\n if (isPostpone(viewportErr)) {\n throw viewportErr;\n }\n if (!errorType && isHTTPAccessFallbackError(viewportErr)) {\n return getNotFoundViewport(tree, searchParams, getDynamicParamFromSegment, workStore).catch(()=>null);\n }\n // We're going to throw the error from the metadata outlet so we just render null here instead\n return null;\n });\n return /*#__PURE__*/ _jsx(ViewportBoundary, {\n children: pendingViewportTags\n });\n }\n Viewport.displayName = 'Next.Viewport';\n function Metadata() {\n const pendingMetadataTags = getResolvedMetadata(tree, pathnameForMetadata, searchParams, getDynamicParamFromSegment, metadataContext, workStore, errorType).catch((metadataErr)=>{\n // When Legacy PPR is enabled metadata can reject with a Postpone type\n // This will go away once Legacy PPR is removed and dynamic metadata will\n // stay pending until after the prerender is complete when it is dynamic\n if (isPostpone(metadataErr)) {\n throw metadataErr;\n }\n if (!errorType && isHTTPAccessFallbackError(metadataErr)) {\n return getNotFoundMetadata(tree, pathnameForMetadata, searchParams, getDynamicParamFromSegment, metadataContext, workStore).catch(()=>null);\n }\n // We're going to throw the error from the metadata outlet so we just render null here instead\n return null;\n });\n // TODO: We shouldn't change what we render based on whether we are streaming or not.\n // If we aren't streaming we should just block the response until we have resolved the\n // metadata.\n if (!serveStreamingMetadata) {\n return /*#__PURE__*/ _jsx(MetadataBoundary, {\n children: pendingMetadataTags\n });\n }\n return /*#__PURE__*/ _jsx(\"div\", {\n hidden: true,\n children: /*#__PURE__*/ _jsx(MetadataBoundary, {\n children: /*#__PURE__*/ _jsx(Suspense, {\n name: \"Next.Metadata\",\n children: pendingMetadataTags\n })\n })\n });\n }\n Metadata.displayName = 'Next.Metadata';\n function MetadataOutlet() {\n const pendingOutlet = Promise.all([\n getResolvedMetadata(tree, pathnameForMetadata, searchParams, getDynamicParamFromSegment, metadataContext, workStore, errorType),\n getResolvedViewport(tree, searchParams, getDynamicParamFromSegment, workStore, errorType)\n ]).then(()=>null);\n // TODO: We shouldn't change what we render based on whether we are streaming or not.\n // If we aren't streaming we should just block the response until we have resolved the\n // metadata.\n if (!serveStreamingMetadata) {\n return /*#__PURE__*/ _jsx(OutletBoundary, {\n children: pendingOutlet\n });\n }\n return /*#__PURE__*/ _jsx(OutletBoundary, {\n children: /*#__PURE__*/ _jsx(Suspense, {\n name: \"Next.MetadataOutlet\",\n children: pendingOutlet\n })\n });\n }\n MetadataOutlet.displayName = 'Next.MetadataOutlet';\n return {\n Viewport,\n Metadata,\n MetadataOutlet\n };\n}\nconst getResolvedMetadata = cache(getResolvedMetadataImpl);\nasync function getResolvedMetadataImpl(tree, pathname, searchParams, getDynamicParamFromSegment, metadataContext, workStore, errorType) {\n const errorConvention = errorType === 'redirect' ? undefined : errorType;\n return renderMetadata(tree, pathname, searchParams, getDynamicParamFromSegment, metadataContext, workStore, errorConvention);\n}\nconst getNotFoundMetadata = cache(getNotFoundMetadataImpl);\nasync function getNotFoundMetadataImpl(tree, pathname, searchParams, getDynamicParamFromSegment, metadataContext, workStore) {\n const notFoundErrorConvention = 'not-found';\n return renderMetadata(tree, pathname, searchParams, getDynamicParamFromSegment, metadataContext, workStore, notFoundErrorConvention);\n}\nconst getResolvedViewport = cache(getResolvedViewportImpl);\nasync function getResolvedViewportImpl(tree, searchParams, getDynamicParamFromSegment, workStore, errorType) {\n const errorConvention = errorType === 'redirect' ? undefined : errorType;\n return renderViewport(tree, searchParams, getDynamicParamFromSegment, workStore, errorConvention);\n}\nconst getNotFoundViewport = cache(getNotFoundViewportImpl);\nasync function getNotFoundViewportImpl(tree, searchParams, getDynamicParamFromSegment, workStore) {\n const notFoundErrorConvention = 'not-found';\n return renderViewport(tree, searchParams, getDynamicParamFromSegment, workStore, notFoundErrorConvention);\n}\nasync function renderMetadata(tree, pathname, searchParams, getDynamicParamFromSegment, metadataContext, workStore, errorConvention) {\n const resolvedMetadata = await resolveMetadata(tree, pathname, searchParams, errorConvention, getDynamicParamFromSegment, workStore, metadataContext);\n const elements = createMetadataElements(resolvedMetadata);\n return /*#__PURE__*/ _jsx(_Fragment, {\n children: elements.map((el, index)=>{\n return /*#__PURE__*/ cloneElement(el, {\n key: index\n });\n })\n });\n}\nasync function renderViewport(tree, searchParams, getDynamicParamFromSegment, workStore, errorConvention) {\n const resolvedViewport = await resolveViewport(tree, searchParams, errorConvention, getDynamicParamFromSegment, workStore);\n const elements = createViewportElements(resolvedViewport);\n return /*#__PURE__*/ _jsx(_Fragment, {\n children: elements.map((el, index)=>{\n return /*#__PURE__*/ cloneElement(el, {\n key: index\n });\n })\n });\n}\nfunction createMetadataElements(metadata) {\n return MetaFilter([\n BasicMeta({\n metadata\n }),\n AlternatesMetadata({\n alternates: metadata.alternates\n }),\n ItunesMeta({\n itunes: metadata.itunes\n }),\n FacebookMeta({\n facebook: metadata.facebook\n }),\n PinterestMeta({\n pinterest: metadata.pinterest\n }),\n FormatDetectionMeta({\n formatDetection: metadata.formatDetection\n }),\n VerificationMeta({\n verification: metadata.verification\n }),\n AppleWebAppMeta({\n appleWebApp: metadata.appleWebApp\n }),\n OpenGraphMetadata({\n openGraph: metadata.openGraph\n }),\n TwitterMetadata({\n twitter: metadata.twitter\n }),\n AppLinksMeta({\n appLinks: metadata.appLinks\n }),\n IconsMetadata({\n icons: metadata.icons\n })\n ]);\n}\nfunction createViewportElements(viewport) {\n return MetaFilter([\n ViewportMeta({\n viewport: viewport\n })\n ]);\n}\n\n//# sourceMappingURL=metadata.js.map","function resolveArray(value) {\n if (Array.isArray(value)) {\n return value;\n }\n return [\n value\n ];\n}\nfunction resolveAsArrayOrUndefined(value) {\n if (typeof value === 'undefined' || value === null) {\n return undefined;\n }\n return resolveArray(value);\n}\nfunction getOrigin(url) {\n let origin = undefined;\n if (typeof url === 'string') {\n try {\n url = new URL(url);\n origin = url.origin;\n } catch {}\n }\n return origin;\n}\nexport { resolveAsArrayOrUndefined, resolveArray, getOrigin };\n\n//# sourceMappingURL=utils.js.map","// eslint-disable-next-line import/no-extraneous-dependencies\nimport 'server-only';\nimport { cache } from 'react';\nimport { createDefaultMetadata, createDefaultViewport } from './default-metadata';\nimport { resolveOpenGraph, resolveTwitter } from './resolvers/resolve-opengraph';\nimport { resolveTitle } from './resolvers/resolve-title';\nimport { resolveAsArrayOrUndefined } from './generate/utils';\nimport { getComponentTypeModule, getLayoutOrPageModule } from '../../server/lib/app-dir-module';\nimport { interopDefault } from '../interop-default';\nimport { resolveAlternates, resolveAppleWebApp, resolveAppLinks, resolveRobots, resolveThemeColor, resolveVerification, resolveItunes, resolveFacebook, resolvePagination } from './resolvers/resolve-basics';\nimport { resolveIcons } from './resolvers/resolve-icons';\nimport { getTracer } from '../../server/lib/trace/tracer';\nimport { ResolveMetadataSpan } from '../../server/lib/trace/constants';\nimport { PAGE_SEGMENT_KEY } from '../../shared/lib/segment';\nimport * as Log from '../../build/output/log';\nimport { createServerParamsForMetadata } from '../../server/request/params';\nimport { getUseCacheFunctionInfo, isUseCacheFunction } from '../client-and-server-references';\nimport { createLazyResult } from '../../server/lib/lazy-result';\nfunction isFavicon(icon) {\n if (!icon) {\n return false;\n }\n // turbopack appends a hash to all images\n return (icon.url === '/favicon.ico' || icon.url.toString().startsWith('/favicon.ico?')) && icon.type === 'image/x-icon';\n}\nfunction convertUrlsToStrings(input) {\n if (input instanceof URL) {\n return input.toString();\n } else if (Array.isArray(input)) {\n return input.map((item)=>convertUrlsToStrings(item));\n } else if (input && typeof input === 'object') {\n const result = {};\n for (const [key, value] of Object.entries(input)){\n result[key] = convertUrlsToStrings(value);\n }\n return result;\n }\n return input;\n}\nfunction normalizeMetadataBase(metadataBase) {\n if (typeof metadataBase === 'string') {\n try {\n metadataBase = new URL(metadataBase);\n } catch {\n throw Object.defineProperty(new Error(`metadataBase is not a valid URL: ${metadataBase}`), \"__NEXT_ERROR_CODE\", {\n value: \"E850\",\n enumerable: false,\n configurable: true\n });\n }\n }\n return metadataBase;\n}\nasync function mergeStaticMetadata(metadataBase, source, target, staticFilesMetadata, metadataContext, titleTemplates, leafSegmentStaticIcons, pathname) {\n var _source_twitter, _source_openGraph;\n if (!staticFilesMetadata) return target;\n const { icon, apple, openGraph, twitter, manifest } = staticFilesMetadata;\n // Keep updating the static icons in the most leaf node\n if (icon) {\n leafSegmentStaticIcons.icon = icon;\n }\n if (apple) {\n leafSegmentStaticIcons.apple = apple;\n }\n // file based metadata is specified and current level metadata twitter.images is not specified\n if (twitter && !(source == null ? void 0 : (_source_twitter = source.twitter) == null ? void 0 : _source_twitter.hasOwnProperty('images'))) {\n const resolvedTwitter = resolveTwitter({\n ...target.twitter,\n images: twitter\n }, metadataBase, {\n ...metadataContext,\n isStaticMetadataRouteFile: true\n }, titleTemplates.twitter);\n target.twitter = convertUrlsToStrings(resolvedTwitter);\n }\n // file based metadata is specified and current level metadata openGraph.images is not specified\n if (openGraph && !(source == null ? void 0 : (_source_openGraph = source.openGraph) == null ? void 0 : _source_openGraph.hasOwnProperty('images'))) {\n const resolvedOpenGraph = await resolveOpenGraph({\n ...target.openGraph,\n images: openGraph\n }, metadataBase, pathname, {\n ...metadataContext,\n isStaticMetadataRouteFile: true\n }, titleTemplates.openGraph);\n target.openGraph = convertUrlsToStrings(resolvedOpenGraph);\n }\n if (manifest) {\n target.manifest = manifest;\n }\n return target;\n}\n/**\n * Merges the given metadata with the resolved metadata. Returns a new object.\n */ async function mergeMetadata(route, pathname, { metadata, resolvedMetadata, staticFilesMetadata, titleTemplates, metadataContext, buildState, leafSegmentStaticIcons }) {\n const newResolvedMetadata = structuredClone(resolvedMetadata);\n const metadataBase = normalizeMetadataBase((metadata == null ? void 0 : metadata.metadataBase) !== undefined ? metadata.metadataBase : resolvedMetadata.metadataBase);\n for(const key_ in metadata){\n const key = key_;\n switch(key){\n case 'title':\n {\n newResolvedMetadata.title = resolveTitle(metadata.title, titleTemplates.title);\n break;\n }\n case 'alternates':\n {\n newResolvedMetadata.alternates = convertUrlsToStrings(await resolveAlternates(metadata.alternates, metadataBase, pathname, metadataContext));\n break;\n }\n case 'openGraph':\n {\n newResolvedMetadata.openGraph = convertUrlsToStrings(await resolveOpenGraph(metadata.openGraph, metadataBase, pathname, metadataContext, titleTemplates.openGraph));\n break;\n }\n case 'twitter':\n {\n newResolvedMetadata.twitter = convertUrlsToStrings(resolveTwitter(metadata.twitter, metadataBase, metadataContext, titleTemplates.twitter));\n break;\n }\n case 'facebook':\n newResolvedMetadata.facebook = resolveFacebook(metadata.facebook);\n break;\n case 'verification':\n newResolvedMetadata.verification = resolveVerification(metadata.verification);\n break;\n case 'icons':\n {\n newResolvedMetadata.icons = convertUrlsToStrings(resolveIcons(metadata.icons));\n break;\n }\n case 'appleWebApp':\n newResolvedMetadata.appleWebApp = resolveAppleWebApp(metadata.appleWebApp);\n break;\n case 'appLinks':\n newResolvedMetadata.appLinks = convertUrlsToStrings(resolveAppLinks(metadata.appLinks));\n break;\n case 'robots':\n {\n newResolvedMetadata.robots = resolveRobots(metadata.robots);\n break;\n }\n case 'archives':\n case 'assets':\n case 'bookmarks':\n case 'keywords':\n {\n newResolvedMetadata[key] = resolveAsArrayOrUndefined(metadata[key]);\n break;\n }\n case 'authors':\n {\n newResolvedMetadata[key] = convertUrlsToStrings(resolveAsArrayOrUndefined(metadata.authors));\n break;\n }\n case 'itunes':\n {\n newResolvedMetadata[key] = await resolveItunes(metadata.itunes, metadataBase, pathname, metadataContext);\n break;\n }\n case 'pagination':\n {\n newResolvedMetadata.pagination = await resolvePagination(metadata.pagination, metadataBase, pathname, metadataContext);\n break;\n }\n // directly assign fields that fallback to null\n case 'abstract':\n newResolvedMetadata[key] = metadata[key] ?? null;\n break;\n case 'applicationName':\n newResolvedMetadata[key] = metadata[key] ?? null;\n break;\n case 'description':\n newResolvedMetadata[key] = metadata[key] ?? null;\n break;\n case 'generator':\n newResolvedMetadata[key] = metadata[key] ?? null;\n break;\n case 'creator':\n newResolvedMetadata[key] = metadata[key] ?? null;\n break;\n case 'publisher':\n newResolvedMetadata[key] = metadata[key] ?? null;\n break;\n case 'category':\n newResolvedMetadata[key] = metadata[key] ?? null;\n break;\n case 'classification':\n newResolvedMetadata[key] = metadata[key] ?? null;\n break;\n case 'referrer':\n newResolvedMetadata[key] = metadata[key] ?? null;\n break;\n case 'formatDetection':\n newResolvedMetadata[key] = metadata[key] ?? null;\n break;\n case 'manifest':\n newResolvedMetadata[key] = convertUrlsToStrings(metadata[key]) ?? null;\n break;\n case 'pinterest':\n newResolvedMetadata[key] = convertUrlsToStrings(metadata[key]) ?? null;\n break;\n case 'other':\n newResolvedMetadata.other = Object.assign({}, newResolvedMetadata.other, metadata.other);\n break;\n case 'metadataBase':\n newResolvedMetadata.metadataBase = metadataBase ? metadataBase.toString() : null;\n break;\n case 'apple-touch-fullscreen':\n {\n buildState.warnings.add(`Use appleWebApp instead\\nRead more: https://nextjs.org/docs/app/api-reference/functions/generate-metadata`);\n break;\n }\n case 'apple-touch-icon-precomposed':\n {\n buildState.warnings.add(`Use icons.apple instead\\nRead more: https://nextjs.org/docs/app/api-reference/functions/generate-metadata`);\n break;\n }\n case 'themeColor':\n case 'colorScheme':\n case 'viewport':\n if (metadata[key] != null) {\n buildState.warnings.add(`Unsupported metadata ${key} is configured in metadata export in ${route}. Please move it to viewport export instead.\\nRead more: https://nextjs.org/docs/app/api-reference/functions/generate-viewport`);\n }\n break;\n default:\n {\n key;\n }\n }\n }\n return mergeStaticMetadata(metadataBase, metadata, newResolvedMetadata, staticFilesMetadata, metadataContext, titleTemplates, leafSegmentStaticIcons, pathname);\n}\n/**\n * Merges the given viewport with the resolved viewport. Returns a new object.\n */ function mergeViewport({ resolvedViewport, viewport }) {\n const newResolvedViewport = structuredClone(resolvedViewport);\n if (viewport) {\n for(const key_ in viewport){\n const key = key_;\n switch(key){\n case 'themeColor':\n {\n newResolvedViewport.themeColor = resolveThemeColor(viewport.themeColor);\n break;\n }\n case 'colorScheme':\n newResolvedViewport.colorScheme = viewport.colorScheme || null;\n break;\n case 'width':\n case 'height':\n case 'initialScale':\n case 'minimumScale':\n case 'maximumScale':\n case 'userScalable':\n case 'viewportFit':\n case 'interactiveWidget':\n // always override the target with the source\n // @ts-ignore viewport properties\n newResolvedViewport[key] = viewport[key];\n break;\n default:\n key;\n }\n }\n }\n return newResolvedViewport;\n}\nfunction getDefinedViewport(mod, props, tracingProps) {\n if (typeof mod.generateViewport === 'function') {\n const { route } = tracingProps;\n const segmentProps = createSegmentProps(mod.generateViewport, props);\n return Object.assign((parent)=>getTracer().trace(ResolveMetadataSpan.generateViewport, {\n spanName: `generateViewport ${route}`,\n attributes: {\n 'next.page': route\n }\n }, ()=>mod.generateViewport(segmentProps, parent)), {\n $$original: mod.generateViewport\n });\n }\n return mod.viewport || null;\n}\nfunction getDefinedMetadata(mod, props, tracingProps) {\n if (typeof mod.generateMetadata === 'function') {\n const { route } = tracingProps;\n const segmentProps = createSegmentProps(mod.generateMetadata, props);\n return Object.assign((parent)=>getTracer().trace(ResolveMetadataSpan.generateMetadata, {\n spanName: `generateMetadata ${route}`,\n attributes: {\n 'next.page': route\n }\n }, ()=>mod.generateMetadata(segmentProps, parent)), {\n $$original: mod.generateMetadata\n });\n }\n return mod.metadata || null;\n}\n/**\n * If `fn` is a `'use cache'` function, we add special markers to the props,\n * that the cache wrapper reads and removes, before passing the props to the\n * user function.\n */ function createSegmentProps(fn, props) {\n return isUseCacheFunction(fn) ? 'searchParams' in props ? {\n ...props,\n $$isPage: true\n } : {\n ...props,\n $$isLayout: true\n } : props;\n}\nasync function collectStaticImagesFiles(metadata, props, type) {\n var _this;\n if (!(metadata == null ? void 0 : metadata[type])) return undefined;\n const iconPromises = metadata[type].map(async (imageModule)=>interopDefault(await imageModule(props)));\n return (iconPromises == null ? void 0 : iconPromises.length) > 0 ? (_this = await Promise.all(iconPromises)) == null ? void 0 : _this.flat() : undefined;\n}\nasync function resolveStaticMetadata(modules, props) {\n const { metadata } = modules;\n if (!metadata) return null;\n const [icon, apple, openGraph, twitter] = await Promise.all([\n collectStaticImagesFiles(metadata, props, 'icon'),\n collectStaticImagesFiles(metadata, props, 'apple'),\n collectStaticImagesFiles(metadata, props, 'openGraph'),\n collectStaticImagesFiles(metadata, props, 'twitter')\n ]);\n const staticMetadata = {\n icon,\n apple,\n openGraph,\n twitter,\n manifest: metadata.manifest\n };\n return staticMetadata;\n}\n// [layout.metadata, static files metadata] -> ... -> [page.metadata, static files metadata]\nasync function collectMetadata({ tree, metadataItems, errorMetadataItem, props, route, errorConvention }) {\n let mod;\n let modType;\n const hasErrorConventionComponent = Boolean(errorConvention && tree[2][errorConvention]);\n if (errorConvention) {\n mod = await getComponentTypeModule(tree, 'layout');\n modType = errorConvention;\n } else {\n const { mod: layoutOrPageMod, modType: layoutOrPageModType } = await getLayoutOrPageModule(tree);\n mod = layoutOrPageMod;\n modType = layoutOrPageModType;\n }\n if (modType) {\n route += `/${modType}`;\n }\n const staticFilesMetadata = await resolveStaticMetadata(tree[2], props);\n const metadataExport = mod ? getDefinedMetadata(mod, props, {\n route\n }) : null;\n metadataItems.push([\n metadataExport,\n staticFilesMetadata\n ]);\n if (hasErrorConventionComponent && errorConvention) {\n const errorMod = await getComponentTypeModule(tree, errorConvention);\n const errorMetadataExport = errorMod ? getDefinedMetadata(errorMod, props, {\n route\n }) : null;\n errorMetadataItem[0] = errorMetadataExport;\n errorMetadataItem[1] = staticFilesMetadata;\n }\n}\n// [layout.metadata, static files metadata] -> ... -> [page.metadata, static files metadata]\nasync function collectViewport({ tree, viewportItems, errorViewportItemRef, props, route, errorConvention }) {\n let mod;\n let modType;\n const hasErrorConventionComponent = Boolean(errorConvention && tree[2][errorConvention]);\n if (errorConvention) {\n mod = await getComponentTypeModule(tree, 'layout');\n modType = errorConvention;\n } else {\n const { mod: layoutOrPageMod, modType: layoutOrPageModType } = await getLayoutOrPageModule(tree);\n mod = layoutOrPageMod;\n modType = layoutOrPageModType;\n }\n if (modType) {\n route += `/${modType}`;\n }\n const viewportExport = mod ? getDefinedViewport(mod, props, {\n route\n }) : null;\n viewportItems.push(viewportExport);\n if (hasErrorConventionComponent && errorConvention) {\n const errorMod = await getComponentTypeModule(tree, errorConvention);\n const errorViewportExport = errorMod ? getDefinedViewport(errorMod, props, {\n route\n }) : null;\n errorViewportItemRef.current = errorViewportExport;\n }\n}\nconst resolveMetadataItems = cache(async function(tree, searchParams, errorConvention, getDynamicParamFromSegment, workStore) {\n const parentParams = {};\n const metadataItems = [];\n const errorMetadataItem = [\n null,\n null\n ];\n const treePrefix = undefined;\n return resolveMetadataItemsImpl(metadataItems, tree, treePrefix, parentParams, searchParams, errorConvention, errorMetadataItem, getDynamicParamFromSegment, workStore);\n});\nasync function resolveMetadataItemsImpl(metadataItems, tree, /** Provided tree can be nested subtree, this argument says what is the path of such subtree */ treePrefix, parentParams, searchParams, errorConvention, errorMetadataItem, getDynamicParamFromSegment, workStore) {\n const [segment, parallelRoutes, { page }] = tree;\n const currentTreePrefix = treePrefix && treePrefix.length ? [\n ...treePrefix,\n segment\n ] : [\n segment\n ];\n const isPage = typeof page !== 'undefined';\n // Handle dynamic segment params.\n const segmentParam = getDynamicParamFromSegment(segment);\n /**\n * Create object holding the parent params and current params\n */ let currentParams = parentParams;\n if (segmentParam && segmentParam.value !== null) {\n currentParams = {\n ...parentParams,\n [segmentParam.param]: segmentParam.value\n };\n }\n const params = createServerParamsForMetadata(currentParams, workStore);\n const props = isPage ? {\n params,\n searchParams\n } : {\n params\n };\n await collectMetadata({\n tree,\n metadataItems,\n errorMetadataItem,\n errorConvention,\n props,\n route: currentTreePrefix// __PAGE__ shouldn't be shown in a route\n .filter((s)=>s !== PAGE_SEGMENT_KEY).join('/')\n });\n for(const key in parallelRoutes){\n const childTree = parallelRoutes[key];\n await resolveMetadataItemsImpl(metadataItems, childTree, currentTreePrefix, currentParams, searchParams, errorConvention, errorMetadataItem, getDynamicParamFromSegment, workStore);\n }\n if (Object.keys(parallelRoutes).length === 0 && errorConvention) {\n // If there are no parallel routes, place error metadata as the last item.\n // e.g. layout -> layout -> not-found\n metadataItems.push(errorMetadataItem);\n }\n return metadataItems;\n}\nconst resolveViewportItems = cache(async function(tree, searchParams, errorConvention, getDynamicParamFromSegment, workStore) {\n const parentParams = {};\n const viewportItems = [];\n const errorViewportItemRef = {\n current: null\n };\n const treePrefix = undefined;\n return resolveViewportItemsImpl(viewportItems, tree, treePrefix, parentParams, searchParams, errorConvention, errorViewportItemRef, getDynamicParamFromSegment, workStore);\n});\nasync function resolveViewportItemsImpl(viewportItems, tree, /** Provided tree can be nested subtree, this argument says what is the path of such subtree */ treePrefix, parentParams, searchParams, errorConvention, errorViewportItemRef, getDynamicParamFromSegment, workStore) {\n const [segment, parallelRoutes, { page }] = tree;\n const currentTreePrefix = treePrefix && treePrefix.length ? [\n ...treePrefix,\n segment\n ] : [\n segment\n ];\n const isPage = typeof page !== 'undefined';\n // Handle dynamic segment params.\n const segmentParam = getDynamicParamFromSegment(segment);\n /**\n * Create object holding the parent params and current params\n */ let currentParams = parentParams;\n if (segmentParam && segmentParam.value !== null) {\n currentParams = {\n ...parentParams,\n [segmentParam.param]: segmentParam.value\n };\n }\n const params = createServerParamsForMetadata(currentParams, workStore);\n let layerProps;\n if (isPage) {\n layerProps = {\n params,\n searchParams\n };\n } else {\n layerProps = {\n params\n };\n }\n await collectViewport({\n tree,\n viewportItems,\n errorViewportItemRef,\n errorConvention,\n props: layerProps,\n route: currentTreePrefix// __PAGE__ shouldn't be shown in a route\n .filter((s)=>s !== PAGE_SEGMENT_KEY).join('/')\n });\n for(const key in parallelRoutes){\n const childTree = parallelRoutes[key];\n await resolveViewportItemsImpl(viewportItems, childTree, currentTreePrefix, currentParams, searchParams, errorConvention, errorViewportItemRef, getDynamicParamFromSegment, workStore);\n }\n if (Object.keys(parallelRoutes).length === 0 && errorConvention) {\n // If there are no parallel routes, place error metadata as the last item.\n // e.g. layout -> layout -> not-found\n viewportItems.push(errorViewportItemRef.current);\n }\n return viewportItems;\n}\nconst isTitleTruthy = (title)=>!!(title == null ? void 0 : title.absolute);\nconst hasTitle = (metadata)=>isTitleTruthy(metadata == null ? void 0 : metadata.title);\nfunction inheritFromMetadata(target, metadata) {\n if (target) {\n if (!hasTitle(target) && hasTitle(metadata)) {\n target.title = metadata.title;\n }\n if (!target.description && metadata.description) {\n target.description = metadata.description;\n }\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst commonOgKeys = [\n 'title',\n 'description',\n 'images'\n];\nfunction postProcessMetadata(metadata, favicon, titleTemplates, metadataContext) {\n const { openGraph, twitter } = metadata;\n if (openGraph) {\n // If there's openGraph information but not configured in twitter,\n // inherit them from openGraph metadata.\n let autoFillProps = {};\n const hasTwTitle = hasTitle(twitter);\n const hasTwDescription = twitter == null ? void 0 : twitter.description;\n const hasTwImages = Boolean((twitter == null ? void 0 : twitter.hasOwnProperty('images')) && twitter.images);\n if (!hasTwTitle) {\n if (isTitleTruthy(openGraph.title)) {\n autoFillProps.title = openGraph.title;\n } else if (metadata.title && isTitleTruthy(metadata.title)) {\n autoFillProps.title = metadata.title;\n }\n }\n if (!hasTwDescription) autoFillProps.description = openGraph.description || metadata.description || undefined;\n if (!hasTwImages) autoFillProps.images = openGraph.images;\n if (Object.keys(autoFillProps).length > 0) {\n const partialTwitter = resolveTwitter(autoFillProps, normalizeMetadataBase(metadata.metadataBase), metadataContext, titleTemplates.twitter);\n if (metadata.twitter) {\n metadata.twitter = Object.assign({}, metadata.twitter, {\n ...!hasTwTitle && {\n title: partialTwitter == null ? void 0 : partialTwitter.title\n },\n ...!hasTwDescription && {\n description: partialTwitter == null ? void 0 : partialTwitter.description\n },\n ...!hasTwImages && {\n images: partialTwitter == null ? void 0 : partialTwitter.images\n }\n });\n } else {\n metadata.twitter = convertUrlsToStrings(partialTwitter);\n }\n }\n }\n // If there's no title and description configured in openGraph or twitter,\n // use the title and description from metadata.\n inheritFromMetadata(openGraph, metadata);\n inheritFromMetadata(twitter, metadata);\n if (favicon) {\n if (!metadata.icons) {\n metadata.icons = {\n icon: [],\n apple: []\n };\n }\n metadata.icons.icon.unshift(favicon);\n }\n return metadata;\n}\nfunction prerenderMetadata(metadataItems) {\n // If the index is a function then it is a resolver and the next slot\n // is the corresponding result. If the index is not a function it is the result\n // itself.\n const resolversAndResults = [];\n for(let i = 0; i < metadataItems.length; i++){\n const metadataExport = metadataItems[i][0];\n getResult(resolversAndResults, metadataExport);\n }\n return resolversAndResults;\n}\nfunction prerenderViewport(viewportItems) {\n // If the index is a function then it is a resolver and the next slot\n // is the corresponding result. If the index is not a function it is the result\n // itself.\n const resolversAndResults = [];\n for(let i = 0; i < viewportItems.length; i++){\n const viewportExport = viewportItems[i];\n getResult(resolversAndResults, viewportExport);\n }\n return resolversAndResults;\n}\nconst noop = ()=>{};\nfunction getResult(resolversAndResults, exportForResult) {\n if (typeof exportForResult === 'function') {\n // If the function is a 'use cache' function that uses the parent data as\n // the second argument, we don't want to eagerly execute it during\n // metadata/viewport pre-rendering, as the parent data might also be\n // computed from another 'use cache' function. To ensure that the hanging\n // input abort signal handling works in this case (i.e. the depending\n // function waits for the cached input to resolve while encoding its args),\n // they must be called sequentially. This can be accomplished by wrapping\n // the call in a lazy promise, so that the original function is only called\n // when the result is actually awaited.\n const useCacheFunctionInfo = getUseCacheFunctionInfo(exportForResult.$$original);\n if (useCacheFunctionInfo && useCacheFunctionInfo.usedArgs[1]) {\n const promise = new Promise((resolve)=>resolversAndResults.push(resolve));\n resolversAndResults.push(createLazyResult(async ()=>exportForResult(promise)));\n } else {\n let result;\n if (useCacheFunctionInfo) {\n resolversAndResults.push(noop);\n // @ts-expect-error We intentionally omit the parent argument, because\n // we know from the check above that the 'use cache' function does not\n // use it.\n result = exportForResult();\n } else {\n result = exportForResult(new Promise((resolve)=>resolversAndResults.push(resolve)));\n }\n resolversAndResults.push(result);\n if (result instanceof Promise) {\n // since we eager execute generateMetadata and\n // they can reject at anytime we need to ensure\n // we attach the catch handler right away to\n // prevent unhandled rejections crashing the process\n result.catch((err)=>{\n return {\n __nextError: err\n };\n });\n }\n }\n } else if (typeof exportForResult === 'object') {\n resolversAndResults.push(exportForResult);\n } else {\n resolversAndResults.push(null);\n }\n}\nfunction freezeInDev(obj) {\n if (process.env.NODE_ENV === 'development') {\n return require('../../shared/lib/deep-freeze').deepFreeze(obj);\n }\n return obj;\n}\nexport async function accumulateMetadata(route, metadataItems, pathname, metadataContext) {\n let resolvedMetadata = createDefaultMetadata();\n let titleTemplates = {\n title: null,\n twitter: null,\n openGraph: null\n };\n const buildState = {\n warnings: new Set()\n };\n let favicon;\n // Collect the static icons in the most leaf node,\n // since we don't collect all the static metadata icons in the parent segments.\n const leafSegmentStaticIcons = {\n icon: [],\n apple: []\n };\n const resolversAndResults = prerenderMetadata(metadataItems);\n let resultIndex = 0;\n for(let i = 0; i < metadataItems.length; i++){\n var _staticFilesMetadata_icon;\n const staticFilesMetadata = metadataItems[i][1];\n // Treat favicon as special case, it should be the first icon in the list\n // i <= 1 represents root layout, and if current page is also at root\n if (i <= 1 && isFavicon(staticFilesMetadata == null ? void 0 : (_staticFilesMetadata_icon = staticFilesMetadata.icon) == null ? void 0 : _staticFilesMetadata_icon[0])) {\n var _staticFilesMetadata_icon1;\n const iconMod = staticFilesMetadata == null ? void 0 : (_staticFilesMetadata_icon1 = staticFilesMetadata.icon) == null ? void 0 : _staticFilesMetadata_icon1.shift();\n if (i === 0) favicon = iconMod;\n }\n let pendingMetadata = resolversAndResults[resultIndex++];\n if (typeof pendingMetadata === 'function') {\n // This metadata item had a `generateMetadata` and\n // we need to provide the currently resolved metadata\n // to it before we continue;\n const resolveParentMetadata = pendingMetadata;\n // we know that the next item is a result if this item\n // was a resolver\n pendingMetadata = resolversAndResults[resultIndex++];\n resolveParentMetadata(freezeInDev(resolvedMetadata));\n }\n // Otherwise the item was either null or a static export\n let metadata;\n if (isPromiseLike(pendingMetadata)) {\n metadata = await pendingMetadata;\n } else {\n metadata = pendingMetadata;\n }\n resolvedMetadata = await mergeMetadata(route, pathname, {\n resolvedMetadata,\n metadata,\n metadataContext,\n staticFilesMetadata,\n titleTemplates,\n buildState,\n leafSegmentStaticIcons\n });\n // If the layout is the same layer with page, skip the leaf layout and leaf page\n // The leaf layout and page are the last two items\n if (i < metadataItems.length - 2) {\n var _resolvedMetadata_title, _resolvedMetadata_openGraph, _resolvedMetadata_twitter;\n titleTemplates = {\n title: ((_resolvedMetadata_title = resolvedMetadata.title) == null ? void 0 : _resolvedMetadata_title.template) || null,\n openGraph: ((_resolvedMetadata_openGraph = resolvedMetadata.openGraph) == null ? void 0 : _resolvedMetadata_openGraph.title.template) || null,\n twitter: ((_resolvedMetadata_twitter = resolvedMetadata.twitter) == null ? void 0 : _resolvedMetadata_twitter.title.template) || null\n };\n }\n }\n if (leafSegmentStaticIcons.icon.length > 0 || leafSegmentStaticIcons.apple.length > 0) {\n if (!resolvedMetadata.icons) {\n resolvedMetadata.icons = {\n icon: [],\n apple: []\n };\n if (leafSegmentStaticIcons.icon.length > 0) {\n resolvedMetadata.icons.icon.unshift(...leafSegmentStaticIcons.icon);\n }\n if (leafSegmentStaticIcons.apple.length > 0) {\n resolvedMetadata.icons.apple.unshift(...leafSegmentStaticIcons.apple);\n }\n }\n }\n // Only log warnings if there are any, and only once after the metadata resolving process is finished\n if (buildState.warnings.size > 0) {\n for (const warning of buildState.warnings){\n Log.warn(warning);\n }\n }\n return postProcessMetadata(resolvedMetadata, favicon, titleTemplates, metadataContext);\n}\nexport async function accumulateViewport(viewportItems) {\n let resolvedViewport = createDefaultViewport();\n const resolversAndResults = prerenderViewport(viewportItems);\n let i = 0;\n while(i < resolversAndResults.length){\n let pendingViewport = resolversAndResults[i++];\n if (typeof pendingViewport === 'function') {\n // this viewport item had a `generateViewport` and\n // we need to provide the currently resolved viewport\n // to it before we continue;\n const resolveParentViewport = pendingViewport;\n // we know that the next item is a result if this item\n // was a resolver\n pendingViewport = resolversAndResults[i++];\n resolveParentViewport(freezeInDev(resolvedViewport));\n }\n // Otherwise the item was either null or a static export\n let viewport;\n if (isPromiseLike(pendingViewport)) {\n viewport = await pendingViewport;\n } else {\n viewport = pendingViewport;\n }\n resolvedViewport = mergeViewport({\n resolvedViewport,\n viewport\n });\n }\n return resolvedViewport;\n}\n// Exposed API for metadata component, that directly resolve the loader tree and related context as resolved metadata.\nexport async function resolveMetadata(tree, pathname, searchParams, errorConvention, getDynamicParamFromSegment, workStore, metadataContext) {\n const metadataItems = await resolveMetadataItems(tree, searchParams, errorConvention, getDynamicParamFromSegment, workStore);\n return accumulateMetadata(workStore.route, metadataItems, pathname, metadataContext);\n}\n// Exposed API for viewport component, that directly resolve the loader tree and related context as resolved viewport.\nexport async function resolveViewport(tree, searchParams, errorConvention, getDynamicParamFromSegment, workStore) {\n const viewportItems = await resolveViewportItems(tree, searchParams, errorConvention, getDynamicParamFromSegment, workStore);\n return accumulateViewport(viewportItems);\n}\nfunction isPromiseLike(value) {\n return typeof value === 'object' && value !== null && typeof value.then === 'function';\n}\n\n//# sourceMappingURL=resolve-metadata.js.map","import path from '../../../shared/lib/isomorphic/path';\nfunction isStringOrURL(icon) {\n return typeof icon === 'string' || icon instanceof URL;\n}\nfunction createLocalMetadataBase() {\n // Check if experimental HTTPS is enabled\n const isExperimentalHttps = Boolean(process.env.__NEXT_EXPERIMENTAL_HTTPS);\n const protocol = isExperimentalHttps ? 'https' : 'http';\n return new URL(`${protocol}://localhost:${process.env.PORT || 3000}`);\n}\nfunction getPreviewDeploymentUrl() {\n const origin = process.env.VERCEL_BRANCH_URL || process.env.VERCEL_URL;\n return origin ? new URL(`https://${origin}`) : undefined;\n}\nfunction getProductionDeploymentUrl() {\n const origin = process.env.VERCEL_PROJECT_PRODUCTION_URL;\n return origin ? new URL(`https://${origin}`) : undefined;\n}\n/**\n * Given an optional user-provided metadataBase, this determines what the metadataBase should\n * fallback to. Specifically:\n * - In dev, it should always be localhost\n * - In Vercel preview builds, it should be the preview build ID\n * - In start, it should be the user-provided metadataBase value. Otherwise,\n * it'll fall back to the Vercel production deployment, and localhost as a last resort.\n */ export function getSocialImageMetadataBaseFallback(metadataBase) {\n const defaultMetadataBase = createLocalMetadataBase();\n const previewDeploymentUrl = getPreviewDeploymentUrl();\n const productionDeploymentUrl = getProductionDeploymentUrl();\n let fallbackMetadataBase;\n if (process.env.NODE_ENV === 'development') {\n fallbackMetadataBase = defaultMetadataBase;\n } else {\n fallbackMetadataBase = process.env.NODE_ENV === 'production' && previewDeploymentUrl && process.env.VERCEL_ENV === 'preview' ? previewDeploymentUrl : metadataBase || productionDeploymentUrl || defaultMetadataBase;\n }\n return fallbackMetadataBase;\n}\nfunction resolveUrl(url, metadataBase) {\n if (url instanceof URL) return url;\n if (!url) return null;\n try {\n // If we can construct a URL instance from url, ignore metadataBase\n const parsedUrl = new URL(url);\n return parsedUrl;\n } catch {}\n if (!metadataBase) {\n metadataBase = createLocalMetadataBase();\n }\n // Handle relative or absolute paths\n const pathname = metadataBase.pathname || '';\n const joinedPath = path.posix.join(pathname, url);\n return new URL(joinedPath, metadataBase);\n}\n// Resolve with `pathname` if `url` is a relative path.\nfunction resolveRelativeUrl(url, pathname) {\n if (typeof url === 'string' && url.startsWith('./')) {\n return path.posix.resolve(pathname, url);\n }\n return url;\n}\n// The regex is matching logic from packages/next/src/lib/load-custom-routes.ts\nconst FILE_REGEX = /^(?:\\/((?!\\.well-known(?:\\/.*)?)(?:[^/]+\\/)*[^/]+\\.\\w+))(\\/?|$)/i;\nfunction isFilePattern(pathname) {\n return FILE_REGEX.test(pathname);\n}\n// Resolve `pathname` if `url` is a relative path the compose with `metadataBase`.\nfunction resolveAbsoluteUrlWithPathname(url, metadataBase, pathname, { trailingSlash }) {\n // Resolve url with pathname that always starts with `/`\n url = resolveRelativeUrl(url, pathname);\n // Convert string url or URL instance to absolute url string,\n // if there's case needs to be resolved with metadataBase\n let resolvedUrl = '';\n const result = metadataBase ? resolveUrl(url, metadataBase) : url;\n if (typeof result === 'string') {\n resolvedUrl = result;\n } else {\n resolvedUrl = result.pathname === '/' && result.searchParams.size === 0 ? result.origin : result.href;\n }\n // Add trailing slash if it's enabled for urls matches the condition\n // - Not external, same origin with metadataBase\n // - Doesn't have query\n if (trailingSlash && !resolvedUrl.endsWith('/')) {\n let isRelative = resolvedUrl.startsWith('/');\n let hasQuery = resolvedUrl.includes('?');\n let isExternal = false;\n let isFileUrl = false;\n if (!isRelative) {\n try {\n const parsedUrl = new URL(resolvedUrl);\n isExternal = metadataBase != null && parsedUrl.origin !== metadataBase.origin;\n isFileUrl = isFilePattern(parsedUrl.pathname);\n } catch {\n // If it's not a valid URL, treat it as external\n isExternal = true;\n }\n if (// Do not apply trailing slash for file like urls, aligning with the behavior with `trailingSlash`\n !isFileUrl && !isExternal && !hasQuery) return `${resolvedUrl}/`;\n }\n }\n return resolvedUrl;\n}\nexport { isStringOrURL, resolveUrl, resolveRelativeUrl, resolveAbsoluteUrlWithPathname, };\n\n//# sourceMappingURL=resolve-url.js.map","function resolveTitleTemplate(template, title) {\n return template ? template.replace(/%s/g, title) : title;\n}\nexport function resolveTitle(title, stashedTemplate) {\n let resolved;\n const template = typeof title !== 'string' && title && 'template' in title ? title.template : null;\n if (typeof title === 'string') {\n resolved = resolveTitleTemplate(stashedTemplate, title);\n } else if (title) {\n if ('default' in title) {\n resolved = resolveTitleTemplate(stashedTemplate, title.default);\n }\n if ('absolute' in title && title.absolute) {\n resolved = title.absolute;\n }\n }\n if (title && typeof title !== 'string') {\n return {\n template,\n absolute: resolved || ''\n };\n } else {\n return {\n absolute: resolved || title || '',\n template\n };\n }\n}\n\n//# sourceMappingURL=resolve-title.js.map","import { NEXT_RSC_UNION_QUERY } from '../client/components/app-router-headers';\nconst DUMMY_ORIGIN = 'http://n';\nexport function isFullStringUrl(url) {\n return /https?:\\/\\//.test(url);\n}\nexport function parseUrl(url) {\n let parsed = undefined;\n try {\n parsed = new URL(url, DUMMY_ORIGIN);\n } catch {}\n return parsed;\n}\nexport function parseReqUrl(url) {\n const parsedUrl = parseUrl(url);\n if (!parsedUrl) {\n return;\n }\n const query = {};\n for (const key of parsedUrl.searchParams.keys()){\n const values = parsedUrl.searchParams.getAll(key);\n query[key] = values.length > 1 ? values : values[0];\n }\n const legacyUrl = {\n query,\n hash: parsedUrl.hash,\n search: parsedUrl.search,\n path: parsedUrl.pathname,\n pathname: parsedUrl.pathname,\n href: `${parsedUrl.pathname}${parsedUrl.search}${parsedUrl.hash}`,\n host: '',\n hostname: '',\n auth: '',\n protocol: '',\n slashes: null,\n port: ''\n };\n return legacyUrl;\n}\nexport function stripNextRscUnionQuery(relativeUrl) {\n const urlInstance = new URL(relativeUrl, DUMMY_ORIGIN);\n urlInstance.searchParams.delete(NEXT_RSC_UNION_QUERY);\n return urlInstance.pathname + urlInstance.search;\n}\n\n//# sourceMappingURL=url.js.map","// eslint-disable-next-line import/no-extraneous-dependencies\nexport { createTemporaryReferenceSet, renderToReadableStream, decodeReply, decodeAction, decodeFormState } from 'react-server-dom-webpack/server';\n// eslint-disable-next-line import/no-extraneous-dependencies\nexport { prerender } from 'react-server-dom-webpack/static';\n// TODO: Just re-export `* as ReactServer`\nexport { captureOwnerStack, createElement, Fragment } from 'react';\nexport { default as LayoutRouter } from '../../client/components/layout-router';\nexport { default as RenderFromTemplateContext } from '../../client/components/render-from-template-context';\nexport { workAsyncStorage } from '../app-render/work-async-storage.external';\nexport { workUnitAsyncStorage } from './work-unit-async-storage.external';\nexport { actionAsyncStorage } from '../app-render/action-async-storage.external';\nexport { ClientPageRoot } from '../../client/components/client-page';\nexport { ClientSegmentRoot } from '../../client/components/client-segment';\nexport { createServerSearchParamsForServerPage, createPrerenderSearchParamsForClientPage } from '../request/search-params';\nexport { createServerParamsForServerSegment, createPrerenderParamsForClientSegment } from '../request/params';\nexport * as serverHooks from '../../client/components/hooks-server-context';\nexport { HTTPAccessFallbackBoundary } from '../../client/components/http-access-fallback/error-boundary';\nexport { createMetadataComponents } from '../../lib/metadata/metadata';\nexport { RootLayoutBoundary } from '../../lib/framework/boundary-components';\nexport { preloadStyle, preloadFont, preconnect } from './rsc/preloads';\nexport { Postpone } from './rsc/postpone';\nexport { taintObjectReference } from './rsc/taint';\nexport { collectSegmentData } from './collect-segment-data';\nimport { workAsyncStorage } from '../app-render/work-async-storage.external';\nimport { workUnitAsyncStorage } from './work-unit-async-storage.external';\nimport { patchFetch as _patchFetch } from '../lib/patch-fetch';\nlet SegmentViewNode = ()=>null;\nlet SegmentViewStateNode = ()=>null;\nif (process.env.NODE_ENV === 'development') {\n const mod = require('../../next-devtools/userspace/app/segment-explorer-node');\n SegmentViewNode = mod.SegmentViewNode;\n SegmentViewStateNode = mod.SegmentViewStateNode;\n}\n// hot-reloader modules are not bundled so we need to inject `__next__clear_chunk_cache__`\n// into globalThis from this file which is bundled.\nif (process.env.TURBOPACK) {\n globalThis.__next__clear_chunk_cache__ = __turbopack_clear_chunk_cache__;\n} else {\n // Webpack does not have chunks on the server\n globalThis.__next__clear_chunk_cache__ = null;\n}\n// patchFetch makes use of APIs such as `React.unstable_postpone` which are only available\n// in the experimental channel of React, so export it from here so that it comes from the bundled runtime\nexport function patchFetch() {\n return _patchFetch({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\n// Development only\nexport { SegmentViewNode, SegmentViewStateNode };\n\n//# sourceMappingURL=entry-base.js.map","const REACT_POSTPONE_TYPE = Symbol.for('react.postpone');\nexport function isPostpone(error) {\n return typeof error === 'object' && error !== null && error.$$typeof === REACT_POSTPONE_TYPE;\n}\n\n//# sourceMappingURL=is-postpone.js.map","/*\n\nFiles in the rsc directory are meant to be packaged as part of the RSC graph using next-app-loader.\n\n*/ import ReactDOM from 'react-dom';\nexport function preloadStyle(href, crossOrigin, nonce) {\n const opts = {\n as: 'style'\n };\n if (typeof crossOrigin === 'string') {\n opts.crossOrigin = crossOrigin;\n }\n if (typeof nonce === 'string') {\n opts.nonce = nonce;\n }\n ReactDOM.preload(href, opts);\n}\nexport function preloadFont(href, type, crossOrigin, nonce) {\n const opts = {\n as: 'font',\n type\n };\n if (typeof crossOrigin === 'string') {\n opts.crossOrigin = crossOrigin;\n }\n if (typeof nonce === 'string') {\n opts.nonce = nonce;\n }\n ReactDOM.preload(href, opts);\n}\nexport function preconnect(href, crossOrigin, nonce) {\n const opts = {};\n if (typeof crossOrigin === 'string') {\n opts.crossOrigin = crossOrigin;\n }\n if (typeof nonce === 'string') {\n opts.nonce = nonce;\n }\n ;\n ReactDOM.preconnect(href, opts);\n}\n\n//# sourceMappingURL=preloads.js.map","import stringHash from 'next/dist/compiled/string-hash';\nimport { formatServerError } from '../../lib/format-server-error';\nimport { SpanStatusCode, getTracer } from '../lib/trace/tracer';\nimport { isAbortError } from '../pipe-readable';\nimport { isBailoutToCSRError } from '../../shared/lib/lazy-dynamic/bailout-to-csr';\nimport { isDynamicServerError } from '../../client/components/hooks-server-context';\nimport { isNextRouterError } from '../../client/components/is-next-router-error';\nimport { isPrerenderInterruptedError } from './dynamic-rendering';\nimport { getProperError } from '../../lib/is-error';\nimport { createDigestWithErrorCode } from '../../lib/error-telemetry-utils';\nimport { isReactLargeShellError } from './react-large-shell-error';\n/**\n * Returns a digest for well-known Next.js errors, otherwise `undefined`. If a\n * digest is returned this also means that the error does not need to be\n * reported.\n */ export function getDigestForWellKnownError(error) {\n // If we're bailing out to CSR, we don't need to log the error.\n if (isBailoutToCSRError(error)) return error.digest;\n // If this is a navigation error, we don't need to log the error.\n if (isNextRouterError(error)) return error.digest;\n // If this error occurs, we know that we should be stopping the static\n // render. This is only thrown in static generation when PPR is not enabled,\n // which causes the whole page to be marked as dynamic. We don't need to\n // tell the user about this error, as it's not actionable.\n if (isDynamicServerError(error)) return error.digest;\n // If this is a prerender interrupted error, we don't need to log the error.\n if (isPrerenderInterruptedError(error)) return error.digest;\n return undefined;\n}\nexport function createFlightReactServerErrorHandler(shouldFormatError, onReactServerRenderError) {\n return (thrownValue)=>{\n if (typeof thrownValue === 'string') {\n // TODO-APP: look at using webcrypto instead. Requires a promise to be awaited.\n return stringHash(thrownValue).toString();\n }\n // If the response was closed, we don't need to log the error.\n if (isAbortError(thrownValue)) return;\n const digest = getDigestForWellKnownError(thrownValue);\n if (digest) {\n return digest;\n }\n if (isReactLargeShellError(thrownValue)) {\n // TODO: Aggregate\n console.error(thrownValue);\n return undefined;\n }\n const err = getProperError(thrownValue);\n // If the error already has a digest, respect the original digest,\n // so it won't get re-generated into another new error.\n if (!err.digest) {\n // TODO-APP: look at using webcrypto instead. Requires a promise to be awaited.\n err.digest = stringHash(err.message + err.stack || '').toString();\n }\n // Format server errors in development to add more helpful error messages\n if (shouldFormatError) {\n formatServerError(err);\n }\n // Record exception in an active span, if available.\n const span = getTracer().getActiveScopeSpan();\n if (span) {\n span.recordException(err);\n span.setAttribute('error.type', err.name);\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: err.message\n });\n }\n onReactServerRenderError(err);\n return createDigestWithErrorCode(thrownValue, err.digest);\n };\n}\nexport function createHTMLReactServerErrorHandler(shouldFormatError, isNextExport, reactServerErrors, silenceLogger, onReactServerRenderError) {\n return (thrownValue)=>{\n var _err_message;\n if (typeof thrownValue === 'string') {\n // TODO-APP: look at using webcrypto instead. Requires a promise to be awaited.\n return stringHash(thrownValue).toString();\n }\n // If the response was closed, we don't need to log the error.\n if (isAbortError(thrownValue)) return;\n const digest = getDigestForWellKnownError(thrownValue);\n if (digest) {\n return digest;\n }\n if (isReactLargeShellError(thrownValue)) {\n // TODO: Aggregate\n console.error(thrownValue);\n return undefined;\n }\n const err = getProperError(thrownValue);\n // If the error already has a digest, respect the original digest,\n // so it won't get re-generated into another new error.\n if (!err.digest) {\n // TODO-APP: look at using webcrypto instead. Requires a promise to be awaited.\n err.digest = stringHash(err.message + (err.stack || '')).toString();\n }\n // @TODO by putting this here and not at the top it is possible that\n // we don't error the build in places we actually expect to\n if (!reactServerErrors.has(err.digest)) {\n reactServerErrors.set(err.digest, err);\n }\n // Format server errors in development to add more helpful error messages\n if (shouldFormatError) {\n formatServerError(err);\n }\n // Don't log the suppressed error during export\n if (!(isNextExport && (err == null ? void 0 : (_err_message = err.message) == null ? void 0 : _err_message.includes('The specific message is omitted in production builds to avoid leaking sensitive details.')))) {\n // Record exception in an active span, if available.\n const span = getTracer().getActiveScopeSpan();\n if (span) {\n span.recordException(err);\n span.setAttribute('error.type', err.name);\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: err.message\n });\n }\n if (!silenceLogger) {\n onReactServerRenderError == null ? void 0 : onReactServerRenderError(err);\n }\n }\n return createDigestWithErrorCode(thrownValue, err.digest);\n };\n}\nexport function createHTMLErrorHandler(shouldFormatError, isNextExport, reactServerErrors, allCapturedErrors, silenceLogger, onHTMLRenderSSRError) {\n return (thrownValue, errorInfo)=>{\n var _err_message;\n if (isReactLargeShellError(thrownValue)) {\n // TODO: Aggregate\n console.error(thrownValue);\n return undefined;\n }\n let isSSRError = true;\n allCapturedErrors.push(thrownValue);\n // If the response was closed, we don't need to log the error.\n if (isAbortError(thrownValue)) return;\n const digest = getDigestForWellKnownError(thrownValue);\n if (digest) {\n return digest;\n }\n const err = getProperError(thrownValue);\n // If the error already has a digest, respect the original digest,\n // so it won't get re-generated into another new error.\n if (err.digest) {\n if (reactServerErrors.has(err.digest)) {\n // This error is likely an obfuscated error from react-server.\n // We recover the original error here.\n thrownValue = reactServerErrors.get(err.digest);\n isSSRError = false;\n } else {\n // The error is not from react-server but has a digest\n // from other means so we don't need to produce a new one\n }\n } else {\n err.digest = stringHash(err.message + ((errorInfo == null ? void 0 : errorInfo.componentStack) || err.stack || '')).toString();\n }\n // Format server errors in development to add more helpful error messages\n if (shouldFormatError) {\n formatServerError(err);\n }\n // Don't log the suppressed error during export\n if (!(isNextExport && (err == null ? void 0 : (_err_message = err.message) == null ? void 0 : _err_message.includes('The specific message is omitted in production builds to avoid leaking sensitive details.')))) {\n // Record exception in an active span, if available.\n const span = getTracer().getActiveScopeSpan();\n if (span) {\n span.recordException(err);\n span.setAttribute('error.type', err.name);\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: err.message\n });\n }\n if (!silenceLogger && // HTML errors contain RSC errors as well, filter them out before reporting\n isSSRError) {\n onHTMLRenderSSRError(err, errorInfo);\n }\n }\n return createDigestWithErrorCode(thrownValue, err.digest);\n };\n}\nexport function isUserLandError(err) {\n return !isAbortError(err) && !isBailoutToCSRError(err) && !isNextRouterError(err);\n}\n\n//# sourceMappingURL=create-error-handler.js.map","const invalidServerComponentReactHooks = [\n 'useDeferredValue',\n 'useEffect',\n 'useImperativeHandle',\n 'useInsertionEffect',\n 'useLayoutEffect',\n 'useReducer',\n 'useRef',\n 'useState',\n 'useSyncExternalStore',\n 'useTransition',\n 'experimental_useOptimistic',\n 'useOptimistic'\n];\nfunction setMessage(error, message) {\n error.message = message;\n if (error.stack) {\n const lines = error.stack.split('\\n');\n lines[0] = message;\n error.stack = lines.join('\\n');\n }\n}\n/**\n * Input:\n * Error: Something went wrong\n at funcName (/path/to/file.js:10:5)\n at anotherFunc (/path/to/file.js:15:10)\n \n * Output:\n at funcName (/path/to/file.js:10:5)\n at anotherFunc (/path/to/file.js:15:10) \n */ export function getStackWithoutErrorMessage(error) {\n const stack = error.stack;\n if (!stack) return '';\n return stack.replace(/^[^\\n]*\\n/, '');\n}\nexport function formatServerError(error) {\n if (typeof (error == null ? void 0 : error.message) !== 'string') return;\n if (error.message.includes('Class extends value undefined is not a constructor or null')) {\n const addedMessage = 'This might be caused by a React Class Component being rendered in a Server Component, React Class Components only works in Client Components. Read more: https://nextjs.org/docs/messages/class-component-in-server-component';\n // If this error instance already has the message, don't add it again\n if (error.message.includes(addedMessage)) return;\n setMessage(error, `${error.message}\n\n${addedMessage}`);\n return;\n }\n if (error.message.includes('createContext is not a function')) {\n setMessage(error, 'createContext only works in Client Components. Add the \"use client\" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/context-in-server-component');\n return;\n }\n for (const clientHook of invalidServerComponentReactHooks){\n const regex = new RegExp(`\\\\b${clientHook}\\\\b.*is not a function`);\n if (regex.test(error.message)) {\n setMessage(error, `${clientHook} only works in Client Components. Add the \"use client\" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component`);\n return;\n }\n }\n}\n\n//# sourceMappingURL=format-server-error.js.map","import { RedirectStatusCode } from './redirect-status-code';\nexport const REDIRECT_ERROR_CODE = 'NEXT_REDIRECT';\nexport var RedirectType = /*#__PURE__*/ function(RedirectType) {\n RedirectType[\"push\"] = \"push\";\n RedirectType[\"replace\"] = \"replace\";\n return RedirectType;\n}({});\n/**\n * Checks an error to determine if it's an error generated by the\n * `redirect(url)` helper.\n *\n * @param error the error that may reference a redirect error\n * @returns true if the error is a redirect error\n */ export function isRedirectError(error) {\n if (typeof error !== 'object' || error === null || !('digest' in error) || typeof error.digest !== 'string') {\n return false;\n }\n const digest = error.digest.split(';');\n const [errorCode, type] = digest;\n const destination = digest.slice(2, -2).join(';');\n const status = digest.at(-2);\n const statusCode = Number(status);\n return errorCode === REDIRECT_ERROR_CODE && (type === 'replace' || type === 'push') && typeof destination === 'string' && !isNaN(statusCode) && statusCode in RedirectStatusCode;\n}\n\n//# sourceMappingURL=redirect-error.js.map","const DYNAMIC_ERROR_CODE = 'DYNAMIC_SERVER_USAGE';\nexport class DynamicServerError extends Error {\n constructor(description){\n super(`Dynamic server usage: ${description}`), this.description = description, this.digest = DYNAMIC_ERROR_CODE;\n }\n}\nexport function isDynamicServerError(err) {\n if (typeof err !== 'object' || err === null || !('digest' in err) || typeof err.digest !== 'string') {\n return false;\n }\n return err.digest === DYNAMIC_ERROR_CODE;\n}\n\n//# sourceMappingURL=hooks-server-context.js.map","const ERROR_CODE_DELIMITER = '@';\n/**\n * Augments the digest field of errors thrown in React Server Components (RSC) with an error code.\n * Since RSC errors can only be serialized through the digest field, this provides a way to include\n * an additional error code that can be extracted client-side via `extractNextErrorCode`.\n *\n * The error code is appended to the digest string with a semicolon separator, allowing it to be\n * parsed out later while preserving the original digest value.\n */ export const createDigestWithErrorCode = (thrownValue, originalDigest)=>{\n if (typeof thrownValue === 'object' && thrownValue !== null && '__NEXT_ERROR_CODE' in thrownValue) {\n return `${originalDigest}${ERROR_CODE_DELIMITER}${thrownValue.__NEXT_ERROR_CODE}`;\n }\n return originalDigest;\n};\nexport const extractNextErrorCode = (error)=>{\n if (typeof error === 'object' && error !== null && '__NEXT_ERROR_CODE' in error && typeof error.__NEXT_ERROR_CODE === 'string') {\n return error.__NEXT_ERROR_CODE;\n }\n if (typeof error === 'object' && error !== null && 'digest' in error && typeof error.digest === 'string') {\n const segments = error.digest.split(ERROR_CODE_DELIMITER);\n const errorCode = segments.find((segment)=>segment.startsWith('E'));\n return errorCode;\n }\n return undefined;\n};\n\n//# sourceMappingURL=error-telemetry-utils.js.map","const noop = ()=>{};\nlet registry;\nif (globalThis.FinalizationRegistry) {\n registry = new FinalizationRegistry((weakRef)=>{\n const stream = weakRef.deref();\n if (stream && !stream.locked) {\n stream.cancel('Response object has been garbage collected').then(noop);\n }\n });\n}\n/**\n * Clones a response by teeing the body so we can return two independent\n * ReadableStreams from it. This avoids the bug in the undici library around\n * response cloning.\n *\n * After cloning, the original response's body will be consumed and closed.\n *\n * @see https://github.com/vercel/next.js/pull/73274\n *\n * @param original - The original response to clone.\n * @returns A tuple containing two independent clones of the original response.\n */ export function cloneResponse(original) {\n // If the response has no body, then we can just return the original response\n // twice because it's immutable.\n if (!original.body) {\n return [\n original,\n original\n ];\n }\n const [body1, body2] = original.body.tee();\n const cloned1 = new Response(body1, {\n status: original.status,\n statusText: original.statusText,\n headers: original.headers\n });\n Object.defineProperty(cloned1, 'url', {\n value: original.url,\n // How the original response.url behaves\n configurable: true,\n enumerable: true,\n writable: false\n });\n // The Fetch Standard allows users to skip consuming the response body by\n // relying on garbage collection to release connection resources.\n // https://github.com/nodejs/undici?tab=readme-ov-file#garbage-collection\n //\n // To cancel the stream you then need to cancel both resulting branches.\n // Teeing a stream will generally lock it for the duration, preventing other\n // readers from locking it.\n // https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream/tee\n // cloned2 is stored in a react cache and cloned for subsequent requests.\n // It is the original request, and is is garbage collected by a\n // FinalizationRegistry in Undici, but since we're tee-ing the stream\n // ourselves, we need to cancel clone1's stream (the response returned from\n // our dedupe fetch) when clone1 is reclaimed, otherwise we leak memory.\n if (registry && cloned1.body) {\n registry.register(cloned1, new WeakRef(cloned1.body));\n }\n const cloned2 = new Response(body2, {\n status: original.status,\n statusText: original.statusText,\n headers: original.headers\n });\n Object.defineProperty(cloned2, 'url', {\n value: original.url,\n // How the original response.url behaves\n configurable: true,\n enumerable: true,\n writable: false\n });\n return [\n cloned1,\n cloned2\n ];\n}\n\n//# sourceMappingURL=clone-response.js.map","export const METADATA_BOUNDARY_NAME = '__next_metadata_boundary__';\nexport const VIEWPORT_BOUNDARY_NAME = '__next_viewport_boundary__';\nexport const OUTLET_BOUNDARY_NAME = '__next_outlet_boundary__';\nexport const ROOT_LAYOUT_BOUNDARY_NAME = '__next_root_layout_boundary__';\n\n//# sourceMappingURL=boundary-constants.js.map","export function interopDefault(mod) {\n return mod.default || mod;\n}\n\n//# sourceMappingURL=interop-default.js.map","export function nonNullable(value) {\n return value !== null && value !== undefined;\n}\n\n//# sourceMappingURL=non-nullable.js.map","export const HTTPAccessErrorStatus = {\n NOT_FOUND: 404,\n FORBIDDEN: 403,\n UNAUTHORIZED: 401\n};\nconst ALLOWED_CODES = new Set(Object.values(HTTPAccessErrorStatus));\nexport const HTTP_ERROR_FALLBACK_ERROR_CODE = 'NEXT_HTTP_ERROR_FALLBACK';\n/**\n * Checks an error to determine if it's an error generated by\n * the HTTP navigation APIs `notFound()`, `forbidden()` or `unauthorized()`.\n *\n * @param error the error that may reference a HTTP access error\n * @returns true if the error is a HTTP access error\n */ export function isHTTPAccessFallbackError(error) {\n if (typeof error !== 'object' || error === null || !('digest' in error) || typeof error.digest !== 'string') {\n return false;\n }\n const [prefix, httpStatus] = error.digest.split(';');\n return prefix === HTTP_ERROR_FALLBACK_ERROR_CODE && ALLOWED_CODES.has(Number(httpStatus));\n}\nexport function getAccessFallbackHTTPStatus(error) {\n const httpStatus = error.digest.split(';')[1];\n return Number(httpStatus);\n}\nexport function getAccessFallbackErrorTypeByStatus(status) {\n switch(status){\n case 401:\n return 'unauthorized';\n case 403:\n return 'forbidden';\n case 404:\n return 'not-found';\n default:\n return;\n }\n}\n\n//# sourceMappingURL=http-access-fallback.js.map","export const ViewportMetaKeys = {\n width: 'width',\n height: 'height',\n initialScale: 'initial-scale',\n minimumScale: 'minimum-scale',\n maximumScale: 'maximum-scale',\n viewportFit: 'viewport-fit',\n userScalable: 'user-scalable',\n interactiveWidget: 'interactive-widget'\n};\nexport const IconKeys = [\n 'icon',\n 'shortcut',\n 'apple',\n 'other'\n];\n\n//# sourceMappingURL=constants.js.map","export function isHangingPromiseRejectionError(err) {\n if (typeof err !== 'object' || err === null || !('digest' in err)) {\n return false;\n }\n return err.digest === HANGING_PROMISE_REJECTION;\n}\nconst HANGING_PROMISE_REJECTION = 'HANGING_PROMISE_REJECTION';\nclass HangingPromiseRejectionError extends Error {\n constructor(route, expression){\n super(`During prerendering, ${expression} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${expression} to a different context by using \\`setTimeout\\`, \\`after\\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route \"${route}\".`), this.route = route, this.expression = expression, this.digest = HANGING_PROMISE_REJECTION;\n }\n}\nconst abortListenersBySignal = new WeakMap();\n/**\n * This function constructs a promise that will never resolve. This is primarily\n * useful for cacheComponents where we use promise resolution timing to determine which\n * parts of a render can be included in a prerender.\n *\n * @internal\n */ export function makeHangingPromise(signal, route, expression) {\n if (signal.aborted) {\n return Promise.reject(new HangingPromiseRejectionError(route, expression));\n } else {\n const hangingPromise = new Promise((_, reject)=>{\n const boundRejection = reject.bind(null, new HangingPromiseRejectionError(route, expression));\n let currentListeners = abortListenersBySignal.get(signal);\n if (currentListeners) {\n currentListeners.push(boundRejection);\n } else {\n const listeners = [\n boundRejection\n ];\n abortListenersBySignal.set(signal, listeners);\n signal.addEventListener('abort', ()=>{\n for(let i = 0; i < listeners.length; i++){\n listeners[i]();\n }\n }, {\n once: true\n });\n }\n });\n // We are fine if no one actually awaits this promise. We shouldn't consider this an unhandled rejection so\n // we attach a noop catch handler here to suppress this warning. If you actually await somewhere or construct\n // your own promise out of it you'll need to ensure you handle the error when it rejects.\n hangingPromise.catch(ignoreReject);\n return hangingPromise;\n }\n}\nfunction ignoreReject() {}\nexport function makeDevtoolsIOAwarePromise(underlying, requestStore, stage) {\n if (requestStore.stagedRendering) {\n // We resolve each stage in a timeout, so React DevTools will pick this up as IO.\n return requestStore.stagedRendering.delayUntilStage(stage, undefined, underlying);\n }\n // in React DevTools if we resolve in a setTimeout we will observe\n // the promise resolution as something that can suspend a boundary or root.\n return new Promise((resolve)=>{\n // Must use setTimeout to be considered IO React DevTools. setImmediate will not work.\n setTimeout(()=>{\n resolve(underlying);\n }, 0);\n });\n}\n\n//# sourceMappingURL=dynamic-rendering-utils.js.map","export function getObjectClassLabel(value) {\n return Object.prototype.toString.call(value);\n}\nexport function isPlainObject(value) {\n if (getObjectClassLabel(value) !== '[object Object]') {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n /**\n * this used to be previously:\n *\n * `return prototype === null || prototype === Object.prototype`\n *\n * but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail.\n *\n * It was changed to the current implementation since it's resilient to serialization.\n */ return prototype === null || prototype.hasOwnProperty('isPrototypeOf');\n}\n\n//# sourceMappingURL=is-plain-object.js.map","export function createDefaultViewport() {\n return {\n // name=viewport\n width: 'device-width',\n initialScale: 1,\n // visual metadata\n themeColor: null,\n colorScheme: null\n };\n}\nexport function createDefaultMetadata() {\n return {\n // Deprecated ones\n viewport: null,\n themeColor: null,\n colorScheme: null,\n metadataBase: null,\n // Other values are all null\n title: null,\n description: null,\n applicationName: null,\n authors: null,\n generator: null,\n keywords: null,\n referrer: null,\n creator: null,\n publisher: null,\n robots: null,\n manifest: null,\n alternates: {\n canonical: null,\n languages: null,\n media: null,\n types: null\n },\n icons: null,\n openGraph: null,\n twitter: null,\n verification: {},\n appleWebApp: null,\n formatDetection: null,\n itunes: null,\n facebook: null,\n pinterest: null,\n abstract: null,\n appLinks: null,\n archives: null,\n assets: null,\n bookmarks: null,\n category: null,\n classification: null,\n pagination: {\n previous: null,\n next: null\n },\n other: {}\n };\n}\n\n//# sourceMappingURL=default-metadata.js.map","export function createPromiseWithResolvers() {\n // Shim of Stage 4 Promise.withResolvers proposal\n let resolve;\n let reject;\n const promise = new Promise((res, rej)=>{\n resolve = res;\n reject = rej;\n });\n return {\n resolve: resolve,\n reject: reject,\n promise\n };\n}\n\n//# sourceMappingURL=promise-with-resolvers.js.map","import { StaticGenBailoutError } from '../../client/components/static-generation-bailout';\nimport { afterTaskAsyncStorage } from '../app-render/after-task-async-storage.external';\nexport function throwWithStaticGenerationBailoutErrorWithDynamicError(route, expression) {\n throw Object.defineProperty(new StaticGenBailoutError(`Route ${route} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`), \"__NEXT_ERROR_CODE\", {\n value: \"E543\",\n enumerable: false,\n configurable: true\n });\n}\nexport function throwForSearchParamsAccessInUseCache(workStore, constructorOpt) {\n const error = Object.defineProperty(new Error(`Route ${workStore.route} used \\`searchParams\\` inside \"use cache\". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \\`searchParams\\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`), \"__NEXT_ERROR_CODE\", {\n value: \"E842\",\n enumerable: false,\n configurable: true\n });\n Error.captureStackTrace(error, constructorOpt);\n workStore.invalidDynamicUsageError ??= error;\n throw error;\n}\nexport function isRequestAPICallableInsideAfter() {\n const afterTaskStore = afterTaskAsyncStorage.getStore();\n return (afterTaskStore == null ? void 0 : afterTaskStore.rootTaskSpawnPhase) === 'action';\n}\n\n//# sourceMappingURL=utils.js.map","import { isPlainObject } from '../shared/lib/is-plain-object';\n/**\n * This is a safe stringify function that handles circular references.\n * We're using a simpler version here to avoid introducing\n * the dependency `safe-stable-stringify` into production bundle.\n *\n * This helper is used both in development and production.\n */ function safeStringifyLite(obj) {\n const seen = new WeakSet();\n return JSON.stringify(obj, (_key, value)=>{\n // If value is an object and already seen, replace with \"[Circular]\"\n if (typeof value === 'object' && value !== null) {\n if (seen.has(value)) {\n return '[Circular]';\n }\n seen.add(value);\n }\n return value;\n });\n}\n/**\n * Checks whether the given value is a NextError.\n * This can be used to print a more detailed error message with properties like `code` & `digest`.\n */ export default function isError(err) {\n return typeof err === 'object' && err !== null && 'name' in err && 'message' in err;\n}\nexport function getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (process.env.NODE_ENV === 'development') {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === 'undefined') {\n return Object.defineProperty(new Error('An undefined error was thrown, ' + 'see here for more info: https://nextjs.org/docs/messages/threw-undefined'), \"__NEXT_ERROR_CODE\", {\n value: \"E98\",\n enumerable: false,\n configurable: true\n });\n }\n if (err === null) {\n return Object.defineProperty(new Error('A null error was thrown, ' + 'see here for more info: https://nextjs.org/docs/messages/threw-undefined'), \"__NEXT_ERROR_CODE\", {\n value: \"E336\",\n enumerable: false,\n configurable: true\n });\n }\n }\n return Object.defineProperty(new Error(isPlainObject(err) ? safeStringifyLite(err) : err + ''), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n}\n\n//# sourceMappingURL=is-error.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { IconMark } from './icon-mark';\nimport { MetaFilter } from './meta';\nfunction IconDescriptorLink({ icon }) {\n const { url, rel = 'icon', ...props } = icon;\n return /*#__PURE__*/ _jsx(\"link\", {\n rel: rel,\n href: url.toString(),\n ...props\n });\n}\nfunction IconLink({ rel, icon }) {\n if (typeof icon === 'object' && !(icon instanceof URL)) {\n if (!icon.rel && rel) icon.rel = rel;\n return IconDescriptorLink({\n icon\n });\n } else {\n const href = icon.toString();\n return /*#__PURE__*/ _jsx(\"link\", {\n rel: rel,\n href: href\n });\n }\n}\nexport function IconsMetadata({ icons }) {\n if (!icons) return null;\n const shortcutList = icons.shortcut;\n const iconList = icons.icon;\n const appleList = icons.apple;\n const otherList = icons.other;\n const hasIcon = Boolean((shortcutList == null ? void 0 : shortcutList.length) || (iconList == null ? void 0 : iconList.length) || (appleList == null ? void 0 : appleList.length) || (otherList == null ? void 0 : otherList.length));\n if (!hasIcon) return null;\n return MetaFilter([\n shortcutList ? shortcutList.map((icon)=>IconLink({\n rel: 'shortcut icon',\n icon\n })) : null,\n iconList ? iconList.map((icon)=>IconLink({\n rel: 'icon',\n icon\n })) : null,\n appleList ? appleList.map((icon)=>IconLink({\n rel: 'apple-touch-icon',\n icon\n })) : null,\n otherList ? otherList.map((icon)=>IconDescriptorLink({\n icon\n })) : null,\n hasIcon ? /*#__PURE__*/ _jsx(IconMark, {}) : null\n ]);\n}\n\n//# sourceMappingURL=icons.js.map","/* eslint-disable @next/internal/no-ambiguous-jsx -- Bundled in entry-base so it gets the right JSX runtime. */ import { jsx as _jsx } from \"react/jsx-runtime\";\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { createFromReadableStream } from 'react-server-dom-webpack/client';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport { prerender } from 'react-server-dom-webpack/static';\nimport { streamFromBuffer, streamToBuffer } from '../stream-utils/node-web-streams-helper';\nimport { waitAtLeastOneReactRenderTask } from '../../lib/scheduler';\nimport { createSegmentRequestKeyPart, appendSegmentRequestKeyPart, ROOT_SEGMENT_REQUEST_KEY, HEAD_REQUEST_KEY } from '../../shared/lib/segment-cache/segment-value-encoding';\nimport { getDigestForWellKnownError } from './create-error-handler';\nconst filterStackFrame = process.env.NODE_ENV !== 'production' ? require('../lib/source-maps').filterStackFrameDEV : undefined;\nconst findSourceMapURL = process.env.NODE_ENV !== 'production' ? require('../lib/source-maps').findSourceMapURLDEV : undefined;\nfunction onSegmentPrerenderError(error) {\n const digest = getDigestForWellKnownError(error);\n if (digest) {\n return digest;\n }\n// We don't need to log the errors because we would have already done that\n// when generating the original Flight stream for the whole page.\n}\nexport async function collectSegmentData(isCacheComponentsEnabled, fullPageDataBuffer, staleTime, clientModules, serverConsumerManifest) {\n // Traverse the router tree and generate a prefetch response for each segment.\n // A mutable map to collect the results as we traverse the route tree.\n const resultMap = new Map();\n // Before we start, warm up the module cache by decoding the page data once.\n // Then we can assume that any remaining async tasks that occur the next time\n // are due to hanging promises caused by dynamic data access. Note we only\n // have to do this once per page, not per individual segment.\n //\n try {\n await createFromReadableStream(streamFromBuffer(fullPageDataBuffer), {\n findSourceMapURL,\n serverConsumerManifest\n });\n await waitAtLeastOneReactRenderTask();\n } catch {}\n // Create an abort controller that we'll use to stop the stream.\n const abortController = new AbortController();\n const onCompletedProcessingRouteTree = async ()=>{\n // Since all we're doing is decoding and re-encoding a cached prerender, if\n // serializing the stream takes longer than a microtask, it must because of\n // hanging promises caused by dynamic data.\n await waitAtLeastOneReactRenderTask();\n abortController.abort();\n };\n // Generate a stream for the route tree prefetch. While we're walking the\n // tree, we'll also spawn additional tasks to generate the segment prefetches.\n // The promises for these tasks are pushed to a mutable array that we will\n // await once the route tree is fully rendered.\n const segmentTasks = [];\n const { prelude: treeStream } = await prerender(// RootTreePrefetch is not a valid return type for a React component, but\n // we need to use a component so that when we decode the original stream\n // inside of it, the side effects are transferred to the new stream.\n // @ts-expect-error\n /*#__PURE__*/ _jsx(PrefetchTreeData, {\n isClientParamParsingEnabled: isCacheComponentsEnabled,\n fullPageDataBuffer: fullPageDataBuffer,\n serverConsumerManifest: serverConsumerManifest,\n clientModules: clientModules,\n staleTime: staleTime,\n segmentTasks: segmentTasks,\n onCompletedProcessingRouteTree: onCompletedProcessingRouteTree\n }), clientModules, {\n filterStackFrame,\n signal: abortController.signal,\n onError: onSegmentPrerenderError\n });\n // Write the route tree to a special `/_tree` segment.\n const treeBuffer = await streamToBuffer(treeStream);\n resultMap.set('/_tree', treeBuffer);\n // Also output the entire full page data response\n resultMap.set('/_full', fullPageDataBuffer);\n // Now that we've finished rendering the route tree, all the segment tasks\n // should have been spawned. Await them in parallel and write the segment\n // prefetches to the result map.\n for (const [segmentPath, buffer] of (await Promise.all(segmentTasks))){\n resultMap.set(segmentPath, buffer);\n }\n return resultMap;\n}\nasync function PrefetchTreeData({ isClientParamParsingEnabled, fullPageDataBuffer, serverConsumerManifest, clientModules, staleTime, segmentTasks, onCompletedProcessingRouteTree }) {\n // We're currently rendering a Flight response for the route tree prefetch.\n // Inside this component, decode the Flight stream for the whole page. This is\n // a hack to transfer the side effects from the original Flight stream (e.g.\n // Float preloads) onto the Flight stream for the tree prefetch.\n // TODO: React needs a better way to do this. Needed for Server Actions, too.\n const initialRSCPayload = await createFromReadableStream(createUnclosingPrefetchStream(streamFromBuffer(fullPageDataBuffer)), {\n findSourceMapURL,\n serverConsumerManifest\n });\n const buildId = initialRSCPayload.b;\n // FlightDataPath is an unsound type, hence the additional checks.\n const flightDataPaths = initialRSCPayload.f;\n if (flightDataPaths.length !== 1 && flightDataPaths[0].length !== 3) {\n console.error('Internal Next.js error: InitialRSCPayload does not match the expected ' + 'shape for a prerendered page during segment prefetch generation.');\n return null;\n }\n const flightRouterState = flightDataPaths[0][0];\n const seedData = flightDataPaths[0][1];\n const head = flightDataPaths[0][2];\n // Compute the route metadata tree by traversing the FlightRouterState. As we\n // walk the tree, we will also spawn a task to produce a prefetch response for\n // each segment.\n const tree = collectSegmentDataImpl(isClientParamParsingEnabled, flightRouterState, buildId, seedData, clientModules, ROOT_SEGMENT_REQUEST_KEY, segmentTasks);\n // Also spawn a task to produce a prefetch response for the \"head\" segment.\n // The head contains metadata, like the title; it's not really a route\n // segment, but it contains RSC data, so it's treated like a segment by\n // the client cache.\n segmentTasks.push(waitAtLeastOneReactRenderTask().then(()=>renderSegmentPrefetch(buildId, head, null, HEAD_REQUEST_KEY, clientModules)));\n // Notify the abort controller that we're done processing the route tree.\n // Anything async that happens after this point must be due to hanging\n // promises in the original stream.\n onCompletedProcessingRouteTree();\n // Render the route tree to a special `/_tree` segment.\n const treePrefetch = {\n buildId,\n tree,\n staleTime\n };\n return treePrefetch;\n}\nfunction collectSegmentDataImpl(isClientParamParsingEnabled, route, buildId, seedData, clientModules, requestKey, segmentTasks) {\n // Metadata about the segment. Sent as part of the tree prefetch. Null if\n // there are no children.\n let slotMetadata = null;\n const children = route[1];\n const seedDataChildren = seedData !== null ? seedData[1] : null;\n for(const parallelRouteKey in children){\n const childRoute = children[parallelRouteKey];\n const childSegment = childRoute[0];\n const childSeedData = seedDataChildren !== null ? seedDataChildren[parallelRouteKey] : null;\n const childRequestKey = appendSegmentRequestKeyPart(requestKey, parallelRouteKey, createSegmentRequestKeyPart(childSegment));\n const childTree = collectSegmentDataImpl(isClientParamParsingEnabled, childRoute, buildId, childSeedData, clientModules, childRequestKey, segmentTasks);\n if (slotMetadata === null) {\n slotMetadata = {};\n }\n slotMetadata[parallelRouteKey] = childTree;\n }\n const hasRuntimePrefetch = seedData !== null ? seedData[4] : false;\n if (seedData !== null) {\n // Spawn a task to write the segment data to a new Flight stream.\n segmentTasks.push(// Since we're already in the middle of a render, wait until after the\n // current task to escape the current rendering context.\n waitAtLeastOneReactRenderTask().then(()=>renderSegmentPrefetch(buildId, seedData[0], seedData[2], requestKey, clientModules)));\n } else {\n // This segment does not have any seed data. Skip generating a prefetch\n // response for it. We'll still include it in the route tree, though.\n // TODO: We should encode in the route tree whether a segment is missing\n // so we don't attempt to fetch it for no reason. As of now this shouldn't\n // ever happen in practice, though.\n }\n const segment = route[0];\n let name;\n let paramType = null;\n let paramKey = null;\n if (typeof segment === 'string') {\n name = segment;\n paramKey = segment;\n paramType = null;\n } else {\n name = segment[0];\n paramKey = segment[1];\n paramType = segment[2];\n }\n // Metadata about the segment. Sent to the client as part of the\n // tree prefetch.\n return {\n name,\n paramType,\n // This value is ommitted from the prefetch response when cacheComponents\n // is enabled.\n paramKey: isClientParamParsingEnabled ? null : paramKey,\n hasRuntimePrefetch,\n slots: slotMetadata,\n isRootLayout: route[4] === true\n };\n}\nasync function renderSegmentPrefetch(buildId, rsc, loading, requestKey, clientModules) {\n // Render the segment data to a stream.\n // In the future, this is where we can include additional metadata, like the\n // stale time and cache tags.\n const segmentPrefetch = {\n buildId,\n rsc,\n loading,\n isPartial: await isPartialRSCData(rsc, clientModules)\n };\n // Since all we're doing is decoding and re-encoding a cached prerender, if\n // it takes longer than a microtask, it must because of hanging promises\n // caused by dynamic data. Abort the stream at the end of the current task.\n const abortController = new AbortController();\n waitAtLeastOneReactRenderTask().then(()=>abortController.abort());\n const { prelude: segmentStream } = await prerender(segmentPrefetch, clientModules, {\n filterStackFrame,\n signal: abortController.signal,\n onError: onSegmentPrerenderError\n });\n const segmentBuffer = await streamToBuffer(segmentStream);\n if (requestKey === ROOT_SEGMENT_REQUEST_KEY) {\n return [\n '/_index',\n segmentBuffer\n ];\n } else {\n return [\n requestKey,\n segmentBuffer\n ];\n }\n}\nasync function isPartialRSCData(rsc, clientModules) {\n // We can determine if a segment contains only partial data if it takes longer\n // than a task to encode, because dynamic data is encoded as an infinite\n // promise. We must do this in a separate Flight prerender from the one that\n // actually generates the prefetch stream because we need to include\n // `isPartial` in the stream itself.\n let isPartial = false;\n const abortController = new AbortController();\n waitAtLeastOneReactRenderTask().then(()=>{\n // If we haven't yet finished the outer task, then it must be because we\n // accessed dynamic data.\n isPartial = true;\n abortController.abort();\n });\n await prerender(rsc, clientModules, {\n filterStackFrame,\n signal: abortController.signal,\n onError () {}\n });\n return isPartial;\n}\nfunction createUnclosingPrefetchStream(originalFlightStream) {\n // When PPR is enabled, prefetch streams may contain references that never\n // resolve, because that's how we encode dynamic data access. In the decoded\n // object returned by the Flight client, these are reified into hanging\n // promises that suspend during render, which is effectively what we want.\n // The UI resolves when it switches to the dynamic data stream\n // (via useDeferredValue(dynamic, static)).\n //\n // However, the Flight implementation currently errors if the server closes\n // the response before all the references are resolved. As a cheat to work\n // around this, we wrap the original stream in a new stream that never closes,\n // and therefore doesn't error.\n const reader = originalFlightStream.getReader();\n return new ReadableStream({\n async pull (controller) {\n while(true){\n const { done, value } = await reader.read();\n if (!done) {\n // Pass to the target stream and keep consuming the Flight response\n // from the server.\n controller.enqueue(value);\n continue;\n }\n // The server stream has closed. Exit, but intentionally do not close\n // the target stream.\n return;\n }\n }\n });\n}\n\n//# sourceMappingURL=collect-segment-data.js.map","import * as React from 'react';\nconst errorRef = {\n current: null\n};\n// React.cache is currently only available in canary/experimental React channels.\nconst cache = typeof React.cache === 'function' ? React.cache : (fn)=>fn;\n// When Cache Components is enabled, we record these as errors so that they\n// are captured by the dev overlay as it's more critical to fix these\n// when enabled.\nconst logErrorOrWarn = process.env.__NEXT_CACHE_COMPONENTS ? console.error : console.warn;\n// We don't want to dedupe across requests.\n// The developer might've just attempted to fix the warning so we should warn again if it still happens.\nconst flushCurrentErrorIfNew = cache(// eslint-disable-next-line @typescript-eslint/no-unused-vars -- cache key\n(key)=>{\n try {\n logErrorOrWarn(errorRef.current);\n } finally{\n errorRef.current = null;\n }\n});\n/**\n * Creates a function that logs an error message that is deduped by the userland\n * callsite.\n * This requires no indirection between the call of this function and the userland\n * callsite i.e. there's only a single library frame above this.\n * Do not use on the Client where sourcemaps and ignore listing might be enabled.\n * Only use that for warnings need a fix independent of the callstack.\n *\n * @param getMessage\n * @returns\n */ export function createDedupedByCallsiteServerErrorLoggerDev(getMessage) {\n return function logDedupedError(...args) {\n const message = getMessage(...args);\n if (process.env.NODE_ENV !== 'production') {\n var _stack;\n const callStackFrames = (_stack = new Error().stack) == null ? void 0 : _stack.split('\\n');\n if (callStackFrames === undefined || callStackFrames.length < 4) {\n logErrorOrWarn(message);\n } else {\n // Error:\n // logDedupedError\n // asyncApiBeingAccessedSynchronously\n // <userland callsite>\n // TODO: This breaks if sourcemaps with ignore lists are enabled.\n const key = callStackFrames[4];\n errorRef.current = message;\n flushCurrentErrorIfNew(key);\n }\n } else {\n logErrorOrWarn(message);\n }\n };\n}\n\n//# sourceMappingURL=create-deduped-by-callsite-server-error-logger.js.map","import { Meta, MetaFilter, MultiMeta } from './meta';\nexport function OpenGraphMetadata({ openGraph }) {\n var _openGraph_title, _openGraph_url, _openGraph_ttl;\n if (!openGraph) {\n return null;\n }\n let typedOpenGraph;\n if ('type' in openGraph) {\n const openGraphType = openGraph.type;\n switch(openGraphType){\n case 'website':\n typedOpenGraph = [\n Meta({\n property: 'og:type',\n content: 'website'\n })\n ];\n break;\n case 'article':\n var _openGraph_publishedTime, _openGraph_modifiedTime, _openGraph_expirationTime;\n typedOpenGraph = [\n Meta({\n property: 'og:type',\n content: 'article'\n }),\n Meta({\n property: 'article:published_time',\n content: (_openGraph_publishedTime = openGraph.publishedTime) == null ? void 0 : _openGraph_publishedTime.toString()\n }),\n Meta({\n property: 'article:modified_time',\n content: (_openGraph_modifiedTime = openGraph.modifiedTime) == null ? void 0 : _openGraph_modifiedTime.toString()\n }),\n Meta({\n property: 'article:expiration_time',\n content: (_openGraph_expirationTime = openGraph.expirationTime) == null ? void 0 : _openGraph_expirationTime.toString()\n }),\n MultiMeta({\n propertyPrefix: 'article:author',\n contents: openGraph.authors\n }),\n Meta({\n property: 'article:section',\n content: openGraph.section\n }),\n MultiMeta({\n propertyPrefix: 'article:tag',\n contents: openGraph.tags\n })\n ];\n break;\n case 'book':\n typedOpenGraph = [\n Meta({\n property: 'og:type',\n content: 'book'\n }),\n Meta({\n property: 'book:isbn',\n content: openGraph.isbn\n }),\n Meta({\n property: 'book:release_date',\n content: openGraph.releaseDate\n }),\n MultiMeta({\n propertyPrefix: 'book:author',\n contents: openGraph.authors\n }),\n MultiMeta({\n propertyPrefix: 'book:tag',\n contents: openGraph.tags\n })\n ];\n break;\n case 'profile':\n typedOpenGraph = [\n Meta({\n property: 'og:type',\n content: 'profile'\n }),\n Meta({\n property: 'profile:first_name',\n content: openGraph.firstName\n }),\n Meta({\n property: 'profile:last_name',\n content: openGraph.lastName\n }),\n Meta({\n property: 'profile:username',\n content: openGraph.username\n }),\n Meta({\n property: 'profile:gender',\n content: openGraph.gender\n })\n ];\n break;\n case 'music.song':\n var _openGraph_duration;\n typedOpenGraph = [\n Meta({\n property: 'og:type',\n content: 'music.song'\n }),\n Meta({\n property: 'music:duration',\n content: (_openGraph_duration = openGraph.duration) == null ? void 0 : _openGraph_duration.toString()\n }),\n MultiMeta({\n propertyPrefix: 'music:album',\n contents: openGraph.albums\n }),\n MultiMeta({\n propertyPrefix: 'music:musician',\n contents: openGraph.musicians\n })\n ];\n break;\n case 'music.album':\n typedOpenGraph = [\n Meta({\n property: 'og:type',\n content: 'music.album'\n }),\n MultiMeta({\n propertyPrefix: 'music:song',\n contents: openGraph.songs\n }),\n MultiMeta({\n propertyPrefix: 'music:musician',\n contents: openGraph.musicians\n }),\n Meta({\n property: 'music:release_date',\n content: openGraph.releaseDate\n })\n ];\n break;\n case 'music.playlist':\n typedOpenGraph = [\n Meta({\n property: 'og:type',\n content: 'music.playlist'\n }),\n MultiMeta({\n propertyPrefix: 'music:song',\n contents: openGraph.songs\n }),\n MultiMeta({\n propertyPrefix: 'music:creator',\n contents: openGraph.creators\n })\n ];\n break;\n case 'music.radio_station':\n typedOpenGraph = [\n Meta({\n property: 'og:type',\n content: 'music.radio_station'\n }),\n MultiMeta({\n propertyPrefix: 'music:creator',\n contents: openGraph.creators\n })\n ];\n break;\n case 'video.movie':\n typedOpenGraph = [\n Meta({\n property: 'og:type',\n content: 'video.movie'\n }),\n MultiMeta({\n propertyPrefix: 'video:actor',\n contents: openGraph.actors\n }),\n MultiMeta({\n propertyPrefix: 'video:director',\n contents: openGraph.directors\n }),\n MultiMeta({\n propertyPrefix: 'video:writer',\n contents: openGraph.writers\n }),\n Meta({\n property: 'video:duration',\n content: openGraph.duration\n }),\n Meta({\n property: 'video:release_date',\n content: openGraph.releaseDate\n }),\n MultiMeta({\n propertyPrefix: 'video:tag',\n contents: openGraph.tags\n })\n ];\n break;\n case 'video.episode':\n typedOpenGraph = [\n Meta({\n property: 'og:type',\n content: 'video.episode'\n }),\n MultiMeta({\n propertyPrefix: 'video:actor',\n contents: openGraph.actors\n }),\n MultiMeta({\n propertyPrefix: 'video:director',\n contents: openGraph.directors\n }),\n MultiMeta({\n propertyPrefix: 'video:writer',\n contents: openGraph.writers\n }),\n Meta({\n property: 'video:duration',\n content: openGraph.duration\n }),\n Meta({\n property: 'video:release_date',\n content: openGraph.releaseDate\n }),\n MultiMeta({\n propertyPrefix: 'video:tag',\n contents: openGraph.tags\n }),\n Meta({\n property: 'video:series',\n content: openGraph.series\n })\n ];\n break;\n case 'video.tv_show':\n typedOpenGraph = [\n Meta({\n property: 'og:type',\n content: 'video.tv_show'\n })\n ];\n break;\n case 'video.other':\n typedOpenGraph = [\n Meta({\n property: 'og:type',\n content: 'video.other'\n })\n ];\n break;\n default:\n const _exhaustiveCheck = openGraphType;\n throw Object.defineProperty(new Error(`Invalid OpenGraph type: ${_exhaustiveCheck}`), \"__NEXT_ERROR_CODE\", {\n value: \"E237\",\n enumerable: false,\n configurable: true\n });\n }\n }\n return MetaFilter([\n Meta({\n property: 'og:determiner',\n content: openGraph.determiner\n }),\n Meta({\n property: 'og:title',\n content: (_openGraph_title = openGraph.title) == null ? void 0 : _openGraph_title.absolute\n }),\n Meta({\n property: 'og:description',\n content: openGraph.description\n }),\n Meta({\n property: 'og:url',\n content: (_openGraph_url = openGraph.url) == null ? void 0 : _openGraph_url.toString()\n }),\n Meta({\n property: 'og:site_name',\n content: openGraph.siteName\n }),\n Meta({\n property: 'og:locale',\n content: openGraph.locale\n }),\n Meta({\n property: 'og:country_name',\n content: openGraph.countryName\n }),\n Meta({\n property: 'og:ttl',\n content: (_openGraph_ttl = openGraph.ttl) == null ? void 0 : _openGraph_ttl.toString()\n }),\n MultiMeta({\n propertyPrefix: 'og:image',\n contents: openGraph.images\n }),\n MultiMeta({\n propertyPrefix: 'og:video',\n contents: openGraph.videos\n }),\n MultiMeta({\n propertyPrefix: 'og:audio',\n contents: openGraph.audio\n }),\n MultiMeta({\n propertyPrefix: 'og:email',\n contents: openGraph.emails\n }),\n MultiMeta({\n propertyPrefix: 'og:phone_number',\n contents: openGraph.phoneNumbers\n }),\n MultiMeta({\n propertyPrefix: 'og:fax_number',\n contents: openGraph.faxNumbers\n }),\n MultiMeta({\n propertyPrefix: 'og:locale:alternate',\n contents: openGraph.alternateLocale\n }),\n ...typedOpenGraph ? typedOpenGraph : []\n ]);\n}\nfunction TwitterAppItem({ app, type }) {\n var _app_url_type, _app_url;\n return [\n Meta({\n name: `twitter:app:name:${type}`,\n content: app.name\n }),\n Meta({\n name: `twitter:app:id:${type}`,\n content: app.id[type]\n }),\n Meta({\n name: `twitter:app:url:${type}`,\n content: (_app_url = app.url) == null ? void 0 : (_app_url_type = _app_url[type]) == null ? void 0 : _app_url_type.toString()\n })\n ];\n}\nexport function TwitterMetadata({ twitter }) {\n var _twitter_title;\n if (!twitter) return null;\n const { card } = twitter;\n return MetaFilter([\n Meta({\n name: 'twitter:card',\n content: card\n }),\n Meta({\n name: 'twitter:site',\n content: twitter.site\n }),\n Meta({\n name: 'twitter:site:id',\n content: twitter.siteId\n }),\n Meta({\n name: 'twitter:creator',\n content: twitter.creator\n }),\n Meta({\n name: 'twitter:creator:id',\n content: twitter.creatorId\n }),\n Meta({\n name: 'twitter:title',\n content: (_twitter_title = twitter.title) == null ? void 0 : _twitter_title.absolute\n }),\n Meta({\n name: 'twitter:description',\n content: twitter.description\n }),\n MultiMeta({\n namePrefix: 'twitter:image',\n contents: twitter.images\n }),\n ...card === 'player' ? twitter.players.flatMap((player)=>[\n Meta({\n name: 'twitter:player',\n content: player.playerUrl.toString()\n }),\n Meta({\n name: 'twitter:player:stream',\n content: player.streamUrl.toString()\n }),\n Meta({\n name: 'twitter:player:width',\n content: player.width\n }),\n Meta({\n name: 'twitter:player:height',\n content: player.height\n })\n ]) : [],\n ...card === 'app' ? [\n TwitterAppItem({\n app: twitter.app,\n type: 'iphone'\n }),\n TwitterAppItem({\n app: twitter.app,\n type: 'ipad'\n }),\n TwitterAppItem({\n app: twitter.app,\n type: 'googleplay'\n })\n ] : []\n ]);\n}\nexport function AppLinksMeta({ appLinks }) {\n if (!appLinks) return null;\n return MetaFilter([\n MultiMeta({\n propertyPrefix: 'al:ios',\n contents: appLinks.ios\n }),\n MultiMeta({\n propertyPrefix: 'al:iphone',\n contents: appLinks.iphone\n }),\n MultiMeta({\n propertyPrefix: 'al:ipad',\n contents: appLinks.ipad\n }),\n MultiMeta({\n propertyPrefix: 'al:android',\n contents: appLinks.android\n }),\n MultiMeta({\n propertyPrefix: 'al:windows_phone',\n contents: appLinks.windows_phone\n }),\n MultiMeta({\n propertyPrefix: 'al:windows',\n contents: appLinks.windows\n }),\n MultiMeta({\n propertyPrefix: 'al:windows_universal',\n contents: appLinks.windows_universal\n }),\n MultiMeta({\n propertyPrefix: 'al:web',\n contents: appLinks.web\n })\n ]);\n}\n\n//# sourceMappingURL=opengraph.js.map","import { PAGE_SEGMENT_KEY } from '../segment';\nexport const ROOT_SEGMENT_REQUEST_KEY = '';\nexport const HEAD_REQUEST_KEY = '/_head';\nexport function createSegmentRequestKeyPart(segment) {\n if (typeof segment === 'string') {\n if (segment.startsWith(PAGE_SEGMENT_KEY)) {\n // The Flight Router State type sometimes includes the search params in\n // the page segment. However, the Segment Cache tracks this as a separate\n // key. So, we strip the search params here, and then add them back when\n // the cache entry is turned back into a FlightRouterState. This is an\n // unfortunate consequence of the FlightRouteState being used both as a\n // transport type and as a cache key; we'll address this once more of the\n // Segment Cache implementation has settled.\n // TODO: We should hoist the search params out of the FlightRouterState\n // type entirely, This is our plan for dynamic route params, too.\n return PAGE_SEGMENT_KEY;\n }\n const safeName = // TODO: FlightRouterState encodes Not Found routes as \"/_not-found\".\n // But params typically don't include the leading slash. We should use\n // a different encoding to avoid this special case.\n segment === '/_not-found' ? '_not-found' : encodeToFilesystemAndURLSafeString(segment);\n // Since this is not a dynamic segment, it's fully encoded. It does not\n // need to be \"hydrated\" with a param value.\n return safeName;\n }\n const name = segment[0];\n const paramType = segment[2];\n const safeName = encodeToFilesystemAndURLSafeString(name);\n const encodedName = '$' + paramType + '$' + safeName;\n return encodedName;\n}\nexport function appendSegmentRequestKeyPart(parentRequestKey, parallelRouteKey, childRequestKeyPart) {\n // Aside from being filesystem safe, segment keys are also designed so that\n // each segment and parallel route creates its own subdirectory. Roughly in\n // the same shape as the source app directory. This is mostly just for easier\n // debugging (you can open up the build folder and navigate the output); if\n // we wanted to do we could just use a flat structure.\n // Omit the parallel route key for children, since this is the most\n // common case. Saves some bytes (and it's what the app directory does).\n const slotKey = parallelRouteKey === 'children' ? childRequestKeyPart : `@${encodeToFilesystemAndURLSafeString(parallelRouteKey)}/${childRequestKeyPart}`;\n return parentRequestKey + '/' + slotKey;\n}\n// Define a regex pattern to match the most common characters found in a route\n// param. It excludes anything that might not be cross-platform filesystem\n// compatible, like |. It does not need to be precise because the fallback is to\n// just base64url-encode the whole parameter, which is fine; we just don't do it\n// by default for compactness, and for easier debugging.\nconst simpleParamValueRegex = /^[a-zA-Z0-9\\-_@]+$/;\nfunction encodeToFilesystemAndURLSafeString(value) {\n if (simpleParamValueRegex.test(value)) {\n return value;\n }\n // If there are any unsafe characters, base64url-encode the entire value.\n // We also add a ! prefix so it doesn't collide with the simple case.\n const base64url = btoa(value).replace(/\\+/g, '-') // Replace '+' with '-'\n .replace(/\\//g, '_') // Replace '/' with '_'\n .replace(/=+$/, '') // Remove trailing '='\n ;\n return '!' + base64url;\n}\nexport function convertSegmentPathToStaticExportFilename(segmentPath) {\n return `__next${segmentPath.replace(/\\//g, '.')}.txt`;\n}\n\n//# sourceMappingURL=segment-value-encoding.js.map","import { resolveAsArrayOrUndefined } from '../generate/utils';\nimport { resolveAbsoluteUrlWithPathname } from './resolve-url';\nfunction resolveAlternateUrl(url, metadataBase, pathname, metadataContext) {\n // If alter native url is an URL instance,\n // we treat it as a URL base and resolve with current pathname\n if (url instanceof URL) {\n const newUrl = new URL(pathname, url);\n url.searchParams.forEach((value, key)=>newUrl.searchParams.set(key, value));\n url = newUrl;\n }\n return resolveAbsoluteUrlWithPathname(url, metadataBase, pathname, metadataContext);\n}\nexport const resolveThemeColor = (themeColor)=>{\n var _resolveAsArrayOrUndefined;\n if (!themeColor) return null;\n const themeColorDescriptors = [];\n (_resolveAsArrayOrUndefined = resolveAsArrayOrUndefined(themeColor)) == null ? void 0 : _resolveAsArrayOrUndefined.forEach((descriptor)=>{\n if (typeof descriptor === 'string') themeColorDescriptors.push({\n color: descriptor\n });\n else if (typeof descriptor === 'object') themeColorDescriptors.push({\n color: descriptor.color,\n media: descriptor.media\n });\n });\n return themeColorDescriptors;\n};\nasync function resolveUrlValuesOfObject(obj, metadataBase, pathname, metadataContext) {\n if (!obj) return null;\n const result = {};\n for (const [key, value] of Object.entries(obj)){\n if (typeof value === 'string' || value instanceof URL) {\n const pathnameForUrl = await pathname;\n result[key] = [\n {\n url: resolveAlternateUrl(value, metadataBase, pathnameForUrl, metadataContext)\n }\n ];\n } else if (value && value.length) {\n result[key] = [];\n const pathnameForUrl = await pathname;\n value.forEach((item, index)=>{\n const url = resolveAlternateUrl(item.url, metadataBase, pathnameForUrl, metadataContext);\n result[key][index] = {\n url,\n title: item.title\n };\n });\n }\n }\n return result;\n}\nasync function resolveCanonicalUrl(urlOrDescriptor, metadataBase, pathname, metadataContext) {\n if (!urlOrDescriptor) return null;\n const url = typeof urlOrDescriptor === 'string' || urlOrDescriptor instanceof URL ? urlOrDescriptor : urlOrDescriptor.url;\n const pathnameForUrl = await pathname;\n // Return string url because structureClone can't handle URL instance\n return {\n url: resolveAlternateUrl(url, metadataBase, pathnameForUrl, metadataContext)\n };\n}\nexport const resolveAlternates = async (alternates, metadataBase, pathname, context)=>{\n if (!alternates) return null;\n const canonical = await resolveCanonicalUrl(alternates.canonical, metadataBase, pathname, context);\n const languages = await resolveUrlValuesOfObject(alternates.languages, metadataBase, pathname, context);\n const media = await resolveUrlValuesOfObject(alternates.media, metadataBase, pathname, context);\n const types = await resolveUrlValuesOfObject(alternates.types, metadataBase, pathname, context);\n return {\n canonical,\n languages,\n media,\n types\n };\n};\nconst robotsKeys = [\n 'noarchive',\n 'nosnippet',\n 'noimageindex',\n 'nocache',\n 'notranslate',\n 'indexifembedded',\n 'nositelinkssearchbox',\n 'unavailable_after',\n 'max-video-preview',\n 'max-image-preview',\n 'max-snippet'\n];\nconst resolveRobotsValue = (robots)=>{\n if (!robots) return null;\n if (typeof robots === 'string') return robots;\n const values = [];\n if (robots.index) values.push('index');\n else if (typeof robots.index === 'boolean') values.push('noindex');\n if (robots.follow) values.push('follow');\n else if (typeof robots.follow === 'boolean') values.push('nofollow');\n for (const key of robotsKeys){\n const value = robots[key];\n if (typeof value !== 'undefined' && value !== false) {\n values.push(typeof value === 'boolean' ? key : `${key}:${value}`);\n }\n }\n return values.join(', ');\n};\nexport const resolveRobots = (robots)=>{\n if (!robots) return null;\n return {\n basic: resolveRobotsValue(robots),\n googleBot: typeof robots !== 'string' ? resolveRobotsValue(robots.googleBot) : null\n };\n};\nconst VerificationKeys = [\n 'google',\n 'yahoo',\n 'yandex',\n 'me',\n 'other'\n];\nexport const resolveVerification = (verification)=>{\n if (!verification) return null;\n const res = {};\n for (const key of VerificationKeys){\n const value = verification[key];\n if (value) {\n if (key === 'other') {\n res.other = {};\n for(const otherKey in verification.other){\n const otherValue = resolveAsArrayOrUndefined(verification.other[otherKey]);\n if (otherValue) res.other[otherKey] = otherValue;\n }\n } else res[key] = resolveAsArrayOrUndefined(value);\n }\n }\n return res;\n};\nexport const resolveAppleWebApp = (appWebApp)=>{\n var _resolveAsArrayOrUndefined;\n if (!appWebApp) return null;\n if (appWebApp === true) {\n return {\n capable: true\n };\n }\n const startupImages = appWebApp.startupImage ? (_resolveAsArrayOrUndefined = resolveAsArrayOrUndefined(appWebApp.startupImage)) == null ? void 0 : _resolveAsArrayOrUndefined.map((item)=>typeof item === 'string' ? {\n url: item\n } : item) : null;\n return {\n capable: 'capable' in appWebApp ? !!appWebApp.capable : true,\n title: appWebApp.title || null,\n startupImage: startupImages,\n statusBarStyle: appWebApp.statusBarStyle || 'default'\n };\n};\nexport const resolveAppLinks = (appLinks)=>{\n if (!appLinks) return null;\n for(const key in appLinks){\n // @ts-ignore // TODO: type infer\n appLinks[key] = resolveAsArrayOrUndefined(appLinks[key]);\n }\n return appLinks;\n};\nexport const resolveItunes = async (itunes, metadataBase, pathname, context)=>{\n if (!itunes) return null;\n return {\n appId: itunes.appId,\n appArgument: itunes.appArgument ? resolveAlternateUrl(itunes.appArgument, metadataBase, await pathname, context) : undefined\n };\n};\nexport const resolveFacebook = (facebook)=>{\n if (!facebook) return null;\n return {\n appId: facebook.appId,\n admins: resolveAsArrayOrUndefined(facebook.admins)\n };\n};\nexport const resolvePagination = async (pagination, metadataBase, pathname, context)=>{\n return {\n previous: (pagination == null ? void 0 : pagination.previous) ? resolveAlternateUrl(pagination.previous, metadataBase, await pathname, context) : null,\n next: (pagination == null ? void 0 : pagination.next) ? resolveAlternateUrl(pagination.next, metadataBase, await pathname, context) : null\n };\n};\n\n//# sourceMappingURL=resolve-basics.js.map","import { AppRenderSpan, NextNodeServerSpan } from './trace/constants';\nimport { getTracer, SpanKind } from './trace/tracer';\nimport { CACHE_ONE_YEAR, INFINITE_CACHE, NEXT_CACHE_TAG_MAX_ITEMS, NEXT_CACHE_TAG_MAX_LENGTH } from '../../lib/constants';\nimport { markCurrentScopeAsDynamic } from '../app-render/dynamic-rendering';\nimport { makeHangingPromise } from '../dynamic-rendering-utils';\nimport { createDedupeFetch } from './dedupe-fetch';\nimport { getCacheSignal } from '../app-render/work-unit-async-storage.external';\nimport { CachedRouteKind, IncrementalCacheKind } from '../response-cache';\nimport { cloneResponse } from './clone-response';\nimport { RenderStage } from '../app-render/staged-rendering';\nconst isEdgeRuntime = process.env.NEXT_RUNTIME === 'edge';\nexport const NEXT_PATCH_SYMBOL = Symbol.for('next-patch');\nfunction isFetchPatched() {\n return globalThis[NEXT_PATCH_SYMBOL] === true;\n}\nexport function validateRevalidate(revalidateVal, route) {\n try {\n let normalizedRevalidate = undefined;\n if (revalidateVal === false) {\n normalizedRevalidate = INFINITE_CACHE;\n } else if (typeof revalidateVal === 'number' && !isNaN(revalidateVal) && revalidateVal > -1) {\n normalizedRevalidate = revalidateVal;\n } else if (typeof revalidateVal !== 'undefined') {\n throw Object.defineProperty(new Error(`Invalid revalidate value \"${revalidateVal}\" on \"${route}\", must be a non-negative number or false`), \"__NEXT_ERROR_CODE\", {\n value: \"E179\",\n enumerable: false,\n configurable: true\n });\n }\n return normalizedRevalidate;\n } catch (err) {\n // handle client component error from attempting to check revalidate value\n if (err instanceof Error && err.message.includes('Invalid revalidate')) {\n throw err;\n }\n return undefined;\n }\n}\nexport function validateTags(tags, description) {\n const validTags = [];\n const invalidTags = [];\n for(let i = 0; i < tags.length; i++){\n const tag = tags[i];\n if (typeof tag !== 'string') {\n invalidTags.push({\n tag,\n reason: 'invalid type, must be a string'\n });\n } else if (tag.length > NEXT_CACHE_TAG_MAX_LENGTH) {\n invalidTags.push({\n tag,\n reason: `exceeded max length of ${NEXT_CACHE_TAG_MAX_LENGTH}`\n });\n } else {\n validTags.push(tag);\n }\n if (validTags.length > NEXT_CACHE_TAG_MAX_ITEMS) {\n console.warn(`Warning: exceeded max tag count for ${description}, dropped tags:`, tags.slice(i).join(', '));\n break;\n }\n }\n if (invalidTags.length > 0) {\n console.warn(`Warning: invalid tags passed to ${description}: `);\n for (const { tag, reason } of invalidTags){\n console.log(`tag: \"${tag}\" ${reason}`);\n }\n }\n return validTags;\n}\nfunction trackFetchMetric(workStore, ctx) {\n if (!workStore.shouldTrackFetchMetrics) {\n return;\n }\n workStore.fetchMetrics ??= [];\n workStore.fetchMetrics.push({\n ...ctx,\n end: performance.timeOrigin + performance.now(),\n idx: workStore.nextFetchId || 0\n });\n}\nasync function createCachedPrerenderResponse(res, cacheKey, incrementalCacheContext, incrementalCache, revalidate, handleUnlock) {\n // We are prerendering at build time or revalidate time with cacheComponents so we\n // need to buffer the response so we can guarantee it can be read in a\n // microtask.\n const bodyBuffer = await res.arrayBuffer();\n const fetchedData = {\n headers: Object.fromEntries(res.headers.entries()),\n body: Buffer.from(bodyBuffer).toString('base64'),\n status: res.status,\n url: res.url\n };\n // We can skip setting the serverComponentsHmrCache because we aren't in dev\n // mode.\n if (incrementalCacheContext) {\n await incrementalCache.set(cacheKey, {\n kind: CachedRouteKind.FETCH,\n data: fetchedData,\n revalidate\n }, incrementalCacheContext);\n }\n await handleUnlock();\n // We return a new Response to the caller.\n return new Response(bodyBuffer, {\n headers: res.headers,\n status: res.status,\n statusText: res.statusText\n });\n}\nasync function createCachedDynamicResponse(workStore, res, cacheKey, incrementalCacheContext, incrementalCache, serverComponentsHmrCache, revalidate, input, handleUnlock) {\n // We're cloning the response using this utility because there exists a bug in\n // the undici library around response cloning. See the following pull request\n // for more details: https://github.com/vercel/next.js/pull/73274\n const [cloned1, cloned2] = cloneResponse(res);\n // We are dynamically rendering including dev mode. We want to return the\n // response to the caller as soon as possible because it might stream over a\n // very long time.\n const cacheSetPromise = cloned1.arrayBuffer().then(async (arrayBuffer)=>{\n const bodyBuffer = Buffer.from(arrayBuffer);\n const fetchedData = {\n headers: Object.fromEntries(cloned1.headers.entries()),\n body: bodyBuffer.toString('base64'),\n status: cloned1.status,\n url: cloned1.url\n };\n serverComponentsHmrCache == null ? void 0 : serverComponentsHmrCache.set(cacheKey, fetchedData);\n if (incrementalCacheContext) {\n await incrementalCache.set(cacheKey, {\n kind: CachedRouteKind.FETCH,\n data: fetchedData,\n revalidate\n }, incrementalCacheContext);\n }\n }).catch((error)=>console.warn(`Failed to set fetch cache`, input, error)).finally(handleUnlock);\n const pendingRevalidateKey = `cache-set-${cacheKey}`;\n workStore.pendingRevalidates ??= {};\n if (pendingRevalidateKey in workStore.pendingRevalidates) {\n // there is already a pending revalidate entry that we need to await to\n // avoid race conditions\n await workStore.pendingRevalidates[pendingRevalidateKey];\n }\n workStore.pendingRevalidates[pendingRevalidateKey] = cacheSetPromise.finally(()=>{\n var _workStore_pendingRevalidates;\n // If the pending revalidate is not present in the store, then we have\n // nothing to delete.\n if (!((_workStore_pendingRevalidates = workStore.pendingRevalidates) == null ? void 0 : _workStore_pendingRevalidates[pendingRevalidateKey])) {\n return;\n }\n delete workStore.pendingRevalidates[pendingRevalidateKey];\n });\n return cloned2;\n}\nexport function createPatchedFetcher(originFetch, { workAsyncStorage, workUnitAsyncStorage }) {\n // Create the patched fetch function.\n const patched = async function fetch(input, init) {\n var _init_method, _init_next;\n let url;\n try {\n url = new URL(input instanceof Request ? input.url : input);\n url.username = '';\n url.password = '';\n } catch {\n // Error caused by malformed URL should be handled by native fetch\n url = undefined;\n }\n const fetchUrl = (url == null ? void 0 : url.href) ?? '';\n const method = (init == null ? void 0 : (_init_method = init.method) == null ? void 0 : _init_method.toUpperCase()) || 'GET';\n // Do create a new span trace for internal fetches in the\n // non-verbose mode.\n const isInternal = (init == null ? void 0 : (_init_next = init.next) == null ? void 0 : _init_next.internal) === true;\n const hideSpan = process.env.NEXT_OTEL_FETCH_DISABLED === '1';\n // We don't track fetch metrics for internal fetches\n // so it's not critical that we have a start time, as it won't be recorded.\n // This is to workaround a flaky issue where performance APIs might\n // not be available and will require follow-up investigation.\n const fetchStart = isInternal ? undefined : performance.timeOrigin + performance.now();\n const workStore = workAsyncStorage.getStore();\n const workUnitStore = workUnitAsyncStorage.getStore();\n let cacheSignal = workUnitStore ? getCacheSignal(workUnitStore) : null;\n if (cacheSignal) {\n cacheSignal.beginRead();\n }\n const result = getTracer().trace(isInternal ? NextNodeServerSpan.internalFetch : AppRenderSpan.fetch, {\n hideSpan,\n kind: SpanKind.CLIENT,\n spanName: [\n 'fetch',\n method,\n fetchUrl\n ].filter(Boolean).join(' '),\n attributes: {\n 'http.url': fetchUrl,\n 'http.method': method,\n 'net.peer.name': url == null ? void 0 : url.hostname,\n 'net.peer.port': (url == null ? void 0 : url.port) || undefined\n }\n }, async ()=>{\n var _getRequestMeta;\n // If this is an internal fetch, we should not do any special treatment.\n if (isInternal) {\n return originFetch(input, init);\n }\n // If the workStore is not available, we can't do any\n // special treatment of fetch, therefore fallback to the original\n // fetch implementation.\n if (!workStore) {\n return originFetch(input, init);\n }\n // We should also fallback to the original fetch implementation if we\n // are in draft mode, it does not constitute a static generation.\n if (workStore.isDraftMode) {\n return originFetch(input, init);\n }\n const isRequestInput = input && typeof input === 'object' && typeof input.method === 'string';\n const getRequestMeta = (field)=>{\n // If request input is present but init is not, retrieve from input first.\n const value = init == null ? void 0 : init[field];\n return value || (isRequestInput ? input[field] : null);\n };\n let finalRevalidate = undefined;\n const getNextField = (field)=>{\n var _init_next, _init_next1, _input_next;\n return typeof (init == null ? void 0 : (_init_next = init.next) == null ? void 0 : _init_next[field]) !== 'undefined' ? init == null ? void 0 : (_init_next1 = init.next) == null ? void 0 : _init_next1[field] : isRequestInput ? (_input_next = input.next) == null ? void 0 : _input_next[field] : undefined;\n };\n // RequestInit doesn't keep extra fields e.g. next so it's\n // only available if init is used separate\n const originalFetchRevalidate = getNextField('revalidate');\n let currentFetchRevalidate = originalFetchRevalidate;\n const tags = validateTags(getNextField('tags') || [], `fetch ${input.toString()}`);\n let revalidateStore;\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-runtime':\n // TODO: Stop accumulating tags in client prerender. (fallthrough)\n case 'prerender-client':\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'cache':\n case 'private-cache':\n revalidateStore = workUnitStore;\n break;\n case 'request':\n case 'unstable-cache':\n break;\n default:\n workUnitStore;\n }\n }\n if (revalidateStore) {\n if (Array.isArray(tags)) {\n // Collect tags onto parent caches or parent prerenders.\n const collectedTags = revalidateStore.tags ?? (revalidateStore.tags = []);\n for (const tag of tags){\n if (!collectedTags.includes(tag)) {\n collectedTags.push(tag);\n }\n }\n }\n }\n const implicitTags = workUnitStore == null ? void 0 : workUnitStore.implicitTags;\n let pageFetchCacheMode = workStore.fetchCache;\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'unstable-cache':\n // Inside unstable-cache we treat it the same as force-no-store on\n // the page.\n pageFetchCacheMode = 'force-no-store';\n break;\n case 'prerender':\n case 'prerender-client':\n case 'prerender-runtime':\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'request':\n case 'cache':\n case 'private-cache':\n break;\n default:\n workUnitStore;\n }\n }\n const isUsingNoStore = !!workStore.isUnstableNoStore;\n let currentFetchCacheConfig = getRequestMeta('cache');\n let cacheReason = '';\n let cacheWarning;\n if (typeof currentFetchCacheConfig === 'string' && typeof currentFetchRevalidate !== 'undefined') {\n // If the revalidate value conflicts with the cache value, we should warn the user and unset the conflicting values.\n const isConflictingRevalidate = // revalidate: 0 and cache: force-cache\n currentFetchCacheConfig === 'force-cache' && currentFetchRevalidate === 0 || // revalidate: >0 or revalidate: false and cache: no-store\n currentFetchCacheConfig === 'no-store' && (currentFetchRevalidate > 0 || currentFetchRevalidate === false);\n if (isConflictingRevalidate) {\n cacheWarning = `Specified \"cache: ${currentFetchCacheConfig}\" and \"revalidate: ${currentFetchRevalidate}\", only one should be specified.`;\n currentFetchCacheConfig = undefined;\n currentFetchRevalidate = undefined;\n }\n }\n const hasExplicitFetchCacheOptOut = // fetch config itself signals not to cache\n currentFetchCacheConfig === 'no-cache' || currentFetchCacheConfig === 'no-store' || // the fetch isn't explicitly caching and the segment level cache config signals not to cache\n // note: `pageFetchCacheMode` is also set by being in an unstable_cache context.\n pageFetchCacheMode === 'force-no-store' || pageFetchCacheMode === 'only-no-store';\n // If no explicit fetch cache mode is set, but dynamic = `force-dynamic` is set,\n // we shouldn't consider caching the fetch. This is because the `dynamic` cache\n // is considered a \"top-level\" cache mode, whereas something like `fetchCache` is more\n // fine-grained. Top-level modes are responsible for setting reasonable defaults for the\n // other configurations.\n const noFetchConfigAndForceDynamic = !pageFetchCacheMode && !currentFetchCacheConfig && !currentFetchRevalidate && workStore.forceDynamic;\n if (// force-cache was specified without a revalidate value. We set the revalidate value to false\n // which will signal the cache to not revalidate\n currentFetchCacheConfig === 'force-cache' && typeof currentFetchRevalidate === 'undefined') {\n currentFetchRevalidate = false;\n } else if (hasExplicitFetchCacheOptOut || noFetchConfigAndForceDynamic) {\n currentFetchRevalidate = 0;\n }\n if (currentFetchCacheConfig === 'no-cache' || currentFetchCacheConfig === 'no-store') {\n cacheReason = `cache: ${currentFetchCacheConfig}`;\n }\n finalRevalidate = validateRevalidate(currentFetchRevalidate, workStore.route);\n const _headers = getRequestMeta('headers');\n const initHeaders = typeof (_headers == null ? void 0 : _headers.get) === 'function' ? _headers : new Headers(_headers || {});\n const hasUnCacheableHeader = initHeaders.get('authorization') || initHeaders.get('cookie');\n const isUnCacheableMethod = ![\n 'get',\n 'head'\n ].includes(((_getRequestMeta = getRequestMeta('method')) == null ? void 0 : _getRequestMeta.toLowerCase()) || 'get');\n /**\n * We automatically disable fetch caching under the following conditions:\n * - Fetch cache configs are not set. Specifically:\n * - A page fetch cache mode is not set (export const fetchCache=...)\n * - A fetch cache mode is not set in the fetch call (fetch(url, { cache: ... }))\n * or the fetch cache mode is set to 'default'\n * - A fetch revalidate value is not set in the fetch call (fetch(url, { revalidate: ... }))\n * - OR the fetch comes after a configuration that triggered dynamic rendering (e.g., reading cookies())\n * and the fetch was considered uncacheable (e.g., POST method or has authorization headers)\n */ const hasNoExplicitCacheConfig = // eslint-disable-next-line eqeqeq\n pageFetchCacheMode == undefined && // eslint-disable-next-line eqeqeq\n (currentFetchCacheConfig == undefined || // when considering whether to opt into the default \"no-cache\" fetch semantics,\n // a \"default\" cache config should be treated the same as no cache config\n currentFetchCacheConfig === 'default') && // eslint-disable-next-line eqeqeq\n currentFetchRevalidate == undefined;\n let autoNoCache = Boolean((hasUnCacheableHeader || isUnCacheableMethod) && (revalidateStore == null ? void 0 : revalidateStore.revalidate) === 0);\n let isImplicitBuildTimeCache = false;\n if (!autoNoCache && hasNoExplicitCacheConfig) {\n // We don't enable automatic no-cache behavior during build-time\n // prerendering so that we can still leverage the fetch cache between\n // export workers.\n if (workStore.isBuildTimePrerendering) {\n isImplicitBuildTimeCache = true;\n } else {\n autoNoCache = true;\n }\n }\n // If we have no cache config, and we're in Dynamic I/O prerendering,\n // it'll be a dynamic call. We don't have to issue that dynamic call.\n if (hasNoExplicitCacheConfig && workUnitStore !== undefined) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-runtime':\n // While we don't want to do caching in the client scope we know the\n // fetch will be dynamic for cacheComponents so we may as well avoid the\n // call here. (fallthrough)\n case 'prerender-client':\n if (cacheSignal) {\n cacheSignal.endRead();\n cacheSignal = null;\n }\n return makeHangingPromise(workUnitStore.renderSignal, workStore.route, 'fetch()');\n case 'request':\n if (process.env.NODE_ENV === 'development' && workUnitStore.stagedRendering) {\n if (cacheSignal) {\n cacheSignal.endRead();\n cacheSignal = null;\n }\n await workUnitStore.stagedRendering.waitForStage(RenderStage.Dynamic);\n }\n break;\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n break;\n default:\n workUnitStore;\n }\n }\n switch(pageFetchCacheMode){\n case 'force-no-store':\n {\n cacheReason = 'fetchCache = force-no-store';\n break;\n }\n case 'only-no-store':\n {\n if (currentFetchCacheConfig === 'force-cache' || typeof finalRevalidate !== 'undefined' && finalRevalidate > 0) {\n throw Object.defineProperty(new Error(`cache: 'force-cache' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-no-store'`), \"__NEXT_ERROR_CODE\", {\n value: \"E448\",\n enumerable: false,\n configurable: true\n });\n }\n cacheReason = 'fetchCache = only-no-store';\n break;\n }\n case 'only-cache':\n {\n if (currentFetchCacheConfig === 'no-store') {\n throw Object.defineProperty(new Error(`cache: 'no-store' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-cache'`), \"__NEXT_ERROR_CODE\", {\n value: \"E521\",\n enumerable: false,\n configurable: true\n });\n }\n break;\n }\n case 'force-cache':\n {\n if (typeof currentFetchRevalidate === 'undefined' || currentFetchRevalidate === 0) {\n cacheReason = 'fetchCache = force-cache';\n finalRevalidate = INFINITE_CACHE;\n }\n break;\n }\n case 'default-cache':\n case 'default-no-store':\n case 'auto':\n case undefined:\n break;\n default:\n pageFetchCacheMode;\n }\n if (typeof finalRevalidate === 'undefined') {\n if (pageFetchCacheMode === 'default-cache' && !isUsingNoStore) {\n finalRevalidate = INFINITE_CACHE;\n cacheReason = 'fetchCache = default-cache';\n } else if (pageFetchCacheMode === 'default-no-store') {\n finalRevalidate = 0;\n cacheReason = 'fetchCache = default-no-store';\n } else if (isUsingNoStore) {\n finalRevalidate = 0;\n cacheReason = 'noStore call';\n } else if (autoNoCache) {\n finalRevalidate = 0;\n cacheReason = 'auto no cache';\n } else {\n // TODO: should we consider this case an invariant?\n cacheReason = 'auto cache';\n finalRevalidate = revalidateStore ? revalidateStore.revalidate : INFINITE_CACHE;\n }\n } else if (!cacheReason) {\n cacheReason = `revalidate: ${finalRevalidate}`;\n }\n if (// when force static is configured we don't bail from\n // `revalidate: 0` values\n !(workStore.forceStatic && finalRevalidate === 0) && // we don't consider autoNoCache to switch to dynamic for ISR\n !autoNoCache && // If the revalidate value isn't currently set or the value is less\n // than the current revalidate value, we should update the revalidate\n // value.\n revalidateStore && finalRevalidate < revalidateStore.revalidate) {\n // If we were setting the revalidate value to 0, we should try to\n // postpone instead first.\n if (finalRevalidate === 0) {\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-client':\n case 'prerender-runtime':\n if (cacheSignal) {\n cacheSignal.endRead();\n cacheSignal = null;\n }\n return makeHangingPromise(workUnitStore.renderSignal, workStore.route, 'fetch()');\n case 'request':\n if (process.env.NODE_ENV === 'development' && workUnitStore.stagedRendering) {\n if (cacheSignal) {\n cacheSignal.endRead();\n cacheSignal = null;\n }\n await workUnitStore.stagedRendering.waitForStage(RenderStage.Dynamic);\n }\n break;\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n break;\n default:\n workUnitStore;\n }\n }\n markCurrentScopeAsDynamic(workStore, workUnitStore, `revalidate: 0 fetch ${input} ${workStore.route}`);\n }\n // We only want to set the revalidate store's revalidate time if it\n // was explicitly set for the fetch call, i.e.\n // originalFetchRevalidate.\n if (revalidateStore && originalFetchRevalidate === finalRevalidate) {\n revalidateStore.revalidate = finalRevalidate;\n }\n }\n const isCacheableRevalidate = typeof finalRevalidate === 'number' && finalRevalidate > 0;\n let cacheKey;\n const { incrementalCache } = workStore;\n let isHmrRefresh = false;\n let serverComponentsHmrCache;\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'request':\n case 'cache':\n case 'private-cache':\n isHmrRefresh = workUnitStore.isHmrRefresh ?? false;\n serverComponentsHmrCache = workUnitStore.serverComponentsHmrCache;\n break;\n case 'prerender':\n case 'prerender-client':\n case 'prerender-runtime':\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'unstable-cache':\n break;\n default:\n workUnitStore;\n }\n }\n if (incrementalCache && (isCacheableRevalidate || serverComponentsHmrCache)) {\n try {\n cacheKey = await incrementalCache.generateCacheKey(fetchUrl, isRequestInput ? input : init);\n } catch (err) {\n console.error(`Failed to generate cache key for`, input);\n }\n }\n const fetchIdx = workStore.nextFetchId ?? 1;\n workStore.nextFetchId = fetchIdx + 1;\n let handleUnlock = ()=>{};\n const doOriginalFetch = async (isStale, cacheReasonOverride)=>{\n const requestInputFields = [\n 'cache',\n 'credentials',\n 'headers',\n 'integrity',\n 'keepalive',\n 'method',\n 'mode',\n 'redirect',\n 'referrer',\n 'referrerPolicy',\n 'window',\n 'duplex',\n // don't pass through signal when revalidating\n ...isStale ? [] : [\n 'signal'\n ]\n ];\n if (isRequestInput) {\n const reqInput = input;\n const reqOptions = {\n body: reqInput._ogBody || reqInput.body\n };\n for (const field of requestInputFields){\n // @ts-expect-error custom fields\n reqOptions[field] = reqInput[field];\n }\n input = new Request(reqInput.url, reqOptions);\n } else if (init) {\n const { _ogBody, body, signal, ...otherInput } = init;\n init = {\n ...otherInput,\n body: _ogBody || body,\n signal: isStale ? undefined : signal\n };\n }\n // add metadata to init without editing the original\n const clonedInit = {\n ...init,\n next: {\n ...init == null ? void 0 : init.next,\n fetchType: 'origin',\n fetchIdx\n }\n };\n return originFetch(input, clonedInit).then(async (res)=>{\n if (!isStale && fetchStart) {\n trackFetchMetric(workStore, {\n start: fetchStart,\n url: fetchUrl,\n cacheReason: cacheReasonOverride || cacheReason,\n cacheStatus: finalRevalidate === 0 || cacheReasonOverride ? 'skip' : 'miss',\n cacheWarning,\n status: res.status,\n method: clonedInit.method || 'GET'\n });\n }\n if (res.status === 200 && incrementalCache && cacheKey && (isCacheableRevalidate || serverComponentsHmrCache)) {\n const normalizedRevalidate = finalRevalidate >= INFINITE_CACHE ? CACHE_ONE_YEAR : finalRevalidate;\n const incrementalCacheConfig = isCacheableRevalidate ? {\n fetchCache: true,\n fetchUrl,\n fetchIdx,\n tags,\n isImplicitBuildTimeCache\n } : undefined;\n switch(workUnitStore == null ? void 0 : workUnitStore.type){\n case 'prerender':\n case 'prerender-client':\n case 'prerender-runtime':\n return createCachedPrerenderResponse(res, cacheKey, incrementalCacheConfig, incrementalCache, normalizedRevalidate, handleUnlock);\n case 'request':\n if (process.env.NODE_ENV === 'development' && workUnitStore.stagedRendering && workUnitStore.cacheSignal) {\n // We're filling caches for a staged render,\n // so we need to wait for the response to finish instead of streaming.\n return createCachedPrerenderResponse(res, cacheKey, incrementalCacheConfig, incrementalCache, normalizedRevalidate, handleUnlock);\n }\n // fallthrough\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n case undefined:\n return createCachedDynamicResponse(workStore, res, cacheKey, incrementalCacheConfig, incrementalCache, serverComponentsHmrCache, normalizedRevalidate, input, handleUnlock);\n default:\n workUnitStore;\n }\n }\n // we had response that we determined shouldn't be cached so we return it\n // and don't cache it. This also needs to unlock the cache lock we acquired.\n await handleUnlock();\n return res;\n }).catch((error)=>{\n handleUnlock();\n throw error;\n });\n };\n let cacheReasonOverride;\n let isForegroundRevalidate = false;\n let isHmrRefreshCache = false;\n if (cacheKey && incrementalCache) {\n let cachedFetchData;\n if (isHmrRefresh && serverComponentsHmrCache) {\n cachedFetchData = serverComponentsHmrCache.get(cacheKey);\n isHmrRefreshCache = true;\n }\n if (isCacheableRevalidate && !cachedFetchData) {\n handleUnlock = await incrementalCache.lock(cacheKey);\n const entry = workStore.isOnDemandRevalidate ? null : await incrementalCache.get(cacheKey, {\n kind: IncrementalCacheKind.FETCH,\n revalidate: finalRevalidate,\n fetchUrl,\n fetchIdx,\n tags,\n softTags: implicitTags == null ? void 0 : implicitTags.tags\n });\n if (hasNoExplicitCacheConfig && workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-client':\n case 'prerender-runtime':\n // We sometimes use the cache to dedupe fetches that do not\n // specify a cache configuration. In these cases we want to\n // make sure we still exclude them from prerenders if\n // cacheComponents is on so we introduce an artificial task boundary\n // here.\n await getTimeoutBoundary();\n break;\n case 'request':\n if (process.env.NODE_ENV === 'development' && workUnitStore.stagedRendering) {\n await workUnitStore.stagedRendering.waitForStage(RenderStage.Dynamic);\n }\n break;\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n break;\n default:\n workUnitStore;\n }\n }\n if (entry) {\n await handleUnlock();\n } else {\n // in dev, incremental cache response will be null in case the browser adds `cache-control: no-cache` in the request headers\n // TODO: it seems like we also hit this after revalidates in dev?\n cacheReasonOverride = 'cache-control: no-cache (hard refresh)';\n }\n if ((entry == null ? void 0 : entry.value) && entry.value.kind === CachedRouteKind.FETCH) {\n // when stale and is revalidating we wait for fresh data\n // so the revalidated entry has the updated data\n if (workStore.isStaticGeneration && entry.isStale) {\n isForegroundRevalidate = true;\n } else {\n if (entry.isStale) {\n workStore.pendingRevalidates ??= {};\n if (!workStore.pendingRevalidates[cacheKey]) {\n const pendingRevalidate = doOriginalFetch(true).then(async (response)=>({\n body: await response.arrayBuffer(),\n headers: response.headers,\n status: response.status,\n statusText: response.statusText\n })).finally(()=>{\n workStore.pendingRevalidates ??= {};\n delete workStore.pendingRevalidates[cacheKey || ''];\n });\n // Attach the empty catch here so we don't get a \"unhandled\n // promise rejection\" warning.\n pendingRevalidate.catch(console.error);\n workStore.pendingRevalidates[cacheKey] = pendingRevalidate;\n }\n }\n cachedFetchData = entry.value.data;\n }\n }\n }\n if (cachedFetchData) {\n if (fetchStart) {\n trackFetchMetric(workStore, {\n start: fetchStart,\n url: fetchUrl,\n cacheReason,\n cacheStatus: isHmrRefreshCache ? 'hmr' : 'hit',\n cacheWarning,\n status: cachedFetchData.status || 200,\n method: (init == null ? void 0 : init.method) || 'GET'\n });\n }\n const response = new Response(Buffer.from(cachedFetchData.body, 'base64'), {\n headers: cachedFetchData.headers,\n status: cachedFetchData.status\n });\n Object.defineProperty(response, 'url', {\n value: cachedFetchData.url\n });\n return response;\n }\n }\n if ((workStore.isStaticGeneration || process.env.NODE_ENV === 'development' && process.env.__NEXT_CACHE_COMPONENTS && workUnitStore && // eslint-disable-next-line no-restricted-syntax\n workUnitStore.type === 'request' && workUnitStore.stagedRendering) && init && typeof init === 'object') {\n const { cache } = init;\n // Delete `cache` property as Cloudflare Workers will throw an error\n if (isEdgeRuntime) delete init.cache;\n if (cache === 'no-store') {\n // If enabled, we should bail out of static generation.\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-client':\n case 'prerender-runtime':\n if (cacheSignal) {\n cacheSignal.endRead();\n cacheSignal = null;\n }\n return makeHangingPromise(workUnitStore.renderSignal, workStore.route, 'fetch()');\n case 'request':\n if (process.env.NODE_ENV === 'development' && workUnitStore.stagedRendering) {\n if (cacheSignal) {\n cacheSignal.endRead();\n cacheSignal = null;\n }\n await workUnitStore.stagedRendering.waitForStage(RenderStage.Dynamic);\n }\n break;\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n break;\n default:\n workUnitStore;\n }\n }\n markCurrentScopeAsDynamic(workStore, workUnitStore, `no-store fetch ${input} ${workStore.route}`);\n }\n const hasNextConfig = 'next' in init;\n const { next = {} } = init;\n if (typeof next.revalidate === 'number' && revalidateStore && next.revalidate < revalidateStore.revalidate) {\n if (next.revalidate === 0) {\n // If enabled, we should bail out of static generation.\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-client':\n case 'prerender-runtime':\n return makeHangingPromise(workUnitStore.renderSignal, workStore.route, 'fetch()');\n case 'request':\n if (process.env.NODE_ENV === 'development' && workUnitStore.stagedRendering) {\n await workUnitStore.stagedRendering.waitForStage(RenderStage.Dynamic);\n }\n break;\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n case 'prerender-legacy':\n case 'prerender-ppr':\n break;\n default:\n workUnitStore;\n }\n }\n markCurrentScopeAsDynamic(workStore, workUnitStore, `revalidate: 0 fetch ${input} ${workStore.route}`);\n }\n if (!workStore.forceStatic || next.revalidate !== 0) {\n revalidateStore.revalidate = next.revalidate;\n }\n }\n if (hasNextConfig) delete init.next;\n }\n // if we are revalidating the whole page via time or on-demand and\n // the fetch cache entry is stale we should still de-dupe the\n // origin hit if it's a cache-able entry\n if (cacheKey && isForegroundRevalidate) {\n const pendingRevalidateKey = cacheKey;\n workStore.pendingRevalidates ??= {};\n let pendingRevalidate = workStore.pendingRevalidates[pendingRevalidateKey];\n if (pendingRevalidate) {\n const revalidatedResult = await pendingRevalidate;\n return new Response(revalidatedResult.body, {\n headers: revalidatedResult.headers,\n status: revalidatedResult.status,\n statusText: revalidatedResult.statusText\n });\n }\n // We used to just resolve the Response and clone it however for\n // static generation with cacheComponents we need the response to be able to\n // be resolved in a microtask and cloning the response will never have\n // a body that can resolve in a microtask in node (as observed through\n // experimentation) So instead we await the body and then when it is\n // available we construct manually cloned Response objects with the\n // body as an ArrayBuffer. This will be resolvable in a microtask\n // making it compatible with cacheComponents.\n const pendingResponse = doOriginalFetch(true, cacheReasonOverride)// We're cloning the response using this utility because there\n // exists a bug in the undici library around response cloning.\n // See the following pull request for more details:\n // https://github.com/vercel/next.js/pull/73274\n .then(cloneResponse);\n pendingRevalidate = pendingResponse.then(async (responses)=>{\n const response = responses[0];\n return {\n body: await response.arrayBuffer(),\n headers: response.headers,\n status: response.status,\n statusText: response.statusText\n };\n }).finally(()=>{\n var _workStore_pendingRevalidates;\n // If the pending revalidate is not present in the store, then\n // we have nothing to delete.\n if (!((_workStore_pendingRevalidates = workStore.pendingRevalidates) == null ? void 0 : _workStore_pendingRevalidates[pendingRevalidateKey])) {\n return;\n }\n delete workStore.pendingRevalidates[pendingRevalidateKey];\n });\n // Attach the empty catch here so we don't get a \"unhandled promise\n // rejection\" warning\n pendingRevalidate.catch(()=>{});\n workStore.pendingRevalidates[pendingRevalidateKey] = pendingRevalidate;\n return pendingResponse.then((responses)=>responses[1]);\n } else {\n return doOriginalFetch(false, cacheReasonOverride);\n }\n });\n if (cacheSignal) {\n try {\n return await result;\n } finally{\n if (cacheSignal) {\n cacheSignal.endRead();\n }\n }\n }\n return result;\n };\n // Attach the necessary properties to the patched fetch function.\n // We don't use this to determine if the fetch function has been patched,\n // but for external consumers to determine if the fetch function has been\n // patched.\n patched.__nextPatched = true;\n patched.__nextGetStaticStore = ()=>workAsyncStorage;\n patched._nextOriginalFetch = originFetch;\n globalThis[NEXT_PATCH_SYMBOL] = true;\n // Assign the function name also as a name property, so that it's preserved\n // even when mangling is enabled.\n Object.defineProperty(patched, 'name', {\n value: 'fetch',\n writable: false\n });\n return patched;\n}\n// we patch fetch to collect cache information used for\n// determining if a page is static or not\nexport function patchFetch(options) {\n // If we've already patched fetch, we should not patch it again.\n if (isFetchPatched()) return;\n // Grab the original fetch function. We'll attach this so we can use it in\n // the patched fetch function.\n const original = createDedupeFetch(globalThis.fetch);\n // Set the global fetch to the patched fetch.\n globalThis.fetch = createPatchedFetcher(original, options);\n}\nlet currentTimeoutBoundary = null;\nfunction getTimeoutBoundary() {\n if (!currentTimeoutBoundary) {\n currentTimeoutBoundary = new Promise((r)=>{\n setTimeout(()=>{\n currentTimeoutBoundary = null;\n r();\n }, 0);\n });\n }\n return currentTimeoutBoundary;\n}\n\n//# sourceMappingURL=patch-fetch.js.map","import { InvariantError } from '../../shared/lib/invariant-error';\nimport { createPromiseWithResolvers } from '../../shared/lib/promise-with-resolvers';\nexport var RenderStage = /*#__PURE__*/ function(RenderStage) {\n RenderStage[RenderStage[\"Static\"] = 1] = \"Static\";\n RenderStage[RenderStage[\"Runtime\"] = 2] = \"Runtime\";\n RenderStage[RenderStage[\"Dynamic\"] = 3] = \"Dynamic\";\n return RenderStage;\n}({});\nexport class StagedRenderingController {\n constructor(abortSignal = null){\n this.abortSignal = abortSignal;\n this.currentStage = 1;\n this.runtimeStagePromise = createPromiseWithResolvers();\n this.dynamicStagePromise = createPromiseWithResolvers();\n if (abortSignal) {\n abortSignal.addEventListener('abort', ()=>{\n const { reason } = abortSignal;\n if (this.currentStage < 2) {\n this.runtimeStagePromise.promise.catch(ignoreReject) // avoid unhandled rejections\n ;\n this.runtimeStagePromise.reject(reason);\n }\n if (this.currentStage < 3) {\n this.dynamicStagePromise.promise.catch(ignoreReject) // avoid unhandled rejections\n ;\n this.dynamicStagePromise.reject(reason);\n }\n }, {\n once: true\n });\n }\n }\n advanceStage(stage) {\n // If we're already at the target stage or beyond, do nothing.\n // (this can happen e.g. if sync IO advanced us to the dynamic stage)\n if (this.currentStage >= stage) {\n return;\n }\n this.currentStage = stage;\n // Note that we might be going directly from Static to Dynamic,\n // so we need to resolve the runtime stage as well.\n if (stage >= 2) {\n this.runtimeStagePromise.resolve();\n }\n if (stage >= 3) {\n this.dynamicStagePromise.resolve();\n }\n }\n getStagePromise(stage) {\n switch(stage){\n case 2:\n {\n return this.runtimeStagePromise.promise;\n }\n case 3:\n {\n return this.dynamicStagePromise.promise;\n }\n default:\n {\n stage;\n throw Object.defineProperty(new InvariantError(`Invalid render stage: ${stage}`), \"__NEXT_ERROR_CODE\", {\n value: \"E881\",\n enumerable: false,\n configurable: true\n });\n }\n }\n }\n waitForStage(stage) {\n return this.getStagePromise(stage);\n }\n delayUntilStage(stage, displayName, resolvedValue) {\n const ioTriggerPromise = this.getStagePromise(stage);\n const promise = makeDevtoolsIOPromiseFromIOTrigger(ioTriggerPromise, displayName, resolvedValue);\n // Analogously to `makeHangingPromise`, we might reject this promise if the signal is invoked.\n // (e.g. in the case where we don't want want the render to proceed to the dynamic stage and abort it).\n // We shouldn't consider this an unhandled rejection, so we attach a noop catch handler here to suppress this warning.\n if (this.abortSignal) {\n promise.catch(ignoreReject);\n }\n return promise;\n }\n}\nfunction ignoreReject() {}\n// TODO(restart-on-cache-miss): the layering of `delayUntilStage`,\n// `makeDevtoolsIOPromiseFromIOTrigger` and and `makeDevtoolsIOAwarePromise`\n// is confusing, we should clean it up.\nfunction makeDevtoolsIOPromiseFromIOTrigger(ioTrigger, displayName, resolvedValue) {\n // If we create a `new Promise` and give it a displayName\n // (with no userspace code above us in the stack)\n // React Devtools will use it as the IO cause when determining \"suspended by\".\n // In particular, it should shadow any inner IO that resolved/rejected the promise\n // (in case of staged rendering, this will be the `setTimeout` that triggers the relevant stage)\n const promise = new Promise((resolve, reject)=>{\n ioTrigger.then(resolve.bind(null, resolvedValue), reject);\n });\n if (displayName !== undefined) {\n // @ts-expect-error\n promise.displayName = displayName;\n }\n return promise;\n}\n\n//# sourceMappingURL=staged-rendering.js.map","// TODO: isWellKnownError -> isNextInternalError\n// isReactLargeShellError -> isWarning\nexport function isReactLargeShellError(error) {\n return typeof error === 'object' && error !== null && 'message' in error && typeof error.message === 'string' && error.message.startsWith('This rendered a large document (>');\n}\n\n//# sourceMappingURL=react-large-shell-error.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from 'react';\nimport { MetaFilter } from './meta';\nfunction AlternateLink({ descriptor, ...props }) {\n if (!descriptor.url) return null;\n return /*#__PURE__*/ _jsx(\"link\", {\n ...props,\n ...descriptor.title && {\n title: descriptor.title\n },\n href: descriptor.url.toString()\n });\n}\nexport function AlternatesMetadata({ alternates }) {\n if (!alternates) return null;\n const { canonical, languages, media, types } = alternates;\n return MetaFilter([\n canonical ? AlternateLink({\n rel: 'canonical',\n descriptor: canonical\n }) : null,\n languages ? Object.entries(languages).flatMap(([locale, descriptors])=>descriptors == null ? void 0 : descriptors.map((descriptor)=>AlternateLink({\n rel: 'alternate',\n hrefLang: locale,\n descriptor\n }))) : null,\n media ? Object.entries(media).flatMap(([mediaName, descriptors])=>descriptors == null ? void 0 : descriptors.map((descriptor)=>AlternateLink({\n rel: 'alternate',\n media: mediaName,\n descriptor\n }))) : null,\n types ? Object.entries(types).flatMap(([type, descriptors])=>descriptors == null ? void 0 : descriptors.map((descriptor)=>AlternateLink({\n rel: 'alternate',\n type,\n descriptor\n }))) : null\n ]);\n}\n\n//# sourceMappingURL=alternate.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport React from 'react';\nimport { nonNullable } from '../../non-nullable';\nexport function Meta({ name, property, content, media }) {\n if (typeof content !== 'undefined' && content !== null && content !== '') {\n return /*#__PURE__*/ _jsx(\"meta\", {\n ...name ? {\n name\n } : {\n property\n },\n ...media ? {\n media\n } : undefined,\n content: typeof content === 'string' ? content : content.toString()\n });\n }\n return null;\n}\nexport function MetaFilter(items) {\n const acc = [];\n for (const item of items){\n if (Array.isArray(item)) {\n acc.push(...item.filter(nonNullable));\n } else if (nonNullable(item)) {\n acc.push(item);\n }\n }\n return acc;\n}\nfunction camelToSnake(camelCaseStr) {\n return camelCaseStr.replace(/([A-Z])/g, function(match) {\n return '_' + match.toLowerCase();\n });\n}\nconst aliasPropPrefixes = new Set([\n 'og:image',\n 'twitter:image',\n 'og:video',\n 'og:audio'\n]);\nfunction getMetaKey(prefix, key) {\n // Use `twitter:image` and `og:image` instead of `twitter:image:url` and `og:image:url`\n // to be more compatible as it's a more common format.\n // `og:video` & `og:audio` do not have a `:url` suffix alias\n if (aliasPropPrefixes.has(prefix) && key === 'url') {\n return prefix;\n }\n if (prefix.startsWith('og:') || prefix.startsWith('twitter:')) {\n key = camelToSnake(key);\n }\n return prefix + ':' + key;\n}\nfunction ExtendMeta({ content, namePrefix, propertyPrefix }) {\n if (!content) return null;\n return MetaFilter(Object.entries(content).map(([k, v])=>{\n return typeof v === 'undefined' ? null : Meta({\n ...propertyPrefix && {\n property: getMetaKey(propertyPrefix, k)\n },\n ...namePrefix && {\n name: getMetaKey(namePrefix, k)\n },\n content: typeof v === 'string' ? v : v == null ? void 0 : v.toString()\n });\n }));\n}\nexport function MultiMeta({ propertyPrefix, namePrefix, contents }) {\n if (typeof contents === 'undefined' || contents === null) {\n return null;\n }\n return MetaFilter(contents.map((content)=>{\n if (typeof content === 'string' || typeof content === 'number' || content instanceof URL) {\n return Meta({\n ...propertyPrefix ? {\n property: propertyPrefix\n } : {\n name: namePrefix\n },\n content\n });\n } else {\n return ExtendMeta({\n namePrefix,\n propertyPrefix,\n content\n });\n }\n }));\n}\n\n//# sourceMappingURL=meta.js.map","import { resolveAsArrayOrUndefined } from '../generate/utils';\nimport { isStringOrURL } from './resolve-url';\nimport { IconKeys } from '../constants';\nexport function resolveIcon(icon) {\n if (isStringOrURL(icon)) return {\n url: icon\n };\n else if (Array.isArray(icon)) return icon;\n return icon;\n}\nexport const resolveIcons = (icons)=>{\n if (!icons) {\n return null;\n }\n const resolved = {\n icon: [],\n apple: []\n };\n if (Array.isArray(icons)) {\n resolved.icon = icons.map(resolveIcon).filter(Boolean);\n } else if (isStringOrURL(icons)) {\n resolved.icon = [\n resolveIcon(icons)\n ];\n } else {\n for (const key of IconKeys){\n const values = resolveAsArrayOrUndefined(icons[key]);\n if (values) resolved[key] = values.map(resolveIcon);\n }\n }\n return resolved;\n};\n\n//# sourceMappingURL=resolve-icons.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Meta, MetaFilter, MultiMeta } from './meta';\nimport { ViewportMetaKeys } from '../constants';\nimport { getOrigin } from './utils';\n// convert viewport object to string for viewport meta tag\nfunction resolveViewportLayout(viewport) {\n let resolved = null;\n if (viewport && typeof viewport === 'object') {\n resolved = '';\n for(const viewportKey_ in ViewportMetaKeys){\n const viewportKey = viewportKey_;\n if (viewportKey in viewport) {\n let value = viewport[viewportKey];\n if (typeof value === 'boolean') {\n value = value ? 'yes' : 'no';\n } else if (!value && viewportKey === 'initialScale') {\n value = undefined;\n }\n if (value) {\n if (resolved) resolved += ', ';\n resolved += `${ViewportMetaKeys[viewportKey]}=${value}`;\n }\n }\n }\n }\n return resolved;\n}\nexport function ViewportMeta({ viewport }) {\n return MetaFilter([\n /*#__PURE__*/ _jsx(\"meta\", {\n charSet: \"utf-8\"\n }),\n Meta({\n name: 'viewport',\n content: resolveViewportLayout(viewport)\n }),\n ...viewport.themeColor ? viewport.themeColor.map((themeColor)=>Meta({\n name: 'theme-color',\n content: themeColor.color,\n media: themeColor.media\n })) : [],\n Meta({\n name: 'color-scheme',\n content: viewport.colorScheme\n })\n ]);\n}\nexport function BasicMeta({ metadata }) {\n var _metadata_keywords, _metadata_robots, _metadata_robots1;\n const manifestOrigin = metadata.manifest ? getOrigin(metadata.manifest) : undefined;\n return MetaFilter([\n metadata.title !== null && metadata.title.absolute ? /*#__PURE__*/ _jsx(\"title\", {\n children: metadata.title.absolute\n }) : null,\n Meta({\n name: 'description',\n content: metadata.description\n }),\n Meta({\n name: 'application-name',\n content: metadata.applicationName\n }),\n ...metadata.authors ? metadata.authors.map((author)=>[\n author.url ? /*#__PURE__*/ _jsx(\"link\", {\n rel: \"author\",\n href: author.url.toString()\n }) : null,\n Meta({\n name: 'author',\n content: author.name\n })\n ]) : [],\n metadata.manifest ? /*#__PURE__*/ _jsx(\"link\", {\n rel: \"manifest\",\n href: metadata.manifest.toString(),\n // If it's same origin, and it's a preview deployment,\n // including credentials for manifest request.\n crossOrigin: !manifestOrigin && process.env.VERCEL_ENV === 'preview' ? 'use-credentials' : undefined\n }) : null,\n Meta({\n name: 'generator',\n content: metadata.generator\n }),\n Meta({\n name: 'keywords',\n content: (_metadata_keywords = metadata.keywords) == null ? void 0 : _metadata_keywords.join(',')\n }),\n Meta({\n name: 'referrer',\n content: metadata.referrer\n }),\n Meta({\n name: 'creator',\n content: metadata.creator\n }),\n Meta({\n name: 'publisher',\n content: metadata.publisher\n }),\n Meta({\n name: 'robots',\n content: (_metadata_robots = metadata.robots) == null ? void 0 : _metadata_robots.basic\n }),\n Meta({\n name: 'googlebot',\n content: (_metadata_robots1 = metadata.robots) == null ? void 0 : _metadata_robots1.googleBot\n }),\n Meta({\n name: 'abstract',\n content: metadata.abstract\n }),\n ...metadata.archives ? metadata.archives.map((archive)=>/*#__PURE__*/ _jsx(\"link\", {\n rel: \"archives\",\n href: archive\n })) : [],\n ...metadata.assets ? metadata.assets.map((asset)=>/*#__PURE__*/ _jsx(\"link\", {\n rel: \"assets\",\n href: asset\n })) : [],\n ...metadata.bookmarks ? metadata.bookmarks.map((bookmark)=>/*#__PURE__*/ _jsx(\"link\", {\n rel: \"bookmarks\",\n href: bookmark\n })) : [],\n ...metadata.pagination ? [\n metadata.pagination.previous ? /*#__PURE__*/ _jsx(\"link\", {\n rel: \"prev\",\n href: metadata.pagination.previous\n }) : null,\n metadata.pagination.next ? /*#__PURE__*/ _jsx(\"link\", {\n rel: \"next\",\n href: metadata.pagination.next\n }) : null\n ] : [],\n Meta({\n name: 'category',\n content: metadata.category\n }),\n Meta({\n name: 'classification',\n content: metadata.classification\n }),\n ...metadata.other ? Object.entries(metadata.other).map(([name, content])=>{\n if (Array.isArray(content)) {\n return content.map((contentItem)=>Meta({\n name,\n content: contentItem\n }));\n } else {\n return Meta({\n name,\n content\n });\n }\n }) : []\n ]);\n}\nexport function ItunesMeta({ itunes }) {\n if (!itunes) return null;\n const { appId, appArgument } = itunes;\n let content = `app-id=${appId}`;\n if (appArgument) {\n content += `, app-argument=${appArgument}`;\n }\n return /*#__PURE__*/ _jsx(\"meta\", {\n name: \"apple-itunes-app\",\n content: content\n });\n}\nexport function FacebookMeta({ facebook }) {\n if (!facebook) return null;\n const { appId, admins } = facebook;\n return MetaFilter([\n appId ? /*#__PURE__*/ _jsx(\"meta\", {\n property: \"fb:app_id\",\n content: appId\n }) : null,\n ...admins ? admins.map((admin)=>/*#__PURE__*/ _jsx(\"meta\", {\n property: \"fb:admins\",\n content: admin\n })) : []\n ]);\n}\nexport function PinterestMeta({ pinterest }) {\n if (!pinterest || pinterest.richPin === undefined) return null;\n const { richPin } = pinterest;\n return /*#__PURE__*/ _jsx(\"meta\", {\n property: \"pinterest-rich-pin\",\n content: richPin.toString()\n });\n}\nconst formatDetectionKeys = [\n 'telephone',\n 'date',\n 'address',\n 'email',\n 'url'\n];\nexport function FormatDetectionMeta({ formatDetection }) {\n if (!formatDetection) return null;\n let content = '';\n for (const key of formatDetectionKeys){\n if (formatDetection[key] === false) {\n if (content) content += ', ';\n content += `${key}=no`;\n }\n }\n return content ? /*#__PURE__*/ _jsx(\"meta\", {\n name: \"format-detection\",\n content: content\n }) : null;\n}\nexport function AppleWebAppMeta({ appleWebApp }) {\n if (!appleWebApp) return null;\n const { capable, title, startupImage, statusBarStyle } = appleWebApp;\n return MetaFilter([\n capable ? Meta({\n name: 'mobile-web-app-capable',\n content: 'yes'\n }) : null,\n Meta({\n name: 'apple-mobile-web-app-title',\n content: title\n }),\n startupImage ? startupImage.map((image)=>/*#__PURE__*/ _jsx(\"link\", {\n href: image.url,\n media: image.media,\n rel: \"apple-touch-startup-image\"\n })) : null,\n statusBarStyle ? Meta({\n name: 'apple-mobile-web-app-status-bar-style',\n content: statusBarStyle\n }) : null\n ]);\n}\nexport function VerificationMeta({ verification }) {\n if (!verification) return null;\n return MetaFilter([\n MultiMeta({\n namePrefix: 'google-site-verification',\n contents: verification.google\n }),\n MultiMeta({\n namePrefix: 'y_key',\n contents: verification.yahoo\n }),\n MultiMeta({\n namePrefix: 'yandex-verification',\n contents: verification.yandex\n }),\n MultiMeta({\n namePrefix: 'me',\n contents: verification.me\n }),\n ...verification.other ? Object.entries(verification.other).map(([key, value])=>MultiMeta({\n namePrefix: key,\n contents: value\n })) : []\n ]);\n}\n\n//# sourceMappingURL=basic.js.map","import { resolveArray, resolveAsArrayOrUndefined } from '../generate/utils';\nimport { getSocialImageMetadataBaseFallback, isStringOrURL, resolveUrl, resolveAbsoluteUrlWithPathname } from './resolve-url';\nimport { resolveTitle } from './resolve-title';\nimport { isFullStringUrl } from '../../url';\nimport { warnOnce } from '../../../build/output/log';\nconst OgTypeFields = {\n article: [\n 'authors',\n 'tags'\n ],\n song: [\n 'albums',\n 'musicians'\n ],\n playlist: [\n 'albums',\n 'musicians'\n ],\n radio: [\n 'creators'\n ],\n video: [\n 'actors',\n 'directors',\n 'writers',\n 'tags'\n ],\n basic: [\n 'emails',\n 'phoneNumbers',\n 'faxNumbers',\n 'alternateLocale',\n 'audio',\n 'videos'\n ]\n};\nfunction resolveAndValidateImage(item, metadataBase, isStaticMetadataRouteFile) {\n if (!item) return undefined;\n const isItemUrl = isStringOrURL(item);\n const inputUrl = isItemUrl ? item : item.url;\n if (!inputUrl) return undefined;\n // process.env.VERCEL is set to \"1\" when System Environment Variables are\n // exposed. When exposed, validation is not necessary since we are falling back to\n // process.env.VERCEL_PROJECT_PRODUCTION_URL, process.env.VERCEL_BRANCH_URL, or\n // process.env.VERCEL_URL for the `metadataBase`. process.env.VERCEL is undefined\n // when System Environment Variables are not exposed. When not exposed, we cannot\n // detect in the build environment if the deployment is a Vercel deployment or not.\n //\n // x-ref: https://vercel.com/docs/projects/environment-variables/system-environment-variables#system-environment-variables\n const isUsingVercelSystemEnvironmentVariables = Boolean(process.env.VERCEL);\n const isRelativeUrl = typeof inputUrl === 'string' && !isFullStringUrl(inputUrl);\n // When no explicit metadataBase is specified by the user, we'll override it with the fallback metadata\n // under the following conditions:\n // - The provided URL is relative (ie ./og-image).\n // - The image is statically generated by Next.js (such as the special `opengraph-image` route)\n // In both cases, we want to ensure that across all environments, the ogImage is a fully qualified URL.\n // In the `opengraph-image` case, since the user isn't explicitly passing a relative path, this ensures\n // the ogImage will be properly discovered across different environments without the user needing to\n // have a bunch of `process.env` checks when defining their `metadataBase`.\n if (isRelativeUrl && (!metadataBase || isStaticMetadataRouteFile)) {\n const fallbackMetadataBase = getSocialImageMetadataBaseFallback(metadataBase);\n // When not using Vercel environment variables for URL injection, we aren't able to determine\n // a fallback value for `metadataBase`. For self-hosted setups, we want to warn\n // about this since the only fallback we'll be able to generate is `localhost`.\n // In development, we'll only warn for relative metadata that isn't part of the static\n // metadata conventions (eg `opengraph-image`), as otherwise it's currently very noisy\n // for common cases. Eventually we should remove this warning all together in favor of\n // devtools.\n const shouldWarn = !isUsingVercelSystemEnvironmentVariables && !metadataBase && (process.env.NODE_ENV === 'production' || !isStaticMetadataRouteFile);\n if (shouldWarn) {\n warnOnce(`metadataBase property in metadata export is not set for resolving social open graph or twitter images, using \"${fallbackMetadataBase.origin}\". See https://nextjs.org/docs/app/api-reference/functions/generate-metadata#metadatabase`);\n }\n metadataBase = fallbackMetadataBase;\n }\n return isItemUrl ? {\n url: resolveUrl(inputUrl, metadataBase)\n } : {\n ...item,\n // Update image descriptor url\n url: resolveUrl(inputUrl, metadataBase)\n };\n}\nexport function resolveImages(images, metadataBase, isStaticMetadataRouteFile) {\n const resolvedImages = resolveAsArrayOrUndefined(images);\n if (!resolvedImages) return resolvedImages;\n const nonNullableImages = [];\n for (const item of resolvedImages){\n const resolvedItem = resolveAndValidateImage(item, metadataBase, isStaticMetadataRouteFile);\n if (!resolvedItem) continue;\n nonNullableImages.push(resolvedItem);\n }\n return nonNullableImages;\n}\nconst ogTypeToFields = {\n article: OgTypeFields.article,\n book: OgTypeFields.article,\n 'music.song': OgTypeFields.song,\n 'music.album': OgTypeFields.song,\n 'music.playlist': OgTypeFields.playlist,\n 'music.radio_station': OgTypeFields.radio,\n 'video.movie': OgTypeFields.video,\n 'video.episode': OgTypeFields.video\n};\nfunction getFieldsByOgType(ogType) {\n if (!ogType || !(ogType in ogTypeToFields)) return OgTypeFields.basic;\n return ogTypeToFields[ogType].concat(OgTypeFields.basic);\n}\nexport const resolveOpenGraph = async (openGraph, metadataBase, pathname, metadataContext, titleTemplate)=>{\n if (!openGraph) return null;\n function resolveProps(target, og) {\n const ogType = og && 'type' in og ? og.type : undefined;\n const keys = getFieldsByOgType(ogType);\n for (const k of keys){\n const key = k;\n if (key in og && key !== 'url') {\n const value = og[key];\n target[key] = value ? resolveArray(value) : null;\n }\n }\n target.images = resolveImages(og.images, metadataBase, metadataContext.isStaticMetadataRouteFile);\n }\n const resolved = {\n ...openGraph,\n title: resolveTitle(openGraph.title, titleTemplate)\n };\n resolveProps(resolved, openGraph);\n resolved.url = openGraph.url ? resolveAbsoluteUrlWithPathname(openGraph.url, metadataBase, await pathname, metadataContext) : null;\n return resolved;\n};\nconst TwitterBasicInfoKeys = [\n 'site',\n 'siteId',\n 'creator',\n 'creatorId',\n 'description'\n];\nexport const resolveTwitter = (twitter, metadataBase, metadataContext, titleTemplate)=>{\n var _resolved_images;\n if (!twitter) return null;\n let card = 'card' in twitter ? twitter.card : undefined;\n const resolved = {\n ...twitter,\n title: resolveTitle(twitter.title, titleTemplate)\n };\n for (const infoKey of TwitterBasicInfoKeys){\n resolved[infoKey] = twitter[infoKey] || null;\n }\n resolved.images = resolveImages(twitter.images, metadataBase, metadataContext.isStaticMetadataRouteFile);\n card = card || (((_resolved_images = resolved.images) == null ? void 0 : _resolved_images.length) ? 'summary_large_image' : 'summary');\n resolved.card = card;\n if ('card' in resolved) {\n switch(resolved.card){\n case 'player':\n {\n resolved.players = resolveAsArrayOrUndefined(resolved.players) || [];\n break;\n }\n case 'app':\n {\n resolved.app = resolved.app || {};\n break;\n }\n case 'summary':\n case 'summary_large_image':\n break;\n default:\n resolved;\n }\n }\n return resolved;\n};\n\n//# sourceMappingURL=resolve-opengraph.js.map","import { delayUntilRuntimeStage, postponeWithTracking } from '../app-render/dynamic-rendering';\nimport { throwInvariantForMissingStore, workUnitAsyncStorage } from '../app-render/work-unit-async-storage.external';\nimport { makeHangingPromise } from '../dynamic-rendering-utils';\nimport { InvariantError } from '../../shared/lib/invariant-error';\nexport function createServerPathnameForMetadata(underlyingPathname, workStore) {\n const workUnitStore = workUnitAsyncStorage.getStore();\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-client':\n case 'prerender-ppr':\n case 'prerender-legacy':\n {\n return createPrerenderPathname(underlyingPathname, workStore, workUnitStore);\n }\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n throw Object.defineProperty(new InvariantError('createServerPathnameForMetadata should not be called in cache contexts.'), \"__NEXT_ERROR_CODE\", {\n value: \"E740\",\n enumerable: false,\n configurable: true\n });\n case 'prerender-runtime':\n return delayUntilRuntimeStage(workUnitStore, createRenderPathname(underlyingPathname));\n case 'request':\n return createRenderPathname(underlyingPathname);\n default:\n workUnitStore;\n }\n }\n throwInvariantForMissingStore();\n}\nfunction createPrerenderPathname(underlyingPathname, workStore, prerenderStore) {\n switch(prerenderStore.type){\n case 'prerender-client':\n throw Object.defineProperty(new InvariantError('createPrerenderPathname was called inside a client component scope.'), \"__NEXT_ERROR_CODE\", {\n value: \"E694\",\n enumerable: false,\n configurable: true\n });\n case 'prerender':\n {\n const fallbackParams = prerenderStore.fallbackRouteParams;\n if (fallbackParams && fallbackParams.size > 0) {\n return makeHangingPromise(prerenderStore.renderSignal, workStore.route, '`pathname`');\n }\n break;\n }\n case 'prerender-ppr':\n {\n const fallbackParams = prerenderStore.fallbackRouteParams;\n if (fallbackParams && fallbackParams.size > 0) {\n return makeErroringPathname(workStore, prerenderStore.dynamicTracking);\n }\n break;\n }\n case 'prerender-legacy':\n break;\n default:\n prerenderStore;\n }\n // We don't have any fallback params so we have an entirely static safe params object\n return Promise.resolve(underlyingPathname);\n}\nfunction makeErroringPathname(workStore, dynamicTracking) {\n let reject = null;\n const promise = new Promise((_, re)=>{\n reject = re;\n });\n const originalThen = promise.then.bind(promise);\n // We instrument .then so that we can generate a tracking event only if you actually\n // await this promise, not just that it is created.\n promise.then = (onfulfilled, onrejected)=>{\n if (reject) {\n try {\n postponeWithTracking(workStore.route, 'metadata relative url resolving', dynamicTracking);\n } catch (error) {\n reject(error);\n reject = null;\n }\n }\n return originalThen(onfulfilled, onrejected);\n };\n // We wrap in a noop proxy to trick the runtime into thinking it\n // isn't a native promise (it's not really). This is so that awaiting\n // the promise will call the `then` property triggering the lazy postpone\n return new Proxy(promise, {});\n}\nfunction createRenderPathname(underlyingPathname) {\n return Promise.resolve(underlyingPathname);\n}\n\n//# sourceMappingURL=pathname.js.map","/**\n * Calls the given async function only when the returned promise-like object is\n * awaited. Afterwards, it provides the resolved value synchronously as `value`\n * property.\n */ export function createLazyResult(fn) {\n let pendingResult;\n const result = {\n then (onfulfilled, onrejected) {\n if (!pendingResult) {\n pendingResult = fn();\n }\n pendingResult.then((value)=>{\n result.value = value;\n }).catch(()=>{\n // The externally awaited result will be rejected via `onrejected`. We\n // don't need to handle it here. But we do want to avoid an unhandled\n // rejection.\n });\n return pendingResult.then(onfulfilled, onrejected);\n }\n };\n return result;\n}\nexport function isResolvedLazyResult(result) {\n return result.hasOwnProperty('value');\n}\n\n//# sourceMappingURL=lazy-result.js.map","/*\n\nFiles in the rsc directory are meant to be packaged as part of the RSC graph using next-app-loader.\n\n*/ import * as React from 'react';\nfunction notImplemented() {\n throw Object.defineProperty(new Error('Taint can only be used with the taint flag.'), \"__NEXT_ERROR_CODE\", {\n value: \"E354\",\n enumerable: false,\n configurable: true\n });\n}\nexport const taintObjectReference = process.env.__NEXT_EXPERIMENTAL_REACT ? React.experimental_taintObjectReference : notImplemented;\nexport const taintUniqueValue = process.env.__NEXT_EXPERIMENTAL_REACT ? React.experimental_taintUniqueValue : notImplemented;\n\n//# sourceMappingURL=taint.js.map","/**\n * Based on https://github.com/facebook/react/blob/d4e78c42a94be027b4dc7ed2659a5fddfbf9bd4e/packages/react/src/ReactFetch.js\n */ import * as React from 'react';\nimport { cloneResponse } from './clone-response';\nimport { InvariantError } from '../../shared/lib/invariant-error';\nconst simpleCacheKey = '[\"GET\",[],null,\"follow\",null,null,null,null]' // generateCacheKey(new Request('https://blank'));\n;\n// Headers that should not affect deduplication\n// traceparent and tracestate are used for distributed tracing and should not affect cache keys\nconst headersToExcludeInCacheKey = new Set([\n 'traceparent',\n 'tracestate'\n]);\nfunction generateCacheKey(request) {\n // We pick the fields that goes into the key used to dedupe requests.\n // We don't include the `cache` field, because we end up using whatever\n // caching resulted from the first request.\n // Notably we currently don't consider non-standard (or future) options.\n // This might not be safe. TODO: warn for non-standard extensions differing.\n // IF YOU CHANGE THIS UPDATE THE simpleCacheKey ABOVE.\n const filteredHeaders = Array.from(request.headers.entries()).filter(([key])=>!headersToExcludeInCacheKey.has(key.toLowerCase()));\n return JSON.stringify([\n request.method,\n filteredHeaders,\n request.mode,\n request.redirect,\n request.credentials,\n request.referrer,\n request.referrerPolicy,\n request.integrity\n ]);\n}\nexport function createDedupeFetch(originalFetch) {\n const getCacheEntries = React.cache(// eslint-disable-next-line @typescript-eslint/no-unused-vars -- url is the cache key\n (url)=>[]);\n return function dedupeFetch(resource, options) {\n if (options && options.signal) {\n // If we're passed a signal, then we assume that\n // someone else controls the lifetime of this object and opts out of\n // caching. It's effectively the opt-out mechanism.\n // Ideally we should be able to check this on the Request but\n // it always gets initialized with its own signal so we don't\n // know if it's supposed to override - unless we also override the\n // Request constructor.\n return originalFetch(resource, options);\n }\n // Normalize the Request\n let url;\n let cacheKey;\n if (typeof resource === 'string' && !options) {\n // Fast path.\n cacheKey = simpleCacheKey;\n url = resource;\n } else {\n // Normalize the request.\n // if resource is not a string or a URL (its an instance of Request)\n // then do not instantiate a new Request but instead\n // reuse the request as to not disturb the body in the event it's a ReadableStream.\n const request = typeof resource === 'string' || resource instanceof URL ? new Request(resource, options) : resource;\n if (request.method !== 'GET' && request.method !== 'HEAD' || request.keepalive) {\n // We currently don't dedupe requests that might have side-effects. Those\n // have to be explicitly cached. We assume that the request doesn't have a\n // body if it's GET or HEAD.\n // keepalive gets treated the same as if you passed a custom cache signal.\n return originalFetch(resource, options);\n }\n cacheKey = generateCacheKey(request);\n url = request.url;\n }\n const cacheEntries = getCacheEntries(url);\n for(let i = 0, j = cacheEntries.length; i < j; i += 1){\n const [key, promise] = cacheEntries[i];\n if (key === cacheKey) {\n return promise.then(()=>{\n const response = cacheEntries[i][2];\n if (!response) throw Object.defineProperty(new InvariantError('No cached response'), \"__NEXT_ERROR_CODE\", {\n value: \"E579\",\n enumerable: false,\n configurable: true\n });\n // We're cloning the response using this utility because there exists\n // a bug in the undici library around response cloning. See the\n // following pull request for more details:\n // https://github.com/vercel/next.js/pull/73274\n const [cloned1, cloned2] = cloneResponse(response);\n cacheEntries[i][2] = cloned2;\n return cloned1;\n });\n }\n }\n // We pass the original arguments here in case normalizing the Request\n // doesn't include all the options in this environment.\n const promise = originalFetch(resource, options);\n const entry = [\n cacheKey,\n promise,\n null\n ];\n cacheEntries.push(entry);\n return promise.then((response)=>{\n // We're cloning the response using this utility because there exists\n // a bug in the undici library around response cloning. See the\n // following pull request for more details:\n // https://github.com/vercel/next.js/pull/73274\n const [cloned1, cloned2] = cloneResponse(response);\n entry[2] = cloned2;\n return cloned1;\n });\n };\n}\n\n//# sourceMappingURL=dedupe-fetch.js.map","import { isHTTPAccessFallbackError } from './http-access-fallback/http-access-fallback';\nimport { isRedirectError } from './redirect-error';\n/**\n * Returns true if the error is a navigation signal error. These errors are\n * thrown by user code to perform navigation operations and interrupt the React\n * render.\n */ export function isNextRouterError(error) {\n return isRedirectError(error) || isHTTPAccessFallbackError(error);\n}\n\n//# sourceMappingURL=is-next-router-error.js.map","import { workAsyncStorage } from '../app-render/work-async-storage.external';\nimport { ReflectAdapter } from '../web/spec-extension/adapters/reflect';\nimport { throwToInterruptStaticGeneration, postponeWithTracking, delayUntilRuntimeStage } from '../app-render/dynamic-rendering';\nimport { workUnitAsyncStorage, throwInvariantForMissingStore } from '../app-render/work-unit-async-storage.external';\nimport { InvariantError } from '../../shared/lib/invariant-error';\nimport { describeStringPropertyAccess, wellKnownProperties } from '../../shared/lib/utils/reflect-utils';\nimport { makeDevtoolsIOAwarePromise, makeHangingPromise } from '../dynamic-rendering-utils';\nimport { createDedupedByCallsiteServerErrorLoggerDev } from '../create-deduped-by-callsite-server-error-logger';\nimport { dynamicAccessAsyncStorage } from '../app-render/dynamic-access-async-storage.external';\nimport { RenderStage } from '../app-render/staged-rendering';\nexport function createParamsFromClient(underlyingParams, workStore) {\n const workUnitStore = workUnitAsyncStorage.getStore();\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-client':\n case 'prerender-ppr':\n case 'prerender-legacy':\n return createStaticPrerenderParams(underlyingParams, workStore, workUnitStore);\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n throw Object.defineProperty(new InvariantError('createParamsFromClient should not be called in cache contexts.'), \"__NEXT_ERROR_CODE\", {\n value: \"E736\",\n enumerable: false,\n configurable: true\n });\n case 'prerender-runtime':\n throw Object.defineProperty(new InvariantError('createParamsFromClient should not be called in a runtime prerender.'), \"__NEXT_ERROR_CODE\", {\n value: \"E770\",\n enumerable: false,\n configurable: true\n });\n case 'request':\n if (process.env.NODE_ENV === 'development') {\n // Semantically we only need the dev tracking when running in `next dev`\n // but since you would never use next dev with production NODE_ENV we use this\n // as a proxy so we can statically exclude this code from production builds.\n const devFallbackParams = workUnitStore.devFallbackParams;\n return createRenderParamsInDev(underlyingParams, devFallbackParams, workStore, workUnitStore);\n } else {\n return createRenderParamsInProd(underlyingParams);\n }\n default:\n workUnitStore;\n }\n }\n throwInvariantForMissingStore();\n}\nexport const createServerParamsForMetadata = createServerParamsForServerSegment;\n// routes always runs in RSC context so it is equivalent to a Server Page Component\nexport function createServerParamsForRoute(underlyingParams, workStore) {\n const workUnitStore = workUnitAsyncStorage.getStore();\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-client':\n case 'prerender-ppr':\n case 'prerender-legacy':\n return createStaticPrerenderParams(underlyingParams, workStore, workUnitStore);\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n throw Object.defineProperty(new InvariantError('createServerParamsForRoute should not be called in cache contexts.'), \"__NEXT_ERROR_CODE\", {\n value: \"E738\",\n enumerable: false,\n configurable: true\n });\n case 'prerender-runtime':\n return createRuntimePrerenderParams(underlyingParams, workUnitStore);\n case 'request':\n if (process.env.NODE_ENV === 'development') {\n // Semantically we only need the dev tracking when running in `next dev`\n // but since you would never use next dev with production NODE_ENV we use this\n // as a proxy so we can statically exclude this code from production builds.\n const devFallbackParams = workUnitStore.devFallbackParams;\n return createRenderParamsInDev(underlyingParams, devFallbackParams, workStore, workUnitStore);\n } else {\n return createRenderParamsInProd(underlyingParams);\n }\n default:\n workUnitStore;\n }\n }\n throwInvariantForMissingStore();\n}\nexport function createServerParamsForServerSegment(underlyingParams, workStore) {\n const workUnitStore = workUnitAsyncStorage.getStore();\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-client':\n case 'prerender-ppr':\n case 'prerender-legacy':\n return createStaticPrerenderParams(underlyingParams, workStore, workUnitStore);\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n throw Object.defineProperty(new InvariantError('createServerParamsForServerSegment should not be called in cache contexts.'), \"__NEXT_ERROR_CODE\", {\n value: \"E743\",\n enumerable: false,\n configurable: true\n });\n case 'prerender-runtime':\n return createRuntimePrerenderParams(underlyingParams, workUnitStore);\n case 'request':\n if (process.env.NODE_ENV === 'development') {\n // Semantically we only need the dev tracking when running in `next dev`\n // but since you would never use next dev with production NODE_ENV we use this\n // as a proxy so we can statically exclude this code from production builds.\n const devFallbackParams = workUnitStore.devFallbackParams;\n return createRenderParamsInDev(underlyingParams, devFallbackParams, workStore, workUnitStore);\n } else {\n return createRenderParamsInProd(underlyingParams);\n }\n default:\n workUnitStore;\n }\n }\n throwInvariantForMissingStore();\n}\nexport function createPrerenderParamsForClientSegment(underlyingParams) {\n const workStore = workAsyncStorage.getStore();\n if (!workStore) {\n throw Object.defineProperty(new InvariantError('Missing workStore in createPrerenderParamsForClientSegment'), \"__NEXT_ERROR_CODE\", {\n value: \"E773\",\n enumerable: false,\n configurable: true\n });\n }\n const workUnitStore = workUnitAsyncStorage.getStore();\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-client':\n const fallbackParams = workUnitStore.fallbackRouteParams;\n if (fallbackParams) {\n for(let key in underlyingParams){\n if (fallbackParams.has(key)) {\n // This params object has one or more fallback params, so we need\n // to consider the awaiting of this params object \"dynamic\". Since\n // we are in cacheComponents mode we encode this as a promise that never\n // resolves.\n return makeHangingPromise(workUnitStore.renderSignal, workStore.route, '`params`');\n }\n }\n }\n break;\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n throw Object.defineProperty(new InvariantError('createPrerenderParamsForClientSegment should not be called in cache contexts.'), \"__NEXT_ERROR_CODE\", {\n value: \"E734\",\n enumerable: false,\n configurable: true\n });\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'prerender-runtime':\n case 'request':\n break;\n default:\n workUnitStore;\n }\n }\n // We're prerendering in a mode that does not abort. We resolve the promise without\n // any tracking because we're just transporting a value from server to client where the tracking\n // will be applied.\n return Promise.resolve(underlyingParams);\n}\nfunction createStaticPrerenderParams(underlyingParams, workStore, prerenderStore) {\n switch(prerenderStore.type){\n case 'prerender':\n case 'prerender-client':\n {\n const fallbackParams = prerenderStore.fallbackRouteParams;\n if (fallbackParams) {\n for(const key in underlyingParams){\n if (fallbackParams.has(key)) {\n // This params object has one or more fallback params, so we need\n // to consider the awaiting of this params object \"dynamic\". Since\n // we are in cacheComponents mode we encode this as a promise that never\n // resolves.\n return makeHangingParams(underlyingParams, workStore, prerenderStore);\n }\n }\n }\n break;\n }\n case 'prerender-ppr':\n {\n const fallbackParams = prerenderStore.fallbackRouteParams;\n if (fallbackParams) {\n for(const key in underlyingParams){\n if (fallbackParams.has(key)) {\n return makeErroringParams(underlyingParams, fallbackParams, workStore, prerenderStore);\n }\n }\n }\n break;\n }\n case 'prerender-legacy':\n break;\n default:\n prerenderStore;\n }\n return makeUntrackedParams(underlyingParams);\n}\nfunction createRuntimePrerenderParams(underlyingParams, workUnitStore) {\n return delayUntilRuntimeStage(workUnitStore, makeUntrackedParams(underlyingParams));\n}\nfunction createRenderParamsInProd(underlyingParams) {\n return makeUntrackedParams(underlyingParams);\n}\nfunction createRenderParamsInDev(underlyingParams, devFallbackParams, workStore, requestStore) {\n let hasFallbackParams = false;\n if (devFallbackParams) {\n for(let key in underlyingParams){\n if (devFallbackParams.has(key)) {\n hasFallbackParams = true;\n break;\n }\n }\n }\n return makeDynamicallyTrackedParamsWithDevWarnings(underlyingParams, hasFallbackParams, workStore, requestStore);\n}\nconst CachedParams = new WeakMap();\nconst fallbackParamsProxyHandler = {\n get: function get(target, prop, receiver) {\n if (prop === 'then' || prop === 'catch' || prop === 'finally') {\n const originalMethod = ReflectAdapter.get(target, prop, receiver);\n return ({\n [prop]: (...args)=>{\n const store = dynamicAccessAsyncStorage.getStore();\n if (store) {\n store.abortController.abort(Object.defineProperty(new Error(`Accessed fallback \\`params\\` during prerendering.`), \"__NEXT_ERROR_CODE\", {\n value: \"E691\",\n enumerable: false,\n configurable: true\n }));\n }\n return new Proxy(originalMethod.apply(target, args), fallbackParamsProxyHandler);\n }\n })[prop];\n }\n return ReflectAdapter.get(target, prop, receiver);\n }\n};\nfunction makeHangingParams(underlyingParams, workStore, prerenderStore) {\n const cachedParams = CachedParams.get(underlyingParams);\n if (cachedParams) {\n return cachedParams;\n }\n const promise = new Proxy(makeHangingPromise(prerenderStore.renderSignal, workStore.route, '`params`'), fallbackParamsProxyHandler);\n CachedParams.set(underlyingParams, promise);\n return promise;\n}\nfunction makeErroringParams(underlyingParams, fallbackParams, workStore, prerenderStore) {\n const cachedParams = CachedParams.get(underlyingParams);\n if (cachedParams) {\n return cachedParams;\n }\n const augmentedUnderlying = {\n ...underlyingParams\n };\n // We don't use makeResolvedReactPromise here because params\n // supports copying with spread and we don't want to unnecessarily\n // instrument the promise with spreadable properties of ReactPromise.\n const promise = Promise.resolve(augmentedUnderlying);\n CachedParams.set(underlyingParams, promise);\n Object.keys(underlyingParams).forEach((prop)=>{\n if (wellKnownProperties.has(prop)) {\n // These properties cannot be shadowed because they need to be the\n // true underlying value for Promises to work correctly at runtime\n } else {\n if (fallbackParams.has(prop)) {\n Object.defineProperty(augmentedUnderlying, prop, {\n get () {\n const expression = describeStringPropertyAccess('params', prop);\n // In most dynamic APIs we also throw if `dynamic = \"error\"` however\n // for params is only dynamic when we're generating a fallback shell\n // and even when `dynamic = \"error\"` we still support generating dynamic\n // fallback shells\n // TODO remove this comment when cacheComponents is the default since there\n // will be no `dynamic = \"error\"`\n if (prerenderStore.type === 'prerender-ppr') {\n // PPR Prerender (no cacheComponents)\n postponeWithTracking(workStore.route, expression, prerenderStore.dynamicTracking);\n } else {\n // Legacy Prerender\n throwToInterruptStaticGeneration(expression, workStore, prerenderStore);\n }\n },\n enumerable: true\n });\n }\n }\n });\n return promise;\n}\nfunction makeUntrackedParams(underlyingParams) {\n const cachedParams = CachedParams.get(underlyingParams);\n if (cachedParams) {\n return cachedParams;\n }\n const promise = Promise.resolve(underlyingParams);\n CachedParams.set(underlyingParams, promise);\n return promise;\n}\nfunction makeDynamicallyTrackedParamsWithDevWarnings(underlyingParams, hasFallbackParams, workStore, requestStore) {\n if (requestStore.asyncApiPromises && hasFallbackParams) {\n // We wrap each instance of params in a `new Promise()`, because deduping\n // them across requests doesn't work anyway and this let us show each\n // await a different set of values. This is important when all awaits\n // are in third party which would otherwise track all the way to the\n // internal params.\n const sharedParamsParent = requestStore.asyncApiPromises.sharedParamsParent;\n const promise = new Promise((resolve, reject)=>{\n sharedParamsParent.then(()=>resolve(underlyingParams), reject);\n });\n // @ts-expect-error\n promise.displayName = 'params';\n return instrumentParamsPromiseWithDevWarnings(underlyingParams, promise, workStore);\n }\n const cachedParams = CachedParams.get(underlyingParams);\n if (cachedParams) {\n return cachedParams;\n }\n // We don't use makeResolvedReactPromise here because params\n // supports copying with spread and we don't want to unnecessarily\n // instrument the promise with spreadable properties of ReactPromise.\n const promise = hasFallbackParams ? makeDevtoolsIOAwarePromise(underlyingParams, requestStore, RenderStage.Runtime) : Promise.resolve(underlyingParams);\n const proxiedPromise = instrumentParamsPromiseWithDevWarnings(underlyingParams, promise, workStore);\n CachedParams.set(underlyingParams, proxiedPromise);\n return proxiedPromise;\n}\nfunction instrumentParamsPromiseWithDevWarnings(underlyingParams, promise, workStore) {\n // Track which properties we should warn for.\n const proxiedProperties = new Set();\n Object.keys(underlyingParams).forEach((prop)=>{\n if (wellKnownProperties.has(prop)) {\n // These properties cannot be shadowed because they need to be the\n // true underlying value for Promises to work correctly at runtime\n } else {\n proxiedProperties.add(prop);\n }\n });\n return new Proxy(promise, {\n get (target, prop, receiver) {\n if (typeof prop === 'string') {\n if (// We are accessing a property that was proxied to the promise instance\n proxiedProperties.has(prop)) {\n const expression = describeStringPropertyAccess('params', prop);\n warnForSyncAccess(workStore.route, expression);\n }\n }\n return ReflectAdapter.get(target, prop, receiver);\n },\n set (target, prop, value, receiver) {\n if (typeof prop === 'string') {\n proxiedProperties.delete(prop);\n }\n return ReflectAdapter.set(target, prop, value, receiver);\n },\n ownKeys (target) {\n const expression = '`...params` or similar expression';\n warnForSyncAccess(workStore.route, expression);\n return Reflect.ownKeys(target);\n }\n });\n}\nconst warnForSyncAccess = createDedupedByCallsiteServerErrorLoggerDev(createParamsAccessError);\nfunction createParamsAccessError(route, expression) {\n const prefix = route ? `Route \"${route}\" ` : 'This route ';\n return Object.defineProperty(new Error(`${prefix}used ${expression}. ` + `\\`params\\` is a Promise and must be unwrapped with \\`await\\` or \\`React.use()\\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`), \"__NEXT_ERROR_CODE\", {\n value: \"E834\",\n enumerable: false,\n configurable: true\n });\n}\n\n//# sourceMappingURL=params.js.map","/**\n * The functions provided by this module are used to communicate certain properties\n * about the currently running code so that Next.js can make decisions on how to handle\n * the current execution in different rendering modes such as pre-rendering, resuming, and SSR.\n *\n * Today Next.js treats all code as potentially static. Certain APIs may only make sense when dynamically rendering.\n * Traditionally this meant deopting the entire render to dynamic however with PPR we can now deopt parts\n * of a React tree as dynamic while still keeping other parts static. There are really two different kinds of\n * Dynamic indications.\n *\n * The first is simply an intention to be dynamic. unstable_noStore is an example of this where\n * the currently executing code simply declares that the current scope is dynamic but if you use it\n * inside unstable_cache it can still be cached. This type of indication can be removed if we ever\n * make the default dynamic to begin with because the only way you would ever be static is inside\n * a cache scope which this indication does not affect.\n *\n * The second is an indication that a dynamic data source was read. This is a stronger form of dynamic\n * because it means that it is inappropriate to cache this at all. using a dynamic data source inside\n * unstable_cache should error. If you want to use some dynamic data inside unstable_cache you should\n * read that data outside the cache and pass it in as an argument to the cached function.\n */ // Once postpone is in stable we should switch to importing the postpone export directly\nimport React from 'react';\nimport { DynamicServerError } from '../../client/components/hooks-server-context';\nimport { StaticGenBailoutError } from '../../client/components/static-generation-bailout';\nimport { getRuntimeStagePromise, throwForMissingRequestStore, workUnitAsyncStorage } from './work-unit-async-storage.external';\nimport { workAsyncStorage } from '../app-render/work-async-storage.external';\nimport { makeHangingPromise } from '../dynamic-rendering-utils';\nimport { METADATA_BOUNDARY_NAME, VIEWPORT_BOUNDARY_NAME, OUTLET_BOUNDARY_NAME, ROOT_LAYOUT_BOUNDARY_NAME } from '../../lib/framework/boundary-constants';\nimport { scheduleOnNextTick } from '../../lib/scheduler';\nimport { BailoutToCSRError } from '../../shared/lib/lazy-dynamic/bailout-to-csr';\nimport { InvariantError } from '../../shared/lib/invariant-error';\nimport { RenderStage } from './staged-rendering';\nconst hasPostpone = typeof React.unstable_postpone === 'function';\nexport function createDynamicTrackingState(isDebugDynamicAccesses) {\n return {\n isDebugDynamicAccesses,\n dynamicAccesses: [],\n syncDynamicErrorWithStack: null\n };\n}\nexport function createDynamicValidationState() {\n return {\n hasSuspenseAboveBody: false,\n hasDynamicMetadata: false,\n hasDynamicViewport: false,\n hasAllowedDynamic: false,\n dynamicErrors: []\n };\n}\nexport function getFirstDynamicReason(trackingState) {\n var _trackingState_dynamicAccesses_;\n return (_trackingState_dynamicAccesses_ = trackingState.dynamicAccesses[0]) == null ? void 0 : _trackingState_dynamicAccesses_.expression;\n}\n/**\n * This function communicates that the current scope should be treated as dynamic.\n *\n * In most cases this function is a no-op but if called during\n * a PPR prerender it will postpone the current sub-tree and calling\n * it during a normal prerender will cause the entire prerender to abort\n */ export function markCurrentScopeAsDynamic(store, workUnitStore, expression) {\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'cache':\n case 'unstable-cache':\n // Inside cache scopes, marking a scope as dynamic has no effect,\n // because the outer cache scope creates a cache boundary. This is\n // subtly different from reading a dynamic data source, which is\n // forbidden inside a cache scope.\n return;\n case 'private-cache':\n // A private cache scope is already dynamic by definition.\n return;\n case 'prerender-legacy':\n case 'prerender-ppr':\n case 'request':\n break;\n default:\n workUnitStore;\n }\n }\n // If we're forcing dynamic rendering or we're forcing static rendering, we\n // don't need to do anything here because the entire page is already dynamic\n // or it's static and it should not throw or postpone here.\n if (store.forceDynamic || store.forceStatic) return;\n if (store.dynamicShouldError) {\n throw Object.defineProperty(new StaticGenBailoutError(`Route ${store.route} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`), \"__NEXT_ERROR_CODE\", {\n value: \"E553\",\n enumerable: false,\n configurable: true\n });\n }\n if (workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender-ppr':\n return postponeWithTracking(store.route, expression, workUnitStore.dynamicTracking);\n case 'prerender-legacy':\n workUnitStore.revalidate = 0;\n // We aren't prerendering, but we are generating a static page. We need\n // to bail out of static generation.\n const err = Object.defineProperty(new DynamicServerError(`Route ${store.route} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`), \"__NEXT_ERROR_CODE\", {\n value: \"E550\",\n enumerable: false,\n configurable: true\n });\n store.dynamicUsageDescription = expression;\n store.dynamicUsageStack = err.stack;\n throw err;\n case 'request':\n if (process.env.NODE_ENV !== 'production') {\n workUnitStore.usedDynamic = true;\n }\n break;\n default:\n workUnitStore;\n }\n }\n}\n/**\n * This function is meant to be used when prerendering without cacheComponents or PPR.\n * When called during a build it will cause Next.js to consider the route as dynamic.\n *\n * @internal\n */ export function throwToInterruptStaticGeneration(expression, store, prerenderStore) {\n // We aren't prerendering but we are generating a static page. We need to bail out of static generation\n const err = Object.defineProperty(new DynamicServerError(`Route ${store.route} couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`), \"__NEXT_ERROR_CODE\", {\n value: \"E558\",\n enumerable: false,\n configurable: true\n });\n prerenderStore.revalidate = 0;\n store.dynamicUsageDescription = expression;\n store.dynamicUsageStack = err.stack;\n throw err;\n}\n/**\n * This function should be used to track whether something dynamic happened even when\n * we are in a dynamic render. This is useful for Dev where all renders are dynamic but\n * we still track whether dynamic APIs were accessed for helpful messaging\n *\n * @internal\n */ export function trackDynamicDataInDynamicRender(workUnitStore) {\n switch(workUnitStore.type){\n case 'cache':\n case 'unstable-cache':\n // Inside cache scopes, marking a scope as dynamic has no effect,\n // because the outer cache scope creates a cache boundary. This is\n // subtly different from reading a dynamic data source, which is\n // forbidden inside a cache scope.\n return;\n case 'private-cache':\n // A private cache scope is already dynamic by definition.\n return;\n case 'prerender':\n case 'prerender-runtime':\n case 'prerender-legacy':\n case 'prerender-ppr':\n case 'prerender-client':\n break;\n case 'request':\n if (process.env.NODE_ENV !== 'production') {\n workUnitStore.usedDynamic = true;\n }\n break;\n default:\n workUnitStore;\n }\n}\nfunction abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore) {\n const reason = `Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`;\n const error = createPrerenderInterruptedError(reason);\n prerenderStore.controller.abort(error);\n const dynamicTracking = prerenderStore.dynamicTracking;\n if (dynamicTracking) {\n dynamicTracking.dynamicAccesses.push({\n // When we aren't debugging, we don't need to create another error for the\n // stack trace.\n stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined,\n expression\n });\n }\n}\nexport function abortOnSynchronousPlatformIOAccess(route, expression, errorWithStack, prerenderStore) {\n const dynamicTracking = prerenderStore.dynamicTracking;\n abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore);\n // It is important that we set this tracking value after aborting. Aborts are executed\n // synchronously except for the case where you abort during render itself. By setting this\n // value late we can use it to determine if any of the aborted tasks are the task that\n // called the sync IO expression in the first place.\n if (dynamicTracking) {\n if (dynamicTracking.syncDynamicErrorWithStack === null) {\n dynamicTracking.syncDynamicErrorWithStack = errorWithStack;\n }\n }\n}\nexport function trackSynchronousPlatformIOAccessInDev(requestStore) {\n // We don't actually have a controller to abort but we do the semantic equivalent by\n // advancing the request store out of the prerender stage\n if (requestStore.stagedRendering) {\n // TODO: error for sync IO in the runtime stage\n // (which is not currently covered by the validation render in `spawnDynamicValidationInDev`)\n requestStore.stagedRendering.advanceStage(RenderStage.Dynamic);\n }\n}\n/**\n * use this function when prerendering with cacheComponents. If we are doing a\n * prospective prerender we don't actually abort because we want to discover\n * all caches for the shell. If this is the actual prerender we do abort.\n *\n * This function accepts a prerenderStore but the caller should ensure we're\n * actually running in cacheComponents mode.\n *\n * @internal\n */ export function abortAndThrowOnSynchronousRequestDataAccess(route, expression, errorWithStack, prerenderStore) {\n const prerenderSignal = prerenderStore.controller.signal;\n if (prerenderSignal.aborted === false) {\n // TODO it would be better to move this aborted check into the callsite so we can avoid making\n // the error object when it isn't relevant to the aborting of the prerender however\n // since we need the throw semantics regardless of whether we abort it is easier to land\n // this way. See how this was handled with `abortOnSynchronousPlatformIOAccess` for a closer\n // to ideal implementation\n abortOnSynchronousDynamicDataAccess(route, expression, prerenderStore);\n // It is important that we set this tracking value after aborting. Aborts are executed\n // synchronously except for the case where you abort during render itself. By setting this\n // value late we can use it to determine if any of the aborted tasks are the task that\n // called the sync IO expression in the first place.\n const dynamicTracking = prerenderStore.dynamicTracking;\n if (dynamicTracking) {\n if (dynamicTracking.syncDynamicErrorWithStack === null) {\n dynamicTracking.syncDynamicErrorWithStack = errorWithStack;\n }\n }\n }\n throw createPrerenderInterruptedError(`Route ${route} needs to bail out of prerendering at this point because it used ${expression}.`);\n}\nexport function Postpone({ reason, route }) {\n const prerenderStore = workUnitAsyncStorage.getStore();\n const dynamicTracking = prerenderStore && prerenderStore.type === 'prerender-ppr' ? prerenderStore.dynamicTracking : null;\n postponeWithTracking(route, reason, dynamicTracking);\n}\nexport function postponeWithTracking(route, expression, dynamicTracking) {\n assertPostpone();\n if (dynamicTracking) {\n dynamicTracking.dynamicAccesses.push({\n // When we aren't debugging, we don't need to create another error for the\n // stack trace.\n stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined,\n expression\n });\n }\n React.unstable_postpone(createPostponeReason(route, expression));\n}\nfunction createPostponeReason(route, expression) {\n return `Route ${route} needs to bail out of prerendering at this point because it used ${expression}. ` + `React throws this special object to indicate where. It should not be caught by ` + `your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`;\n}\nexport function isDynamicPostpone(err) {\n if (typeof err === 'object' && err !== null && typeof err.message === 'string') {\n return isDynamicPostponeReason(err.message);\n }\n return false;\n}\nfunction isDynamicPostponeReason(reason) {\n return reason.includes('needs to bail out of prerendering at this point because it used') && reason.includes('Learn more: https://nextjs.org/docs/messages/ppr-caught-error');\n}\nif (isDynamicPostponeReason(createPostponeReason('%%%', '^^^')) === false) {\n throw Object.defineProperty(new Error('Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js'), \"__NEXT_ERROR_CODE\", {\n value: \"E296\",\n enumerable: false,\n configurable: true\n });\n}\nconst NEXT_PRERENDER_INTERRUPTED = 'NEXT_PRERENDER_INTERRUPTED';\nfunction createPrerenderInterruptedError(message) {\n const error = Object.defineProperty(new Error(message), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n error.digest = NEXT_PRERENDER_INTERRUPTED;\n return error;\n}\nexport function isPrerenderInterruptedError(error) {\n return typeof error === 'object' && error !== null && error.digest === NEXT_PRERENDER_INTERRUPTED && 'name' in error && 'message' in error && error instanceof Error;\n}\nexport function accessedDynamicData(dynamicAccesses) {\n return dynamicAccesses.length > 0;\n}\nexport function consumeDynamicAccess(serverDynamic, clientDynamic) {\n // We mutate because we only call this once we are no longer writing\n // to the dynamicTrackingState and it's more efficient than creating a new\n // array.\n serverDynamic.dynamicAccesses.push(...clientDynamic.dynamicAccesses);\n return serverDynamic.dynamicAccesses;\n}\nexport function formatDynamicAPIAccesses(dynamicAccesses) {\n return dynamicAccesses.filter((access)=>typeof access.stack === 'string' && access.stack.length > 0).map(({ expression, stack })=>{\n stack = stack.split('\\n')// Remove the \"Error: \" prefix from the first line of the stack trace as\n // well as the first 4 lines of the stack trace which is the distance\n // from the user code and the `new Error().stack` call.\n .slice(4).filter((line)=>{\n // Exclude Next.js internals from the stack trace.\n if (line.includes('node_modules/next/')) {\n return false;\n }\n // Exclude anonymous functions from the stack trace.\n if (line.includes(' (<anonymous>)')) {\n return false;\n }\n // Exclude Node.js internals from the stack trace.\n if (line.includes(' (node:')) {\n return false;\n }\n return true;\n }).join('\\n');\n return `Dynamic API Usage Debug - ${expression}:\\n${stack}`;\n });\n}\nfunction assertPostpone() {\n if (!hasPostpone) {\n throw Object.defineProperty(new Error(`Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js`), \"__NEXT_ERROR_CODE\", {\n value: \"E224\",\n enumerable: false,\n configurable: true\n });\n }\n}\n/**\n * This is a bit of a hack to allow us to abort a render using a Postpone instance instead of an Error which changes React's\n * abort semantics slightly.\n */ export function createRenderInBrowserAbortSignal() {\n const controller = new AbortController();\n controller.abort(Object.defineProperty(new BailoutToCSRError('Render in Browser'), \"__NEXT_ERROR_CODE\", {\n value: \"E721\",\n enumerable: false,\n configurable: true\n }));\n return controller.signal;\n}\n/**\n * In a prerender, we may end up with hanging Promises as inputs due them\n * stalling on connection() or because they're loading dynamic data. In that\n * case we need to abort the encoding of arguments since they'll never complete.\n */ export function createHangingInputAbortSignal(workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender':\n case 'prerender-runtime':\n const controller = new AbortController();\n if (workUnitStore.cacheSignal) {\n // If we have a cacheSignal it means we're in a prospective render. If\n // the input we're waiting on is coming from another cache, we do want\n // to wait for it so that we can resolve this cache entry too.\n workUnitStore.cacheSignal.inputReady().then(()=>{\n controller.abort();\n });\n } else {\n // Otherwise we're in the final render and we should already have all\n // our caches filled.\n // If the prerender uses stages, we have wait until the runtime stage,\n // at which point all runtime inputs will be resolved.\n // (otherwise, a runtime prerender might consider `cookies()` hanging\n // even though they'd resolve in the next task.)\n //\n // We might still be waiting on some microtasks so we\n // wait one tick before giving up. When we give up, we still want to\n // render the content of this cache as deeply as we can so that we can\n // suspend as deeply as possible in the tree or not at all if we don't\n // end up waiting for the input.\n const runtimeStagePromise = getRuntimeStagePromise(workUnitStore);\n if (runtimeStagePromise) {\n runtimeStagePromise.then(()=>scheduleOnNextTick(()=>controller.abort()));\n } else {\n scheduleOnNextTick(()=>controller.abort());\n }\n }\n return controller.signal;\n case 'prerender-client':\n case 'prerender-ppr':\n case 'prerender-legacy':\n case 'request':\n case 'cache':\n case 'private-cache':\n case 'unstable-cache':\n return undefined;\n default:\n workUnitStore;\n }\n}\nexport function annotateDynamicAccess(expression, prerenderStore) {\n const dynamicTracking = prerenderStore.dynamicTracking;\n if (dynamicTracking) {\n dynamicTracking.dynamicAccesses.push({\n stack: dynamicTracking.isDebugDynamicAccesses ? new Error().stack : undefined,\n expression\n });\n }\n}\nexport function useDynamicRouteParams(expression) {\n const workStore = workAsyncStorage.getStore();\n const workUnitStore = workUnitAsyncStorage.getStore();\n if (workStore && workUnitStore) {\n switch(workUnitStore.type){\n case 'prerender-client':\n case 'prerender':\n {\n const fallbackParams = workUnitStore.fallbackRouteParams;\n if (fallbackParams && fallbackParams.size > 0) {\n // We are in a prerender with cacheComponents semantics. We are going to\n // hang here and never resolve. This will cause the currently\n // rendering component to effectively be a dynamic hole.\n React.use(makeHangingPromise(workUnitStore.renderSignal, workStore.route, expression));\n }\n break;\n }\n case 'prerender-ppr':\n {\n const fallbackParams = workUnitStore.fallbackRouteParams;\n if (fallbackParams && fallbackParams.size > 0) {\n return postponeWithTracking(workStore.route, expression, workUnitStore.dynamicTracking);\n }\n break;\n }\n case 'prerender-runtime':\n throw Object.defineProperty(new InvariantError(`\\`${expression}\\` was called during a runtime prerender. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), \"__NEXT_ERROR_CODE\", {\n value: \"E771\",\n enumerable: false,\n configurable: true\n });\n case 'cache':\n case 'private-cache':\n throw Object.defineProperty(new InvariantError(`\\`${expression}\\` was called inside a cache scope. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), \"__NEXT_ERROR_CODE\", {\n value: \"E745\",\n enumerable: false,\n configurable: true\n });\n case 'prerender-legacy':\n case 'request':\n case 'unstable-cache':\n break;\n default:\n workUnitStore;\n }\n }\n}\nexport function useDynamicSearchParams(expression) {\n const workStore = workAsyncStorage.getStore();\n const workUnitStore = workUnitAsyncStorage.getStore();\n if (!workStore) {\n // We assume pages router context and just return\n return;\n }\n if (!workUnitStore) {\n throwForMissingRequestStore(expression);\n }\n switch(workUnitStore.type){\n case 'prerender-client':\n {\n React.use(makeHangingPromise(workUnitStore.renderSignal, workStore.route, expression));\n break;\n }\n case 'prerender-legacy':\n case 'prerender-ppr':\n {\n if (workStore.forceStatic) {\n return;\n }\n throw Object.defineProperty(new BailoutToCSRError(expression), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n }\n case 'prerender':\n case 'prerender-runtime':\n throw Object.defineProperty(new InvariantError(`\\`${expression}\\` was called from a Server Component. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), \"__NEXT_ERROR_CODE\", {\n value: \"E795\",\n enumerable: false,\n configurable: true\n });\n case 'cache':\n case 'unstable-cache':\n case 'private-cache':\n throw Object.defineProperty(new InvariantError(`\\`${expression}\\` was called inside a cache scope. Next.js should be preventing ${expression} from being included in server components statically, but did not in this case.`), \"__NEXT_ERROR_CODE\", {\n value: \"E745\",\n enumerable: false,\n configurable: true\n });\n case 'request':\n return;\n default:\n workUnitStore;\n }\n}\nconst hasSuspenseRegex = /\\n\\s+at Suspense \\(<anonymous>\\)/;\n// Common implicit body tags that React will treat as body when placed directly in html\nconst bodyAndImplicitTags = 'body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6';\n// Detects when RootLayoutBoundary (our framework marker component) appears\n// after Suspense in the component stack, indicating the root layout is wrapped\n// within a Suspense boundary. Ensures no body/html/implicit-body components are in between.\n//\n// Example matches:\n// at Suspense (<anonymous>)\n// at __next_root_layout_boundary__ (<anonymous>)\n//\n// Or with other components in between (but not body/html/implicit-body):\n// at Suspense (<anonymous>)\n// at SomeComponent (<anonymous>)\n// at __next_root_layout_boundary__ (<anonymous>)\nconst hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex = new RegExp(`\\\\n\\\\s+at Suspense \\\\(<anonymous>\\\\)(?:(?!\\\\n\\\\s+at (?:${bodyAndImplicitTags}) \\\\(<anonymous>\\\\))[\\\\s\\\\S])*?\\\\n\\\\s+at ${ROOT_LAYOUT_BOUNDARY_NAME} \\\\([^\\\\n]*\\\\)`);\nconst hasMetadataRegex = new RegExp(`\\\\n\\\\s+at ${METADATA_BOUNDARY_NAME}[\\\\n\\\\s]`);\nconst hasViewportRegex = new RegExp(`\\\\n\\\\s+at ${VIEWPORT_BOUNDARY_NAME}[\\\\n\\\\s]`);\nconst hasOutletRegex = new RegExp(`\\\\n\\\\s+at ${OUTLET_BOUNDARY_NAME}[\\\\n\\\\s]`);\nexport function trackAllowedDynamicAccess(workStore, componentStack, dynamicValidation, clientDynamic) {\n if (hasOutletRegex.test(componentStack)) {\n // We don't need to track that this is dynamic. It is only so when something else is also dynamic.\n return;\n } else if (hasMetadataRegex.test(componentStack)) {\n dynamicValidation.hasDynamicMetadata = true;\n return;\n } else if (hasViewportRegex.test(componentStack)) {\n dynamicValidation.hasDynamicViewport = true;\n return;\n } else if (hasSuspenseBeforeRootLayoutWithoutBodyOrImplicitBodyRegex.test(componentStack)) {\n // For Suspense within body, the prelude wouldn't be empty so it wouldn't violate the empty static shells rule.\n // But if you have Suspense above body, the prelude is empty but we allow that because having Suspense\n // is an explicit signal from the user that they acknowledge the empty shell and want dynamic rendering.\n dynamicValidation.hasAllowedDynamic = true;\n dynamicValidation.hasSuspenseAboveBody = true;\n return;\n } else if (hasSuspenseRegex.test(componentStack)) {\n // this error had a Suspense boundary above it so we don't need to report it as a source\n // of disallowed\n dynamicValidation.hasAllowedDynamic = true;\n return;\n } else if (clientDynamic.syncDynamicErrorWithStack) {\n // This task was the task that called the sync error.\n dynamicValidation.dynamicErrors.push(clientDynamic.syncDynamicErrorWithStack);\n return;\n } else {\n const message = `Route \"${workStore.route}\": Uncached data was accessed outside of ` + '<Suspense>. This delays the entire page from rendering, resulting in a ' + 'slow user experience. Learn more: ' + 'https://nextjs.org/docs/messages/blocking-route';\n const error = createErrorWithComponentOrOwnerStack(message, componentStack);\n dynamicValidation.dynamicErrors.push(error);\n return;\n }\n}\n/**\n * In dev mode, we prefer using the owner stack, otherwise the provided\n * component stack is used.\n */ function createErrorWithComponentOrOwnerStack(message, componentStack) {\n const ownerStack = process.env.NODE_ENV !== 'production' && React.captureOwnerStack ? React.captureOwnerStack() : null;\n const error = Object.defineProperty(new Error(message), \"__NEXT_ERROR_CODE\", {\n value: \"E394\",\n enumerable: false,\n configurable: true\n });\n error.stack = error.name + ': ' + message + (ownerStack ?? componentStack);\n return error;\n}\nexport var PreludeState = /*#__PURE__*/ function(PreludeState) {\n PreludeState[PreludeState[\"Full\"] = 0] = \"Full\";\n PreludeState[PreludeState[\"Empty\"] = 1] = \"Empty\";\n PreludeState[PreludeState[\"Errored\"] = 2] = \"Errored\";\n return PreludeState;\n}({});\nexport function logDisallowedDynamicError(workStore, error) {\n console.error(error);\n if (!workStore.dev) {\n if (workStore.hasReadableErrorStacks) {\n console.error(`To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running \\`next dev\\`, then open \"${workStore.route}\" in your browser to investigate the error.`);\n } else {\n console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:\n - Start the app in development mode by running \\`next dev\\`, then open \"${workStore.route}\" in your browser to investigate the error.\n - Rerun the production build with \\`next build --debug-prerender\\` to generate better stack traces.`);\n }\n }\n}\nexport function throwIfDisallowedDynamic(workStore, prelude, dynamicValidation, serverDynamic) {\n if (serverDynamic.syncDynamicErrorWithStack) {\n logDisallowedDynamicError(workStore, serverDynamic.syncDynamicErrorWithStack);\n throw new StaticGenBailoutError();\n }\n if (prelude !== 0) {\n if (dynamicValidation.hasSuspenseAboveBody) {\n // This route has opted into allowing fully dynamic rendering\n // by including a Suspense boundary above the body. In this case\n // a lack of a shell is not considered disallowed so we simply return\n return;\n }\n // We didn't have any sync bailouts but there may be user code which\n // blocked the root. We would have captured these during the prerender\n // and can log them here and then terminate the build/validating render\n const dynamicErrors = dynamicValidation.dynamicErrors;\n if (dynamicErrors.length > 0) {\n for(let i = 0; i < dynamicErrors.length; i++){\n logDisallowedDynamicError(workStore, dynamicErrors[i]);\n }\n throw new StaticGenBailoutError();\n }\n // If we got this far then the only other thing that could be blocking\n // the root is dynamic Viewport. If this is dynamic then\n // you need to opt into that by adding a Suspense boundary above the body\n // to indicate your are ok with fully dynamic rendering.\n if (dynamicValidation.hasDynamicViewport) {\n console.error(`Route \"${workStore.route}\" has a \\`generateViewport\\` that depends on Request data (\\`cookies()\\`, etc...) or uncached external data (\\`fetch(...)\\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`);\n throw new StaticGenBailoutError();\n }\n if (prelude === 1) {\n // If we ever get this far then we messed up the tracking of invalid dynamic.\n // We still adhere to the constraint that you must produce a shell but invite the\n // user to report this as a bug in Next.js.\n console.error(`Route \"${workStore.route}\" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`);\n throw new StaticGenBailoutError();\n }\n } else {\n if (dynamicValidation.hasAllowedDynamic === false && dynamicValidation.hasDynamicMetadata) {\n console.error(`Route \"${workStore.route}\" has a \\`generateMetadata\\` that depends on Request data (\\`cookies()\\`, etc...) or uncached external data (\\`fetch(...)\\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`);\n throw new StaticGenBailoutError();\n }\n }\n}\nexport function delayUntilRuntimeStage(prerenderStore, result) {\n if (prerenderStore.runtimeStagePromise) {\n return prerenderStore.runtimeStagePromise.then(()=>result);\n }\n return result;\n}\n\n//# sourceMappingURL=dynamic-rendering.js.map"],"names":["module","exports","require","vendored","ReactServerDOMTurbopackStatic","ACTION_SERVER_PATCH","React","Activity","useContext","use","startTransition","Suspense","useDeferredValue","ReactDOM","LayoutRouterContext","GlobalLayoutRouterContext","TemplateContext","fetchServerResponse","unresolvedThenable","ErrorBoundary","matchSegment","disableSmoothScrollDuringRouteTransition","RedirectBoundary","HTTPAccessFallbackBoundary","createRouterCacheKey","hasInterceptionRouteInCurrentTree","dispatchAppRouterAction","useRouterBFCache","normalizeAppPath","NavigationPromisesContext","getParamValueFromCacheKey","walkAddRefetch","segmentPathToWalk","treeToRecreate","segment","parallelRouteKey","isLast","length","hasOwnProperty","subTree","undefined","slice","__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","findDOMNode","instance","window","internal_reactDOMfindDOMNode","rectProperties","shouldSkipElement","element","includes","getComputedStyle","position","rect","getBoundingClientRect","every","item","topOfElementInViewport","viewportHeight","top","getHashFragmentDomNode","hashFragment","document","body","getElementById","getElementsByName","InnerScrollAndFocusHandler","Component","componentDidMount","handlePotentialScroll","componentDidUpdate","props","focusAndScrollRef","apply","render","children","segmentPath","segmentPaths","some","scrollRefSegmentPath","index","domNode","Element","HTMLElement","process","env","NODE_ENV","parentElement","localName","nextElementSibling","scrollIntoView","htmlElement","documentElement","clientHeight","scrollTop","dontForceLayout","onlyHashChange","focus","ScrollAndFocusHandler","context","Error","InnerLayoutRouter","tree","debugNameContext","cacheNode","params","url","isActive","parentNavPromises","fullTree","resolvedPrefetchRsc","prefetchRsc","rsc","resolvedRsc","then","lazyData","refetchTree","includeNextUrl","navigatedAt","Date","now","URL","location","origin","flightRouterState","nextUrl","previousNextUrl","serverResponse","type","previousTree","content","navigationPromises","createNestedLayoutNavigationPromises","Provider","value","subtree","parentTree","parentCacheNode","parentSegmentPath","parentParams","LoadingBoundary","name","loading","loadingModuleData","promiseForLoading","loadingRsc","loadingStyles","loadingScripts","fallback","OuterLayoutRouter","parallelRouterKey","error","errorStyles","errorScripts","templateStyles","templateScripts","template","notFound","forbidden","unauthorized","segmentViewBoundaries","parentParallelRoutes","parallelRoutes","segmentMap","get","Map","set","parentTreeSegment","concat","activeTree","activeSegment","activeStateKey","bfcacheEntry","stateKey","cacheKey","newLazyCacheNode","head","prefetchHead","segmentBoundaryTriggerNode","segmentViewStateNode","SegmentBoundaryTriggerNode","SegmentViewStateNode","pagePrefix","page","Array","isArray","paramName","paramCacheKey","paramType","paramValue","debugName","getBoundaryDebugNameFromSegment","childDebugNameContext","isVirtual","debugNameToDisplay","child","errorComponent","SegmentStateProvider","__NEXT_CACHE_COMPONENTS","mode","push","next","isVirtualLayout","RenderFromTemplateContext","InvariantError","urlSearchParamsToParsedUrlQuery","SearchParamsContext","ClientPageRoot","serverProvidedParams","searchParams","layoutRouterContext","workAsyncStorage","clientSearchParams","clientParams","store","getStore","createSearchParamsFromClient","createParamsFromClient","createRenderSearchParamsFromClient","createRenderParamsFromClient","ClientSegmentRoot","slots","useUntrackedPathname","HTTPAccessErrorStatus","getAccessFallbackHTTPStatus","getAccessFallbackErrorTypeByStatus","isHTTPAccessFallbackError","warnOnce","MissingSlotContext","HTTPAccessFallbackErrorBoundary","constructor","state","triggeredStatus","previousPathname","pathname","componentDidCatch","missingSlots","size","has","warningMessage","formattedSlots","from","sort","a","b","localeCompare","map","slot","join","getDerivedStateFromError","httpStatus","getDerivedStateFromProps","errorComponents","NOT_FOUND","FORBIDDEN","UNAUTHORIZED","isNotFound","isForbidden","isUnauthorized","meta","hasErrorFallback","IconMark","path","NEXT_RUNTIME","METADATA_BOUNDARY_NAME","VIEWPORT_BOUNDARY_NAME","OUTLET_BOUNDARY_NAME","ROOT_LAYOUT_BOUNDARY_NAME","NameSpace","MetadataBoundary","ViewportBoundary","OutletBoundary","RootLayoutBoundary"],"mappings":"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","ignoreList":[0,1,3,5,7,9,11,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70]}