next 14.2.19 → 14.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/dist/bin/next +1 -1
  2. package/dist/build/analysis/get-page-static-info.js +3 -1
  3. package/dist/build/analysis/get-page-static-info.js.map +1 -1
  4. package/dist/build/index.js +1 -1
  5. package/dist/build/swc/index.js +1 -1
  6. package/dist/build/webpack/plugins/middleware-plugin.js +3 -1
  7. package/dist/build/webpack/plugins/middleware-plugin.js.map +1 -1
  8. package/dist/build/webpack-config.js +2 -2
  9. package/dist/client/app-bootstrap.js +1 -1
  10. package/dist/client/index.js +1 -1
  11. package/dist/compiled/next-server/app-page-experimental.runtime.dev.js +2 -2
  12. package/dist/compiled/next-server/app-page-experimental.runtime.dev.js.map +1 -1
  13. package/dist/compiled/next-server/app-page-experimental.runtime.prod.js +1 -1
  14. package/dist/compiled/next-server/app-page-experimental.runtime.prod.js.map +1 -1
  15. package/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +1 -1
  16. package/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js.map +1 -1
  17. package/dist/compiled/next-server/app-page-turbo.runtime.prod.js +7 -7
  18. package/dist/compiled/next-server/app-page-turbo.runtime.prod.js.map +1 -1
  19. package/dist/compiled/next-server/app-page.runtime.dev.js +2 -2
  20. package/dist/compiled/next-server/app-page.runtime.dev.js.map +1 -1
  21. package/dist/compiled/next-server/app-page.runtime.prod.js +1 -1
  22. package/dist/compiled/next-server/app-page.runtime.prod.js.map +1 -1
  23. package/dist/compiled/next-server/app-route-experimental.runtime.dev.js +2 -2
  24. package/dist/compiled/next-server/app-route-experimental.runtime.dev.js.map +1 -1
  25. package/dist/compiled/next-server/app-route-experimental.runtime.prod.js +2 -2
  26. package/dist/compiled/next-server/app-route-experimental.runtime.prod.js.map +1 -1
  27. package/dist/compiled/next-server/app-route-turbo-experimental.runtime.prod.js +2 -2
  28. package/dist/compiled/next-server/app-route-turbo-experimental.runtime.prod.js.map +1 -1
  29. package/dist/compiled/next-server/app-route-turbo.runtime.prod.js +2 -2
  30. package/dist/compiled/next-server/app-route-turbo.runtime.prod.js.map +1 -1
  31. package/dist/compiled/next-server/app-route.runtime.dev.js +2 -2
  32. package/dist/compiled/next-server/app-route.runtime.dev.js.map +1 -1
  33. package/dist/compiled/next-server/app-route.runtime.prod.js +2 -2
  34. package/dist/compiled/next-server/app-route.runtime.prod.js.map +1 -1
  35. package/dist/compiled/react/cjs/react.development.js +1 -1
  36. package/dist/compiled/react/cjs/react.production.js +1 -1
  37. package/dist/compiled/react/cjs/react.production.min.js +1 -1
  38. package/dist/compiled/react/cjs/react.react-server.development.js +1 -1
  39. package/dist/compiled/react/cjs/react.react-server.production.js +1 -1
  40. package/dist/compiled/react/cjs/react.react-server.production.min.js +1 -1
  41. package/dist/compiled/react-dom/cjs/react-dom-server-legacy.browser.development.js +1 -1
  42. package/dist/compiled/react-dom/cjs/react-dom-server-legacy.browser.production.js +1 -1
  43. package/dist/compiled/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +1 -1
  44. package/dist/compiled/react-dom/cjs/react-dom-server-legacy.node.development.js +1 -1
  45. package/dist/compiled/react-dom/cjs/react-dom-server-legacy.node.production.js +1 -1
  46. package/dist/compiled/react-dom/cjs/react-dom-server-legacy.node.production.min.js +1 -1
  47. package/dist/compiled/react-dom/cjs/react-dom-server-rendering-stub.development.js +1 -1
  48. package/dist/compiled/react-dom/cjs/react-dom-server-rendering-stub.production.js +1 -1
  49. package/dist/compiled/react-dom/cjs/react-dom-server-rendering-stub.production.min.js +1 -1
  50. package/dist/compiled/react-dom/cjs/react-dom-server.browser.development.js +1 -1
  51. package/dist/compiled/react-dom/cjs/react-dom-server.browser.production.js +1 -1
  52. package/dist/compiled/react-dom/cjs/react-dom-server.browser.production.min.js +1 -1
  53. package/dist/compiled/react-dom/cjs/react-dom-server.bun.production.js +1 -1
  54. package/dist/compiled/react-dom/cjs/react-dom-server.edge.development.js +1 -1
  55. package/dist/compiled/react-dom/cjs/react-dom-server.edge.production.js +1 -1
  56. package/dist/compiled/react-dom/cjs/react-dom-server.edge.production.min.js +1 -1
  57. package/dist/compiled/react-dom/cjs/react-dom-server.node.development.js +1 -1
  58. package/dist/compiled/react-dom/cjs/react-dom-server.node.production.js +1 -1
  59. package/dist/compiled/react-dom/cjs/react-dom-server.node.production.min.js +1 -1
  60. package/dist/compiled/react-dom/cjs/react-dom.development.js +1 -1
  61. package/dist/compiled/react-dom/cjs/react-dom.production.js +1 -1
  62. package/dist/compiled/react-dom/cjs/react-dom.production.min.js +3 -3
  63. package/dist/compiled/react-dom/cjs/react-dom.profiling.js +1 -1
  64. package/dist/compiled/react-dom/cjs/react-dom.profiling.min.js +3 -3
  65. package/dist/compiled/react-dom/package.json +2 -2
  66. package/dist/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.development.js +1 -1
  67. package/dist/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.production.js +1 -1
  68. package/dist/compiled/react-dom-experimental/cjs/react-dom-server-legacy.browser.production.min.js +1 -1
  69. package/dist/compiled/react-dom-experimental/cjs/react-dom-server-legacy.node.development.js +1 -1
  70. package/dist/compiled/react-dom-experimental/cjs/react-dom-server-legacy.node.production.js +1 -1
  71. package/dist/compiled/react-dom-experimental/cjs/react-dom-server-legacy.node.production.min.js +1 -1
  72. package/dist/compiled/react-dom-experimental/cjs/react-dom-server-rendering-stub.development.js +1 -1
  73. package/dist/compiled/react-dom-experimental/cjs/react-dom-server-rendering-stub.production.js +1 -1
  74. package/dist/compiled/react-dom-experimental/cjs/react-dom-server-rendering-stub.production.min.js +1 -1
  75. package/dist/compiled/react-dom-experimental/cjs/react-dom-server.browser.development.js +1 -1
  76. package/dist/compiled/react-dom-experimental/cjs/react-dom-server.browser.production.js +1 -1
  77. package/dist/compiled/react-dom-experimental/cjs/react-dom-server.browser.production.min.js +1 -1
  78. package/dist/compiled/react-dom-experimental/cjs/react-dom-server.bun.production.js +1 -1
  79. package/dist/compiled/react-dom-experimental/cjs/react-dom-server.edge.development.js +1 -1
  80. package/dist/compiled/react-dom-experimental/cjs/react-dom-server.edge.production.js +1 -1
  81. package/dist/compiled/react-dom-experimental/cjs/react-dom-server.edge.production.min.js +1 -1
  82. package/dist/compiled/react-dom-experimental/cjs/react-dom-server.node.development.js +1 -1
  83. package/dist/compiled/react-dom-experimental/cjs/react-dom-server.node.production.js +1 -1
  84. package/dist/compiled/react-dom-experimental/cjs/react-dom-server.node.production.min.js +1 -1
  85. package/dist/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.development.js +1 -1
  86. package/dist/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.production.js +1 -1
  87. package/dist/compiled/react-dom-experimental/cjs/react-dom-unstable_testing.production.min.js +3 -3
  88. package/dist/compiled/react-dom-experimental/cjs/react-dom.development.js +1 -1
  89. package/dist/compiled/react-dom-experimental/cjs/react-dom.production.js +1 -1
  90. package/dist/compiled/react-dom-experimental/cjs/react-dom.production.min.js +3 -3
  91. package/dist/compiled/react-dom-experimental/cjs/react-dom.profiling.js +1 -1
  92. package/dist/compiled/react-dom-experimental/cjs/react-dom.profiling.min.js +3 -3
  93. package/dist/compiled/react-dom-experimental/package.json +2 -2
  94. package/dist/compiled/react-experimental/cjs/react.development.js +1 -1
  95. package/dist/compiled/react-experimental/cjs/react.production.js +1 -1
  96. package/dist/compiled/react-experimental/cjs/react.production.min.js +1 -1
  97. package/dist/compiled/react-experimental/cjs/react.react-server.development.js +1 -1
  98. package/dist/compiled/react-experimental/cjs/react.react-server.production.js +1 -1
  99. package/dist/compiled/react-experimental/cjs/react.react-server.production.min.js +1 -1
  100. package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.development.js +15 -1
  101. package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.production.js +15 -1
  102. package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.production.min.js +7 -7
  103. package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.development.js +15 -1
  104. package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.production.js +15 -1
  105. package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.production.min.js +63 -63
  106. package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.development.js +15 -1
  107. package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.production.js +15 -1
  108. package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.production.min.js +65 -65
  109. package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.unbundled.development.js +15 -1
  110. package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.unbundled.production.js +15 -1
  111. package/dist/compiled/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.unbundled.production.min.js +62 -62
  112. package/dist/compiled/react-server-dom-turbopack/package.json +2 -2
  113. package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.browser.development.js +15 -1
  114. package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.browser.production.js +15 -1
  115. package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.browser.production.min.js +65 -65
  116. package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.edge.development.js +15 -1
  117. package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.edge.production.js +15 -1
  118. package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.edge.production.min.js +15 -15
  119. package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.node.development.js +15 -1
  120. package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.node.production.js +15 -1
  121. package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.node.production.min.js +14 -14
  122. package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.node.unbundled.development.js +15 -1
  123. package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.node.unbundled.production.js +15 -1
  124. package/dist/compiled/react-server-dom-turbopack-experimental/cjs/react-server-dom-turbopack-server.node.unbundled.production.min.js +14 -14
  125. package/dist/compiled/react-server-dom-turbopack-experimental/package.json +2 -2
  126. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +15 -1
  127. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.js +15 -1
  128. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js +7 -7
  129. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js +15 -1
  130. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.js +15 -1
  131. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.min.js +63 -63
  132. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +15 -1
  133. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.js +15 -1
  134. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js +66 -66
  135. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js +15 -1
  136. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.js +15 -1
  137. package/dist/compiled/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.min.js +63 -63
  138. package/dist/compiled/react-server-dom-webpack/package.json +2 -2
  139. package/dist/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.browser.development.js +15 -1
  140. package/dist/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.browser.production.js +15 -1
  141. package/dist/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.browser.production.min.js +65 -65
  142. package/dist/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.edge.development.js +15 -1
  143. package/dist/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.edge.production.js +15 -1
  144. package/dist/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.edge.production.min.js +15 -15
  145. package/dist/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.development.js +15 -1
  146. package/dist/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.production.js +15 -1
  147. package/dist/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.production.min.js +14 -14
  148. package/dist/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.unbundled.development.js +15 -1
  149. package/dist/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.unbundled.production.js +15 -1
  150. package/dist/compiled/react-server-dom-webpack-experimental/cjs/react-server-dom-webpack-server.node.unbundled.production.min.js +14 -14
  151. package/dist/compiled/react-server-dom-webpack-experimental/package.json +2 -2
  152. package/dist/esm/build/analysis/get-page-static-info.js +3 -1
  153. package/dist/esm/build/analysis/get-page-static-info.js.map +1 -1
  154. package/dist/esm/build/index.js +1 -1
  155. package/dist/esm/build/swc/index.js +1 -1
  156. package/dist/esm/build/webpack/plugins/middleware-plugin.js +3 -1
  157. package/dist/esm/build/webpack/plugins/middleware-plugin.js.map +1 -1
  158. package/dist/esm/build/webpack-config.js +2 -2
  159. package/dist/esm/client/app-bootstrap.js +1 -1
  160. package/dist/esm/client/index.js +1 -1
  161. package/dist/esm/server/config.js +1 -1
  162. package/dist/esm/server/dev/hot-reloader-turbopack.js +1 -1
  163. package/dist/esm/server/dev/hot-reloader-webpack.js +1 -1
  164. package/dist/esm/server/lib/app-info-log.js +1 -1
  165. package/dist/esm/server/lib/clone-response.js +44 -0
  166. package/dist/esm/server/lib/clone-response.js.map +1 -0
  167. package/dist/esm/server/lib/dedupe-fetch.js +106 -0
  168. package/dist/esm/server/lib/dedupe-fetch.js.map +1 -0
  169. package/dist/esm/server/lib/patch-fetch.js +37 -10
  170. package/dist/esm/server/lib/patch-fetch.js.map +1 -1
  171. package/dist/esm/server/lib/start-server.js +1 -1
  172. package/dist/server/config.js +1 -1
  173. package/dist/server/dev/hot-reloader-turbopack.js +1 -1
  174. package/dist/server/dev/hot-reloader-webpack.js +1 -1
  175. package/dist/server/lib/app-info-log.js +1 -1
  176. package/dist/server/lib/clone-response.d.ts +13 -0
  177. package/dist/server/lib/clone-response.js +54 -0
  178. package/dist/server/lib/clone-response.js.map +1 -0
  179. package/dist/server/lib/dedupe-fetch.d.ts +1 -0
  180. package/dist/server/lib/dedupe-fetch.js +157 -0
  181. package/dist/server/lib/dedupe-fetch.js.map +1 -0
  182. package/dist/server/lib/patch-fetch.js +37 -10
  183. package/dist/server/lib/patch-fetch.js.map +1 -1
  184. package/dist/server/lib/start-server.js +1 -1
  185. package/dist/telemetry/anonymous-meta.js +1 -1
  186. package/dist/telemetry/events/session-stopped.js +2 -2
  187. package/dist/telemetry/events/version.js +2 -2
  188. package/package.json +15 -15
@@ -1 +1 @@
1
- {"version":3,"file":"app-route.runtime.dev.js","mappings":"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","sources":["webpack://next/./dist/compiled/@edge-runtime/cookies/index.js","webpack://next/./dist/compiled/cookie/index.js","webpack://next/./dist/compiled/react/cjs/react.development.js","webpack://next/./dist/compiled/react/index.js","webpack://next/webpack/bootstrap","webpack://next/webpack/runtime/compat get default export","webpack://next/webpack/runtime/define property getters","webpack://next/webpack/runtime/hasOwnProperty shorthand","webpack://next/webpack/runtime/make namespace object","webpack://next/webpack/runtime/node module decorator","webpack://next/./dist/esm/server/lib/trace/constants.js","webpack://next/./dist/esm/lib/picocolors.js","webpack://next/./dist/esm/client/components/redirect-status-code.js","webpack://next/./dist/esm/client/components/redirect.js","webpack://next/./dist/esm/server/future/route-modules/route-module.js","webpack://next/./dist/esm/client/components/app-router-headers.js","webpack://next/./dist/esm/server/web/spec-extension/adapters/reflect.js","webpack://next/./dist/esm/server/web/spec-extension/adapters/headers.js","webpack://next/external commonjs \"next/dist/client/components/static-generation-async-storage.external.js\"","webpack://next/./dist/esm/server/web/spec-extension/adapters/request-cookies.js","webpack://next/./dist/esm/lib/constants.js","webpack://next/external commonjs \"next/dist/server/lib/trace/tracer\"","webpack://next/./dist/esm/server/api-utils/index.js","webpack://next/./dist/esm/server/async-storage/draft-mode-provider.js","webpack://next/./dist/esm/server/async-storage/request-async-storage-wrapper.js","webpack://next/./dist/esm/server/web/utils.js","webpack://next/./dist/esm/client/components/hooks-server-context.js","webpack://next/./dist/esm/client/components/static-generation-bailout.js","webpack://next/./dist/esm/lib/url.js","webpack://next/./dist/esm/server/app-render/dynamic-rendering.js","webpack://next/./dist/esm/server/async-storage/static-generation-async-storage-wrapper.js","webpack://next/./dist/esm/server/future/route-modules/helpers/response-handlers.js","webpack://next/./dist/esm/server/web/http.js","webpack://next/./dist/esm/build/output/log.js","webpack://next/./dist/esm/server/lib/patch-fetch.js","webpack://next/./dist/esm/client/components/not-found.js","webpack://next/external commonjs \"next/dist/client/components/request-async-storage.external.js\"","webpack://next/external commonjs \"next/dist/client/components/action-async-storage.external.js\"","webpack://next/./dist/esm/server/future/route-modules/app-route/helpers/auto-implement-methods.js","webpack://next/./dist/esm/shared/lib/app-router-context.shared-runtime.js","webpack://next/./dist/esm/server/future/route-modules/app-route/module.js","webpack://next/./dist/esm/server/lib/server-action-request-meta.js","webpack://next/./dist/esm/server/future/route-modules/app-route/helpers/get-pathname-from-absolute-path.js","webpack://next/./dist/esm/server/future/route-modules/app-route/helpers/parsed-url-query-to-params.js","webpack://next/./dist/esm/server/future/route-modules/app-route/helpers/resolve-handler-error.js","webpack://next/./dist/esm/server/future/route-modules/app-route/helpers/clean-url.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n RequestCookies: () => RequestCookies,\n ResponseCookies: () => ResponseCookies,\n parseCookie: () => parseCookie,\n parseSetCookie: () => parseSetCookie,\n stringifyCookie: () => stringifyCookie\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/serialize.ts\nfunction stringifyCookie(c) {\n var _a;\n const attrs = [\n \"path\" in c && c.path && `Path=${c.path}`,\n \"expires\" in c && (c.expires || c.expires === 0) && `Expires=${(typeof c.expires === \"number\" ? new Date(c.expires) : c.expires).toUTCString()}`,\n \"maxAge\" in c && typeof c.maxAge === \"number\" && `Max-Age=${c.maxAge}`,\n \"domain\" in c && c.domain && `Domain=${c.domain}`,\n \"secure\" in c && c.secure && \"Secure\",\n \"httpOnly\" in c && c.httpOnly && \"HttpOnly\",\n \"sameSite\" in c && c.sameSite && `SameSite=${c.sameSite}`,\n \"partitioned\" in c && c.partitioned && \"Partitioned\",\n \"priority\" in c && c.priority && `Priority=${c.priority}`\n ].filter(Boolean);\n const stringified = `${c.name}=${encodeURIComponent((_a = c.value) != null ? _a : \"\")}`;\n return attrs.length === 0 ? stringified : `${stringified}; ${attrs.join(\"; \")}`;\n}\nfunction parseCookie(cookie) {\n const map = /* @__PURE__ */ new Map();\n for (const pair of cookie.split(/; */)) {\n if (!pair)\n continue;\n const splitAt = pair.indexOf(\"=\");\n if (splitAt === -1) {\n map.set(pair, \"true\");\n continue;\n }\n const [key, value] = [pair.slice(0, splitAt), pair.slice(splitAt + 1)];\n try {\n map.set(key, decodeURIComponent(value != null ? value : \"true\"));\n } catch {\n }\n }\n return map;\n}\nfunction parseSetCookie(setCookie) {\n if (!setCookie) {\n return void 0;\n }\n const [[name, value], ...attributes] = parseCookie(setCookie);\n const {\n domain,\n expires,\n httponly,\n maxage,\n path,\n samesite,\n secure,\n partitioned,\n priority\n } = Object.fromEntries(\n attributes.map(([key, value2]) => [key.toLowerCase(), value2])\n );\n const cookie = {\n name,\n value: decodeURIComponent(value),\n domain,\n ...expires && { expires: new Date(expires) },\n ...httponly && { httpOnly: true },\n ...typeof maxage === \"string\" && { maxAge: Number(maxage) },\n path,\n ...samesite && { sameSite: parseSameSite(samesite) },\n ...secure && { secure: true },\n ...priority && { priority: parsePriority(priority) },\n ...partitioned && { partitioned: true }\n };\n return compact(cookie);\n}\nfunction compact(t) {\n const newT = {};\n for (const key in t) {\n if (t[key]) {\n newT[key] = t[key];\n }\n }\n return newT;\n}\nvar SAME_SITE = [\"strict\", \"lax\", \"none\"];\nfunction parseSameSite(string) {\n string = string.toLowerCase();\n return SAME_SITE.includes(string) ? string : void 0;\n}\nvar PRIORITY = [\"low\", \"medium\", \"high\"];\nfunction parsePriority(string) {\n string = string.toLowerCase();\n return PRIORITY.includes(string) ? string : void 0;\n}\nfunction splitCookiesString(cookiesString) {\n if (!cookiesString)\n return [];\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n function skipWhitespace() {\n while (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) {\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n while (pos < cookiesString.length) {\n start = pos;\n cookiesSeparatorFound = false;\n while (skipWhitespace()) {\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n lastComma = pos;\n pos += 1;\n skipWhitespace();\n nextStart = pos;\n while (pos < cookiesString.length && notSpecialChar()) {\n pos += 1;\n }\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n cookiesSeparatorFound = true;\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n return cookiesStrings;\n}\n\n// src/request-cookies.ts\nvar RequestCookies = class {\n constructor(requestHeaders) {\n /** @internal */\n this._parsed = /* @__PURE__ */ new Map();\n this._headers = requestHeaders;\n const header = requestHeaders.get(\"cookie\");\n if (header) {\n const parsed = parseCookie(header);\n for (const [name, value] of parsed) {\n this._parsed.set(name, { name, value });\n }\n }\n }\n [Symbol.iterator]() {\n return this._parsed[Symbol.iterator]();\n }\n /**\n * The amount of cookies received from the client\n */\n get size() {\n return this._parsed.size;\n }\n get(...args) {\n const name = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(name);\n }\n getAll(...args) {\n var _a;\n const all = Array.from(this._parsed);\n if (!args.length) {\n return all.map(([_, value]) => value);\n }\n const name = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter(([n]) => n === name).map(([_, value]) => value);\n }\n has(name) {\n return this._parsed.has(name);\n }\n set(...args) {\n const [name, value] = args.length === 1 ? [args[0].name, args[0].value] : args;\n const map = this._parsed;\n map.set(name, { name, value });\n this._headers.set(\n \"cookie\",\n Array.from(map).map(([_, value2]) => stringifyCookie(value2)).join(\"; \")\n );\n return this;\n }\n /**\n * Delete the cookies matching the passed name or names in the request.\n */\n delete(names) {\n const map = this._parsed;\n const result = !Array.isArray(names) ? map.delete(names) : names.map((name) => map.delete(name));\n this._headers.set(\n \"cookie\",\n Array.from(map).map(([_, value]) => stringifyCookie(value)).join(\"; \")\n );\n return result;\n }\n /**\n * Delete all the cookies in the cookies in the request.\n */\n clear() {\n this.delete(Array.from(this._parsed.keys()));\n return this;\n }\n /**\n * Format the cookies in the request as a string for logging\n */\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [...this._parsed.values()].map((v) => `${v.name}=${encodeURIComponent(v.value)}`).join(\"; \");\n }\n};\n\n// src/response-cookies.ts\nvar ResponseCookies = class {\n constructor(responseHeaders) {\n /** @internal */\n this._parsed = /* @__PURE__ */ new Map();\n var _a, _b, _c;\n this._headers = responseHeaders;\n const setCookie = (_c = (_b = (_a = responseHeaders.getSetCookie) == null ? void 0 : _a.call(responseHeaders)) != null ? _b : responseHeaders.get(\"set-cookie\")) != null ? _c : [];\n const cookieStrings = Array.isArray(setCookie) ? setCookie : splitCookiesString(setCookie);\n for (const cookieString of cookieStrings) {\n const parsed = parseSetCookie(cookieString);\n if (parsed)\n this._parsed.set(parsed.name, parsed);\n }\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise.\n */\n get(...args) {\n const key = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(key);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise.\n */\n getAll(...args) {\n var _a;\n const all = Array.from(this._parsed.values());\n if (!args.length) {\n return all;\n }\n const key = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter((c) => c.name === key);\n }\n has(name) {\n return this._parsed.has(name);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise.\n */\n set(...args) {\n const [name, value, cookie] = args.length === 1 ? [args[0].name, args[0].value, args[0]] : args;\n const map = this._parsed;\n map.set(name, normalizeCookie({ name, value, ...cookie }));\n replace(map, this._headers);\n return this;\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise.\n */\n delete(...args) {\n const [name, path, domain] = typeof args[0] === \"string\" ? [args[0]] : [args[0].name, args[0].path, args[0].domain];\n return this.set({ name, path, domain, value: \"\", expires: /* @__PURE__ */ new Date(0) });\n }\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [...this._parsed.values()].map(stringifyCookie).join(\"; \");\n }\n};\nfunction replace(bag, headers) {\n headers.delete(\"set-cookie\");\n for (const [, value] of bag) {\n const serialized = stringifyCookie(value);\n headers.append(\"set-cookie\", serialized);\n }\n}\nfunction normalizeCookie(cookie = { name: \"\", value: \"\" }) {\n if (typeof cookie.expires === \"number\") {\n cookie.expires = new Date(cookie.expires);\n }\n if (cookie.maxAge) {\n cookie.expires = new Date(Date.now() + cookie.maxAge * 1e3);\n }\n if (cookie.path === null || cookie.path === void 0) {\n cookie.path = \"/\";\n }\n return cookie;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n RequestCookies,\n ResponseCookies,\n parseCookie,\n parseSetCookie,\n stringifyCookie\n});\n","(()=>{\"use strict\";if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var e={};(()=>{var r=e;\n/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */r.parse=parse;r.serialize=serialize;var i=decodeURIComponent;var t=encodeURIComponent;var a=/; */;var n=/^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;function parse(e,r){if(typeof e!==\"string\"){throw new TypeError(\"argument str must be a string\")}var t={};var n=r||{};var o=e.split(a);var s=n.decode||i;for(var p=0;p<o.length;p++){var f=o[p];var u=f.indexOf(\"=\");if(u<0){continue}var v=f.substr(0,u).trim();var c=f.substr(++u,f.length).trim();if('\"'==c[0]){c=c.slice(1,-1)}if(undefined==t[v]){t[v]=tryDecode(c,s)}}return t}function serialize(e,r,i){var a=i||{};var o=a.encode||t;if(typeof o!==\"function\"){throw new TypeError(\"option encode is invalid\")}if(!n.test(e)){throw new TypeError(\"argument name is invalid\")}var s=o(r);if(s&&!n.test(s)){throw new TypeError(\"argument val is invalid\")}var p=e+\"=\"+s;if(null!=a.maxAge){var f=a.maxAge-0;if(isNaN(f)||!isFinite(f)){throw new TypeError(\"option maxAge is invalid\")}p+=\"; Max-Age=\"+Math.floor(f)}if(a.domain){if(!n.test(a.domain)){throw new TypeError(\"option domain is invalid\")}p+=\"; Domain=\"+a.domain}if(a.path){if(!n.test(a.path)){throw new TypeError(\"option path is invalid\")}p+=\"; Path=\"+a.path}if(a.expires){if(typeof a.expires.toUTCString!==\"function\"){throw new TypeError(\"option expires is invalid\")}p+=\"; Expires=\"+a.expires.toUTCString()}if(a.httpOnly){p+=\"; HttpOnly\"}if(a.secure){p+=\"; Secure\"}if(a.sameSite){var u=typeof a.sameSite===\"string\"?a.sameSite.toLowerCase():a.sameSite;switch(u){case true:p+=\"; SameSite=Strict\";break;case\"lax\":p+=\"; SameSite=Lax\";break;case\"strict\":p+=\"; SameSite=Strict\";break;case\"none\":p+=\"; SameSite=None\";break;default:throw new TypeError(\"option sameSite is invalid\")}}return p}function tryDecode(e,r){try{return r(e)}catch(r){return e}}})();module.exports=e})();","/**\n * @license React\n * react.development.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';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.3.0-canary-14898b6a9-20240318';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider'); // TODO: Delete with enableRenderableContext\n\nvar REACT_CONSUMER_TYPE = Symbol.for('react.consumer');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher$1 = {\n current: null\n};\n\n/**\n * Keeps track of the current Cache dispatcher.\n */\nvar ReactCurrentCache = {\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false,\n // Tracks whether something called `use` during the current batch of work.\n // Determines whether we should yield to microtasks to unwrap already resolved\n // promises without suspending.\n didUsePromise: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner$1 = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame$1 = {};\nvar currentExtraStackFrame = null;\n\n{\n ReactDebugCurrentFrame$1.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame$1.getCurrentStack = null;\n\n ReactDebugCurrentFrame$1.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame$1.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher$1,\n ReactCurrentCache: ReactCurrentCache,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner$1\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame$1;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object'; // $FlowFixMe[incompatible-return]\n\n return type;\n }\n} // $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\nvar enableRenderableContext = false;\n// Ready for next major.\n//\n// Alias __NEXT_MAJOR__ to false for easier skimming.\n// -----------------------------------------------------------------------------\n\nvar __NEXT_MAJOR__ = false; // Not ready to break experimental yet.\n// as a normal prop instead of stripping it from the props object.\n// Passes `ref` as a normal prop instead of stripping it from the props object\n// during element creation.\n\nvar enableRefAsProp = __NEXT_MAJOR__; // Not ready to break experimental yet.\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false;\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n}\n\nvar REACT_CLIENT_REFERENCE$2 = Symbol.for('react.client.reference'); // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n if (typeof type === 'function') {\n if (type.$$typeof === REACT_CLIENT_REFERENCE$2) {\n // TODO: Create a convention for naming client references with debug info.\n return null;\n }\n\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n case REACT_CACHE_TYPE:\n {\n return 'Cache';\n }\n\n }\n\n if (typeof type === 'object') {\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n {\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n }\n\n case REACT_CONTEXT_TYPE:\n var context = type;\n\n {\n return getContextName(context) + '.Consumer';\n }\n\n case REACT_CONSUMER_TYPE:\n {\n return null;\n }\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n }\n }\n\n return null;\n}\n\n// $FlowFixMe[method-unbinding]\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar REACT_CLIENT_REFERENCE$1 = Symbol.for('react.client.reference');\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || enableRenderableContext || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_CLIENT_REFERENCE$1 || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n/**\n * Leverages native browser/VM stack frames to get proper details (e.g.\n * filename, line + col number) for a single component in a component stack. We\n * do this by:\n * (1) throwing and catching an error in the function - this will be our\n * control error.\n * (2) calling the component which will eventually throw an error that we'll\n * catch - this will be our sample error.\n * (3) diffing the control and sample error stacks to find the stack frame\n * which represents our component.\n */\n\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe[incompatible-type] It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n /**\n * Finding a common stack frame between sample and control errors can be\n * tricky given the different types and levels of stack trace truncation from\n * different JS VMs. So instead we'll attempt to control what that common\n * frame should be through this object method:\n * Having both the sample and control errors be in the function under the\n * `DescribeNativeComponentFrameRoot` property, + setting the `name` and\n * `displayName` properties of the function ensures that a stack\n * frame exists that has the method name `DescribeNativeComponentFrameRoot` in\n * it for both control and sample stacks.\n */\n\n\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n var control;\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe[prop-missing]\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n } // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n } // TODO(luna): This will currently only throw if the function component\n // tries to access React/ReactDOM/props. We should probably make this throw\n // in simple components too\n\n\n var maybePromise = fn(); // If the function component returns a promise, it's likely an async\n // component, which we don't yet support. Attach a noop catch handler to\n // silence the error.\n // TODO: Implement component stacks for async client components?\n\n if (maybePromise && typeof maybePromise.catch === 'function') {\n maybePromise.catch(function () {});\n }\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n return [sample.stack, control.stack];\n }\n }\n\n return [null, null];\n }\n }; // $FlowFixMe[prop-missing]\n\n RunInRootFrame.DetermineComponentFrameRoot.displayName = 'DetermineComponentFrameRoot';\n var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, 'name'); // Before ES6, the `name` property was not configurable.\n\n if (namePropDescriptor && namePropDescriptor.configurable) {\n // V8 utilizes a function's `name` property when generating a stack trace.\n Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, // Configurable properties can be updated even if its writable descriptor\n // is set to `false`.\n // $FlowFixMe[cannot-write]\n 'name', {\n value: 'DetermineComponentFrameRoot'\n });\n }\n\n try {\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n\n if (sampleStack && controlStack) {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sampleStack.split('\\n');\n var controlLines = controlStack.split('\\n');\n var s = 0;\n var c = 0;\n\n while (s < sampleLines.length && !sampleLines[s].includes('DetermineComponentFrameRoot')) {\n s++;\n }\n\n while (c < controlLines.length && !controlLines[c].includes('DetermineComponentFrameRoot')) {\n c++;\n } // We couldn't find our intentionally injected common root frame, attempt\n // to find another common root frame by search from the bottom of the\n // control stack...\n\n\n if (s === sampleLines.length || c === controlLines.length) {\n s = sampleLines.length - 1;\n c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n if (true) {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar REACT_CLIENT_REFERENCE = Symbol.for('react.client.reference');\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nfunction ReactElement(type, key, _ref, self, source, owner, props) {\n var ref;\n\n {\n ref = _ref;\n }\n\n var element;\n\n {\n // In prod, `ref` is a regular property. It will be removed in a\n // future release.\n element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n }\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // debugInfo contains Server Component debug information.\n\n Object.defineProperty(element, '_debugInfo', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: null\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n}\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n {\n if (!isValidElementType(type)) {\n // This is an invalid element type.\n //\n // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n } else {\n // This is a valid element type.\n // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing\n // errors. We don't want exception behavior to differ between dev and\n // prod. (Rendering will throw with a helpful message and as soon as the\n // type is fixed, the key warnings will appear.)\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n } // Unlike the jsx() runtime, createElement() doesn't warn about key spread.\n\n }\n\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n {\n ref = config.ref;\n }\n\n {\n warnIfStringRefCannotBeAutoConverted(config, config.__self);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && // Skip over reserved prop names\n propName !== 'key' && (propName !== 'ref') && // Even though we don't use these anymore in the runtime, we don't want\n // them to appear as props, so in createElement we filter them out.\n // We don't have to do this in the jsx() runtime because the jsx()\n // transform never passed these as props; it used separate arguments.\n propName !== '__self' && propName !== '__source') {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var _i = 0; _i < childrenLength; _i++) {\n childArray[_i] = arguments[_i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n var element = ReactElement(type, key, ref, undefined, undefined, ReactCurrentOwner.current, props);\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\n/**\n * Return a function that produces ReactElements of a given type.\n * See https://reactjs.org/docs/react-api.html#createfactory\n */\n\nfunction createFactory(type) {\n var factory = createElement.bind(null, type); // Expose the type on the factory and the prototype so that it can be\n // easily accessed on elements. E.g. `<Foo />.type === Foo`.\n // This should not be named `constructor` since this may not be the function\n // that created the element, and it may not even be a constructor.\n // Legacy hook: remove it\n\n factory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(factory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return factory;\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, // When enableRefAsProp is on, this argument is ignored. This check only\n // exists to avoid the `ref` access warning.\n oldElement.ref, undefined, undefined, oldElement._owner, oldElement.props);\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n {\n // Silently steal the ref from the parent.\n ref = config.ref;\n }\n\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && // Skip over reserved prop names\n propName !== 'key' && (propName !== 'ref') && // ...and maybe these, too, though we currently rely on them for\n // warnings and debug information in dev. Need to decide if we're OK\n // with dropping them. In the jsx() runtime it's not an issue because\n // the data gets passed as separate arguments instead of props, but\n // it would be nice to stop relying on them entirely so we can drop\n // them from the internal Fiber field.\n propName !== '__self' && propName !== '__source' && // Undefined `ref` is ignored by cloneElement. We treat it the same as\n // if the property were missing. This is mostly for\n // backwards compatibility.\n !(enableRefAsProp )) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n var clonedElement = ReactElement(element.type, key, ref, undefined, undefined, owner, props);\n\n for (var _i2 = 2; _i2 < arguments.length; _i2++) {\n validateChildKeys(arguments[_i2], clonedElement.type);\n }\n\n return clonedElement;\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object' || !node) {\n return;\n }\n\n if (node.$$typeof === REACT_CLIENT_REFERENCE) ; else if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nvar ownerHasKeyUseWarning = {};\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement(null);\n }\n}\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = getComponentNameFromType(parentType);\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n // TODO: Move this to render phase instead of at element creation.\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement(null);\n }\n }\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction noop$1() {}\n\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case 'fulfilled':\n {\n var fulfilledValue = thenable.value;\n return fulfilledValue;\n }\n\n case 'rejected':\n {\n var rejectedError = thenable.reason;\n throw rejectedError;\n }\n\n default:\n {\n if (typeof thenable.status === 'string') {\n // Only instrument the thenable if the status if not defined. If\n // it's defined, but an unknown value, assume it's been instrumented by\n // some custom userspace implementation. We treat it as \"pending\".\n // Attach a dummy listener, to ensure that any lazy initialization can\n // happen. Flight lazily parses JSON when the value is actually awaited.\n thenable.then(noop$1, noop$1);\n } else {\n // This is an uncached thenable that we haven't seen before.\n // TODO: Detect infinite ping loops caused by uncached promises.\n var pendingThenable = thenable;\n pendingThenable.status = 'pending';\n pendingThenable.then(function (fulfilledValue) {\n if (thenable.status === 'pending') {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = 'fulfilled';\n fulfilledThenable.value = fulfilledValue;\n }\n }, function (error) {\n if (thenable.status === 'pending') {\n var rejectedThenable = thenable;\n rejectedThenable.status = 'rejected';\n rejectedThenable.reason = error;\n }\n });\n } // Check one more time in case the thenable resolved synchronously.\n\n\n switch (thenable.status) {\n case 'fulfilled':\n {\n var fulfilledThenable = thenable;\n return fulfilledThenable.value;\n }\n\n case 'rejected':\n {\n var rejectedThenable = thenable;\n var _rejectedError = rejectedThenable.reason;\n throw _rejectedError;\n }\n }\n }\n }\n\n throw thenable;\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n break;\n\n case REACT_LAZY_TYPE:\n var payload = children._payload;\n var init = children._init;\n return mapIntoArray(init(payload), array, escapedPrefix, nameSoFar, callback);\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe[incompatible-type] Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe[incompatible-type] Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? escapeUserProvidedKey( // $FlowFixMe[unsafe-addition]\n '' + mappedChild.key // eslint-disable-line react-internal/safe-string-coercion\n ) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0; // $FlowFixMe[incompatible-use] `iteratorFn` might return null according to typing.\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n if (typeof children.then === 'function') {\n return mapIntoArray(resolveThenable(children), array, escapedPrefix, nameSoFar, callback);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\n\n\nfunction mapChildren(children, func, context) {\n if (children == null) {\n // $FlowFixMe limitation refining abstract types in Flow\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\n\n\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, // $FlowFixMe[missing-this-annot]\n function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null\n };\n\n {\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n\n {\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n };\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {}\n }\n });\n context.Consumer = Consumer;\n }\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe[prop-missing]\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n // $FlowFixMe[missing-local-annot]\n set: function (newDefaultProps) {\n error('It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe[prop-missing]\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n // $FlowFixMe[missing-local-annot]\n set: function (newPropTypes) {\n error('It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe[prop-missing]\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null) {\n error('forwardRef render functions do not support defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar UNTERMINATED = 0;\nvar TERMINATED = 1;\nvar ERRORED = 2;\n\nfunction createCacheRoot() {\n return new WeakMap();\n}\n\nfunction createCacheNode() {\n return {\n s: UNTERMINATED,\n // status, represents whether the cached computation returned a value or threw an error\n v: undefined,\n // value, either the cached result or an error, depending on s\n o: null,\n // object cache, a WeakMap where non-primitive arguments are stored\n p: null // primitive cache, a regular Map where primitive arguments are stored.\n\n };\n}\n\nfunction cache$1(fn) {\n return function () {\n var dispatcher = ReactCurrentCache.current;\n\n if (!dispatcher) {\n // If there is no dispatcher, then we treat this as not being cached.\n // $FlowFixMe[incompatible-call]: We don't want to use rest arguments since we transpile the code.\n return fn.apply(null, arguments);\n }\n\n var fnMap = dispatcher.getCacheForType(createCacheRoot);\n var fnNode = fnMap.get(fn);\n var cacheNode;\n\n if (fnNode === undefined) {\n cacheNode = createCacheNode();\n fnMap.set(fn, cacheNode);\n } else {\n cacheNode = fnNode;\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n var arg = arguments[i];\n\n if (typeof arg === 'function' || typeof arg === 'object' && arg !== null) {\n // Objects go into a WeakMap\n var objectCache = cacheNode.o;\n\n if (objectCache === null) {\n cacheNode.o = objectCache = new WeakMap();\n }\n\n var objectNode = objectCache.get(arg);\n\n if (objectNode === undefined) {\n cacheNode = createCacheNode();\n objectCache.set(arg, cacheNode);\n } else {\n cacheNode = objectNode;\n }\n } else {\n // Primitives go into a regular Map\n var primitiveCache = cacheNode.p;\n\n if (primitiveCache === null) {\n cacheNode.p = primitiveCache = new Map();\n }\n\n var primitiveNode = primitiveCache.get(arg);\n\n if (primitiveNode === undefined) {\n cacheNode = createCacheNode();\n primitiveCache.set(arg, cacheNode);\n } else {\n cacheNode = primitiveNode;\n }\n }\n }\n\n if (cacheNode.s === TERMINATED) {\n return cacheNode.v;\n }\n\n if (cacheNode.s === ERRORED) {\n throw cacheNode.v;\n }\n\n try {\n // $FlowFixMe[incompatible-call]: We don't want to use rest arguments since we transpile the code.\n var result = fn.apply(null, arguments);\n var terminatedNode = cacheNode;\n terminatedNode.s = TERMINATED;\n terminatedNode.v = result;\n return result;\n } catch (error) {\n // We store the first error that's thrown and rethrow it.\n var erroredNode = cacheNode;\n erroredNode.s = ERRORED;\n erroredNode.v = error;\n throw error;\n }\n };\n}\n\nvar cache = cache$1;\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher$1.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n if (Context.$$typeof === REACT_CONSUMER_TYPE) {\n error('Calling useContext(Context.Consumer) is not supported and will cause bugs. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value, initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value, initialValue);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\nfunction useCacheRefresh() {\n var dispatcher = resolveDispatcher(); // $FlowFixMe[not-a-function] This is unstable, thus optional\n\n return dispatcher.useCacheRefresh();\n}\nfunction use(usable) {\n var dispatcher = resolveDispatcher();\n return dispatcher.use(usable);\n}\nfunction useOptimistic(passthrough, reducer) {\n var dispatcher = resolveDispatcher(); // $FlowFixMe[not-a-function] This is unstable, thus optional\n\n return dispatcher.useOptimistic(passthrough, reducer);\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition; // Each renderer registers a callback to receive the return value of\n // the scope function. This is used to implement async actions.\n\n var callbacks = new Set();\n var transition = {\n _callbacks: callbacks\n };\n ReactCurrentBatchConfig.transition = transition;\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n {\n try {\n var returnValue = scope();\n\n if (typeof returnValue === 'object' && returnValue !== null && typeof returnValue.then === 'function') {\n callbacks.forEach(function (callback) {\n return callback(currentTransition, returnValue);\n });\n returnValue.then(noop, onError);\n }\n } catch (error) {\n onError(error);\n } finally {\n warnAboutTransitionSubscriptions(prevTransition, currentTransition);\n ReactCurrentBatchConfig.transition = prevTransition;\n }\n }\n}\n\nfunction warnAboutTransitionSubscriptions(prevTransition, currentTransition) {\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n currentTransition._updatedFibers.clear();\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n }\n }\n}\n\nfunction noop() {} // Use reportError, if it exists. Otherwise console.error. This is the same as\n// the default for onRecoverableError.\n\n\nvar onError = typeof reportError === 'function' ? // In modern browsers, reportError will dispatch an error event,\n// emulating an uncaught JavaScript error.\nreportError : function (error) {\n // In older browsers and test environments, fallback to console.error.\n // eslint-disable-next-line react-internal/no-production-logging\n console['error'](error);\n};\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\n// number of `act` scopes on the stack.\n\nvar actScopeDepth = 0; // We only warn the first time you neglect to await an async `act` scope.\n\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // When ReactCurrentActQueue.current is not null, it signals to React that\n // we're currently inside an `act` scope. React will push all its tasks to\n // this queue instead of scheduling them with platform APIs.\n //\n // We set this to an empty array when we first enter an `act` scope, and\n // only unset it once we've left the outermost `act` scope — remember that\n // `act` calls can be nested.\n //\n // If we're already inside an `act` scope, reuse the existing queue.\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var prevActQueue = ReactCurrentActQueue.current;\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n var queue = ReactCurrentActQueue.current = prevActQueue !== null ? prevActQueue : []; // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n\n ReactCurrentActQueue.isBatchingLegacy = true;\n var result; // This tracks whether the `act` call is awaited. In certain cases, not\n // awaiting it is a mistake, so we will detect that and warn.\n\n var didAwaitActCall = false;\n\n try {\n // Reset this to `false` right before entering the React work loop. The\n // only place we ever read this fields is just below, right after running\n // the callback. So we don't need to reset after the callback runs.\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n result = callback();\n var didScheduleLegacyUpdate = ReactCurrentActQueue.didScheduleLegacyUpdate; // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && didScheduleLegacyUpdate) {\n flushActQueue(queue);\n } // `isBatchingLegacy` gets reset using the regular stack, not the async\n // one used to track `act` scopes. Why, you may be wondering? Because\n // that's how it worked before version 18. Yes, it's confusing! We should\n // delete legacy mode!!\n\n\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n } catch (error) {\n // `isBatchingLegacy` gets reset using the regular stack, not the async\n // one used to track `act` scopes. Why, you may be wondering? Because\n // that's how it worked before version 18. Yes, it's confusing! We should\n // delete legacy mode!!\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n popActScope(prevActQueue, prevActScopeDepth);\n throw error;\n }\n\n if (result !== null && typeof result === 'object' && // $FlowFixMe[method-unbinding]\n typeof result.then === 'function') {\n // A promise/thenable was returned from the callback. Wait for it to\n // resolve before flushing the queue.\n //\n // If `act` were implemented as an async function, this whole block could\n // be a single `await` call. That's really the only difference between\n // this branch and the next one.\n var thenable = result; // Warn if the an `act` call with an async scope is not awaited. In a\n // future release, consider making this an error.\n\n queueSeveralMicrotasks(function () {\n if (!didAwaitActCall && !didWarnNoAwaitAct) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n return {\n then: function (resolve, reject) {\n didAwaitActCall = true;\n thenable.then(function (returnValue) {\n popActScope(prevActQueue, prevActScopeDepth);\n\n if (prevActScopeDepth === 0) {\n // We're exiting the outermost `act` scope. Flush the queue.\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n return (// Recursively flush tasks scheduled by a microtask.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject)\n );\n });\n } catch (error) {\n // `thenable` might not be a real promise, and `flushActQueue`\n // might throw, so we need to wrap `flushActQueue` in a\n // try/catch.\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n popActScope(prevActQueue, prevActScopeDepth);\n reject(error);\n });\n }\n };\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current\n // scope immediately.\n\n popActScope(prevActQueue, prevActScopeDepth);\n\n if (prevActScopeDepth === 0) {\n // We're exiting the outermost `act` scope. Flush the queue.\n flushActQueue(queue); // If the queue is not empty, it implies that we intentionally yielded\n // to the main thread, because something suspended. We will continue\n // in an asynchronous task.\n //\n // Warn if something suspends but the `act` call is not awaited.\n // In a future release, consider making this an error.\n\n if (queue.length !== 0) {\n queueSeveralMicrotasks(function () {\n if (!didAwaitActCall && !didWarnNoAwaitAct) {\n didWarnNoAwaitAct = true;\n\n error('A component suspended inside an `act` scope, but the ' + '`act` call was not awaited. When testing React ' + 'components that depend on asynchronous data, you must ' + 'await the result:\\n\\n' + 'await act(() => ...)');\n }\n });\n } // Like many things in this module, this is next part is confusing.\n //\n // We do not currently require every `act` call that is passed a\n // callback to be awaited, through arguably we should. Since this\n // callback was synchronous, we need to exit the current scope before\n // returning.\n //\n // However, if thenable we're about to return *is* awaited, we'll\n // immediately restore the current scope. So it shouldn't observable.\n //\n // This doesn't affect the case where the scope callback is async,\n // because we always require those calls to be awaited.\n //\n // TODO: In a future version, consider always requiring all `act` calls\n // to be awaited, regardless of whether the callback is sync or async.\n\n\n ReactCurrentActQueue.current = null;\n }\n\n return {\n then: function (resolve, reject) {\n didAwaitActCall = true;\n\n if (prevActScopeDepth === 0) {\n // If the `act` call is awaited, restore the queue we were\n // using before (see long comment above) so we can flush it.\n ReactCurrentActQueue.current = queue;\n enqueueTask(function () {\n return (// Recursively flush tasks scheduled by a microtask.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject)\n );\n });\n } else {\n resolve(returnValue);\n }\n }\n };\n }\n }\n}\n\nfunction popActScope(prevActQueue, prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n // Check if any tasks were scheduled asynchronously.\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n if (queue.length !== 0) {\n // Async tasks were scheduled, mostly likely in a microtask.\n // Keep flushing until there are no more.\n try {\n flushActQueue(queue); // The work we just performed may have schedule additional async\n // tasks. Wait a macrotask and check again.\n\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n });\n } catch (error) {\n // Leave remaining tasks on the queue if something throws.\n reject(error);\n }\n } else {\n // The queue is empty. We can finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n ReactCurrentActQueue.didUsePromise = false;\n var continuation = callback(false);\n\n if (continuation !== null) {\n if (ReactCurrentActQueue.didUsePromise) {\n // The component just suspended. Yield to the main thread in\n // case the promise is already resolved. If so, it will ping in\n // a microtask and we can resume without unwinding the stack.\n queue[i] = callback;\n queue.splice(0, i);\n return;\n }\n\n callback = continuation;\n } else {\n break;\n }\n } while (true);\n } // We flushed the entire queue.\n\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue.splice(0, i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n} // Some of our warnings attempt to detect if the `act` call is awaited by\n// checking in an asynchronous task. Wait a few microtasks before checking. The\n// only reason one isn't sufficient is we want to accommodate the case where an\n// `act` call is returned from an async function without first being awaited,\n// since that's a somewhat common pattern. If you do this too many times in a\n// nested sequence, you might get a warning, but you can always fix by awaiting\n// the call.\n//\n// A macrotask would also work (and is the fallback) but depending on the test\n// environment it may cause the warning to fire too late.\n\n\nvar queueSeveralMicrotasks = typeof queueMicrotask === 'function' ? function (callback) {\n queueMicrotask(function () {\n return queueMicrotask(callback);\n });\n} : enqueueTask;\n\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.act = act;\nexports.cache = cache;\nexports.cloneElement = cloneElement;\nexports.createContext = createContext;\nexports.createElement = createElement;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_useCacheRefresh = useCacheRefresh;\nexports.use = use;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useOptimistic = useOptimistic;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","/**\n * Contains predefined constants for the trace span name in next/server.\n *\n * Currently, next/server/tracer is internal implementation only for tracking\n * next.js's implementation only with known span names defined here.\n **/ // eslint typescript has a bug with TS enums\n/* eslint-disable no-shadow */ var BaseServerSpan;\n(function(BaseServerSpan) {\n BaseServerSpan[\"handleRequest\"] = \"BaseServer.handleRequest\";\n BaseServerSpan[\"run\"] = \"BaseServer.run\";\n BaseServerSpan[\"pipe\"] = \"BaseServer.pipe\";\n BaseServerSpan[\"getStaticHTML\"] = \"BaseServer.getStaticHTML\";\n BaseServerSpan[\"render\"] = \"BaseServer.render\";\n BaseServerSpan[\"renderToResponseWithComponents\"] = \"BaseServer.renderToResponseWithComponents\";\n BaseServerSpan[\"renderToResponse\"] = \"BaseServer.renderToResponse\";\n BaseServerSpan[\"renderToHTML\"] = \"BaseServer.renderToHTML\";\n BaseServerSpan[\"renderError\"] = \"BaseServer.renderError\";\n BaseServerSpan[\"renderErrorToResponse\"] = \"BaseServer.renderErrorToResponse\";\n BaseServerSpan[\"renderErrorToHTML\"] = \"BaseServer.renderErrorToHTML\";\n BaseServerSpan[\"render404\"] = \"BaseServer.render404\";\n})(BaseServerSpan || (BaseServerSpan = {}));\nvar LoadComponentsSpan;\n(function(LoadComponentsSpan) {\n LoadComponentsSpan[\"loadDefaultErrorComponents\"] = \"LoadComponents.loadDefaultErrorComponents\";\n LoadComponentsSpan[\"loadComponents\"] = \"LoadComponents.loadComponents\";\n})(LoadComponentsSpan || (LoadComponentsSpan = {}));\nvar NextServerSpan;\n(function(NextServerSpan) {\n NextServerSpan[\"getRequestHandler\"] = \"NextServer.getRequestHandler\";\n NextServerSpan[\"getServer\"] = \"NextServer.getServer\";\n NextServerSpan[\"getServerRequestHandler\"] = \"NextServer.getServerRequestHandler\";\n NextServerSpan[\"createServer\"] = \"createServer.createServer\";\n})(NextServerSpan || (NextServerSpan = {}));\nvar NextNodeServerSpan;\n(function(NextNodeServerSpan) {\n NextNodeServerSpan[\"compression\"] = \"NextNodeServer.compression\";\n NextNodeServerSpan[\"getBuildId\"] = \"NextNodeServer.getBuildId\";\n NextNodeServerSpan[\"createComponentTree\"] = \"NextNodeServer.createComponentTree\";\n NextNodeServerSpan[\"clientComponentLoading\"] = \"NextNodeServer.clientComponentLoading\";\n NextNodeServerSpan[\"getLayoutOrPageModule\"] = \"NextNodeServer.getLayoutOrPageModule\";\n NextNodeServerSpan[\"generateStaticRoutes\"] = \"NextNodeServer.generateStaticRoutes\";\n NextNodeServerSpan[\"generateFsStaticRoutes\"] = \"NextNodeServer.generateFsStaticRoutes\";\n NextNodeServerSpan[\"generatePublicRoutes\"] = \"NextNodeServer.generatePublicRoutes\";\n NextNodeServerSpan[\"generateImageRoutes\"] = \"NextNodeServer.generateImageRoutes.route\";\n NextNodeServerSpan[\"sendRenderResult\"] = \"NextNodeServer.sendRenderResult\";\n NextNodeServerSpan[\"proxyRequest\"] = \"NextNodeServer.proxyRequest\";\n NextNodeServerSpan[\"runApi\"] = \"NextNodeServer.runApi\";\n NextNodeServerSpan[\"render\"] = \"NextNodeServer.render\";\n NextNodeServerSpan[\"renderHTML\"] = \"NextNodeServer.renderHTML\";\n NextNodeServerSpan[\"imageOptimizer\"] = \"NextNodeServer.imageOptimizer\";\n NextNodeServerSpan[\"getPagePath\"] = \"NextNodeServer.getPagePath\";\n NextNodeServerSpan[\"getRoutesManifest\"] = \"NextNodeServer.getRoutesManifest\";\n NextNodeServerSpan[\"findPageComponents\"] = \"NextNodeServer.findPageComponents\";\n NextNodeServerSpan[\"getFontManifest\"] = \"NextNodeServer.getFontManifest\";\n NextNodeServerSpan[\"getServerComponentManifest\"] = \"NextNodeServer.getServerComponentManifest\";\n NextNodeServerSpan[\"getRequestHandler\"] = \"NextNodeServer.getRequestHandler\";\n NextNodeServerSpan[\"renderToHTML\"] = \"NextNodeServer.renderToHTML\";\n NextNodeServerSpan[\"renderError\"] = \"NextNodeServer.renderError\";\n NextNodeServerSpan[\"renderErrorToHTML\"] = \"NextNodeServer.renderErrorToHTML\";\n NextNodeServerSpan[\"render404\"] = \"NextNodeServer.render404\";\n NextNodeServerSpan[\"startResponse\"] = \"NextNodeServer.startResponse\";\n // nested inner span, does not require parent scope name\n NextNodeServerSpan[\"route\"] = \"route\";\n NextNodeServerSpan[\"onProxyReq\"] = \"onProxyReq\";\n NextNodeServerSpan[\"apiResolver\"] = \"apiResolver\";\n NextNodeServerSpan[\"internalFetch\"] = \"internalFetch\";\n})(NextNodeServerSpan || (NextNodeServerSpan = {}));\nvar StartServerSpan;\n(function(StartServerSpan) {\n StartServerSpan[\"startServer\"] = \"startServer.startServer\";\n})(StartServerSpan || (StartServerSpan = {}));\nvar RenderSpan;\n(function(RenderSpan) {\n RenderSpan[\"getServerSideProps\"] = \"Render.getServerSideProps\";\n RenderSpan[\"getStaticProps\"] = \"Render.getStaticProps\";\n RenderSpan[\"renderToString\"] = \"Render.renderToString\";\n RenderSpan[\"renderDocument\"] = \"Render.renderDocument\";\n RenderSpan[\"createBodyResult\"] = \"Render.createBodyResult\";\n})(RenderSpan || (RenderSpan = {}));\nvar AppRenderSpan;\n(function(AppRenderSpan) {\n AppRenderSpan[\"renderToString\"] = \"AppRender.renderToString\";\n AppRenderSpan[\"renderToReadableStream\"] = \"AppRender.renderToReadableStream\";\n AppRenderSpan[\"getBodyResult\"] = \"AppRender.getBodyResult\";\n AppRenderSpan[\"fetch\"] = \"AppRender.fetch\";\n})(AppRenderSpan || (AppRenderSpan = {}));\nvar RouterSpan;\n(function(RouterSpan) {\n RouterSpan[\"executeRoute\"] = \"Router.executeRoute\";\n})(RouterSpan || (RouterSpan = {}));\nvar NodeSpan;\n(function(NodeSpan) {\n NodeSpan[\"runHandler\"] = \"Node.runHandler\";\n})(NodeSpan || (NodeSpan = {}));\nvar AppRouteRouteHandlersSpan;\n(function(AppRouteRouteHandlersSpan) {\n AppRouteRouteHandlersSpan[\"runHandler\"] = \"AppRouteRouteHandlers.runHandler\";\n})(AppRouteRouteHandlersSpan || (AppRouteRouteHandlersSpan = {}));\nvar ResolveMetadataSpan;\n(function(ResolveMetadataSpan) {\n ResolveMetadataSpan[\"generateMetadata\"] = \"ResolveMetadata.generateMetadata\";\n ResolveMetadataSpan[\"generateViewport\"] = \"ResolveMetadata.generateViewport\";\n})(ResolveMetadataSpan || (ResolveMetadataSpan = {}));\nvar MiddlewareSpan;\n(function(MiddlewareSpan) {\n MiddlewareSpan[\"execute\"] = \"Middleware.execute\";\n})(MiddlewareSpan || (MiddlewareSpan = {}));\n// This list is used to filter out spans that are not relevant to the user\nexport const NextVanillaSpanAllowlist = [\n \"Middleware.execute\",\n \"BaseServer.handleRequest\",\n \"Render.getServerSideProps\",\n \"Render.getStaticProps\",\n \"AppRender.fetch\",\n \"AppRender.getBodyResult\",\n \"Render.renderDocument\",\n \"Node.runHandler\",\n \"AppRouteRouteHandlers.runHandler\",\n \"ResolveMetadata.generateMetadata\",\n \"ResolveMetadata.generateViewport\",\n \"NextNodeServer.createComponentTree\",\n \"NextNodeServer.findPageComponents\",\n \"NextNodeServer.getLayoutOrPageModule\",\n \"NextNodeServer.startResponse\",\n \"NextNodeServer.clientComponentLoading\"\n];\n// These Spans are allowed to be always logged\n// when the otel log prefix env is set\nexport const LogSpanAllowList = [\n \"NextNodeServer.findPageComponents\",\n \"NextNodeServer.createComponentTree\",\n \"NextNodeServer.clientComponentLoading\"\n];\nexport { BaseServerSpan, LoadComponentsSpan, NextServerSpan, NextNodeServerSpan, StartServerSpan, RenderSpan, RouterSpan, AppRenderSpan, NodeSpan, AppRouteRouteHandlersSpan, ResolveMetadataSpan, MiddlewareSpan, };\n\n//# sourceMappingURL=constants.js.map","// ISC License\n// Copyright (c) 2021 Alexey Raspopov, Kostiantyn Denysov, Anton Verinov\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n//\n// https://github.com/alexeyraspopov/picocolors/blob/b6261487e7b81aaab2440e397a356732cad9e342/picocolors.js#L1\nvar _globalThis;\nconst { env, stdout } = ((_globalThis = globalThis) == null ? void 0 : _globalThis.process) ?? {};\nconst enabled = env && !env.NO_COLOR && (env.FORCE_COLOR || (stdout == null ? void 0 : stdout.isTTY) && !env.CI && env.TERM !== \"dumb\");\nconst replaceClose = (str, close, replace, index)=>{\n const start = str.substring(0, index) + replace;\n const end = str.substring(index + close.length);\n const nextIndex = end.indexOf(close);\n return ~nextIndex ? start + replaceClose(end, close, replace, nextIndex) : start + end;\n};\nconst formatter = (open, close, replace = open)=>{\n if (!enabled) return String;\n return (input)=>{\n const string = \"\" + input;\n const index = string.indexOf(close, open.length);\n return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;\n };\n};\nexport const reset = enabled ? (s)=>`\\x1b[0m${s}\\x1b[0m` : String;\nexport const bold = formatter(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\");\nexport const dim = formatter(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\");\nexport const italic = formatter(\"\\x1b[3m\", \"\\x1b[23m\");\nexport const underline = formatter(\"\\x1b[4m\", \"\\x1b[24m\");\nexport const inverse = formatter(\"\\x1b[7m\", \"\\x1b[27m\");\nexport const hidden = formatter(\"\\x1b[8m\", \"\\x1b[28m\");\nexport const strikethrough = formatter(\"\\x1b[9m\", \"\\x1b[29m\");\nexport const black = formatter(\"\\x1b[30m\", \"\\x1b[39m\");\nexport const red = formatter(\"\\x1b[31m\", \"\\x1b[39m\");\nexport const green = formatter(\"\\x1b[32m\", \"\\x1b[39m\");\nexport const yellow = formatter(\"\\x1b[33m\", \"\\x1b[39m\");\nexport const blue = formatter(\"\\x1b[34m\", \"\\x1b[39m\");\nexport const magenta = formatter(\"\\x1b[35m\", \"\\x1b[39m\");\nexport const purple = formatter(\"\\x1b[38;2;173;127;168m\", \"\\x1b[39m\");\nexport const cyan = formatter(\"\\x1b[36m\", \"\\x1b[39m\");\nexport const white = formatter(\"\\x1b[37m\", \"\\x1b[39m\");\nexport const gray = formatter(\"\\x1b[90m\", \"\\x1b[39m\");\nexport const bgBlack = formatter(\"\\x1b[40m\", \"\\x1b[49m\");\nexport const bgRed = formatter(\"\\x1b[41m\", \"\\x1b[49m\");\nexport const bgGreen = formatter(\"\\x1b[42m\", \"\\x1b[49m\");\nexport const bgYellow = formatter(\"\\x1b[43m\", \"\\x1b[49m\");\nexport const bgBlue = formatter(\"\\x1b[44m\", \"\\x1b[49m\");\nexport const bgMagenta = formatter(\"\\x1b[45m\", \"\\x1b[49m\");\nexport const bgCyan = formatter(\"\\x1b[46m\", \"\\x1b[49m\");\nexport const bgWhite = formatter(\"\\x1b[47m\", \"\\x1b[49m\");\n\n//# sourceMappingURL=picocolors.js.map","export var RedirectStatusCode;\n(function(RedirectStatusCode) {\n RedirectStatusCode[RedirectStatusCode[\"SeeOther\"] = 303] = \"SeeOther\";\n RedirectStatusCode[RedirectStatusCode[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n RedirectStatusCode[RedirectStatusCode[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n})(RedirectStatusCode || (RedirectStatusCode = {}));\n\n//# sourceMappingURL=redirect-status-code.js.map","import { requestAsyncStorage } from \"./request-async-storage.external\";\nimport { actionAsyncStorage } from \"./action-async-storage.external\";\nimport { RedirectStatusCode } from \"./redirect-status-code\";\nconst REDIRECT_ERROR_CODE = \"NEXT_REDIRECT\";\nexport var RedirectType;\n(function(RedirectType) {\n RedirectType[\"push\"] = \"push\";\n RedirectType[\"replace\"] = \"replace\";\n})(RedirectType || (RedirectType = {}));\nexport function getRedirectError(url, type, statusCode) {\n if (statusCode === void 0) statusCode = RedirectStatusCode.TemporaryRedirect;\n const error = new Error(REDIRECT_ERROR_CODE);\n error.digest = REDIRECT_ERROR_CODE + \";\" + type + \";\" + url + \";\" + statusCode + \";\";\n const requestStore = requestAsyncStorage.getStore();\n if (requestStore) {\n error.mutableCookies = requestStore.mutableCookies;\n }\n return error;\n}\n/**\n * This function allows you to redirect the user to another URL. It can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n * - In a Server Component, this will insert a meta tag to redirect the user to the target page.\n * - In a Route Handler or Server Action, it will serve a 307/303 to the caller.\n *\n * Read more: [Next.js Docs: `redirect`](https://nextjs.org/docs/app/api-reference/functions/redirect)\n */ export function redirect(/** The URL to redirect to */ url, type) {\n if (type === void 0) type = \"replace\";\n const actionStore = actionAsyncStorage.getStore();\n throw getRedirectError(url, type, // If we're in an action, we want to use a 303 redirect\n // as we don't want the POST request to follow the redirect,\n // as it could result in erroneous re-submissions.\n (actionStore == null ? void 0 : actionStore.isAction) ? RedirectStatusCode.SeeOther : RedirectStatusCode.TemporaryRedirect);\n}\n/**\n * This function allows you to redirect the user to another URL. It can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n * - In a Server Component, this will insert a meta tag to redirect the user to the target page.\n * - In a Route Handler or Server Action, it will serve a 308/303 to the caller.\n *\n * Read more: [Next.js Docs: `redirect`](https://nextjs.org/docs/app/api-reference/functions/redirect)\n */ export function permanentRedirect(/** The URL to redirect to */ url, type) {\n if (type === void 0) type = \"replace\";\n const actionStore = actionAsyncStorage.getStore();\n throw getRedirectError(url, type, // If we're in an action, we want to use a 303 redirect\n // as we don't want the POST request to follow the redirect,\n // as it could result in erroneous re-submissions.\n (actionStore == null ? void 0 : actionStore.isAction) ? RedirectStatusCode.SeeOther : RedirectStatusCode.PermanentRedirect);\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 [errorCode, type, destination, status] = error.digest.split(\";\", 4);\n const statusCode = Number(status);\n return errorCode === REDIRECT_ERROR_CODE && (type === \"replace\" || type === \"push\") && typeof destination === \"string\" && !isNaN(statusCode) && statusCode in RedirectStatusCode;\n}\nexport function getURLFromRedirectError(error) {\n if (!isRedirectError(error)) return null;\n // Slices off the beginning of the digest that contains the code and the\n // separating ';'.\n return error.digest.split(\";\", 3)[2];\n}\nexport function getRedirectTypeFromError(error) {\n if (!isRedirectError(error)) {\n throw new Error(\"Not a redirect error\");\n }\n return error.digest.split(\";\", 2)[1];\n}\nexport function getRedirectStatusCodeFromError(error) {\n if (!isRedirectError(error)) {\n throw new Error(\"Not a redirect error\");\n }\n return Number(error.digest.split(\";\", 4)[3]);\n}\n\n//# sourceMappingURL=redirect.js.map","/**\n * RouteModule is the base class for all route modules. This class should be\n * extended by all route modules.\n */ export class RouteModule {\n constructor({ userland, definition }){\n this.userland = userland;\n this.definition = definition;\n }\n}\n\n//# sourceMappingURL=route-module.js.map","export const RSC_HEADER = \"RSC\";\nexport const ACTION = \"Next-Action\";\nexport const NEXT_ROUTER_STATE_TREE = \"Next-Router-State-Tree\";\nexport const NEXT_ROUTER_PREFETCH_HEADER = \"Next-Router-Prefetch\";\nexport const NEXT_URL = \"Next-Url\";\nexport const RSC_CONTENT_TYPE_HEADER = \"text/x-component\";\nexport const FLIGHT_PARAMETERS = [\n [\n RSC_HEADER\n ],\n [\n NEXT_ROUTER_STATE_TREE\n ],\n [\n NEXT_ROUTER_PREFETCH_HEADER\n ]\n];\nexport const NEXT_RSC_UNION_QUERY = \"_rsc\";\nexport const NEXT_DID_POSTPONE_HEADER = \"x-nextjs-postponed\";\n\n//# sourceMappingURL=app-router-headers.js.map","export class ReflectAdapter {\n static get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (typeof value === \"function\") {\n return value.bind(target);\n }\n return value;\n }\n static set(target, prop, value, receiver) {\n return Reflect.set(target, prop, value, receiver);\n }\n static has(target, prop) {\n return Reflect.has(target, prop);\n }\n static deleteProperty(target, prop) {\n return Reflect.deleteProperty(target, prop);\n }\n}\n\n//# sourceMappingURL=reflect.js.map","import { ReflectAdapter } from \"./reflect\";\n/**\n * @internal\n */ export class ReadonlyHeadersError extends Error {\n constructor(){\n super(\"Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers\");\n }\n static callable() {\n throw new ReadonlyHeadersError();\n }\n}\nexport class HeadersAdapter extends Headers {\n constructor(headers){\n // We've already overridden the methods that would be called, so we're just\n // calling the super constructor to ensure that the instanceof check works.\n super();\n this.headers = new Proxy(headers, {\n get (target, prop, receiver) {\n // Because this is just an object, we expect that all \"get\" operations\n // are for properties. If it's a \"get\" for a symbol, we'll just return\n // the symbol.\n if (typeof prop === \"symbol\") {\n return ReflectAdapter.get(target, prop, receiver);\n }\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, return undefined.\n if (typeof original === \"undefined\") return;\n // If the original casing exists, return the value.\n return ReflectAdapter.get(target, original, receiver);\n },\n set (target, prop, value, receiver) {\n if (typeof prop === \"symbol\") {\n return ReflectAdapter.set(target, prop, value, receiver);\n }\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, use the prop as the key.\n return ReflectAdapter.set(target, original ?? prop, value, receiver);\n },\n has (target, prop) {\n if (typeof prop === \"symbol\") return ReflectAdapter.has(target, prop);\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, return false.\n if (typeof original === \"undefined\") return false;\n // If the original casing exists, return true.\n return ReflectAdapter.has(target, original);\n },\n deleteProperty (target, prop) {\n if (typeof prop === \"symbol\") return ReflectAdapter.deleteProperty(target, prop);\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, return true.\n if (typeof original === \"undefined\") return true;\n // If the original casing exists, delete the property.\n return ReflectAdapter.deleteProperty(target, original);\n }\n });\n }\n /**\n * Seals a Headers instance to prevent modification by throwing an error when\n * any mutating method is called.\n */ static seal(headers) {\n return new Proxy(headers, {\n get (target, prop, receiver) {\n switch(prop){\n case \"append\":\n case \"delete\":\n case \"set\":\n return ReadonlyHeadersError.callable;\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n });\n }\n /**\n * Merges a header value into a string. This stores multiple values as an\n * array, so we need to merge them into a string.\n *\n * @param value a header value\n * @returns a merged header value (a string)\n */ merge(value) {\n if (Array.isArray(value)) return value.join(\", \");\n return value;\n }\n /**\n * Creates a Headers instance from a plain object or a Headers instance.\n *\n * @param headers a plain object or a Headers instance\n * @returns a headers instance\n */ static from(headers) {\n if (headers instanceof Headers) return headers;\n return new HeadersAdapter(headers);\n }\n append(name, value) {\n const existing = this.headers[name];\n if (typeof existing === \"string\") {\n this.headers[name] = [\n existing,\n value\n ];\n } else if (Array.isArray(existing)) {\n existing.push(value);\n } else {\n this.headers[name] = value;\n }\n }\n delete(name) {\n delete this.headers[name];\n }\n get(name) {\n const value = this.headers[name];\n if (typeof value !== \"undefined\") return this.merge(value);\n return null;\n }\n has(name) {\n return typeof this.headers[name] !== \"undefined\";\n }\n set(name, value) {\n this.headers[name] = value;\n }\n forEach(callbackfn, thisArg) {\n for (const [name, value] of this.entries()){\n callbackfn.call(thisArg, value, name, this);\n }\n }\n *entries() {\n for (const key of Object.keys(this.headers)){\n const name = key.toLowerCase();\n // We assert here that this is a string because we got it from the\n // Object.keys() call above.\n const value = this.get(name);\n yield [\n name,\n value\n ];\n }\n }\n *keys() {\n for (const key of Object.keys(this.headers)){\n const name = key.toLowerCase();\n yield name;\n }\n }\n *values() {\n for (const key of Object.keys(this.headers)){\n // We assert here that this is a string because we got it from the\n // Object.keys() call above.\n const value = this.get(key);\n yield value;\n }\n }\n [Symbol.iterator]() {\n return this.entries();\n }\n}\n\n//# sourceMappingURL=headers.js.map","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"next/dist/client/components/static-generation-async-storage.external.js\");","import { ResponseCookies } from \"../cookies\";\nimport { ReflectAdapter } from \"./reflect\";\nimport { staticGenerationAsyncStorage } from \"../../../../client/components/static-generation-async-storage.external\";\n/**\n * @internal\n */ export class ReadonlyRequestCookiesError extends Error {\n constructor(){\n super(\"Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#cookiessetname-value-options\");\n }\n static callable() {\n throw new ReadonlyRequestCookiesError();\n }\n}\nexport class RequestCookiesAdapter {\n static seal(cookies) {\n return new Proxy(cookies, {\n get (target, prop, receiver) {\n switch(prop){\n case \"clear\":\n case \"delete\":\n case \"set\":\n return ReadonlyRequestCookiesError.callable;\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n });\n }\n}\nconst SYMBOL_MODIFY_COOKIE_VALUES = Symbol.for(\"next.mutated.cookies\");\nexport function getModifiedCookieValues(cookies) {\n const modified = cookies[SYMBOL_MODIFY_COOKIE_VALUES];\n if (!modified || !Array.isArray(modified) || modified.length === 0) {\n return [];\n }\n return modified;\n}\nexport function appendMutableCookies(headers, mutableCookies) {\n const modifiedCookieValues = getModifiedCookieValues(mutableCookies);\n if (modifiedCookieValues.length === 0) {\n return false;\n }\n // Return a new response that extends the response with\n // the modified cookies as fallbacks. `res` cookies\n // will still take precedence.\n const resCookies = new ResponseCookies(headers);\n const returnedCookies = resCookies.getAll();\n // Set the modified cookies as fallbacks.\n for (const cookie of modifiedCookieValues){\n resCookies.set(cookie);\n }\n // Set the original cookies as the final values.\n for (const cookie of returnedCookies){\n resCookies.set(cookie);\n }\n return true;\n}\nexport class MutableRequestCookiesAdapter {\n static wrap(cookies, onUpdateCookies) {\n const responseCookies = new ResponseCookies(new Headers());\n for (const cookie of cookies.getAll()){\n responseCookies.set(cookie);\n }\n let modifiedValues = [];\n const modifiedCookies = new Set();\n const updateResponseCookies = ()=>{\n // TODO-APP: change method of getting staticGenerationAsyncStore\n const staticGenerationAsyncStore = staticGenerationAsyncStorage.getStore();\n if (staticGenerationAsyncStore) {\n staticGenerationAsyncStore.pathWasRevalidated = true;\n }\n const allCookies = responseCookies.getAll();\n modifiedValues = allCookies.filter((c)=>modifiedCookies.has(c.name));\n if (onUpdateCookies) {\n const serializedCookies = [];\n for (const cookie of modifiedValues){\n const tempCookies = new ResponseCookies(new Headers());\n tempCookies.set(cookie);\n serializedCookies.push(tempCookies.toString());\n }\n onUpdateCookies(serializedCookies);\n }\n };\n return new Proxy(responseCookies, {\n get (target, prop, receiver) {\n switch(prop){\n // A special symbol to get the modified cookie values\n case SYMBOL_MODIFY_COOKIE_VALUES:\n return modifiedValues;\n // TODO: Throw error if trying to set a cookie after the response\n // headers have been set.\n case \"delete\":\n return function(...args) {\n modifiedCookies.add(typeof args[0] === \"string\" ? args[0] : args[0].name);\n try {\n target.delete(...args);\n } finally{\n updateResponseCookies();\n }\n };\n case \"set\":\n return function(...args) {\n modifiedCookies.add(typeof args[0] === \"string\" ? args[0] : args[0].name);\n try {\n return target.set(...args);\n } finally{\n updateResponseCookies();\n }\n };\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n });\n }\n}\n\n//# sourceMappingURL=request-cookies.js.map","export const NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nexport const PRERENDER_REVALIDATE_HEADER = \"x-prerender-revalidate\";\nexport const PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER = \"x-prerender-revalidate-if-generated\";\nexport const RSC_PREFETCH_SUFFIX = \".prefetch.rsc\";\nexport const RSC_SUFFIX = \".rsc\";\nexport const ACTION_SUFFIX = \".action\";\nexport const NEXT_DATA_SUFFIX = \".json\";\nexport const NEXT_META_SUFFIX = \".meta\";\nexport const NEXT_BODY_SUFFIX = \".body\";\nexport const NEXT_CACHE_TAGS_HEADER = \"x-next-cache-tags\";\nexport const NEXT_CACHE_SOFT_TAGS_HEADER = \"x-next-cache-soft-tags\";\nexport const NEXT_CACHE_REVALIDATED_TAGS_HEADER = \"x-next-revalidated-tags\";\nexport const NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER = \"x-next-revalidate-tag-token\";\n// if these change make sure we update the related\n// documentation as well\nexport const NEXT_CACHE_TAG_MAX_ITEMS = 128;\nexport const NEXT_CACHE_TAG_MAX_LENGTH = 256;\nexport const NEXT_CACHE_SOFT_TAG_MAX_LENGTH = 1024;\nexport const NEXT_CACHE_IMPLICIT_TAG_ID = \"_N_T_\";\n// in seconds\nexport const CACHE_ONE_YEAR = 31536000;\n// Patterns to detect middleware files\nexport const MIDDLEWARE_FILENAME = \"middleware\";\nexport const MIDDLEWARE_LOCATION_REGEXP = `(?:src/)?${MIDDLEWARE_FILENAME}`;\n// Pattern to detect instrumentation hooks file\nexport const INSTRUMENTATION_HOOK_FILENAME = \"instrumentation\";\n// Because on Windows absolute paths in the generated code can break because of numbers, eg 1 in the path,\n// we have to use a private alias\nexport const PAGES_DIR_ALIAS = \"private-next-pages\";\nexport const DOT_NEXT_ALIAS = \"private-dot-next\";\nexport const ROOT_DIR_ALIAS = \"private-next-root-dir\";\nexport const APP_DIR_ALIAS = \"private-next-app-dir\";\nexport const RSC_MOD_REF_PROXY_ALIAS = \"private-next-rsc-mod-ref-proxy\";\nexport const RSC_ACTION_VALIDATE_ALIAS = \"private-next-rsc-action-validate\";\nexport const RSC_ACTION_PROXY_ALIAS = \"private-next-rsc-server-reference\";\nexport const RSC_ACTION_ENCRYPTION_ALIAS = \"private-next-rsc-action-encryption\";\nexport const RSC_ACTION_CLIENT_WRAPPER_ALIAS = \"private-next-rsc-action-client-wrapper\";\nexport const PUBLIC_DIR_MIDDLEWARE_CONFLICT = `You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict`;\nexport const SSG_GET_INITIAL_PROPS_CONFLICT = `You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps`;\nexport const SERVER_PROPS_GET_INIT_PROPS_CONFLICT = `You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.`;\nexport const SERVER_PROPS_SSG_CONFLICT = `You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps`;\nexport const STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR = `can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props`;\nexport const SERVER_PROPS_EXPORT_ERROR = `pages with \\`getServerSideProps\\` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export`;\nexport const GSP_NO_RETURNED_VALUE = \"Your `getStaticProps` function did not return an object. Did you forget to add a `return`?\";\nexport const GSSP_NO_RETURNED_VALUE = \"Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?\";\nexport const UNSTABLE_REVALIDATE_RENAME_ERROR = \"The `unstable_revalidate` property is available for general use.\\n\" + \"Please use `revalidate` instead.\";\nexport const GSSP_COMPONENT_MEMBER_ERROR = `can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member`;\nexport const NON_STANDARD_NODE_ENV = `You are using a non-standard \"NODE_ENV\" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env`;\nexport const SSG_FALLBACK_EXPORT_ERROR = `Pages with \\`fallback\\` enabled in \\`getStaticPaths\\` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export`;\nexport const ESLINT_DEFAULT_DIRS = [\n \"app\",\n \"pages\",\n \"components\",\n \"lib\",\n \"src\"\n];\nexport const SERVER_RUNTIME = {\n edge: \"edge\",\n experimentalEdge: \"experimental-edge\",\n nodejs: \"nodejs\"\n};\n/**\n * The names of the webpack layers. These layers are the primitives for the\n * webpack chunks.\n */ const WEBPACK_LAYERS_NAMES = {\n /**\n * The layer for the shared code between the client and server bundles.\n */ shared: \"shared\",\n /**\n * React Server Components layer (rsc).\n */ reactServerComponents: \"rsc\",\n /**\n * Server Side Rendering layer for app (ssr).\n */ serverSideRendering: \"ssr\",\n /**\n * The browser client bundle layer for actions.\n */ actionBrowser: \"action-browser\",\n /**\n * The layer for the API routes.\n */ api: \"api\",\n /**\n * The layer for the middleware code.\n */ middleware: \"middleware\",\n /**\n * The layer for the instrumentation hooks.\n */ instrument: \"instrument\",\n /**\n * The layer for assets on the edge.\n */ edgeAsset: \"edge-asset\",\n /**\n * The browser client bundle layer for App directory.\n */ appPagesBrowser: \"app-pages-browser\",\n /**\n * The server bundle layer for metadata routes.\n */ appMetadataRoute: \"app-metadata-route\",\n /**\n * The layer for the server bundle for App Route handlers.\n */ appRouteHandler: \"app-route-handler\"\n};\nconst WEBPACK_LAYERS = {\n ...WEBPACK_LAYERS_NAMES,\n GROUP: {\n serverOnly: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.appMetadataRoute,\n WEBPACK_LAYERS_NAMES.appRouteHandler,\n WEBPACK_LAYERS_NAMES.instrument\n ],\n clientOnly: [\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser\n ],\n nonClientServerTarget: [\n // middleware and pages api\n WEBPACK_LAYERS_NAMES.middleware,\n WEBPACK_LAYERS_NAMES.api\n ],\n app: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.appMetadataRoute,\n WEBPACK_LAYERS_NAMES.appRouteHandler,\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser,\n WEBPACK_LAYERS_NAMES.shared,\n WEBPACK_LAYERS_NAMES.instrument\n ]\n }\n};\nconst WEBPACK_RESOURCE_QUERIES = {\n edgeSSREntry: \"__next_edge_ssr_entry__\",\n metadata: \"__next_metadata__\",\n metadataRoute: \"__next_metadata_route__\",\n metadataImageMeta: \"__next_metadata_image_meta__\"\n};\nexport { WEBPACK_LAYERS, WEBPACK_RESOURCE_QUERIES };\n\n//# sourceMappingURL=constants.js.map","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"next/dist/server/lib/trace/tracer\");","import { HeadersAdapter } from \"../web/spec-extension/adapters/headers\";\nimport { PRERENDER_REVALIDATE_HEADER, PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER } from \"../../lib/constants\";\nimport { getTracer } from \"../lib/trace/tracer\";\nimport { NodeSpan } from \"../lib/trace/constants\";\nexport function wrapApiHandler(page, handler) {\n return (...args)=>{\n var _getTracer_getRootSpanAttributes;\n (_getTracer_getRootSpanAttributes = getTracer().getRootSpanAttributes()) == null ? void 0 : _getTracer_getRootSpanAttributes.set(\"next.route\", page);\n // Call API route method\n return getTracer().trace(NodeSpan.runHandler, {\n spanName: `executing api route (pages) ${page}`\n }, ()=>handler(...args));\n };\n}\n/**\n *\n * @param res response object\n * @param statusCode `HTTP` status code of response\n */ export function sendStatusCode(res, statusCode) {\n res.statusCode = statusCode;\n return res;\n}\n/**\n *\n * @param res response object\n * @param [statusOrUrl] `HTTP` status code of redirect\n * @param url URL of redirect\n */ export function redirect(res, statusOrUrl, url) {\n if (typeof statusOrUrl === \"string\") {\n url = statusOrUrl;\n statusOrUrl = 307;\n }\n if (typeof statusOrUrl !== \"number\" || typeof url !== \"string\") {\n throw new Error(`Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination').`);\n }\n res.writeHead(statusOrUrl, {\n Location: url\n });\n res.write(url);\n res.end();\n return res;\n}\nexport function checkIsOnDemandRevalidate(req, previewProps) {\n const headers = HeadersAdapter.from(req.headers);\n const previewModeId = headers.get(PRERENDER_REVALIDATE_HEADER);\n const isOnDemandRevalidate = previewModeId === previewProps.previewModeId;\n const revalidateOnlyGenerated = headers.has(PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER);\n return {\n isOnDemandRevalidate,\n revalidateOnlyGenerated\n };\n}\nexport const COOKIE_NAME_PRERENDER_BYPASS = `__prerender_bypass`;\nexport const COOKIE_NAME_PRERENDER_DATA = `__next_preview_data`;\nexport const RESPONSE_LIMIT_DEFAULT = 4 * 1024 * 1024;\nexport const SYMBOL_PREVIEW_DATA = Symbol(COOKIE_NAME_PRERENDER_DATA);\nexport const SYMBOL_CLEARED_COOKIES = Symbol(COOKIE_NAME_PRERENDER_BYPASS);\nexport function clearPreviewData(res, options = {}) {\n if (SYMBOL_CLEARED_COOKIES in res) {\n return res;\n }\n const { serialize } = require(\"next/dist/compiled/cookie\");\n const previous = res.getHeader(\"Set-Cookie\");\n res.setHeader(`Set-Cookie`, [\n ...typeof previous === \"string\" ? [\n previous\n ] : Array.isArray(previous) ? previous : [],\n serialize(COOKIE_NAME_PRERENDER_BYPASS, \"\", {\n // To delete a cookie, set `expires` to a date in the past:\n // https://tools.ietf.org/html/rfc6265#section-4.1.1\n // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.\n expires: new Date(0),\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== \"development\" ? \"none\" : \"lax\",\n secure: process.env.NODE_ENV !== \"development\",\n path: \"/\",\n ...options.path !== undefined ? {\n path: options.path\n } : undefined\n }),\n serialize(COOKIE_NAME_PRERENDER_DATA, \"\", {\n // To delete a cookie, set `expires` to a date in the past:\n // https://tools.ietf.org/html/rfc6265#section-4.1.1\n // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.\n expires: new Date(0),\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== \"development\" ? \"none\" : \"lax\",\n secure: process.env.NODE_ENV !== \"development\",\n path: \"/\",\n ...options.path !== undefined ? {\n path: options.path\n } : undefined\n })\n ]);\n Object.defineProperty(res, SYMBOL_CLEARED_COOKIES, {\n value: true,\n enumerable: false\n });\n return res;\n}\n/**\n * Custom error class\n */ export class ApiError extends Error {\n constructor(statusCode, message){\n super(message);\n this.statusCode = statusCode;\n }\n}\n/**\n * Sends error in `response`\n * @param res response object\n * @param statusCode of response\n * @param message of response\n */ export function sendError(res, statusCode, message) {\n res.statusCode = statusCode;\n res.statusMessage = message;\n res.end(message);\n}\n/**\n * Execute getter function only if its needed\n * @param LazyProps `req` and `params` for lazyProp\n * @param prop name of property\n * @param getter function to get data\n */ export function setLazyProp({ req }, prop, getter) {\n const opts = {\n configurable: true,\n enumerable: true\n };\n const optsReset = {\n ...opts,\n writable: true\n };\n Object.defineProperty(req, prop, {\n ...opts,\n get: ()=>{\n const value = getter();\n // we set the property on the object to avoid recalculating it\n Object.defineProperty(req, prop, {\n ...optsReset,\n value\n });\n return value;\n },\n set: (value)=>{\n Object.defineProperty(req, prop, {\n ...optsReset,\n value\n });\n }\n });\n}\n\n//# sourceMappingURL=index.js.map","import { COOKIE_NAME_PRERENDER_BYPASS, checkIsOnDemandRevalidate } from \"../api-utils\";\nexport class DraftModeProvider {\n constructor(previewProps, req, cookies, mutableCookies){\n var _cookies_get;\n // The logic for draftMode() is very similar to tryGetPreviewData()\n // but Draft Mode does not have any data associated with it.\n const isOnDemandRevalidate = previewProps && checkIsOnDemandRevalidate(req, previewProps).isOnDemandRevalidate;\n const cookieValue = (_cookies_get = cookies.get(COOKIE_NAME_PRERENDER_BYPASS)) == null ? void 0 : _cookies_get.value;\n this.isEnabled = Boolean(!isOnDemandRevalidate && cookieValue && previewProps && (cookieValue === previewProps.previewModeId || // In dev mode, the cookie can be actual hash value preview id but the preview props can still be `development-id`.\n process.env.NODE_ENV !== \"production\" && previewProps.previewModeId === \"development-id\"));\n this._previewModeId = previewProps == null ? void 0 : previewProps.previewModeId;\n this._mutableCookies = mutableCookies;\n }\n enable() {\n if (!this._previewModeId) {\n throw new Error(\"Invariant: previewProps missing previewModeId this should never happen\");\n }\n this._mutableCookies.set({\n name: COOKIE_NAME_PRERENDER_BYPASS,\n value: this._previewModeId,\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== \"development\" ? \"none\" : \"lax\",\n secure: process.env.NODE_ENV !== \"development\",\n path: \"/\"\n });\n }\n disable() {\n // To delete a cookie, set `expires` to a date in the past:\n // https://tools.ietf.org/html/rfc6265#section-4.1.1\n // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.\n this._mutableCookies.set({\n name: COOKIE_NAME_PRERENDER_BYPASS,\n value: \"\",\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== \"development\" ? \"none\" : \"lax\",\n secure: process.env.NODE_ENV !== \"development\",\n path: \"/\",\n expires: new Date(0)\n });\n }\n}\n\n//# sourceMappingURL=draft-mode-provider.js.map","import { FLIGHT_PARAMETERS } from \"../../client/components/app-router-headers\";\nimport { HeadersAdapter } from \"../web/spec-extension/adapters/headers\";\nimport { MutableRequestCookiesAdapter, RequestCookiesAdapter } from \"../web/spec-extension/adapters/request-cookies\";\nimport { ResponseCookies, RequestCookies } from \"../web/spec-extension/cookies\";\nimport { DraftModeProvider } from \"./draft-mode-provider\";\nimport { splitCookiesString } from \"../web/utils\";\nfunction getHeaders(headers) {\n const cleaned = HeadersAdapter.from(headers);\n for (const param of FLIGHT_PARAMETERS){\n cleaned.delete(param.toString().toLowerCase());\n }\n return HeadersAdapter.seal(cleaned);\n}\nfunction getMutableCookies(headers, onUpdateCookies) {\n const cookies = new RequestCookies(HeadersAdapter.from(headers));\n return MutableRequestCookiesAdapter.wrap(cookies, onUpdateCookies);\n}\n/**\n * If middleware set cookies in this request (indicated by `x-middleware-set-cookie`),\n * then merge those into the existing cookie object, so that when `cookies()` is accessed\n * it's able to read the newly set cookies.\n */ function mergeMiddlewareCookies(req, existingCookies) {\n if (\"x-middleware-set-cookie\" in req.headers && typeof req.headers[\"x-middleware-set-cookie\"] === \"string\") {\n const setCookieValue = req.headers[\"x-middleware-set-cookie\"];\n const responseHeaders = new Headers();\n for (const cookie of splitCookiesString(setCookieValue)){\n responseHeaders.append(\"set-cookie\", cookie);\n }\n const responseCookies = new ResponseCookies(responseHeaders);\n // Transfer cookies from ResponseCookies to RequestCookies\n for (const cookie of responseCookies.getAll()){\n existingCookies.set(cookie);\n }\n }\n}\nexport const RequestAsyncStorageWrapper = {\n /**\n * Wrap the callback with the given store so it can access the underlying\n * store using hooks.\n *\n * @param storage underlying storage object returned by the module\n * @param context context to seed the store\n * @param callback function to call within the scope of the context\n * @returns the result returned by the callback\n */ wrap (storage, { req, res, renderOpts }, callback) {\n let previewProps = undefined;\n if (renderOpts && \"previewProps\" in renderOpts) {\n // TODO: investigate why previewProps isn't on RenderOpts\n previewProps = renderOpts.previewProps;\n }\n function defaultOnUpdateCookies(cookies) {\n if (res) {\n res.setHeader(\"Set-Cookie\", cookies);\n }\n }\n const cache = {};\n const store = {\n get headers () {\n if (!cache.headers) {\n // Seal the headers object that'll freeze out any methods that could\n // mutate the underlying data.\n cache.headers = getHeaders(req.headers);\n }\n return cache.headers;\n },\n get cookies () {\n if (!cache.cookies) {\n // if middleware is setting cookie(s), then include those in\n // the initial cached cookies so they can be read in render\n const requestCookies = new RequestCookies(HeadersAdapter.from(req.headers));\n mergeMiddlewareCookies(req, requestCookies);\n // Seal the cookies object that'll freeze out any methods that could\n // mutate the underlying data.\n cache.cookies = RequestCookiesAdapter.seal(requestCookies);\n }\n return cache.cookies;\n },\n get mutableCookies () {\n if (!cache.mutableCookies) {\n const mutableCookies = getMutableCookies(req.headers, (renderOpts == null ? void 0 : renderOpts.onUpdateCookies) || (res ? defaultOnUpdateCookies : undefined));\n mergeMiddlewareCookies(req, mutableCookies);\n cache.mutableCookies = mutableCookies;\n }\n return cache.mutableCookies;\n },\n get draftMode () {\n if (!cache.draftMode) {\n cache.draftMode = new DraftModeProvider(previewProps, req, this.cookies, this.mutableCookies);\n }\n return cache.draftMode;\n },\n reactLoadableManifest: (renderOpts == null ? void 0 : renderOpts.reactLoadableManifest) || {},\n assetPrefix: (renderOpts == null ? void 0 : renderOpts.assetPrefix) || \"\"\n };\n return storage.run(store, callback, store);\n }\n};\n\n//# sourceMappingURL=request-async-storage-wrapper.js.map","/**\n * Converts a Node.js IncomingHttpHeaders object to a Headers object. Any\n * headers with multiple values will be joined with a comma and space. Any\n * headers that have an undefined value will be ignored and others will be\n * coerced to strings.\n *\n * @param nodeHeaders the headers object to convert\n * @returns the converted headers object\n */ export function fromNodeOutgoingHttpHeaders(nodeHeaders) {\n const headers = new Headers();\n for (let [key, value] of Object.entries(nodeHeaders)){\n const values = Array.isArray(value) ? value : [\n value\n ];\n for (let v of values){\n if (typeof v === \"undefined\") continue;\n if (typeof v === \"number\") {\n v = v.toString();\n }\n headers.append(key, v);\n }\n }\n return headers;\n}\n/*\n Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas\n that are within a single set-cookie field-value, such as in the Expires portion.\n This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2\n Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128\n React Native's fetch does this for *every* header, including set-cookie.\n \n Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25\n Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation\n*/ export function splitCookiesString(cookiesString) {\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n function skipWhitespace() {\n while(pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))){\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n while(pos < cookiesString.length){\n start = pos;\n cookiesSeparatorFound = false;\n while(skipWhitespace()){\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n // ',' is a cookie separator if we have later first '=', not ';' or ','\n lastComma = pos;\n pos += 1;\n skipWhitespace();\n nextStart = pos;\n while(pos < cookiesString.length && notSpecialChar()){\n pos += 1;\n }\n // currently special character\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n // we found cookies separator\n cookiesSeparatorFound = true;\n // pos is inside the next cookie, so back up and return it.\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n // in param ',' or param separator ';',\n // we continue from that comma\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n return cookiesStrings;\n}\n/**\n * Converts a Headers object to a Node.js OutgoingHttpHeaders object. This is\n * required to support the set-cookie header, which may have multiple values.\n *\n * @param headers the headers object to convert\n * @returns the converted headers object\n */ export function toNodeOutgoingHttpHeaders(headers) {\n const nodeHeaders = {};\n const cookies = [];\n if (headers) {\n for (const [key, value] of headers.entries()){\n if (key.toLowerCase() === \"set-cookie\") {\n // We may have gotten a comma joined string of cookies, or multiple\n // set-cookie headers. We need to merge them into one header array\n // to represent all the cookies.\n cookies.push(...splitCookiesString(value));\n nodeHeaders[key] = cookies.length === 1 ? cookies[0] : cookies;\n } else {\n nodeHeaders[key] = value;\n }\n }\n }\n return nodeHeaders;\n}\n/**\n * Validate the correctness of a user-provided URL.\n */ export function validateURL(url) {\n try {\n return String(new URL(String(url)));\n } catch (error) {\n throw new Error(`URL is malformed \"${String(url)}\". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`, {\n cause: error\n });\n }\n}\n\n//# sourceMappingURL=utils.js.map","const DYNAMIC_ERROR_CODE = \"DYNAMIC_SERVER_USAGE\";\nexport class DynamicServerError extends Error {\n constructor(description){\n super(\"Dynamic server usage: \" + description);\n this.description = description;\n 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 NEXT_STATIC_GEN_BAILOUT = \"NEXT_STATIC_GEN_BAILOUT\";\nexport class StaticGenBailoutError extends Error {\n constructor(...args){\n super(...args);\n 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","const DUMMY_ORIGIN = \"http://n\";\nfunction getUrlWithoutHost(url) {\n return new URL(url, DUMMY_ORIGIN);\n}\nexport function getPathname(url) {\n return getUrlWithoutHost(url).pathname;\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}\n\n//# sourceMappingURL=url.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 { getPathname } from \"../../lib/url\";\nconst hasPostpone = typeof React.unstable_postpone === \"function\";\nexport function createPrerenderState(isDebugSkeleton) {\n return {\n isDebugSkeleton,\n dynamicAccesses: []\n };\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.\n */ export function markCurrentScopeAsDynamic(store, expression) {\n const pathname = getPathname(store.urlPathname);\n if (store.isUnstableCacheCallback) {\n // inside cache scopes marking a scope as dynamic has no effect because the outer cache scope\n // creates a cache boundary. This is subtly different from reading a dynamic data source which is\n // forbidden inside a cache scope.\n return;\n } else if (store.dynamicShouldError) {\n throw new StaticGenBailoutError(`Route ${pathname} 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`);\n } else if (// We are in a prerender (PPR enabled, during build)\n store.prerenderState) {\n // We track that we had a dynamic scope that postponed.\n // This will be used by the renderer to decide whether\n // the prerender requires a resume\n postponeWithTracking(store.prerenderState, expression, pathname);\n } else {\n store.revalidate = 0;\n if (store.isStaticGeneration) {\n // We aren't prerendering but we are generating a static page. We need to bail out of static generation\n const err = new DynamicServerError(`Route ${pathname} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);\n store.dynamicUsageDescription = expression;\n store.dynamicUsageStack = err.stack;\n throw err;\n }\n }\n}\n/**\n * This function communicates that some dynamic data was read. This typically would refer to accessing\n * a Request specific data store such as cookies or headers. This function is not how end-users will\n * describe reading from dynamic data sources which are valid to cache and up to the author to make\n * a determination of when to do so.\n *\n * If we are inside a cache scope we error\n * Also during a PPR Prerender we postpone\n */ export function trackDynamicDataAccessed(store, expression) {\n const pathname = getPathname(store.urlPathname);\n if (store.isUnstableCacheCallback) {\n throw new Error(`Route ${pathname} used \"${expression}\" inside a function cached with \"unstable_cache(...)\". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \"${expression}\" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`);\n } else if (store.dynamicShouldError) {\n throw new StaticGenBailoutError(`Route ${pathname} 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`);\n } else if (// We are in a prerender (PPR enabled, during build)\n store.prerenderState) {\n // We track that we had a dynamic scope that postponed.\n // This will be used by the renderer to decide whether\n // the prerender requires a resume\n postponeWithTracking(store.prerenderState, expression, pathname);\n } else {\n store.revalidate = 0;\n if (store.isStaticGeneration) {\n // We aren't prerendering but we are generating a static page. We need to bail out of static generation\n const err = new DynamicServerError(`Route ${pathname} couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);\n store.dynamicUsageDescription = expression;\n store.dynamicUsageStack = err.stack;\n throw err;\n }\n }\n}\nexport function Postpone({ reason, prerenderState, pathname }) {\n postponeWithTracking(prerenderState, reason, pathname);\n}\n// @TODO refactor patch-fetch and this function to better model dynamic semantics. Currently this implementation\n// is too explicit about postponing if we are in a prerender and patch-fetch contains a lot of logic for determining\n// what makes the fetch \"dynamic\". It also doesn't handle Non PPR cases so it is isn't as consistent with the other\n// dynamic-rendering methods.\nexport function trackDynamicFetch(store, expression) {\n if (store.prerenderState) {\n postponeWithTracking(store.prerenderState, expression, store.urlPathname);\n }\n}\nfunction postponeWithTracking(prerenderState, expression, pathname) {\n assertPostpone();\n const reason = `Route ${pathname} 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 prerenderState.dynamicAccesses.push({\n // When we aren't debugging, we don't need to create another error for the\n // stack trace.\n stack: prerenderState.isDebugSkeleton ? new Error().stack : undefined,\n expression\n });\n React.unstable_postpone(reason);\n}\nexport function usedDynamicAPIs(prerenderState) {\n return prerenderState.dynamicAccesses.length > 0;\n}\nexport function formatDynamicAPIAccesses(prerenderState) {\n return prerenderState.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 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`);\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 createPostponedAbortSignal(reason) {\n assertPostpone();\n const controller = new AbortController();\n // We get our hands on a postpone instance by calling postpone and catching the throw\n try {\n React.unstable_postpone(reason);\n } catch (x) {\n controller.abort(x);\n }\n return controller.signal;\n}\n\n//# sourceMappingURL=dynamic-rendering.js.map","import { createPrerenderState } from \"../../server/app-render/dynamic-rendering\";\nexport const StaticGenerationAsyncStorageWrapper = {\n wrap (storage, { urlPathname, renderOpts, requestEndedState }, callback) {\n /**\n * Rules of Static & Dynamic HTML:\n *\n * 1.) We must generate static HTML unless the caller explicitly opts\n * in to dynamic HTML support.\n *\n * 2.) If dynamic HTML support is requested, we must honor that request\n * or throw an error. It is the sole responsibility of the caller to\n * ensure they aren't e.g. requesting dynamic HTML for an AMP page.\n *\n * 3.) If the request is in draft mode, we must generate dynamic HTML.\n *\n * 4.) If the request is a server action, we must generate dynamic HTML.\n *\n * These rules help ensure that other existing features like request caching,\n * coalescing, and ISR continue working as intended.\n */ const isStaticGeneration = !renderOpts.supportsDynamicResponse && !renderOpts.isDraftMode && !renderOpts.isServerAction;\n const prerenderState = isStaticGeneration && renderOpts.experimental.ppr ? createPrerenderState(renderOpts.isDebugPPRSkeleton) : null;\n const store = {\n isStaticGeneration,\n urlPathname,\n pagePath: renderOpts.originalPathname,\n incrementalCache: // we fallback to a global incremental cache for edge-runtime locally\n // so that it can access the fs cache without mocks\n renderOpts.incrementalCache || globalThis.__incrementalCache,\n isRevalidate: renderOpts.isRevalidate,\n isPrerendering: renderOpts.nextExport,\n fetchCache: renderOpts.fetchCache,\n isOnDemandRevalidate: renderOpts.isOnDemandRevalidate,\n isDraftMode: renderOpts.isDraftMode,\n prerenderState,\n requestEndedState\n };\n // TODO: remove this when we resolve accessing the store outside the execution context\n renderOpts.store = store;\n return storage.run(store, callback, store);\n }\n};\n\n//# sourceMappingURL=static-generation-async-storage-wrapper.js.map","import { appendMutableCookies } from \"../../../web/spec-extension/adapters/request-cookies\";\nexport function handleRedirectResponse(url, mutableCookies, status) {\n const headers = new Headers({\n location: url\n });\n appendMutableCookies(headers, mutableCookies);\n return new Response(null, {\n status,\n headers\n });\n}\nexport function handleBadRequestResponse() {\n return new Response(null, {\n status: 400\n });\n}\nexport function handleNotFoundResponse() {\n return new Response(null, {\n status: 404\n });\n}\nexport function handleMethodNotAllowedResponse() {\n return new Response(null, {\n status: 405\n });\n}\nexport function handleInternalServerErrorResponse() {\n return new Response(null, {\n status: 500\n });\n}\n\n//# sourceMappingURL=response-handlers.js.map","/**\n * List of valid HTTP methods that can be implemented by Next.js's Custom App\n * Routes.\n */ export const HTTP_METHODS = [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"POST\",\n \"PUT\",\n \"DELETE\",\n \"PATCH\"\n];\n/**\n * Checks to see if the passed string is an HTTP method. Note that this is case\n * sensitive.\n *\n * @param maybeMethod the string that may be an HTTP method\n * @returns true if the string is an HTTP method\n */ export function isHTTPMethod(maybeMethod) {\n return HTTP_METHODS.includes(maybeMethod);\n}\n\n//# sourceMappingURL=http.js.map","import { bold, green, magenta, red, yellow, white } from \"../../lib/picocolors\";\nexport const prefixes = {\n wait: white(bold(\"○\")),\n error: red(bold(\"⨯\")),\n warn: yellow(bold(\"⚠\")),\n ready: \"▲\",\n info: white(bold(\" \")),\n event: green(bold(\"✓\")),\n trace: magenta(bold(\"\\xbb\"))\n};\nconst LOGGING_METHOD = {\n log: \"log\",\n warn: \"warn\",\n error: \"error\"\n};\nfunction prefixedLog(prefixType, ...message) {\n if ((message[0] === \"\" || message[0] === undefined) && message.length === 1) {\n message.shift();\n }\n const consoleMethod = prefixType in LOGGING_METHOD ? LOGGING_METHOD[prefixType] : \"log\";\n const prefix = prefixes[prefixType];\n // If there's no message, don't print the prefix but a new line\n if (message.length === 0) {\n console[consoleMethod](\"\");\n } else {\n console[consoleMethod](\" \" + prefix, ...message);\n }\n}\nexport function bootstrap(...message) {\n console.log(\" \", ...message);\n}\nexport function wait(...message) {\n prefixedLog(\"wait\", ...message);\n}\nexport function error(...message) {\n prefixedLog(\"error\", ...message);\n}\nexport function warn(...message) {\n prefixedLog(\"warn\", ...message);\n}\nexport function ready(...message) {\n prefixedLog(\"ready\", ...message);\n}\nexport function info(...message) {\n prefixedLog(\"info\", ...message);\n}\nexport function event(...message) {\n prefixedLog(\"event\", ...message);\n}\nexport function trace(...message) {\n prefixedLog(\"trace\", ...message);\n}\nconst warnOnceMessages = new Set();\nexport function warnOnce(...message) {\n if (!warnOnceMessages.has(message[0])) {\n warnOnceMessages.add(message.join(\" \"));\n warn(...message);\n }\n}\n\n//# sourceMappingURL=log.js.map","import { AppRenderSpan, NextNodeServerSpan } from \"./trace/constants\";\nimport { getTracer, SpanKind } from \"./trace/tracer\";\nimport { CACHE_ONE_YEAR, NEXT_CACHE_IMPLICIT_TAG_ID, NEXT_CACHE_TAG_MAX_ITEMS, NEXT_CACHE_TAG_MAX_LENGTH } from \"../../lib/constants\";\nimport * as Log from \"../../build/output/log\";\nimport { trackDynamicFetch } from \"../app-render/dynamic-rendering\";\nconst isEdgeRuntime = process.env.NEXT_RUNTIME === \"edge\";\nfunction isPatchedFetch(fetch) {\n return \"__nextPatched\" in fetch && fetch.__nextPatched === true;\n}\nexport function validateRevalidate(revalidateVal, pathname) {\n try {\n let normalizedRevalidate = undefined;\n if (revalidateVal === false) {\n normalizedRevalidate = revalidateVal;\n } else if (typeof revalidateVal === \"number\" && !isNaN(revalidateVal) && revalidateVal > -1) {\n normalizedRevalidate = revalidateVal;\n } else if (typeof revalidateVal !== \"undefined\") {\n throw new Error(`Invalid revalidate value \"${revalidateVal}\" on \"${pathname}\", must be a non-negative number or \"false\"`);\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}\nconst getDerivedTags = (pathname)=>{\n const derivedTags = [\n `/layout`\n ];\n // we automatically add the current path segments as tags\n // for revalidatePath handling\n if (pathname.startsWith(\"/\")) {\n const pathnameParts = pathname.split(\"/\");\n for(let i = 1; i < pathnameParts.length + 1; i++){\n let curPathname = pathnameParts.slice(0, i).join(\"/\");\n if (curPathname) {\n // all derived tags other than the page are layout tags\n if (!curPathname.endsWith(\"/page\") && !curPathname.endsWith(\"/route\")) {\n curPathname = `${curPathname}${!curPathname.endsWith(\"/\") ? \"/\" : \"\"}layout`;\n }\n derivedTags.push(curPathname);\n }\n }\n }\n return derivedTags;\n};\nexport function addImplicitTags(staticGenerationStore) {\n const newTags = [];\n const { pagePath, urlPathname } = staticGenerationStore;\n if (!Array.isArray(staticGenerationStore.tags)) {\n staticGenerationStore.tags = [];\n }\n if (pagePath) {\n const derivedTags = getDerivedTags(pagePath);\n for (let tag of derivedTags){\n var _staticGenerationStore_tags;\n tag = `${NEXT_CACHE_IMPLICIT_TAG_ID}${tag}`;\n if (!((_staticGenerationStore_tags = staticGenerationStore.tags) == null ? void 0 : _staticGenerationStore_tags.includes(tag))) {\n staticGenerationStore.tags.push(tag);\n }\n newTags.push(tag);\n }\n }\n if (urlPathname) {\n var _staticGenerationStore_tags1;\n const parsedPathname = new URL(urlPathname, \"http://n\").pathname;\n const tag = `${NEXT_CACHE_IMPLICIT_TAG_ID}${parsedPathname}`;\n if (!((_staticGenerationStore_tags1 = staticGenerationStore.tags) == null ? void 0 : _staticGenerationStore_tags1.includes(tag))) {\n staticGenerationStore.tags.push(tag);\n }\n newTags.push(tag);\n }\n return newTags;\n}\nfunction trackFetchMetric(staticGenerationStore, ctx) {\n var _staticGenerationStore_requestEndedState;\n if (!staticGenerationStore || ((_staticGenerationStore_requestEndedState = staticGenerationStore.requestEndedState) == null ? void 0 : _staticGenerationStore_requestEndedState.ended) || process.env.NODE_ENV !== \"development\") {\n return;\n }\n staticGenerationStore.fetchMetrics ??= [];\n const dedupeFields = [\n \"url\",\n \"status\",\n \"method\"\n ];\n // don't add metric if one already exists for the fetch\n if (staticGenerationStore.fetchMetrics.some((metric)=>dedupeFields.every((field)=>metric[field] === ctx[field]))) {\n return;\n }\n staticGenerationStore.fetchMetrics.push({\n ...ctx,\n end: Date.now(),\n idx: staticGenerationStore.nextFetchId || 0\n });\n // only store top 10 metrics to avoid storing too many\n if (staticGenerationStore.fetchMetrics.length > 10) {\n // sort slowest first as these should be highlighted\n staticGenerationStore.fetchMetrics.sort((a, b)=>{\n const aDur = a.end - a.start;\n const bDur = b.end - b.start;\n if (aDur < bDur) {\n return 1;\n } else if (aDur > bDur) {\n return -1;\n }\n return 0;\n });\n // now grab top 10\n staticGenerationStore.fetchMetrics = staticGenerationStore.fetchMetrics.slice(0, 10);\n }\n}\nfunction createPatchedFetcher(originFetch, { serverHooks: { DynamicServerError }, staticGenerationAsyncStorage }) {\n // Create the patched fetch function. We don't set the type here, as it's\n // verified as the return value of this function.\n const patched = async (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 fetchStart = Date.now();\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 return 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) return originFetch(input, init);\n const staticGenerationStore = staticGenerationAsyncStorage.getStore();\n // If the staticGenerationStore is not available, we can't do any\n // special treatment of fetch, therefore fallback to the original\n // fetch implementation.\n if (!staticGenerationStore || staticGenerationStore.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 revalidate = 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 let curRevalidate = getNextField(\"revalidate\");\n const tags = validateTags(getNextField(\"tags\") || [], `fetch ${input.toString()}`);\n if (Array.isArray(tags)) {\n if (!staticGenerationStore.tags) {\n staticGenerationStore.tags = [];\n }\n for (const tag of tags){\n if (!staticGenerationStore.tags.includes(tag)) {\n staticGenerationStore.tags.push(tag);\n }\n }\n }\n const implicitTags = addImplicitTags(staticGenerationStore);\n const fetchCacheMode = staticGenerationStore.fetchCache;\n const isUsingNoStore = !!staticGenerationStore.isUnstableNoStore;\n let _cache = getRequestMeta(\"cache\");\n let cacheReason = \"\";\n if (typeof _cache === \"string\" && typeof curRevalidate !== \"undefined\") {\n // when providing fetch with a Request input, it'll automatically set a cache value of 'default'\n // we only want to warn if the user is explicitly setting a cache value\n if (!(isRequestInput && _cache === \"default\")) {\n Log.warn(`fetch for ${fetchUrl} on ${staticGenerationStore.urlPathname} specified \"cache: ${_cache}\" and \"revalidate: ${curRevalidate}\", only one should be specified.`);\n }\n _cache = undefined;\n }\n if (_cache === \"force-cache\") {\n curRevalidate = false;\n } else if (_cache === \"no-cache\" || _cache === \"no-store\" || fetchCacheMode === \"force-no-store\" || fetchCacheMode === \"only-no-store\") {\n curRevalidate = 0;\n }\n if (_cache === \"no-cache\" || _cache === \"no-store\") {\n cacheReason = `cache: ${_cache}`;\n }\n revalidate = validateRevalidate(curRevalidate, staticGenerationStore.urlPathname);\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 // if there are authorized headers or a POST method and\n // dynamic data usage was present above the tree we bail\n // e.g. if cookies() is used before an authed/POST fetch\n const autoNoCache = (hasUnCacheableHeader || isUnCacheableMethod) && staticGenerationStore.revalidate === 0;\n switch(fetchCacheMode){\n case \"force-no-store\":\n {\n cacheReason = \"fetchCache = force-no-store\";\n break;\n }\n case \"only-no-store\":\n {\n if (_cache === \"force-cache\" || typeof revalidate !== \"undefined\" && (revalidate === false || revalidate > 0)) {\n throw new Error(`cache: 'force-cache' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-no-store'`);\n }\n cacheReason = \"fetchCache = only-no-store\";\n break;\n }\n case \"only-cache\":\n {\n if (_cache === \"no-store\") {\n throw new Error(`cache: 'no-store' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-cache'`);\n }\n break;\n }\n case \"force-cache\":\n {\n if (typeof curRevalidate === \"undefined\" || curRevalidate === 0) {\n cacheReason = \"fetchCache = force-cache\";\n revalidate = false;\n }\n break;\n }\n default:\n }\n if (typeof revalidate === \"undefined\") {\n if (fetchCacheMode === \"default-cache\") {\n revalidate = false;\n cacheReason = \"fetchCache = default-cache\";\n } else if (autoNoCache) {\n revalidate = 0;\n cacheReason = \"auto no cache\";\n } else if (fetchCacheMode === \"default-no-store\") {\n revalidate = 0;\n cacheReason = \"fetchCache = default-no-store\";\n } else if (isUsingNoStore) {\n revalidate = 0;\n cacheReason = \"noStore call\";\n } else {\n cacheReason = \"auto cache\";\n revalidate = typeof staticGenerationStore.revalidate === \"boolean\" || typeof staticGenerationStore.revalidate === \"undefined\" ? false : staticGenerationStore.revalidate;\n }\n } else if (!cacheReason) {\n cacheReason = `revalidate: ${revalidate}`;\n }\n if (// when force static is configured we don't bail from\n // `revalidate: 0` values\n !(staticGenerationStore.forceStatic && revalidate === 0) && // we don't consider autoNoCache to switch to dynamic during\n // revalidate although if it occurs during build we do\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 (typeof staticGenerationStore.revalidate === \"undefined\" || typeof revalidate === \"number\" && (staticGenerationStore.revalidate === false || typeof staticGenerationStore.revalidate === \"number\" && revalidate < staticGenerationStore.revalidate))) {\n // If we were setting the revalidate value to 0, we should try to\n // postpone instead first.\n if (revalidate === 0) {\n trackDynamicFetch(staticGenerationStore, \"revalidate: 0\");\n }\n staticGenerationStore.revalidate = revalidate;\n }\n const isCacheableRevalidate = typeof revalidate === \"number\" && revalidate > 0 || revalidate === false;\n let cacheKey;\n if (staticGenerationStore.incrementalCache && isCacheableRevalidate) {\n try {\n cacheKey = await staticGenerationStore.incrementalCache.fetchCacheKey(fetchUrl, isRequestInput ? input : init);\n } catch (err) {\n console.error(`Failed to generate cache key for`, input);\n }\n }\n const fetchIdx = staticGenerationStore.nextFetchId ?? 1;\n staticGenerationStore.nextFetchId = fetchIdx + 1;\n const normalizedRevalidate = typeof revalidate !== \"number\" ? CACHE_ONE_YEAR : revalidate;\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) {\n trackFetchMetric(staticGenerationStore, {\n start: fetchStart,\n url: fetchUrl,\n cacheReason: cacheReasonOverride || cacheReason,\n cacheStatus: revalidate === 0 || cacheReasonOverride ? \"skip\" : \"miss\",\n status: res.status,\n method: clonedInit.method || \"GET\"\n });\n }\n if (res.status === 200 && staticGenerationStore.incrementalCache && cacheKey && isCacheableRevalidate) {\n const bodyBuffer = Buffer.from(await res.arrayBuffer());\n try {\n await staticGenerationStore.incrementalCache.set(cacheKey, {\n kind: \"FETCH\",\n data: {\n headers: Object.fromEntries(res.headers.entries()),\n body: bodyBuffer.toString(\"base64\"),\n status: res.status,\n url: res.url\n },\n revalidate: normalizedRevalidate\n }, {\n fetchCache: true,\n revalidate,\n fetchUrl,\n fetchIdx,\n tags\n });\n } catch (err) {\n console.warn(`Failed to set fetch cache`, input, err);\n }\n const response = new Response(bodyBuffer, {\n headers: new Headers(res.headers),\n status: res.status\n });\n Object.defineProperty(response, \"url\", {\n value: res.url\n });\n return response;\n }\n return res;\n });\n };\n let handleUnlock = ()=>Promise.resolve();\n let cacheReasonOverride;\n let isForegroundRevalidate = false;\n if (cacheKey && staticGenerationStore.incrementalCache) {\n handleUnlock = await staticGenerationStore.incrementalCache.lock(cacheKey);\n const entry = staticGenerationStore.isOnDemandRevalidate ? null : await staticGenerationStore.incrementalCache.get(cacheKey, {\n kindHint: \"fetch\",\n revalidate,\n fetchUrl,\n fetchIdx,\n tags,\n softTags: implicitTags\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 cacheReasonOverride = \"cache-control: no-cache (hard refresh)\";\n }\n if ((entry == null ? void 0 : entry.value) && entry.value.kind === \"FETCH\") {\n // when stale and is revalidating we wait for fresh data\n // so the revalidated entry has the updated data\n if (staticGenerationStore.isRevalidate && entry.isStale) {\n isForegroundRevalidate = true;\n } else {\n if (entry.isStale) {\n staticGenerationStore.pendingRevalidates ??= {};\n if (!staticGenerationStore.pendingRevalidates[cacheKey]) {\n staticGenerationStore.pendingRevalidates[cacheKey] = doOriginalFetch(true).catch(console.error).finally(()=>{\n staticGenerationStore.pendingRevalidates ??= {};\n delete staticGenerationStore.pendingRevalidates[cacheKey || \"\"];\n });\n }\n }\n const resData = entry.value.data;\n trackFetchMetric(staticGenerationStore, {\n start: fetchStart,\n url: fetchUrl,\n cacheReason,\n cacheStatus: \"hit\",\n status: resData.status || 200,\n method: (init == null ? void 0 : init.method) || \"GET\"\n });\n const response = new Response(Buffer.from(resData.body, \"base64\"), {\n headers: resData.headers,\n status: resData.status\n });\n Object.defineProperty(response, \"url\", {\n value: entry.value.data.url\n });\n return response;\n }\n }\n }\n if (staticGenerationStore.isStaticGeneration && 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 (!staticGenerationStore.forceStatic && cache === \"no-store\") {\n const dynamicUsageReason = `no-store fetch ${input}${staticGenerationStore.urlPathname ? ` ${staticGenerationStore.urlPathname}` : \"\"}`;\n // If enabled, we should bail out of static generation.\n trackDynamicFetch(staticGenerationStore, dynamicUsageReason);\n // PPR is not enabled, or React postpone is not available, we\n // should set the revalidate to 0.\n staticGenerationStore.revalidate = 0;\n const err = new DynamicServerError(dynamicUsageReason);\n staticGenerationStore.dynamicUsageErr = err;\n staticGenerationStore.dynamicUsageDescription = dynamicUsageReason;\n throw err;\n }\n const hasNextConfig = \"next\" in init;\n const { next = {} } = init;\n if (typeof next.revalidate === \"number\" && (typeof staticGenerationStore.revalidate === \"undefined\" || typeof staticGenerationStore.revalidate === \"number\" && next.revalidate < staticGenerationStore.revalidate)) {\n if (!staticGenerationStore.forceDynamic && !staticGenerationStore.forceStatic && next.revalidate === 0) {\n const dynamicUsageReason = `revalidate: 0 fetch ${input}${staticGenerationStore.urlPathname ? ` ${staticGenerationStore.urlPathname}` : \"\"}`;\n // If enabled, we should bail out of static generation.\n trackDynamicFetch(staticGenerationStore, dynamicUsageReason);\n const err = new DynamicServerError(dynamicUsageReason);\n staticGenerationStore.dynamicUsageErr = err;\n staticGenerationStore.dynamicUsageDescription = dynamicUsageReason;\n throw err;\n }\n if (!staticGenerationStore.forceStatic || next.revalidate !== 0) {\n staticGenerationStore.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 staticGenerationStore.pendingRevalidates ??= {};\n const pendingRevalidate = staticGenerationStore.pendingRevalidates[cacheKey];\n if (pendingRevalidate) {\n const res = await pendingRevalidate;\n return res.clone();\n }\n const pendingResponse = doOriginalFetch(true, cacheReasonOverride);\n const nextRevalidate = pendingResponse.then((res)=>res.clone()).finally(()=>{\n if (cacheKey) {\n var _staticGenerationStore_pendingRevalidates;\n // If the pending revalidate is not present in the store, then\n // we have nothing to delete.\n if (!((_staticGenerationStore_pendingRevalidates = staticGenerationStore.pendingRevalidates) == null ? void 0 : _staticGenerationStore_pendingRevalidates[cacheKey])) {\n return;\n }\n delete staticGenerationStore.pendingRevalidates[cacheKey];\n }\n });\n // Attach the empty catch here so we don't get a \"unhandled promise\n // rejection\" warning\n nextRevalidate.catch(()=>{});\n staticGenerationStore.pendingRevalidates[cacheKey] = nextRevalidate;\n return pendingResponse;\n } else {\n return doOriginalFetch(false, cacheReasonOverride).finally(handleUnlock);\n }\n });\n };\n // Attach the necessary properties to the patched fetch function.\n patched.__nextPatched = true;\n patched.__nextGetStaticStore = ()=>staticGenerationAsyncStorage;\n patched._nextOriginalFetch = originFetch;\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 (isPatchedFetch(globalThis.fetch)) 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 = globalThis.fetch;\n // Set the global fetch to the patched fetch.\n globalThis.fetch = createPatchedFetcher(original, options);\n}\n\n//# sourceMappingURL=patch-fetch.js.map","const NOT_FOUND_ERROR_CODE = \"NEXT_NOT_FOUND\";\n/**\n * This function allows you to render the [not-found.js file](https://nextjs.org/docs/app/api-reference/file-conventions/not-found)\n * within a route segment as well as inject a tag.\n *\n * `notFound()` can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n * - In a Server Component, this will insert a `<meta name=\"robots\" content=\"noindex\" />` meta tag and set the status code to 404.\n * - In a Route Handler or Server Action, it will serve a 404 to the caller.\n *\n * Read more: [Next.js Docs: `notFound`](https://nextjs.org/docs/app/api-reference/functions/not-found)\n */ export function notFound() {\n // eslint-disable-next-line no-throw-literal\n const error = new Error(NOT_FOUND_ERROR_CODE);\n error.digest = NOT_FOUND_ERROR_CODE;\n throw error;\n}\n/**\n * Checks an error to determine if it's an error generated by the `notFound()`\n * helper.\n *\n * @param error the error that may reference a not found error\n * @returns true if the error is a not found error\n */ export function isNotFoundError(error) {\n if (typeof error !== \"object\" || error === null || !(\"digest\" in error)) {\n return false;\n }\n return error.digest === NOT_FOUND_ERROR_CODE;\n}\n\n//# sourceMappingURL=not-found.js.map","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"next/dist/client/components/request-async-storage.external.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"next/dist/client/components/action-async-storage.external.js\");","import { HTTP_METHODS } from \"../../../../web/http\";\nimport { handleMethodNotAllowedResponse } from \"../../helpers/response-handlers\";\nconst AUTOMATIC_ROUTE_METHODS = [\n \"HEAD\",\n \"OPTIONS\"\n];\nexport function autoImplementMethods(handlers) {\n // Loop through all the HTTP methods to create the initial methods object.\n // Each of the methods will be set to the the 405 response handler.\n const methods = HTTP_METHODS.reduce((acc, method)=>({\n ...acc,\n // If the userland module implements the method, then use it. Otherwise,\n // use the 405 response handler.\n [method]: handlers[method] ?? handleMethodNotAllowedResponse\n }), {});\n // Get all the methods that could be automatically implemented that were not\n // implemented by the userland module.\n const implemented = new Set(HTTP_METHODS.filter((method)=>handlers[method]));\n const missing = AUTOMATIC_ROUTE_METHODS.filter((method)=>!implemented.has(method));\n // Loop over the missing methods to automatically implement them if we can.\n for (const method of missing){\n // If the userland module doesn't implement the HEAD method, then\n // we'll automatically implement it by calling the GET method (if it\n // exists).\n if (method === \"HEAD\") {\n if (handlers.GET) {\n // Implement the HEAD method by calling the GET method.\n methods.HEAD = handlers.GET;\n // Mark it as implemented.\n implemented.add(\"HEAD\");\n }\n continue;\n }\n // If OPTIONS is not provided then implement it.\n if (method === \"OPTIONS\") {\n // TODO: check if HEAD is implemented, if so, use it to add more headers\n // Get all the methods that were implemented by the userland module.\n const allow = [\n \"OPTIONS\",\n ...implemented\n ];\n // If the list of methods doesn't include HEAD, but it includes GET, then\n // add HEAD as it's automatically implemented.\n if (!implemented.has(\"HEAD\") && implemented.has(\"GET\")) {\n allow.push(\"HEAD\");\n }\n // Sort and join the list with commas to create the `Allow` header. See:\n // https://httpwg.org/specs/rfc9110.html#field.allow\n const headers = {\n Allow: allow.sort().join(\", \")\n };\n // Implement the OPTIONS method by returning a 204 response with the\n // `Allow` header.\n methods.OPTIONS = ()=>new Response(null, {\n status: 204,\n headers\n });\n // Mark this method as implemented.\n implemented.add(\"OPTIONS\");\n continue;\n }\n throw new Error(`Invariant: should handle all automatic implementable methods, got method: ${method}`);\n }\n return methods;\n}\n\n//# sourceMappingURL=auto-implement-methods.js.map","\"use client\";\n\nimport React from \"react\";\nexport const AppRouterContext = React.createContext(null);\nexport const LayoutRouterContext = React.createContext(null);\nexport const GlobalLayoutRouterContext = React.createContext(null);\nexport const TemplateContext = React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n AppRouterContext.displayName = \"AppRouterContext\";\n LayoutRouterContext.displayName = \"LayoutRouterContext\";\n GlobalLayoutRouterContext.displayName = \"GlobalLayoutRouterContext\";\n TemplateContext.displayName = \"TemplateContext\";\n}\nexport const MissingSlotContext = React.createContext(new Set());\n\n//# sourceMappingURL=app-router-context.shared-runtime.js.map","import { RouteModule } from \"../route-module\";\nimport { RequestAsyncStorageWrapper } from \"../../../async-storage/request-async-storage-wrapper\";\nimport { StaticGenerationAsyncStorageWrapper } from \"../../../async-storage/static-generation-async-storage-wrapper\";\nimport { handleBadRequestResponse, handleInternalServerErrorResponse } from \"../helpers/response-handlers\";\nimport { HTTP_METHODS, isHTTPMethod } from \"../../../web/http\";\nimport { addImplicitTags, patchFetch } from \"../../../lib/patch-fetch\";\nimport { getTracer } from \"../../../lib/trace/tracer\";\nimport { AppRouteRouteHandlersSpan } from \"../../../lib/trace/constants\";\nimport { getPathnameFromAbsolutePath } from \"./helpers/get-pathname-from-absolute-path\";\nimport { resolveHandlerError } from \"./helpers/resolve-handler-error\";\nimport * as Log from \"../../../../build/output/log\";\nimport { autoImplementMethods } from \"./helpers/auto-implement-methods\";\nimport { appendMutableCookies } from \"../../../web/spec-extension/adapters/request-cookies\";\nimport { HeadersAdapter } from \"../../../web/spec-extension/adapters/headers\";\nimport { RequestCookiesAdapter } from \"../../../web/spec-extension/adapters/request-cookies\";\nimport { parsedUrlQueryToParams } from \"./helpers/parsed-url-query-to-params\";\nimport * as serverHooks from \"../../../../client/components/hooks-server-context\";\nimport { DynamicServerError } from \"../../../../client/components/hooks-server-context\";\nimport { requestAsyncStorage } from \"../../../../client/components/request-async-storage.external\";\nimport { staticGenerationAsyncStorage } from \"../../../../client/components/static-generation-async-storage.external\";\nimport { actionAsyncStorage } from \"../../../../client/components/action-async-storage.external\";\nimport * as sharedModules from \"./shared-modules\";\nimport { getIsServerAction } from \"../../../lib/server-action-request-meta\";\nimport { RequestCookies } from \"next/dist/compiled/@edge-runtime/cookies\";\nimport { cleanURL } from \"./helpers/clean-url\";\nimport { StaticGenBailoutError } from \"../../../../client/components/static-generation-bailout\";\nimport { trackDynamicDataAccessed } from \"../../../app-render/dynamic-rendering\";\nimport { ReflectAdapter } from \"../../../web/spec-extension/adapters/reflect\";\n/**\n * AppRouteRouteHandler is the handler for app routes.\n */ export class AppRouteRouteModule extends RouteModule {\n static #_ = this.sharedModules = sharedModules;\n constructor({ userland, definition, resolvedPagePath, nextConfigOutput }){\n super({\n userland,\n definition\n });\n /**\n * A reference to the request async storage.\n */ this.requestAsyncStorage = requestAsyncStorage;\n /**\n * A reference to the static generation async storage.\n */ this.staticGenerationAsyncStorage = staticGenerationAsyncStorage;\n /**\n * An interface to call server hooks which interact with the underlying\n * storage.\n */ this.serverHooks = serverHooks;\n /**\n * A reference to the mutation related async storage, such as mutations of\n * cookies.\n */ this.actionAsyncStorage = actionAsyncStorage;\n this.resolvedPagePath = resolvedPagePath;\n this.nextConfigOutput = nextConfigOutput;\n // Automatically implement some methods if they aren't implemented by the\n // userland module.\n this.methods = autoImplementMethods(userland);\n // Get the non-static methods for this route.\n this.hasNonStaticMethods = hasNonStaticMethods(userland);\n // Get the dynamic property from the userland module.\n this.dynamic = this.userland.dynamic;\n if (this.nextConfigOutput === \"export\") {\n if (!this.dynamic || this.dynamic === \"auto\") {\n this.dynamic = \"error\";\n } else if (this.dynamic === \"force-dynamic\") {\n throw new Error(`export const dynamic = \"force-dynamic\" on page \"${definition.pathname}\" cannot be used with \"output: export\". See more info here: https://nextjs.org/docs/advanced-features/static-html-export`);\n }\n }\n // We only warn in development after here, so return if we're not in\n // development.\n if (process.env.NODE_ENV === \"development\") {\n // Print error in development if the exported handlers are in lowercase, only\n // uppercase handlers are supported.\n const lowercased = HTTP_METHODS.map((method)=>method.toLowerCase());\n for (const method of lowercased){\n if (method in this.userland) {\n Log.error(`Detected lowercase method '${method}' in '${this.resolvedPagePath}'. Export the uppercase '${method.toUpperCase()}' method name to fix this error.`);\n }\n }\n // Print error if the module exports a default handler, they must use named\n // exports for each HTTP method.\n if (\"default\" in this.userland) {\n Log.error(`Detected default export in '${this.resolvedPagePath}'. Export a named export for each HTTP method instead.`);\n }\n // If there is no methods exported by this module, then return a not found\n // response.\n if (!HTTP_METHODS.some((method)=>method in this.userland)) {\n Log.error(`No HTTP methods exported in '${this.resolvedPagePath}'. Export a named export for each HTTP method.`);\n }\n }\n }\n /**\n * Resolves the handler function for the given method.\n *\n * @param method the requested method\n * @returns the handler function for the given method\n */ resolve(method) {\n // Ensure that the requested method is a valid method (to prevent RCE's).\n if (!isHTTPMethod(method)) return handleBadRequestResponse;\n // Return the handler.\n return this.methods[method];\n }\n /**\n * Executes the route handler.\n */ async execute(rawRequest, context) {\n // Get the handler function for the given method.\n const handler = this.resolve(rawRequest.method);\n // Get the context for the request.\n const requestContext = {\n req: rawRequest\n };\n requestContext.renderOpts = {\n previewProps: context.prerenderManifest.preview\n };\n // Get the context for the static generation.\n const staticGenerationContext = {\n urlPathname: rawRequest.nextUrl.pathname,\n renderOpts: context.renderOpts\n };\n // Add the fetchCache option to the renderOpts.\n staticGenerationContext.renderOpts.fetchCache = this.userland.fetchCache;\n // Run the handler with the request AsyncLocalStorage to inject the helper\n // support. We set this to `unknown` because the type is not known until\n // runtime when we do a instanceof check below.\n const response = await this.actionAsyncStorage.run({\n isAppRoute: true,\n isAction: getIsServerAction(rawRequest)\n }, ()=>RequestAsyncStorageWrapper.wrap(this.requestAsyncStorage, requestContext, ()=>StaticGenerationAsyncStorageWrapper.wrap(this.staticGenerationAsyncStorage, staticGenerationContext, (staticGenerationStore)=>{\n var _getTracer_getRootSpanAttributes;\n // Check to see if we should bail out of static generation based on\n // having non-static methods.\n const isStaticGeneration = staticGenerationStore.isStaticGeneration;\n if (this.hasNonStaticMethods) {\n if (isStaticGeneration) {\n const err = new DynamicServerError(\"Route is configured with methods that cannot be statically generated.\");\n staticGenerationStore.dynamicUsageDescription = err.message;\n staticGenerationStore.dynamicUsageStack = err.stack;\n throw err;\n } else {\n // We aren't statically generating but since this route has non-static methods\n // we still need to set the default caching to no cache by setting revalidate = 0\n // @TODO this type of logic is too indirect. we need to refactor how we set fetch cache\n // behavior. Prior to the most recent refactor this logic was buried deep in staticGenerationBailout\n // so it is possible it was unintentional and then tests were written to assert the current behavior\n staticGenerationStore.revalidate = 0;\n }\n }\n // We assume we can pass the original request through however we may end up\n // proxying it in certain circumstances based on execution type and configuration\n let request = rawRequest;\n // Update the static generation store based on the dynamic property.\n switch(this.dynamic){\n case \"force-dynamic\":\n {\n // Routes of generated paths should be dynamic\n staticGenerationStore.forceDynamic = true;\n break;\n }\n case \"force-static\":\n // The dynamic property is set to force-static, so we should\n // force the page to be static.\n staticGenerationStore.forceStatic = true;\n // We also Proxy the request to replace dynamic data on the request\n // with empty stubs to allow for safely executing as static\n request = new Proxy(rawRequest, forceStaticRequestHandlers);\n break;\n case \"error\":\n // The dynamic property is set to error, so we should throw an\n // error if the page is being statically generated.\n staticGenerationStore.dynamicShouldError = true;\n if (isStaticGeneration) request = new Proxy(rawRequest, requireStaticRequestHandlers);\n break;\n default:\n // We proxy `NextRequest` to track dynamic access, and potentially bail out of static generation\n request = proxyNextRequest(rawRequest, staticGenerationStore);\n }\n // If the static generation store does not have a revalidate value\n // set, then we should set it the revalidate value from the userland\n // module or default to false.\n staticGenerationStore.revalidate ??= this.userland.revalidate ?? false;\n // TODO: propagate this pathname from route matcher\n const route = getPathnameFromAbsolutePath(this.resolvedPagePath);\n (_getTracer_getRootSpanAttributes = getTracer().getRootSpanAttributes()) == null ? void 0 : _getTracer_getRootSpanAttributes.set(\"next.route\", route);\n return getTracer().trace(AppRouteRouteHandlersSpan.runHandler, {\n spanName: `executing api route (app) ${route}`,\n attributes: {\n \"next.route\": route\n }\n }, async ()=>{\n var _staticGenerationStore_incrementalCache, _staticGenerationStore_tags;\n // Patch the global fetch.\n patchFetch({\n serverHooks: this.serverHooks,\n staticGenerationAsyncStorage: this.staticGenerationAsyncStorage\n });\n const res = await handler(request, {\n params: context.params ? parsedUrlQueryToParams(context.params) : undefined\n });\n if (!(res instanceof Response)) {\n throw new Error(`No response is returned from route handler '${this.resolvedPagePath}'. Ensure you return a \\`Response\\` or a \\`NextResponse\\` in all branches of your handler.`);\n }\n context.renderOpts.fetchMetrics = staticGenerationStore.fetchMetrics;\n context.renderOpts.waitUntil = Promise.all([\n (_staticGenerationStore_incrementalCache = staticGenerationStore.incrementalCache) == null ? void 0 : _staticGenerationStore_incrementalCache.revalidateTag(staticGenerationStore.revalidatedTags || []),\n ...Object.values(staticGenerationStore.pendingRevalidates || {})\n ]);\n addImplicitTags(staticGenerationStore);\n context.renderOpts.fetchTags = (_staticGenerationStore_tags = staticGenerationStore.tags) == null ? void 0 : _staticGenerationStore_tags.join(\",\");\n // It's possible cookies were set in the handler, so we need\n // to merge the modified cookies and the returned response\n // here.\n const requestStore = this.requestAsyncStorage.getStore();\n if (requestStore && requestStore.mutableCookies) {\n const headers = new Headers(res.headers);\n if (appendMutableCookies(headers, requestStore.mutableCookies)) {\n return new Response(res.body, {\n status: res.status,\n statusText: res.statusText,\n headers\n });\n }\n }\n return res;\n });\n })));\n // If the handler did't return a valid response, then return the internal\n // error response.\n if (!(response instanceof Response)) {\n // TODO: validate the correct handling behavior, maybe log something?\n return handleInternalServerErrorResponse();\n }\n if (response.headers.has(\"x-middleware-rewrite\")) {\n // TODO: move this error into the `NextResponse.rewrite()` function.\n // TODO-APP: re-enable support below when we can proxy these type of requests\n throw new Error(\"NextResponse.rewrite() was used in a app route handler, this is not currently supported. Please remove the invocation to continue.\");\n // // This is a rewrite created via `NextResponse.rewrite()`. We need to send\n // // the response up so it can be handled by the backing server.\n // // If the server is running in minimal mode, we just want to forward the\n // // response (including the rewrite headers) upstream so it can perform the\n // // redirect for us, otherwise return with the special condition so this\n // // server can perform a rewrite.\n // if (!minimalMode) {\n // return { response, condition: 'rewrite' }\n // }\n // // Relativize the url so it's relative to the base url. This is so the\n // // outgoing headers upstream can be relative.\n // const rewritePath = response.headers.get('x-middleware-rewrite')!\n // const initUrl = getRequestMeta(req, 'initURL')!\n // const { pathname } = parseUrl(relativizeURL(rewritePath, initUrl))\n // response.headers.set('x-middleware-rewrite', pathname)\n }\n if (response.headers.get(\"x-middleware-next\") === \"1\") {\n // TODO: move this error into the `NextResponse.next()` function.\n throw new Error(\"NextResponse.next() was used in a app route handler, this is not supported. See here for more info: https://nextjs.org/docs/messages/next-response-next-in-app-route-handler\");\n }\n return response;\n }\n async handle(request, context) {\n try {\n // Execute the route to get the response.\n const response = await this.execute(request, context);\n // The response was handled, return it.\n return response;\n } catch (err) {\n // Try to resolve the error to a response, else throw it again.\n const response = resolveHandlerError(err);\n if (!response) throw err;\n // The response was resolved, return it.\n return response;\n }\n }\n}\nexport default AppRouteRouteModule;\n/**\n * Gets all the method names for handlers that are not considered static.\n *\n * @param handlers the handlers from the userland module\n * @returns the method names that are not considered static or false if all\n * methods are static\n */ export function hasNonStaticMethods(handlers) {\n if (// Order these by how common they are to be used\n handlers.POST || handlers.POST || handlers.DELETE || handlers.PATCH || handlers.OPTIONS) {\n return true;\n }\n return false;\n}\n// These symbols will be used to stash cached values on Proxied requests without requiring\n// additional closures or storage such as WeakMaps.\nconst nextURLSymbol = Symbol(\"nextUrl\");\nconst requestCloneSymbol = Symbol(\"clone\");\nconst urlCloneSymbol = Symbol(\"clone\");\nconst searchParamsSymbol = Symbol(\"searchParams\");\nconst hrefSymbol = Symbol(\"href\");\nconst toStringSymbol = Symbol(\"toString\");\nconst headersSymbol = Symbol(\"headers\");\nconst cookiesSymbol = Symbol(\"cookies\");\n/**\n * The general technique with these proxy handlers is to prioritize keeping them static\n * by stashing computed values on the Proxy itself. This is safe because the Proxy is\n * inaccessible to the consumer since all operations are forwarded\n */ const forceStaticRequestHandlers = {\n get (target, prop, receiver) {\n switch(prop){\n case \"headers\":\n return target[headersSymbol] || (target[headersSymbol] = HeadersAdapter.seal(new Headers({})));\n case \"cookies\":\n return target[cookiesSymbol] || (target[cookiesSymbol] = RequestCookiesAdapter.seal(new RequestCookies(new Headers({}))));\n case \"nextUrl\":\n return target[nextURLSymbol] || (target[nextURLSymbol] = new Proxy(target.nextUrl, forceStaticNextUrlHandlers));\n case \"url\":\n // we don't need to separately cache this we can just read the nextUrl\n // and return the href since we know it will have been stripped of any\n // dynamic parts. We access via the receiver to trigger the get trap\n return receiver.nextUrl.href;\n case \"geo\":\n case \"ip\":\n return undefined;\n case \"clone\":\n return target[requestCloneSymbol] || (target[requestCloneSymbol] = ()=>new Proxy(// This is vaguely unsafe but it's required since NextRequest does not implement\n // clone. The reason we might expect this to work in this context is the Proxy will\n // respond with static-amenable values anyway somewhat restoring the interface.\n // @TODO we need to rethink NextRequest and NextURL because they are not sufficientlly\n // sophisticated to adequately represent themselves in all contexts. A better approach is\n // to probably embed the static generation logic into the class itself removing the need\n // for any kind of proxying\n target.clone(), forceStaticRequestHandlers));\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n};\nconst forceStaticNextUrlHandlers = {\n get (target, prop, receiver) {\n switch(prop){\n // URL properties\n case \"search\":\n return \"\";\n case \"searchParams\":\n return target[searchParamsSymbol] || (target[searchParamsSymbol] = new URLSearchParams());\n case \"href\":\n return target[hrefSymbol] || (target[hrefSymbol] = cleanURL(target.href).href);\n case \"toJSON\":\n case \"toString\":\n return target[toStringSymbol] || (target[toStringSymbol] = ()=>receiver.href);\n // NextUrl properties\n case \"url\":\n // Currently nextURL does not expose url but our Docs indicate that it is an available property\n // I am forcing this to undefined here to avoid accidentally exposing a dynamic value later if\n // the underlying nextURL ends up adding this property\n return undefined;\n case \"clone\":\n return target[urlCloneSymbol] || (target[urlCloneSymbol] = ()=>new Proxy(target.clone(), forceStaticNextUrlHandlers));\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n};\nfunction proxyNextRequest(request, staticGenerationStore) {\n const nextUrlHandlers = {\n get (target, prop, receiver) {\n switch(prop){\n case \"search\":\n case \"searchParams\":\n case \"url\":\n case \"href\":\n case \"toJSON\":\n case \"toString\":\n case \"origin\":\n {\n trackDynamicDataAccessed(staticGenerationStore, `nextUrl.${prop}`);\n return ReflectAdapter.get(target, prop, receiver);\n }\n case \"clone\":\n return target[urlCloneSymbol] || (target[urlCloneSymbol] = ()=>new Proxy(target.clone(), nextUrlHandlers));\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n };\n const nextRequestHandlers = {\n get (target, prop) {\n switch(prop){\n case \"nextUrl\":\n return target[nextURLSymbol] || (target[nextURLSymbol] = new Proxy(target.nextUrl, nextUrlHandlers));\n case \"headers\":\n case \"cookies\":\n case \"url\":\n case \"body\":\n case \"blob\":\n case \"json\":\n case \"text\":\n case \"arrayBuffer\":\n case \"formData\":\n {\n trackDynamicDataAccessed(staticGenerationStore, `request.${prop}`);\n // The receiver arg is intentionally the same as the target to fix an issue with\n // edge runtime, where attempting to access internal slots with the wrong `this` context\n // results in an error.\n return ReflectAdapter.get(target, prop, target);\n }\n case \"clone\":\n return target[requestCloneSymbol] || (target[requestCloneSymbol] = ()=>new Proxy(// This is vaguely unsafe but it's required since NextRequest does not implement\n // clone. The reason we might expect this to work in this context is the Proxy will\n // respond with static-amenable values anyway somewhat restoring the interface.\n // @TODO we need to rethink NextRequest and NextURL because they are not sufficientlly\n // sophisticated to adequately represent themselves in all contexts. A better approach is\n // to probably embed the static generation logic into the class itself removing the need\n // for any kind of proxying\n target.clone(), nextRequestHandlers));\n default:\n // The receiver arg is intentionally the same as the target to fix an issue with\n // edge runtime, where attempting to access internal slots with the wrong `this` context\n // results in an error.\n return ReflectAdapter.get(target, prop, target);\n }\n }\n };\n return new Proxy(request, nextRequestHandlers);\n}\nconst requireStaticRequestHandlers = {\n get (target, prop, receiver) {\n switch(prop){\n case \"nextUrl\":\n return target[nextURLSymbol] || (target[nextURLSymbol] = new Proxy(target.nextUrl, requireStaticNextUrlHandlers));\n case \"headers\":\n case \"cookies\":\n case \"url\":\n case \"body\":\n case \"blob\":\n case \"json\":\n case \"text\":\n case \"arrayBuffer\":\n case \"formData\":\n throw new StaticGenBailoutError(`Route ${target.nextUrl.pathname} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`request.${prop}\\`.`);\n case \"clone\":\n return target[requestCloneSymbol] || (target[requestCloneSymbol] = ()=>new Proxy(// This is vaguely unsafe but it's required since NextRequest does not implement\n // clone. The reason we might expect this to work in this context is the Proxy will\n // respond with static-amenable values anyway somewhat restoring the interface.\n // @TODO we need to rethink NextRequest and NextURL because they are not sufficientlly\n // sophisticated to adequately represent themselves in all contexts. A better approach is\n // to probably embed the static generation logic into the class itself removing the need\n // for any kind of proxying\n target.clone(), requireStaticRequestHandlers));\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n};\nconst requireStaticNextUrlHandlers = {\n get (target, prop, receiver) {\n switch(prop){\n case \"search\":\n case \"searchParams\":\n case \"url\":\n case \"href\":\n case \"toJSON\":\n case \"toString\":\n case \"origin\":\n throw new StaticGenBailoutError(`Route ${target.pathname} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`nextUrl.${prop}\\`.`);\n case \"clone\":\n return target[urlCloneSymbol] || (target[urlCloneSymbol] = ()=>new Proxy(target.clone(), requireStaticNextUrlHandlers));\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n};\n\n//# sourceMappingURL=module.js.map","import { ACTION } from \"../../client/components/app-router-headers\";\nexport function getServerActionRequestMetadata(req) {\n let actionId;\n let contentType;\n if (req.headers instanceof Headers) {\n actionId = req.headers.get(ACTION.toLowerCase()) ?? null;\n contentType = req.headers.get(\"content-type\");\n } else {\n actionId = req.headers[ACTION.toLowerCase()] ?? null;\n contentType = req.headers[\"content-type\"] ?? null;\n }\n const isURLEncodedAction = Boolean(req.method === \"POST\" && contentType === \"application/x-www-form-urlencoded\");\n const isMultipartAction = Boolean(req.method === \"POST\" && (contentType == null ? void 0 : contentType.startsWith(\"multipart/form-data\")));\n const isFetchAction = Boolean(actionId !== undefined && typeof actionId === \"string\" && req.method === \"POST\");\n const isServerAction = Boolean(isFetchAction || isURLEncodedAction || isMultipartAction);\n return {\n actionId,\n isURLEncodedAction,\n isMultipartAction,\n isFetchAction,\n isServerAction\n };\n}\nexport function getIsServerAction(req) {\n return getServerActionRequestMetadata(req).isServerAction;\n}\n\n//# sourceMappingURL=server-action-request-meta.js.map","/**\n * Get pathname from absolute path.\n *\n * @param absolutePath the absolute path\n * @returns the pathname\n */ export function getPathnameFromAbsolutePath(absolutePath) {\n // Remove prefix including app dir\n let appDir = \"/app/\";\n if (!absolutePath.includes(appDir)) {\n appDir = \"\\\\app\\\\\";\n }\n const [, ...parts] = absolutePath.split(appDir);\n const relativePath = appDir[0] + parts.join(appDir);\n // remove extension\n const pathname = relativePath.split(\".\").slice(0, -1).join(\".\");\n return pathname;\n}\n\n//# sourceMappingURL=get-pathname-from-absolute-path.js.map","/**\n * Converts the query into params.\n *\n * @param query the query to convert to params\n * @returns the params\n */ export function parsedUrlQueryToParams(query) {\n const params = {};\n for (const [key, value] of Object.entries(query)){\n if (typeof value === \"undefined\") continue;\n params[key] = value;\n }\n return params;\n}\n\n//# sourceMappingURL=parsed-url-query-to-params.js.map","import { isNotFoundError } from \"../../../../../client/components/not-found\";\nimport { getURLFromRedirectError, isRedirectError, getRedirectStatusCodeFromError } from \"../../../../../client/components/redirect\";\nimport { handleNotFoundResponse, handleRedirectResponse } from \"../../helpers/response-handlers\";\nexport function resolveHandlerError(err) {\n if (isRedirectError(err)) {\n const redirect = getURLFromRedirectError(err);\n if (!redirect) {\n throw new Error(\"Invariant: Unexpected redirect url format\");\n }\n const status = getRedirectStatusCodeFromError(err);\n // This is a redirect error! Send the redirect response.\n return handleRedirectResponse(redirect, err.mutableCookies, status);\n }\n if (isNotFoundError(err)) {\n // This is a not found error! Send the not found response.\n return handleNotFoundResponse();\n }\n // Return false to indicate that this is not a handled error.\n return false;\n}\n\n//# sourceMappingURL=resolve-handler-error.js.map","/**\n * Cleans a URL by stripping the protocol, host, and search params.\n *\n * @param urlString the url to clean\n * @returns the cleaned url\n */ export function cleanURL(url) {\n const u = new URL(url);\n u.host = \"localhost:3000\";\n u.search = \"\";\n u.protocol = \"http\";\n return u;\n}\n\n//# sourceMappingURL=clean-url.js.map"],"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","src_exports","stringifyCookie","c","_a","attrs","path","expires","Date","toUTCString","maxAge","domain","secure","httpOnly","sameSite","partitioned","priority","filter","Boolean","stringified","name","encodeURIComponent","value","length","join","parseCookie","cookie","map","Map","pair","split","splitAt","indexOf","set","key","slice","decodeURIComponent","parseSetCookie","setCookie","string","attributes","httponly","maxage","samesite","fromEntries","value2","toLowerCase","compact","t","newT","Number","SAME_SITE","includes","PRIORITY","__export","target","all","get","enumerable","RequestCookies","ResponseCookies","module","exports","__copyProps","to","from","except","desc","call","constructor","requestHeaders","_parsed","_headers","header","Symbol","iterator","size","args","getAll","Array","_","n","has","delete","names","result","isArray","clear","keys","for","JSON","stringify","toString","values","v","responseHeaders","_b","_c","getSetCookie","cookieString","splitCookiesString","cookiesString","start","ch","lastComma","nextStart","cookiesSeparatorFound","cookiesStrings","pos","skipWhitespace","test","charAt","push","substring","parsed","normalizeCookie","now","replace","bag","headers","serialized","append","__nccwpck_require__","ab","__dirname","e","r","parse","o","a","s","decode","i","p","f","u","substr","trim","undefined","tryDecode","serialize","encode","isNaN","isFinite","Math","floor","__REACT_DEVTOOLS_GLOBAL_HOOK__","registerInternalModuleStart","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","prefix","componentFrameCache","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONSUMER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","REACT_CACHE_TYPE","MAYBE_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactCurrentDispatcher$1","current","ReactCurrentCache","ReactCurrentBatchConfig","transition","ReactCurrentActQueue","isBatchingLegacy","didScheduleLegacyUpdate","didUsePromise","ReactDebugCurrentFrame$1","currentExtraStackFrame","setExtraStackFrame","stack","getCurrentStack","getStackAddendum","impl","ReactSharedInternals","ReactCurrentDispatcher","ReactCurrentOwner","warn","format","_len","arguments","_key","printWarning","error","_len2","_key2","level","ReactDebugCurrentFrame","concat","argsWithFormat","item","String","unshift","Function","apply","console","didWarnStateUpdateForUnmountedComponent","warnNoop","publicInstance","callerName","_constructor","componentName","displayName","warningKey","ReactNoopUpdateQueue","isMounted","enqueueForceUpdate","callback","enqueueReplaceState","completeState","enqueueSetState","partialState","assign","emptyObject","Component","props","context","updater","refs","freeze","isReactComponent","setState","forceUpdate","deprecatedAPIs","replaceState","defineDeprecationWarning","methodName","info","fnName","ComponentDummy","PureComponent","pureComponentPrototype","isPureReactComponent","isArrayImpl","checkKeyStringCoercion","willCoercionThrow","hasToStringTag","toStringTag","getContextName","type","REACT_CLIENT_REFERENCE$2","getComponentNameFromType","$$typeof","tag","provider","_context","getWrappedName","outerType","innerType","wrapperName","functionName","render","outerName","payload","lazyComponent","_payload","init","_init","x","REACT_CLIENT_REFERENCE$1","isValidElementType","getModuleId","disabledDepth","disabledLog","__reactDisabledLog","describeBuiltInComponentFrame","ownerFn","Error","match","reentry","describeNativeComponentFrame","fn","construct","previousDispatcher","frame","previousPrepareStackTrace","prepareStackTrace","disableLogs","log","group","groupCollapsed","groupEnd","configurable","writable","defineProperties","RunInRootFrame","DetermineComponentFrameRoot","control","Fake","Reflect","maybePromise","catch","sample","namePropDescriptor","_RunInRootFrame$Deter","sampleStack","controlStack","sampleLines","controlLines","_frame","reenableLogs","syntheticFrame","WeakMap","REACT_CLIENT_REFERENCE","hasValidRef","config","getter","isReactWarning","ref","hasValidKey","ReactElement","_ref","self","source","owner","element","_owner","_store","createElement","children","validateChildKeys","propName","typeString","warnIfStringRefCannotBeAutoConverted","stateNode","__self","childrenLength","childArray","_i","defaultProps","warnAboutAccessingKey","warnAboutAccessingRef","validateFragmentProps","fragment","setCurrentlyValidatingElement","didWarnAboutDeprecatedCreateFactory","node","parentType","child","isValidElement","validateExplicitKey","validated","iteratorFn","entries","step","next","done","object","ownerHasKeyUseWarning","currentComponentErrorInfo","getCurrentComponentErrorInfo","getDeclarationErrorAddendum","parentName","childOwner","describeUnknownElementTypeFrameInDEV","didWarnAboutMaps","userProvidedKeyEscapeRegex","escapeUserProvidedKey","text","getElementKey","index","escaperLookup","noop$1","mapChildren","func","count","mapIntoArray","array","escapedPrefix","nameSoFar","invokeCallback","oldElement","newKey","_child","mappedChild","childKey","SEPARATOR","escapedChildKey","subtreeCount","nextNamePrefix","nextName","iterableChildren","ii","then","resolveThenable","thenable","status","reason","pendingThenable","fulfilledValue","fulfilledThenable","rejectedThenable","childrenString","lazyInitializer","_status","ctor","_result","moduleObject","resolved","rejected","pending","default","createCacheRoot","createCacheNode","resolveDispatcher","dispatcher","noop","onError","reportError","didWarnAboutMessageChannel","enqueueTaskImpl","enqueueTask","task","requireString","random","nodeRequire","setImmediate","_err","MessageChannel","channel","port1","onmessage","port2","postMessage","actScopeDepth","didWarnNoAwaitAct","popActScope","prevActQueue","prevActScopeDepth","recursivelyFlushAsyncActWork","returnValue","resolve","reject","queue","flushActQueue","isFlushing","continuation","splice","queueSeveralMicrotasks","queueMicrotask","Children","forEach","forEachFunc","forEachContext","toArray","only","Fragment","Profiler","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","act","prevIsBatchingLegacy","didAwaitActCall","cache","cacheNode","fnMap","getCacheForType","fnNode","l","arg","objectCache","objectNode","primitiveCache","primitiveNode","terminatedNode","erroredNode","cloneElement","clonedElement","_i2","createContext","defaultValue","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_Provider","_currentRenderer","_currentRenderer2","createFactory","factory","bind","createRef","refObject","seal","forwardRef","ownName","elementType","lazy","propTypes","lazyType","newDefaultProps","newPropTypes","memo","compare","startTransition","scope","options","prevTransition","callbacks","Set","_callbacks","currentTransition","_updatedFibers","warnAboutTransitionSubscriptions","updatedFibersCount","unstable_useCacheRefresh","useCacheRefresh","use","usable","useCallback","deps","useContext","Context","useDebugValue","formatterFn","useDeferredValue","initialValue","useEffect","create","useId","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useOptimistic","passthrough","reducer","useReducer","initialArg","useRef","useState","initialState","useSyncExternalStore","subscribe","getSnapshot","getServerSnapshot","useTransition","version","registerInternalModuleStop","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","id","loaded","__webpack_modules__","__esModule","d","definition","obj","prop","nmd","paths","BaseServerSpan","LoadComponentsSpan","NextServerSpan","NextNodeServerSpan","StartServerSpan","RenderSpan","AppRenderSpan","RouterSpan","AppRouteRouteHandlersSpan","ResolveMetadataSpan","MiddlewareSpan","_globalThis","RedirectType","RouteModule","userland","ACTION","FLIGHT_PARAMETERS","ReflectAdapter","receiver","deleteProperty","ReadonlyHeadersError","callable","HeadersAdapter","Headers","Proxy","lowercased","original","find","merge","existing","callbackfn","thisArg","require","ReadonlyRequestCookiesError","RequestCookiesAdapter","cookies","SYMBOL_MODIFY_COOKIE_VALUES","appendMutableCookies","mutableCookies","modifiedCookieValues","getModifiedCookieValues","modified","resCookies","returnedCookies","MutableRequestCookiesAdapter","wrap","onUpdateCookies","responseCookies","modifiedValues","modifiedCookies","updateResponseCookies","staticGenerationAsyncStore","staticGenerationAsyncStorage","getStore","pathWasRevalidated","allCookies","serializedCookies","tempCookies","add","NEXT_CACHE_IMPLICIT_TAG_ID","WEBPACK_LAYERS_NAMES","shared","reactServerComponents","serverSideRendering","actionBrowser","api","middleware","instrument","edgeAsset","appPagesBrowser","appMetadataRoute","appRouteHandler","GROUP","serverOnly","clientOnly","nonClientServerTarget","app","NodeSpan","COOKIE_NAME_PRERENDER_BYPASS","DraftModeProvider","previewProps","req","_cookies_get","isOnDemandRevalidate","checkIsOnDemandRevalidate","previewModeId","revalidateOnlyGenerated","cookieValue","isEnabled","_previewModeId","_mutableCookies","enable","disable","mergeMiddlewareCookies","existingCookies","setCookieValue","RequestAsyncStorageWrapper","storage","res","renderOpts","defaultOnUpdateCookies","setHeader","store","getHeaders","cleaned","param","requestCookies","getMutableCookies","draftMode","reactLoadableManifest","assetPrefix","run","DYNAMIC_ERROR_CODE","description","digest","isDynamicServerError","err","code","hasPostpone","trackDynamicDataAccessed","expression","pathname","getUrlWithoutHost","URL","urlPathname","isUnstableCacheCallback","dynamicShouldError","prerenderState","postponeWithTracking","revalidate","isStaticGeneration","dynamicUsageDescription","dynamicUsageStack","trackDynamicFetch","assertPostpone","dynamicAccesses","isDebugSkeleton","StaticGenerationAsyncStorageWrapper","requestEndedState","supportsDynamicResponse","isDraftMode","isServerAction","experimental","ppr","isDebugPPRSkeleton","pagePath","originalPathname","incrementalCache","globalThis","__incrementalCache","isRevalidate","isPrerendering","nextExport","fetchCache","handleBadRequestResponse","Response","handleMethodNotAllowedResponse","HTTP_METHODS","env","stdout","process","enabled","NO_COLOR","FORCE_COLOR","isTTY","CI","TERM","replaceClose","str","close","end","nextIndex","formatter","open","input","bold","red","green","yellow","magenta","white","prefixes","wait","ready","event","trace","LOGGING_METHOD","prefixedLog","prefixType","message","shift","consoleMethod","getDerivedTags","derivedTags","startsWith","pathnameParts","curPathname","endsWith","addImplicitTags","staticGenerationStore","_staticGenerationStore_tags","_staticGenerationStore_tags1","newTags","tags","parsedPathname","trackFetchMetric","ctx","_staticGenerationStore_requestEndedState","ended","fetchMetrics","dedupeFields","some","every","metric","field","idx","nextFetchId","sort","b","aDur","bDur","isRedirectError","errorCode","destination","statusCode","RedirectStatusCode","AUTOMATIC_ROUTE_METHODS","AppRouterContext","LayoutRouterContext","GlobalLayoutRouterContext","TemplateContext","MissingSlotContext","AppRouteRouteModule","sharedModules","resolvedPagePath","nextConfigOutput","requestAsyncStorage","serverHooks","actionAsyncStorage","methods","autoImplementMethods","handlers","reduce","acc","method","implemented","GET","HEAD","allow","Allow","OPTIONS","hasNonStaticMethods","dynamic","toUpperCase","execute","rawRequest","handler","requestContext","prerenderManifest","preview","staticGenerationContext","nextUrl","response","isAppRoute","isAction","getServerActionRequestMetadata","actionId","contentType","isURLEncodedAction","isMultipartAction","isFetchAction","_getTracer_getRootSpanAttributes","request","forceDynamic","forceStatic","forceStaticRequestHandlers","requireStaticRequestHandlers","proxyNextRequest","nextUrlHandlers","urlCloneSymbol","clone","nextRequestHandlers","nextURLSymbol","requestCloneSymbol","route","getPathnameFromAbsolutePath","absolutePath","appDir","parts","relativePath","getTracer","getRootSpanAttributes","runHandler","spanName","_staticGenerationStore_incrementalCache","patchFetch","fetch","__nextPatched","createPatchedFetcher","originFetch","DynamicServerError","patched","_init_method","_init_next","url","Request","username","password","fetchUrl","href","fetchStart","isInternal","internal","hideSpan","NEXT_OTEL_FETCH_DISABLED","internalFetch","kind","SpanKind","CLIENT","hostname","port","_getRequestMeta","cacheKey","cacheReasonOverride","isRequestInput","getRequestMeta","getNextField","_init_next1","_input_next","curRevalidate","validateTags","validTags","invalidTags","implicitTags","fetchCacheMode","isUsingNoStore","isUnstableNoStore","_cache","cacheReason","validateRevalidate","revalidateVal","normalizedRevalidate","initHeaders","hasUnCacheableHeader","isUnCacheableMethod","autoNoCache","isCacheableRevalidate","fetchCacheKey","fetchIdx","doOriginalFetch","isStale","requestInputFields","reqInput","reqOptions","body","_ogBody","signal","otherInput","clonedInit","fetchType","cacheStatus","bodyBuffer","Buffer","arrayBuffer","data","handleUnlock","Promise","isForegroundRevalidate","lock","entry","kindHint","softTags","pendingRevalidates","finally","resData","dynamicUsageReason","dynamicUsageErr","hasNextConfig","pendingRevalidate","pendingResponse","nextRevalidate","_staticGenerationStore_pendingRevalidates","__nextGetStaticStore","_nextOriginalFetch","params","parsedUrlQueryToParams","query","waitUntil","revalidateTag","revalidatedTags","fetchTags","requestStore","statusText","handle","resolveHandlerError","redirect","getRedirectStatusCodeFromError","handleRedirectResponse","location","POST","DELETE","PATCH","searchParamsSymbol","hrefSymbol","toStringSymbol","headersSymbol","cookiesSymbol","forceStaticNextUrlHandlers","URLSearchParams","cleanURL","host","search","protocol","requireStaticNextUrlHandlers"],"sourceRoot":""}
1
+ {"version":3,"file":"app-route.runtime.dev.js","mappings":"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","sources":["webpack://next/./dist/compiled/@edge-runtime/cookies/index.js","webpack://next/./dist/compiled/cookie/index.js","webpack://next/./dist/compiled/react/cjs/react.development.js","webpack://next/./dist/compiled/react/index.js","webpack://next/webpack/bootstrap","webpack://next/webpack/runtime/compat get default export","webpack://next/webpack/runtime/define property getters","webpack://next/webpack/runtime/hasOwnProperty shorthand","webpack://next/webpack/runtime/make namespace object","webpack://next/webpack/runtime/node module decorator","webpack://next/./dist/esm/server/lib/trace/constants.js","webpack://next/./dist/esm/lib/picocolors.js","webpack://next/./dist/esm/client/components/redirect-status-code.js","webpack://next/./dist/esm/client/components/redirect.js","webpack://next/./dist/esm/server/future/route-modules/route-module.js","webpack://next/./dist/esm/client/components/app-router-headers.js","webpack://next/./dist/esm/server/web/spec-extension/adapters/reflect.js","webpack://next/./dist/esm/server/web/spec-extension/adapters/headers.js","webpack://next/external commonjs \"next/dist/client/components/static-generation-async-storage.external.js\"","webpack://next/./dist/esm/server/web/spec-extension/adapters/request-cookies.js","webpack://next/./dist/esm/lib/constants.js","webpack://next/external commonjs \"next/dist/server/lib/trace/tracer\"","webpack://next/./dist/esm/server/api-utils/index.js","webpack://next/./dist/esm/server/async-storage/draft-mode-provider.js","webpack://next/./dist/esm/server/async-storage/request-async-storage-wrapper.js","webpack://next/./dist/esm/server/web/utils.js","webpack://next/./dist/esm/client/components/hooks-server-context.js","webpack://next/./dist/esm/client/components/static-generation-bailout.js","webpack://next/./dist/esm/lib/url.js","webpack://next/./dist/esm/server/app-render/dynamic-rendering.js","webpack://next/./dist/esm/server/async-storage/static-generation-async-storage-wrapper.js","webpack://next/./dist/esm/server/future/route-modules/helpers/response-handlers.js","webpack://next/./dist/esm/server/web/http.js","webpack://next/./dist/esm/build/output/log.js","webpack://next/./dist/esm/server/lib/clone-response.js","webpack://next/./dist/esm/server/lib/patch-fetch.js","webpack://next/./dist/esm/client/components/not-found.js","webpack://next/external commonjs \"next/dist/client/components/request-async-storage.external.js\"","webpack://next/external commonjs \"next/dist/client/components/action-async-storage.external.js\"","webpack://next/./dist/esm/server/future/route-modules/app-route/helpers/auto-implement-methods.js","webpack://next/./dist/esm/shared/lib/app-router-context.shared-runtime.js","webpack://next/./dist/esm/server/future/route-modules/app-route/module.js","webpack://next/./dist/esm/server/lib/server-action-request-meta.js","webpack://next/./dist/esm/server/future/route-modules/app-route/helpers/get-pathname-from-absolute-path.js","webpack://next/./dist/esm/server/lib/dedupe-fetch.js","webpack://next/./dist/esm/server/future/route-modules/app-route/helpers/parsed-url-query-to-params.js","webpack://next/./dist/esm/server/future/route-modules/app-route/helpers/resolve-handler-error.js","webpack://next/./dist/esm/server/future/route-modules/app-route/helpers/clean-url.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n RequestCookies: () => RequestCookies,\n ResponseCookies: () => ResponseCookies,\n parseCookie: () => parseCookie,\n parseSetCookie: () => parseSetCookie,\n stringifyCookie: () => stringifyCookie\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/serialize.ts\nfunction stringifyCookie(c) {\n var _a;\n const attrs = [\n \"path\" in c && c.path && `Path=${c.path}`,\n \"expires\" in c && (c.expires || c.expires === 0) && `Expires=${(typeof c.expires === \"number\" ? new Date(c.expires) : c.expires).toUTCString()}`,\n \"maxAge\" in c && typeof c.maxAge === \"number\" && `Max-Age=${c.maxAge}`,\n \"domain\" in c && c.domain && `Domain=${c.domain}`,\n \"secure\" in c && c.secure && \"Secure\",\n \"httpOnly\" in c && c.httpOnly && \"HttpOnly\",\n \"sameSite\" in c && c.sameSite && `SameSite=${c.sameSite}`,\n \"partitioned\" in c && c.partitioned && \"Partitioned\",\n \"priority\" in c && c.priority && `Priority=${c.priority}`\n ].filter(Boolean);\n const stringified = `${c.name}=${encodeURIComponent((_a = c.value) != null ? _a : \"\")}`;\n return attrs.length === 0 ? stringified : `${stringified}; ${attrs.join(\"; \")}`;\n}\nfunction parseCookie(cookie) {\n const map = /* @__PURE__ */ new Map();\n for (const pair of cookie.split(/; */)) {\n if (!pair)\n continue;\n const splitAt = pair.indexOf(\"=\");\n if (splitAt === -1) {\n map.set(pair, \"true\");\n continue;\n }\n const [key, value] = [pair.slice(0, splitAt), pair.slice(splitAt + 1)];\n try {\n map.set(key, decodeURIComponent(value != null ? value : \"true\"));\n } catch {\n }\n }\n return map;\n}\nfunction parseSetCookie(setCookie) {\n if (!setCookie) {\n return void 0;\n }\n const [[name, value], ...attributes] = parseCookie(setCookie);\n const {\n domain,\n expires,\n httponly,\n maxage,\n path,\n samesite,\n secure,\n partitioned,\n priority\n } = Object.fromEntries(\n attributes.map(([key, value2]) => [key.toLowerCase(), value2])\n );\n const cookie = {\n name,\n value: decodeURIComponent(value),\n domain,\n ...expires && { expires: new Date(expires) },\n ...httponly && { httpOnly: true },\n ...typeof maxage === \"string\" && { maxAge: Number(maxage) },\n path,\n ...samesite && { sameSite: parseSameSite(samesite) },\n ...secure && { secure: true },\n ...priority && { priority: parsePriority(priority) },\n ...partitioned && { partitioned: true }\n };\n return compact(cookie);\n}\nfunction compact(t) {\n const newT = {};\n for (const key in t) {\n if (t[key]) {\n newT[key] = t[key];\n }\n }\n return newT;\n}\nvar SAME_SITE = [\"strict\", \"lax\", \"none\"];\nfunction parseSameSite(string) {\n string = string.toLowerCase();\n return SAME_SITE.includes(string) ? string : void 0;\n}\nvar PRIORITY = [\"low\", \"medium\", \"high\"];\nfunction parsePriority(string) {\n string = string.toLowerCase();\n return PRIORITY.includes(string) ? string : void 0;\n}\nfunction splitCookiesString(cookiesString) {\n if (!cookiesString)\n return [];\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n function skipWhitespace() {\n while (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) {\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n while (pos < cookiesString.length) {\n start = pos;\n cookiesSeparatorFound = false;\n while (skipWhitespace()) {\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n lastComma = pos;\n pos += 1;\n skipWhitespace();\n nextStart = pos;\n while (pos < cookiesString.length && notSpecialChar()) {\n pos += 1;\n }\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n cookiesSeparatorFound = true;\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n return cookiesStrings;\n}\n\n// src/request-cookies.ts\nvar RequestCookies = class {\n constructor(requestHeaders) {\n /** @internal */\n this._parsed = /* @__PURE__ */ new Map();\n this._headers = requestHeaders;\n const header = requestHeaders.get(\"cookie\");\n if (header) {\n const parsed = parseCookie(header);\n for (const [name, value] of parsed) {\n this._parsed.set(name, { name, value });\n }\n }\n }\n [Symbol.iterator]() {\n return this._parsed[Symbol.iterator]();\n }\n /**\n * The amount of cookies received from the client\n */\n get size() {\n return this._parsed.size;\n }\n get(...args) {\n const name = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(name);\n }\n getAll(...args) {\n var _a;\n const all = Array.from(this._parsed);\n if (!args.length) {\n return all.map(([_, value]) => value);\n }\n const name = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter(([n]) => n === name).map(([_, value]) => value);\n }\n has(name) {\n return this._parsed.has(name);\n }\n set(...args) {\n const [name, value] = args.length === 1 ? [args[0].name, args[0].value] : args;\n const map = this._parsed;\n map.set(name, { name, value });\n this._headers.set(\n \"cookie\",\n Array.from(map).map(([_, value2]) => stringifyCookie(value2)).join(\"; \")\n );\n return this;\n }\n /**\n * Delete the cookies matching the passed name or names in the request.\n */\n delete(names) {\n const map = this._parsed;\n const result = !Array.isArray(names) ? map.delete(names) : names.map((name) => map.delete(name));\n this._headers.set(\n \"cookie\",\n Array.from(map).map(([_, value]) => stringifyCookie(value)).join(\"; \")\n );\n return result;\n }\n /**\n * Delete all the cookies in the cookies in the request.\n */\n clear() {\n this.delete(Array.from(this._parsed.keys()));\n return this;\n }\n /**\n * Format the cookies in the request as a string for logging\n */\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [...this._parsed.values()].map((v) => `${v.name}=${encodeURIComponent(v.value)}`).join(\"; \");\n }\n};\n\n// src/response-cookies.ts\nvar ResponseCookies = class {\n constructor(responseHeaders) {\n /** @internal */\n this._parsed = /* @__PURE__ */ new Map();\n var _a, _b, _c;\n this._headers = responseHeaders;\n const setCookie = (_c = (_b = (_a = responseHeaders.getSetCookie) == null ? void 0 : _a.call(responseHeaders)) != null ? _b : responseHeaders.get(\"set-cookie\")) != null ? _c : [];\n const cookieStrings = Array.isArray(setCookie) ? setCookie : splitCookiesString(setCookie);\n for (const cookieString of cookieStrings) {\n const parsed = parseSetCookie(cookieString);\n if (parsed)\n this._parsed.set(parsed.name, parsed);\n }\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise.\n */\n get(...args) {\n const key = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(key);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise.\n */\n getAll(...args) {\n var _a;\n const all = Array.from(this._parsed.values());\n if (!args.length) {\n return all;\n }\n const key = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter((c) => c.name === key);\n }\n has(name) {\n return this._parsed.has(name);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise.\n */\n set(...args) {\n const [name, value, cookie] = args.length === 1 ? [args[0].name, args[0].value, args[0]] : args;\n const map = this._parsed;\n map.set(name, normalizeCookie({ name, value, ...cookie }));\n replace(map, this._headers);\n return this;\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise.\n */\n delete(...args) {\n const [name, path, domain] = typeof args[0] === \"string\" ? [args[0]] : [args[0].name, args[0].path, args[0].domain];\n return this.set({ name, path, domain, value: \"\", expires: /* @__PURE__ */ new Date(0) });\n }\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [...this._parsed.values()].map(stringifyCookie).join(\"; \");\n }\n};\nfunction replace(bag, headers) {\n headers.delete(\"set-cookie\");\n for (const [, value] of bag) {\n const serialized = stringifyCookie(value);\n headers.append(\"set-cookie\", serialized);\n }\n}\nfunction normalizeCookie(cookie = { name: \"\", value: \"\" }) {\n if (typeof cookie.expires === \"number\") {\n cookie.expires = new Date(cookie.expires);\n }\n if (cookie.maxAge) {\n cookie.expires = new Date(Date.now() + cookie.maxAge * 1e3);\n }\n if (cookie.path === null || cookie.path === void 0) {\n cookie.path = \"/\";\n }\n return cookie;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n RequestCookies,\n ResponseCookies,\n parseCookie,\n parseSetCookie,\n stringifyCookie\n});\n","(()=>{\"use strict\";if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var e={};(()=>{var r=e;\n/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */r.parse=parse;r.serialize=serialize;var i=decodeURIComponent;var t=encodeURIComponent;var a=/; */;var n=/^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;function parse(e,r){if(typeof e!==\"string\"){throw new TypeError(\"argument str must be a string\")}var t={};var n=r||{};var o=e.split(a);var s=n.decode||i;for(var p=0;p<o.length;p++){var f=o[p];var u=f.indexOf(\"=\");if(u<0){continue}var v=f.substr(0,u).trim();var c=f.substr(++u,f.length).trim();if('\"'==c[0]){c=c.slice(1,-1)}if(undefined==t[v]){t[v]=tryDecode(c,s)}}return t}function serialize(e,r,i){var a=i||{};var o=a.encode||t;if(typeof o!==\"function\"){throw new TypeError(\"option encode is invalid\")}if(!n.test(e)){throw new TypeError(\"argument name is invalid\")}var s=o(r);if(s&&!n.test(s)){throw new TypeError(\"argument val is invalid\")}var p=e+\"=\"+s;if(null!=a.maxAge){var f=a.maxAge-0;if(isNaN(f)||!isFinite(f)){throw new TypeError(\"option maxAge is invalid\")}p+=\"; Max-Age=\"+Math.floor(f)}if(a.domain){if(!n.test(a.domain)){throw new TypeError(\"option domain is invalid\")}p+=\"; Domain=\"+a.domain}if(a.path){if(!n.test(a.path)){throw new TypeError(\"option path is invalid\")}p+=\"; Path=\"+a.path}if(a.expires){if(typeof a.expires.toUTCString!==\"function\"){throw new TypeError(\"option expires is invalid\")}p+=\"; Expires=\"+a.expires.toUTCString()}if(a.httpOnly){p+=\"; HttpOnly\"}if(a.secure){p+=\"; Secure\"}if(a.sameSite){var u=typeof a.sameSite===\"string\"?a.sameSite.toLowerCase():a.sameSite;switch(u){case true:p+=\"; SameSite=Strict\";break;case\"lax\":p+=\"; SameSite=Lax\";break;case\"strict\":p+=\"; SameSite=Strict\";break;case\"none\":p+=\"; SameSite=None\";break;default:throw new TypeError(\"option sameSite is invalid\")}}return p}function tryDecode(e,r){try{return r(e)}catch(r){return e}}})();module.exports=e})();","/**\n * @license React\n * react.development.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';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n\n 'use strict';\n\n/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());\n}\n var ReactVersion = '18.3.0-canary-178c267a4e-20241218';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider'); // TODO: Delete with enableRenderableContext\n\nvar REACT_CONSUMER_TYPE = Symbol.for('react.consumer');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar REACT_CACHE_TYPE = Symbol.for('react.cache');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\n/**\n * Keeps track of the current dispatcher.\n */\nvar ReactCurrentDispatcher$1 = {\n current: null\n};\n\n/**\n * Keeps track of the current Cache dispatcher.\n */\nvar ReactCurrentCache = {\n current: null\n};\n\n/**\n * Keeps track of the current batch's configuration such as how long an update\n * should suspend for if it needs to.\n */\nvar ReactCurrentBatchConfig = {\n transition: null\n};\n\nvar ReactCurrentActQueue = {\n current: null,\n // Used to reproduce behavior of `batchedUpdates` in legacy mode.\n isBatchingLegacy: false,\n didScheduleLegacyUpdate: false,\n // Tracks whether something called `use` during the current batch of work.\n // Determines whether we should yield to microtasks to unwrap already resolved\n // promises without suspending.\n didUsePromise: false\n};\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner$1 = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nvar ReactDebugCurrentFrame$1 = {};\nvar currentExtraStackFrame = null;\n\n{\n ReactDebugCurrentFrame$1.setExtraStackFrame = function (stack) {\n {\n currentExtraStackFrame = stack;\n }\n }; // Stack implementation injected by the current renderer.\n\n\n ReactDebugCurrentFrame$1.getCurrentStack = null;\n\n ReactDebugCurrentFrame$1.getStackAddendum = function () {\n var stack = ''; // Add an extra top frame while an element is being validated\n\n if (currentExtraStackFrame) {\n stack += currentExtraStackFrame;\n } // Delegate to the injected renderer-specific implementation\n\n\n var impl = ReactDebugCurrentFrame$1.getCurrentStack;\n\n if (impl) {\n stack += impl() || '';\n }\n\n return stack;\n };\n}\n\nvar ReactSharedInternals = {\n ReactCurrentDispatcher: ReactCurrentDispatcher$1,\n ReactCurrentCache: ReactCurrentCache,\n ReactCurrentBatchConfig: ReactCurrentBatchConfig,\n ReactCurrentOwner: ReactCurrentOwner$1\n};\n\n{\n ReactSharedInternals.ReactDebugCurrentFrame = ReactDebugCurrentFrame$1;\n ReactSharedInternals.ReactCurrentActQueue = ReactCurrentActQueue;\n}\n\n// by calls to these methods by a Babel plugin.\n//\n// In PROD (or in packages without access to React internals),\n// they are left as they are instead.\n\nfunction warn(format) {\n {\n {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n printWarning('warn', format, args);\n }\n }\n}\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\nvar didWarnStateUpdateForUnmountedComponent = {};\n\nfunction warnNoop(publicInstance, callerName) {\n {\n var _constructor = publicInstance.constructor;\n var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\n var warningKey = componentName + \".\" + callerName;\n\n if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\n return;\n }\n\n error(\"Can't call %s on a component that is not yet mounted. \" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\n\n didWarnStateUpdateForUnmountedComponent[warningKey] = true;\n }\n}\n/**\n * This is the abstract API for an update queue.\n */\n\n\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance, callback, callerName) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} callerName name of the calling function in the public API.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @param {?function} callback Called after component is updated.\n * @param {?string} Name of the calling function in the public API.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState, callback, callerName) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nvar assign = Object.assign;\n\nvar emptyObject = {};\n\n{\n Object.freeze(emptyObject);\n}\n/**\n * Base class helpers for the updating state of a component.\n */\n\n\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\n // renderer.\n\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nComponent.prototype.isReactComponent = {};\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\n\nComponent.prototype.setState = function (partialState, callback) {\n if (typeof partialState !== 'object' && typeof partialState !== 'function' && partialState != null) {\n throw new Error('takes an object of state variables to update or a ' + 'function which returns an object of state variables.');\n }\n\n this.updater.enqueueSetState(this, partialState, callback, 'setState');\n};\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\n\n\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\n};\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\n\n\n{\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n\n var defineDeprecationWarning = function (methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n\n return undefined;\n }\n });\n };\n\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\nfunction ComponentDummy() {}\n\nComponentDummy.prototype = Component.prototype;\n/**\n * Convenience component with default shallow equality check for sCU.\n */\n\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context; // If a component has string refs, we will assign a different object later.\n\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\n\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = true;\n\n// an immutable object with a single mutable value\nfunction createRef() {\n var refObject = {\n current: null\n };\n\n {\n Object.seal(refObject);\n }\n\n return refObject;\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object'; // $FlowFixMe[incompatible-return]\n\n return type;\n }\n} // $FlowFixMe[incompatible-return] only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\nvar enableRenderableContext = false;\n// Ready for next major.\n//\n// Alias __NEXT_MAJOR__ to false for easier skimming.\n// -----------------------------------------------------------------------------\n\nvar __NEXT_MAJOR__ = false; // Not ready to break experimental yet.\n// as a normal prop instead of stripping it from the props object.\n// Passes `ref` as a normal prop instead of stripping it from the props object\n// during element creation.\n\nvar enableRefAsProp = __NEXT_MAJOR__; // Not ready to break experimental yet.\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false;\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n}\n\nvar REACT_CLIENT_REFERENCE$2 = Symbol.for('react.client.reference'); // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n if (typeof type === 'function') {\n if (type.$$typeof === REACT_CLIENT_REFERENCE$2) {\n // TODO: Create a convention for naming client references with debug info.\n return null;\n }\n\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n case REACT_CACHE_TYPE:\n {\n return 'Cache';\n }\n\n }\n\n if (typeof type === 'object') {\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n {\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n }\n\n case REACT_CONTEXT_TYPE:\n var context = type;\n\n {\n return getContextName(context) + '.Consumer';\n }\n\n case REACT_CONSUMER_TYPE:\n {\n return null;\n }\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n }\n }\n\n return null;\n}\n\n// $FlowFixMe[method-unbinding]\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar REACT_CLIENT_REFERENCE$1 = Symbol.for('react.client.reference');\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || enableRenderableContext || type.$$typeof === REACT_FORWARD_REF_TYPE || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_CLIENT_REFERENCE$1 || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe[cannot-write] Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n/**\n * Leverages native browser/VM stack frames to get proper details (e.g.\n * filename, line + col number) for a single component in a component stack. We\n * do this by:\n * (1) throwing and catching an error in the function - this will be our\n * control error.\n * (2) calling the component which will eventually throw an error that we'll\n * catch - this will be our sample error.\n * (3) diffing the control and sample error stacks to find the stack frame\n * which represents our component.\n */\n\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if (!fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe[incompatible-type] It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n /**\n * Finding a common stack frame between sample and control errors can be\n * tricky given the different types and levels of stack trace truncation from\n * different JS VMs. So instead we'll attempt to control what that common\n * frame should be through this object method:\n * Having both the sample and control errors be in the function under the\n * `DescribeNativeComponentFrameRoot` property, + setting the `name` and\n * `displayName` properties of the function ensures that a stack\n * frame exists that has the method name `DescribeNativeComponentFrameRoot` in\n * it for both control and sample stacks.\n */\n\n\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n var control;\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe[prop-missing]\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n } // $FlowFixMe[prop-missing] found when upgrading Flow\n\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n } // TODO(luna): This will currently only throw if the function component\n // tries to access React/ReactDOM/props. We should probably make this throw\n // in simple components too\n\n\n var maybePromise = fn(); // If the function component returns a promise, it's likely an async\n // component, which we don't yet support. Attach a noop catch handler to\n // silence the error.\n // TODO: Implement component stacks for async client components?\n\n if (maybePromise && typeof maybePromise.catch === 'function') {\n maybePromise.catch(function () {});\n }\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n return [sample.stack, control.stack];\n }\n }\n\n return [null, null];\n }\n }; // $FlowFixMe[prop-missing]\n\n RunInRootFrame.DetermineComponentFrameRoot.displayName = 'DetermineComponentFrameRoot';\n var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, 'name'); // Before ES6, the `name` property was not configurable.\n\n if (namePropDescriptor && namePropDescriptor.configurable) {\n // V8 utilizes a function's `name` property when generating a stack trace.\n Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, // Configurable properties can be updated even if its writable descriptor\n // is set to `false`.\n // $FlowFixMe[cannot-write]\n 'name', {\n value: 'DetermineComponentFrameRoot'\n });\n }\n\n try {\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n\n if (sampleStack && controlStack) {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sampleStack.split('\\n');\n var controlLines = controlStack.split('\\n');\n var s = 0;\n var c = 0;\n\n while (s < sampleLines.length && !sampleLines[s].includes('DetermineComponentFrameRoot')) {\n s++;\n }\n\n while (c < controlLines.length && !controlLines[c].includes('DetermineComponentFrameRoot')) {\n c++;\n } // We couldn't find our intentionally injected common root frame, attempt\n // to find another common root frame by search from the bottom of the\n // control stack...\n\n\n if (s === sampleLines.length || c === controlLines.length) {\n s = sampleLines.length - 1;\n c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"<anonymous>\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('<anonymous>')) {\n _frame = _frame.replace('<anonymous>', fn.displayName);\n }\n\n if (true) {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\nvar REACT_CLIENT_REFERENCE = Symbol.for('react.client.reference');\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nfunction ReactElement(type, key, _ref, self, source, owner, props) {\n var ref;\n\n {\n ref = _ref;\n }\n\n var element;\n\n {\n // In prod, `ref` is a regular property. It will be removed in a\n // future release.\n element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n }\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // debugInfo contains Server Component debug information.\n\n Object.defineProperty(element, '_debugInfo', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: null\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n}\n/**\n * Create and return a new ReactElement of the given type.\n * See https://reactjs.org/docs/react-api.html#createelement\n */\n\nfunction createElement(type, config, children) {\n {\n if (!isValidElementType(type)) {\n // This is an invalid element type.\n //\n // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n } else {\n // This is a valid element type.\n // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing\n // errors. We don't want exception behavior to differ between dev and\n // prod. (Rendering will throw with a helpful message and as soon as the\n // type is fixed, the key warnings will appear.)\n for (var i = 2; i < arguments.length; i++) {\n validateChildKeys(arguments[i], type);\n }\n } // Unlike the jsx() runtime, createElement() doesn't warn about key spread.\n\n }\n\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n {\n ref = config.ref;\n }\n\n {\n warnIfStringRefCannotBeAutoConverted(config, config.__self);\n }\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && // Skip over reserved prop names\n propName !== 'key' && (propName !== 'ref') && // Even though we don't use these anymore in the runtime, we don't want\n // them to appear as props, so in createElement we filter them out.\n // We don't have to do this in the jsx() runtime because the jsx()\n // transform never passed these as props; it used separate arguments.\n propName !== '__self' && propName !== '__source') {\n props[propName] = config[propName];\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var _i = 0; _i < childrenLength; _i++) {\n childArray[_i] = arguments[_i + 2];\n }\n\n {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n\n props.children = childArray;\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n {\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n\n var element = ReactElement(type, key, ref, undefined, undefined, ReactCurrentOwner.current, props);\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n }\n\n return element;\n}\nvar didWarnAboutDeprecatedCreateFactory = false;\n/**\n * Return a function that produces ReactElements of a given type.\n * See https://reactjs.org/docs/react-api.html#createfactory\n */\n\nfunction createFactory(type) {\n var factory = createElement.bind(null, type); // Expose the type on the factory and the prototype so that it can be\n // easily accessed on elements. E.g. `<Foo />.type === Foo`.\n // This should not be named `constructor` since this may not be the function\n // that created the element, and it may not even be a constructor.\n // Legacy hook: remove it\n\n factory.type = type;\n\n {\n if (!didWarnAboutDeprecatedCreateFactory) {\n didWarnAboutDeprecatedCreateFactory = true;\n\n warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\n } // Legacy hook: remove it\n\n\n Object.defineProperty(factory, 'type', {\n enumerable: false,\n get: function () {\n warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\n\n Object.defineProperty(this, 'type', {\n value: type\n });\n return type;\n }\n });\n }\n\n return factory;\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(oldElement.type, newKey, // When enableRefAsProp is on, this argument is ignored. This check only\n // exists to avoid the `ref` access warning.\n oldElement.ref, undefined, undefined, oldElement._owner, oldElement.props);\n}\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://reactjs.org/docs/react-api.html#cloneelement\n */\n\nfunction cloneElement(element, config, children) {\n if (element === null || element === undefined) {\n throw new Error(\"The argument must be a React element, but you passed \" + element + \".\");\n }\n\n var propName; // Original props are copied\n\n var props = assign({}, element.props); // Reserved names are extracted\n\n var key = element.key;\n var ref = element.ref; // Owner will be preserved, unless ref is overridden\n\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n {\n // Silently steal the ref from the parent.\n ref = config.ref;\n }\n\n owner = ReactCurrentOwner.current;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n } // Remaining properties override existing props\n\n\n var defaultProps;\n\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && // Skip over reserved prop names\n propName !== 'key' && (propName !== 'ref') && // ...and maybe these, too, though we currently rely on them for\n // warnings and debug information in dev. Need to decide if we're OK\n // with dropping them. In the jsx() runtime it's not an issue because\n // the data gets passed as separate arguments instead of props, but\n // it would be nice to stop relying on them entirely so we can drop\n // them from the internal Fiber field.\n propName !== '__self' && propName !== '__source' && // Undefined `ref` is ignored by cloneElement. We treat it the same as\n // if the property were missing. This is mostly for\n // backwards compatibility.\n !(enableRefAsProp )) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n } // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n\n\n var childrenLength = arguments.length - 2;\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n\n props.children = childArray;\n }\n\n var clonedElement = ReactElement(element.type, key, ref, undefined, undefined, owner, props);\n\n for (var _i2 = 2; _i2 < arguments.length; _i2++) {\n validateChildKeys(arguments[_i2], clonedElement.type);\n }\n\n return clonedElement;\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner.current) {\n var name = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object' || !node) {\n return;\n }\n\n if (node.$$typeof === REACT_CLIENT_REFERENCE) ; else if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nvar ownerHasKeyUseWarning = {};\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement(null);\n }\n}\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = getComponentNameFromType(parentType);\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n // TODO: Move this to render phase instead of at element creation.\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement(null);\n }\n }\n}\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = key.replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n return '$' + escapedString;\n}\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\n\nvar didWarnAboutMaps = false;\nvar userProvidedKeyEscapeRegex = /\\/+/g;\n\nfunction escapeUserProvidedKey(text) {\n return text.replace(userProvidedKeyEscapeRegex, '$&/');\n}\n/**\n * Generate a key string that identifies a element within a set.\n *\n * @param {*} element A element that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\n\n\nfunction getElementKey(element, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (typeof element === 'object' && element !== null && element.key != null) {\n // Explicit key\n {\n checkKeyStringCoercion(element.key);\n }\n\n return escape('' + element.key);\n } // Implicit key determined by the index in the set\n\n\n return index.toString(36);\n}\n\nfunction noop$1() {}\n\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case 'fulfilled':\n {\n var fulfilledValue = thenable.value;\n return fulfilledValue;\n }\n\n case 'rejected':\n {\n var rejectedError = thenable.reason;\n throw rejectedError;\n }\n\n default:\n {\n if (typeof thenable.status === 'string') {\n // Only instrument the thenable if the status if not defined. If\n // it's defined, but an unknown value, assume it's been instrumented by\n // some custom userspace implementation. We treat it as \"pending\".\n // Attach a dummy listener, to ensure that any lazy initialization can\n // happen. Flight lazily parses JSON when the value is actually awaited.\n thenable.then(noop$1, noop$1);\n } else {\n // This is an uncached thenable that we haven't seen before.\n // TODO: Detect infinite ping loops caused by uncached promises.\n var pendingThenable = thenable;\n pendingThenable.status = 'pending';\n pendingThenable.then(function (fulfilledValue) {\n if (thenable.status === 'pending') {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = 'fulfilled';\n fulfilledThenable.value = fulfilledValue;\n }\n }, function (error) {\n if (thenable.status === 'pending') {\n var rejectedThenable = thenable;\n rejectedThenable.status = 'rejected';\n rejectedThenable.reason = error;\n }\n });\n } // Check one more time in case the thenable resolved synchronously.\n\n\n switch (thenable.status) {\n case 'fulfilled':\n {\n var fulfilledThenable = thenable;\n return fulfilledThenable.value;\n }\n\n case 'rejected':\n {\n var rejectedThenable = thenable;\n var _rejectedError = rejectedThenable.reason;\n throw _rejectedError;\n }\n }\n }\n }\n\n throw thenable;\n}\n\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n var invokeCallback = false;\n\n if (children === null) {\n invokeCallback = true;\n } else {\n switch (type) {\n case 'string':\n case 'number':\n invokeCallback = true;\n break;\n\n case 'object':\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = true;\n break;\n\n case REACT_LAZY_TYPE:\n var payload = children._payload;\n var init = children._init;\n return mapIntoArray(init(payload), array, escapedPrefix, nameSoFar, callback);\n }\n\n }\n }\n\n if (invokeCallback) {\n var _child = children;\n var mappedChild = callback(_child); // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows:\n\n var childKey = nameSoFar === '' ? SEPARATOR + getElementKey(_child, 0) : nameSoFar;\n\n if (isArray(mappedChild)) {\n var escapedChildKey = '';\n\n if (childKey != null) {\n escapedChildKey = escapeUserProvidedKey(childKey) + '/';\n }\n\n mapIntoArray(mappedChild, array, escapedChildKey, '', function (c) {\n return c;\n });\n } else if (mappedChild != null) {\n if (isValidElement(mappedChild)) {\n {\n // The `if` statement here prevents auto-disabling of the safe\n // coercion ESLint rule, so we must manually disable it below.\n // $FlowFixMe[incompatible-type] Flow incorrectly thinks React.Portal doesn't have a key\n if (mappedChild.key && (!_child || _child.key !== mappedChild.key)) {\n checkKeyStringCoercion(mappedChild.key);\n }\n }\n\n mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n escapedPrefix + ( // $FlowFixMe[incompatible-type] Flow incorrectly thinks React.Portal doesn't have a key\n mappedChild.key && (!_child || _child.key !== mappedChild.key) ? escapeUserProvidedKey( // $FlowFixMe[unsafe-addition]\n '' + mappedChild.key // eslint-disable-line react-internal/safe-string-coercion\n ) + '/' : '') + childKey);\n }\n\n array.push(mappedChild);\n }\n\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getElementKey(child, i);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n\n if (typeof iteratorFn === 'function') {\n var iterableChildren = children;\n\n {\n // Warn about using Maps as children\n if (iteratorFn === iterableChildren.entries) {\n if (!didWarnAboutMaps) {\n warn('Using Maps as children is not supported. ' + 'Use an array of keyed ReactElements instead.');\n }\n\n didWarnAboutMaps = true;\n }\n }\n\n var iterator = iteratorFn.call(iterableChildren);\n var step;\n var ii = 0; // $FlowFixMe[incompatible-use] `iteratorFn` might return null according to typing.\n\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getElementKey(child, ii++);\n subtreeCount += mapIntoArray(child, array, escapedPrefix, nextName, callback);\n }\n } else if (type === 'object') {\n if (typeof children.then === 'function') {\n return mapIntoArray(resolveThenable(children), array, escapedPrefix, nameSoFar, callback);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var childrenString = String(children);\n throw new Error(\"Objects are not valid as a React child (found: \" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \"). \" + 'If you meant to render a collection of children, use an array ' + 'instead.');\n }\n }\n\n return subtreeCount;\n}\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\n *\n * The provided mapFunction(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\n\n\nfunction mapChildren(children, func, context) {\n if (children == null) {\n // $FlowFixMe limitation refining abstract types in Flow\n return children;\n }\n\n var result = [];\n var count = 0;\n mapIntoArray(children, result, '', '', function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\n\n\nfunction countChildren(children) {\n var n = 0;\n mapChildren(children, function () {\n n++; // Don't return anything\n });\n return n;\n}\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\n\n\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n mapChildren(children, // $FlowFixMe[missing-this-annot]\n function () {\n forEachFunc.apply(this, arguments); // Don't return anything.\n }, forEachContext);\n}\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\n */\n\n\nfunction toArray(children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n}\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\n\n\nfunction onlyChild(children) {\n if (!isValidElement(children)) {\n throw new Error('React.Children.only expected to receive a single React element child.');\n }\n\n return children;\n}\n\nfunction createContext(defaultValue) {\n // TODO: Second argument used to be an optional `calculateChangedBits`\n // function. Warn to reserve for future use?\n var context = {\n $$typeof: REACT_CONTEXT_TYPE,\n // As a workaround to support multiple concurrent renderers, we categorize\n // some renderers as primary and others as secondary. We only expect\n // there to be two concurrent renderers at most: React Native (primary) and\n // Fabric (secondary); React DOM (primary) and React ART (secondary).\n // Secondary renderers store their context values on separate fields.\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n // Used to track how many concurrent renderers this context currently\n // supports within in a single renderer. Such as parallel server rendering.\n _threadCount: 0,\n // These are circular\n Provider: null,\n Consumer: null\n };\n\n {\n context.Provider = {\n $$typeof: REACT_PROVIDER_TYPE,\n _context: context\n };\n\n {\n var Consumer = {\n $$typeof: REACT_CONTEXT_TYPE,\n _context: context\n };\n Object.defineProperties(Consumer, {\n Provider: {\n get: function () {\n return context.Provider;\n },\n set: function (_Provider) {\n context.Provider = _Provider;\n }\n },\n _currentValue: {\n get: function () {\n return context._currentValue;\n },\n set: function (_currentValue) {\n context._currentValue = _currentValue;\n }\n },\n _currentValue2: {\n get: function () {\n return context._currentValue2;\n },\n set: function (_currentValue2) {\n context._currentValue2 = _currentValue2;\n }\n },\n _threadCount: {\n get: function () {\n return context._threadCount;\n },\n set: function (_threadCount) {\n context._threadCount = _threadCount;\n }\n },\n Consumer: {\n get: function () {\n return context.Consumer;\n }\n },\n displayName: {\n get: function () {\n return context.displayName;\n },\n set: function (displayName) {}\n }\n });\n context.Consumer = Consumer;\n }\n }\n\n {\n context._currentRenderer = null;\n context._currentRenderer2 = null;\n }\n\n return context;\n}\n\nvar Uninitialized = -1;\nvar Pending = 0;\nvar Resolved = 1;\nvar Rejected = 2;\n\nfunction lazyInitializer(payload) {\n if (payload._status === Uninitialized) {\n var ctor = payload._result;\n var thenable = ctor(); // Transition to the next state.\n // This might throw either because it's missing or throws. If so, we treat it\n // as still uninitialized and try again next time. Which is the same as what\n // happens if the ctor or any wrappers processing the ctor throws. This might\n // end up fixing it if the resolution was a concurrency bug.\n\n thenable.then(function (moduleObject) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var resolved = payload;\n resolved._status = Resolved;\n resolved._result = moduleObject;\n }\n }, function (error) {\n if (payload._status === Pending || payload._status === Uninitialized) {\n // Transition to the next state.\n var rejected = payload;\n rejected._status = Rejected;\n rejected._result = error;\n }\n });\n\n if (payload._status === Uninitialized) {\n // In case, we're still uninitialized, then we're waiting for the thenable\n // to resolve. Set it as pending in the meantime.\n var pending = payload;\n pending._status = Pending;\n pending._result = thenable;\n }\n }\n\n if (payload._status === Resolved) {\n var moduleObject = payload._result;\n\n {\n if (moduleObject === undefined) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\\n\\n\" + 'Did you accidentally put curly braces around the import?', moduleObject);\n }\n }\n\n {\n if (!('default' in moduleObject)) {\n error('lazy: Expected the result of a dynamic imp' + 'ort() call. ' + 'Instead received: %s\\n\\nYour code should look like: \\n ' + // Break up imports to avoid accidentally parsing them as dependencies.\n 'const MyComponent = lazy(() => imp' + \"ort('./MyComponent'))\", moduleObject);\n }\n }\n\n return moduleObject.default;\n } else {\n throw payload._result;\n }\n}\n\nfunction lazy(ctor) {\n var payload = {\n // We use these fields to store the result.\n _status: Uninitialized,\n _result: ctor\n };\n var lazyType = {\n $$typeof: REACT_LAZY_TYPE,\n _payload: payload,\n _init: lazyInitializer\n };\n\n {\n // In production, this would just set it on the object.\n var defaultProps;\n var propTypes; // $FlowFixMe[prop-missing]\n\n Object.defineProperties(lazyType, {\n defaultProps: {\n configurable: true,\n get: function () {\n return defaultProps;\n },\n // $FlowFixMe[missing-local-annot]\n set: function (newDefaultProps) {\n error('It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n defaultProps = newDefaultProps; // Match production behavior more closely:\n // $FlowFixMe[prop-missing]\n\n Object.defineProperty(lazyType, 'defaultProps', {\n enumerable: true\n });\n }\n },\n propTypes: {\n configurable: true,\n get: function () {\n return propTypes;\n },\n // $FlowFixMe[missing-local-annot]\n set: function (newPropTypes) {\n error('It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\n\n propTypes = newPropTypes; // Match production behavior more closely:\n // $FlowFixMe[prop-missing]\n\n Object.defineProperty(lazyType, 'propTypes', {\n enumerable: true\n });\n }\n }\n });\n }\n\n return lazyType;\n}\n\nfunction forwardRef(render) {\n {\n if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\n error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\n } else if (typeof render !== 'function') {\n error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\n } else {\n if (render.length !== 0 && render.length !== 2) {\n error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\n }\n }\n\n if (render != null) {\n if (render.defaultProps != null) {\n error('forwardRef render functions do not support defaultProps. ' + 'Did you accidentally pass a React component?');\n }\n }\n }\n\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.forwardRef((props, ref) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!render.name && !render.displayName) {\n render.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nfunction memo(type, compare) {\n {\n if (!isValidElementType(type)) {\n error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\n }\n }\n\n var elementType = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: compare === undefined ? null : compare\n };\n\n {\n var ownName;\n Object.defineProperty(elementType, 'displayName', {\n enumerable: false,\n configurable: true,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name; // The inner component shouldn't inherit this display name in most cases,\n // because the component may be used elsewhere.\n // But it's nice for anonymous functions to inherit the name,\n // so that our component-stack generation logic will display their frames.\n // An anonymous function generally suggests a pattern like:\n // React.memo((props) => {...});\n // This kind of inner function is not used elsewhere so the side effect is okay.\n\n if (!type.name && !type.displayName) {\n type.displayName = name;\n }\n }\n });\n }\n\n return elementType;\n}\n\nvar UNTERMINATED = 0;\nvar TERMINATED = 1;\nvar ERRORED = 2;\n\nfunction createCacheRoot() {\n return new WeakMap();\n}\n\nfunction createCacheNode() {\n return {\n s: UNTERMINATED,\n // status, represents whether the cached computation returned a value or threw an error\n v: undefined,\n // value, either the cached result or an error, depending on s\n o: null,\n // object cache, a WeakMap where non-primitive arguments are stored\n p: null // primitive cache, a regular Map where primitive arguments are stored.\n\n };\n}\n\nfunction cache$1(fn) {\n return function () {\n var dispatcher = ReactCurrentCache.current;\n\n if (!dispatcher) {\n // If there is no dispatcher, then we treat this as not being cached.\n // $FlowFixMe[incompatible-call]: We don't want to use rest arguments since we transpile the code.\n return fn.apply(null, arguments);\n }\n\n var fnMap = dispatcher.getCacheForType(createCacheRoot);\n var fnNode = fnMap.get(fn);\n var cacheNode;\n\n if (fnNode === undefined) {\n cacheNode = createCacheNode();\n fnMap.set(fn, cacheNode);\n } else {\n cacheNode = fnNode;\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n var arg = arguments[i];\n\n if (typeof arg === 'function' || typeof arg === 'object' && arg !== null) {\n // Objects go into a WeakMap\n var objectCache = cacheNode.o;\n\n if (objectCache === null) {\n cacheNode.o = objectCache = new WeakMap();\n }\n\n var objectNode = objectCache.get(arg);\n\n if (objectNode === undefined) {\n cacheNode = createCacheNode();\n objectCache.set(arg, cacheNode);\n } else {\n cacheNode = objectNode;\n }\n } else {\n // Primitives go into a regular Map\n var primitiveCache = cacheNode.p;\n\n if (primitiveCache === null) {\n cacheNode.p = primitiveCache = new Map();\n }\n\n var primitiveNode = primitiveCache.get(arg);\n\n if (primitiveNode === undefined) {\n cacheNode = createCacheNode();\n primitiveCache.set(arg, cacheNode);\n } else {\n cacheNode = primitiveNode;\n }\n }\n }\n\n if (cacheNode.s === TERMINATED) {\n return cacheNode.v;\n }\n\n if (cacheNode.s === ERRORED) {\n throw cacheNode.v;\n }\n\n try {\n // $FlowFixMe[incompatible-call]: We don't want to use rest arguments since we transpile the code.\n var result = fn.apply(null, arguments);\n var terminatedNode = cacheNode;\n terminatedNode.s = TERMINATED;\n terminatedNode.v = result;\n return result;\n } catch (error) {\n // We store the first error that's thrown and rethrow it.\n var erroredNode = cacheNode;\n erroredNode.s = ERRORED;\n erroredNode.v = error;\n throw error;\n }\n };\n}\n\nvar cache = cache$1;\n\nfunction resolveDispatcher() {\n var dispatcher = ReactCurrentDispatcher$1.current;\n\n {\n if (dispatcher === null) {\n error('Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for' + ' one of the following reasons:\\n' + '1. You might have mismatching versions of React and the renderer (such as React DOM)\\n' + '2. You might be breaking the Rules of Hooks\\n' + '3. You might have more than one copy of React in the same app\\n' + 'See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.');\n }\n } // Will result in a null access error if accessed outside render phase. We\n // intentionally don't throw our own error because this is in a hot path.\n // Also helps ensure this is inlined.\n\n\n return dispatcher;\n}\nfunction useContext(Context) {\n var dispatcher = resolveDispatcher();\n\n {\n if (Context.$$typeof === REACT_CONSUMER_TYPE) {\n error('Calling useContext(Context.Consumer) is not supported and will cause bugs. ' + 'Did you mean to call useContext(Context) instead?');\n }\n }\n\n return dispatcher.useContext(Context);\n}\nfunction useState(initialState) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useState(initialState);\n}\nfunction useReducer(reducer, initialArg, init) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useReducer(reducer, initialArg, init);\n}\nfunction useRef(initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useRef(initialValue);\n}\nfunction useEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useEffect(create, deps);\n}\nfunction useInsertionEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useInsertionEffect(create, deps);\n}\nfunction useLayoutEffect(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useLayoutEffect(create, deps);\n}\nfunction useCallback(callback, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useCallback(callback, deps);\n}\nfunction useMemo(create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useMemo(create, deps);\n}\nfunction useImperativeHandle(ref, create, deps) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useImperativeHandle(ref, create, deps);\n}\nfunction useDebugValue(value, formatterFn) {\n {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDebugValue(value, formatterFn);\n }\n}\nfunction useTransition() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useTransition();\n}\nfunction useDeferredValue(value, initialValue) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useDeferredValue(value, initialValue);\n}\nfunction useId() {\n var dispatcher = resolveDispatcher();\n return dispatcher.useId();\n}\nfunction useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {\n var dispatcher = resolveDispatcher();\n return dispatcher.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\nfunction useCacheRefresh() {\n var dispatcher = resolveDispatcher(); // $FlowFixMe[not-a-function] This is unstable, thus optional\n\n return dispatcher.useCacheRefresh();\n}\nfunction use(usable) {\n var dispatcher = resolveDispatcher();\n return dispatcher.use(usable);\n}\nfunction useOptimistic(passthrough, reducer) {\n var dispatcher = resolveDispatcher(); // $FlowFixMe[not-a-function] This is unstable, thus optional\n\n return dispatcher.useOptimistic(passthrough, reducer);\n}\n\nfunction startTransition(scope, options) {\n var prevTransition = ReactCurrentBatchConfig.transition; // Each renderer registers a callback to receive the return value of\n // the scope function. This is used to implement async actions.\n\n var callbacks = new Set();\n var transition = {\n _callbacks: callbacks\n };\n ReactCurrentBatchConfig.transition = transition;\n var currentTransition = ReactCurrentBatchConfig.transition;\n\n {\n ReactCurrentBatchConfig.transition._updatedFibers = new Set();\n }\n\n {\n try {\n var returnValue = scope();\n\n if (typeof returnValue === 'object' && returnValue !== null && typeof returnValue.then === 'function') {\n callbacks.forEach(function (callback) {\n return callback(currentTransition, returnValue);\n });\n returnValue.then(noop, onError);\n }\n } catch (error) {\n onError(error);\n } finally {\n warnAboutTransitionSubscriptions(prevTransition, currentTransition);\n ReactCurrentBatchConfig.transition = prevTransition;\n }\n }\n}\n\nfunction warnAboutTransitionSubscriptions(prevTransition, currentTransition) {\n {\n if (prevTransition === null && currentTransition._updatedFibers) {\n var updatedFibersCount = currentTransition._updatedFibers.size;\n\n currentTransition._updatedFibers.clear();\n\n if (updatedFibersCount > 10) {\n warn('Detected a large number of updates inside startTransition. ' + 'If this is due to a subscription please re-write it to use React provided hooks. ' + 'Otherwise concurrent mode guarantees are off the table.');\n }\n }\n }\n}\n\nfunction noop() {} // Use reportError, if it exists. Otherwise console.error. This is the same as\n// the default for onRecoverableError.\n\n\nvar onError = typeof reportError === 'function' ? // In modern browsers, reportError will dispatch an error event,\n// emulating an uncaught JavaScript error.\nreportError : function (error) {\n // In older browsers and test environments, fallback to console.error.\n // eslint-disable-next-line react-internal/no-production-logging\n console['error'](error);\n};\n\nvar didWarnAboutMessageChannel = false;\nvar enqueueTaskImpl = null;\nfunction enqueueTask(task) {\n if (enqueueTaskImpl === null) {\n try {\n // read require off the module object to get around the bundlers.\n // we don't want them to detect a require and bundle a Node polyfill.\n var requireString = ('require' + Math.random()).slice(0, 7);\n var nodeRequire = module && module[requireString]; // assuming we're in node, let's try to get node's\n // version of setImmediate, bypassing fake timers if any.\n\n enqueueTaskImpl = nodeRequire.call(module, 'timers').setImmediate;\n } catch (_err) {\n // we're in a browser\n // we can't use regular timers because they may still be faked\n // so we try MessageChannel+postMessage instead\n enqueueTaskImpl = function (callback) {\n {\n if (didWarnAboutMessageChannel === false) {\n didWarnAboutMessageChannel = true;\n\n if (typeof MessageChannel === 'undefined') {\n error('This browser does not have a MessageChannel implementation, ' + 'so enqueuing tasks via await act(async () => ...) will fail. ' + 'Please file an issue at https://github.com/facebook/react/issues ' + 'if you encounter this warning.');\n }\n }\n }\n\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(undefined);\n };\n }\n }\n\n return enqueueTaskImpl(task);\n}\n\n// number of `act` scopes on the stack.\n\nvar actScopeDepth = 0; // We only warn the first time you neglect to await an async `act` scope.\n\nvar didWarnNoAwaitAct = false;\nfunction act(callback) {\n {\n // When ReactCurrentActQueue.current is not null, it signals to React that\n // we're currently inside an `act` scope. React will push all its tasks to\n // this queue instead of scheduling them with platform APIs.\n //\n // We set this to an empty array when we first enter an `act` scope, and\n // only unset it once we've left the outermost `act` scope — remember that\n // `act` calls can be nested.\n //\n // If we're already inside an `act` scope, reuse the existing queue.\n var prevIsBatchingLegacy = ReactCurrentActQueue.isBatchingLegacy;\n var prevActQueue = ReactCurrentActQueue.current;\n var prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n var queue = ReactCurrentActQueue.current = prevActQueue !== null ? prevActQueue : []; // Used to reproduce behavior of `batchedUpdates` in legacy mode. Only\n // set to `true` while the given callback is executed, not for updates\n // triggered during an async event, because this is how the legacy\n // implementation of `act` behaved.\n\n ReactCurrentActQueue.isBatchingLegacy = true;\n var result; // This tracks whether the `act` call is awaited. In certain cases, not\n // awaiting it is a mistake, so we will detect that and warn.\n\n var didAwaitActCall = false;\n\n try {\n // Reset this to `false` right before entering the React work loop. The\n // only place we ever read this fields is just below, right after running\n // the callback. So we don't need to reset after the callback runs.\n ReactCurrentActQueue.didScheduleLegacyUpdate = false;\n result = callback();\n var didScheduleLegacyUpdate = ReactCurrentActQueue.didScheduleLegacyUpdate; // Replicate behavior of original `act` implementation in legacy mode,\n // which flushed updates immediately after the scope function exits, even\n // if it's an async function.\n\n if (!prevIsBatchingLegacy && didScheduleLegacyUpdate) {\n flushActQueue(queue);\n } // `isBatchingLegacy` gets reset using the regular stack, not the async\n // one used to track `act` scopes. Why, you may be wondering? Because\n // that's how it worked before version 18. Yes, it's confusing! We should\n // delete legacy mode!!\n\n\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n } catch (error) {\n // `isBatchingLegacy` gets reset using the regular stack, not the async\n // one used to track `act` scopes. Why, you may be wondering? Because\n // that's how it worked before version 18. Yes, it's confusing! We should\n // delete legacy mode!!\n ReactCurrentActQueue.isBatchingLegacy = prevIsBatchingLegacy;\n popActScope(prevActQueue, prevActScopeDepth);\n throw error;\n }\n\n if (result !== null && typeof result === 'object' && // $FlowFixMe[method-unbinding]\n typeof result.then === 'function') {\n // A promise/thenable was returned from the callback. Wait for it to\n // resolve before flushing the queue.\n //\n // If `act` were implemented as an async function, this whole block could\n // be a single `await` call. That's really the only difference between\n // this branch and the next one.\n var thenable = result; // Warn if the an `act` call with an async scope is not awaited. In a\n // future release, consider making this an error.\n\n queueSeveralMicrotasks(function () {\n if (!didAwaitActCall && !didWarnNoAwaitAct) {\n didWarnNoAwaitAct = true;\n\n error('You called act(async () => ...) without await. ' + 'This could lead to unexpected testing behaviour, ' + 'interleaving multiple act calls and mixing their ' + 'scopes. ' + 'You should - await act(async () => ...);');\n }\n });\n return {\n then: function (resolve, reject) {\n didAwaitActCall = true;\n thenable.then(function (returnValue) {\n popActScope(prevActQueue, prevActScopeDepth);\n\n if (prevActScopeDepth === 0) {\n // We're exiting the outermost `act` scope. Flush the queue.\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n return (// Recursively flush tasks scheduled by a microtask.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject)\n );\n });\n } catch (error) {\n // `thenable` might not be a real promise, and `flushActQueue`\n // might throw, so we need to wrap `flushActQueue` in a\n // try/catch.\n reject(error);\n }\n } else {\n resolve(returnValue);\n }\n }, function (error) {\n popActScope(prevActQueue, prevActScopeDepth);\n reject(error);\n });\n }\n };\n } else {\n var returnValue = result; // The callback is not an async function. Exit the current\n // scope immediately.\n\n popActScope(prevActQueue, prevActScopeDepth);\n\n if (prevActScopeDepth === 0) {\n // We're exiting the outermost `act` scope. Flush the queue.\n flushActQueue(queue); // If the queue is not empty, it implies that we intentionally yielded\n // to the main thread, because something suspended. We will continue\n // in an asynchronous task.\n //\n // Warn if something suspends but the `act` call is not awaited.\n // In a future release, consider making this an error.\n\n if (queue.length !== 0) {\n queueSeveralMicrotasks(function () {\n if (!didAwaitActCall && !didWarnNoAwaitAct) {\n didWarnNoAwaitAct = true;\n\n error('A component suspended inside an `act` scope, but the ' + '`act` call was not awaited. When testing React ' + 'components that depend on asynchronous data, you must ' + 'await the result:\\n\\n' + 'await act(() => ...)');\n }\n });\n } // Like many things in this module, this is next part is confusing.\n //\n // We do not currently require every `act` call that is passed a\n // callback to be awaited, through arguably we should. Since this\n // callback was synchronous, we need to exit the current scope before\n // returning.\n //\n // However, if thenable we're about to return *is* awaited, we'll\n // immediately restore the current scope. So it shouldn't observable.\n //\n // This doesn't affect the case where the scope callback is async,\n // because we always require those calls to be awaited.\n //\n // TODO: In a future version, consider always requiring all `act` calls\n // to be awaited, regardless of whether the callback is sync or async.\n\n\n ReactCurrentActQueue.current = null;\n }\n\n return {\n then: function (resolve, reject) {\n didAwaitActCall = true;\n\n if (prevActScopeDepth === 0) {\n // If the `act` call is awaited, restore the queue we were\n // using before (see long comment above) so we can flush it.\n ReactCurrentActQueue.current = queue;\n enqueueTask(function () {\n return (// Recursively flush tasks scheduled by a microtask.\n recursivelyFlushAsyncActWork(returnValue, resolve, reject)\n );\n });\n } else {\n resolve(returnValue);\n }\n }\n };\n }\n }\n}\n\nfunction popActScope(prevActQueue, prevActScopeDepth) {\n {\n if (prevActScopeDepth !== actScopeDepth - 1) {\n error('You seem to have overlapping act() calls, this is not supported. ' + 'Be sure to await previous act() calls before making a new one. ');\n }\n\n actScopeDepth = prevActScopeDepth;\n }\n}\n\nfunction recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n {\n // Check if any tasks were scheduled asynchronously.\n var queue = ReactCurrentActQueue.current;\n\n if (queue !== null) {\n if (queue.length !== 0) {\n // Async tasks were scheduled, mostly likely in a microtask.\n // Keep flushing until there are no more.\n try {\n flushActQueue(queue); // The work we just performed may have schedule additional async\n // tasks. Wait a macrotask and check again.\n\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n });\n } catch (error) {\n // Leave remaining tasks on the queue if something throws.\n reject(error);\n }\n } else {\n // The queue is empty. We can finish.\n ReactCurrentActQueue.current = null;\n resolve(returnValue);\n }\n } else {\n resolve(returnValue);\n }\n }\n}\n\nvar isFlushing = false;\n\nfunction flushActQueue(queue) {\n {\n if (!isFlushing) {\n // Prevent re-entrance.\n isFlushing = true;\n var i = 0;\n\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n\n do {\n ReactCurrentActQueue.didUsePromise = false;\n var continuation = callback(false);\n\n if (continuation !== null) {\n if (ReactCurrentActQueue.didUsePromise) {\n // The component just suspended. Yield to the main thread in\n // case the promise is already resolved. If so, it will ping in\n // a microtask and we can resume without unwinding the stack.\n queue[i] = callback;\n queue.splice(0, i);\n return;\n }\n\n callback = continuation;\n } else {\n break;\n }\n } while (true);\n } // We flushed the entire queue.\n\n\n queue.length = 0;\n } catch (error) {\n // If something throws, leave the remaining callbacks on the queue.\n queue.splice(0, i + 1);\n throw error;\n } finally {\n isFlushing = false;\n }\n }\n }\n} // Some of our warnings attempt to detect if the `act` call is awaited by\n// checking in an asynchronous task. Wait a few microtasks before checking. The\n// only reason one isn't sufficient is we want to accommodate the case where an\n// `act` call is returned from an async function without first being awaited,\n// since that's a somewhat common pattern. If you do this too many times in a\n// nested sequence, you might get a warning, but you can always fix by awaiting\n// the call.\n//\n// A macrotask would also work (and is the fallback) but depending on the test\n// environment it may cause the warning to fire too late.\n\n\nvar queueSeveralMicrotasks = typeof queueMicrotask === 'function' ? function (callback) {\n queueMicrotask(function () {\n return queueMicrotask(callback);\n });\n} : enqueueTask;\n\nvar Children = {\n map: mapChildren,\n forEach: forEachChildren,\n count: countChildren,\n toArray: toArray,\n only: onlyChild\n};\n\nexports.Children = Children;\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\nexports.act = act;\nexports.cache = cache;\nexports.cloneElement = cloneElement;\nexports.createContext = createContext;\nexports.createElement = createElement;\nexports.createFactory = createFactory;\nexports.createRef = createRef;\nexports.forwardRef = forwardRef;\nexports.isValidElement = isValidElement;\nexports.lazy = lazy;\nexports.memo = memo;\nexports.startTransition = startTransition;\nexports.unstable_useCacheRefresh = useCacheRefresh;\nexports.use = use;\nexports.useCallback = useCallback;\nexports.useContext = useContext;\nexports.useDebugValue = useDebugValue;\nexports.useDeferredValue = useDeferredValue;\nexports.useEffect = useEffect;\nexports.useId = useId;\nexports.useImperativeHandle = useImperativeHandle;\nexports.useInsertionEffect = useInsertionEffect;\nexports.useLayoutEffect = useLayoutEffect;\nexports.useMemo = useMemo;\nexports.useOptimistic = useOptimistic;\nexports.useReducer = useReducer;\nexports.useRef = useRef;\nexports.useState = useState;\nexports.useSyncExternalStore = useSyncExternalStore;\nexports.useTransition = useTransition;\nexports.version = ReactVersion;\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\nif (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' &&\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop ===\n 'function'\n) {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(new Error());\n}\n \n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","/**\n * Contains predefined constants for the trace span name in next/server.\n *\n * Currently, next/server/tracer is internal implementation only for tracking\n * next.js's implementation only with known span names defined here.\n **/ // eslint typescript has a bug with TS enums\n/* eslint-disable no-shadow */ var BaseServerSpan;\n(function(BaseServerSpan) {\n BaseServerSpan[\"handleRequest\"] = \"BaseServer.handleRequest\";\n BaseServerSpan[\"run\"] = \"BaseServer.run\";\n BaseServerSpan[\"pipe\"] = \"BaseServer.pipe\";\n BaseServerSpan[\"getStaticHTML\"] = \"BaseServer.getStaticHTML\";\n BaseServerSpan[\"render\"] = \"BaseServer.render\";\n BaseServerSpan[\"renderToResponseWithComponents\"] = \"BaseServer.renderToResponseWithComponents\";\n BaseServerSpan[\"renderToResponse\"] = \"BaseServer.renderToResponse\";\n BaseServerSpan[\"renderToHTML\"] = \"BaseServer.renderToHTML\";\n BaseServerSpan[\"renderError\"] = \"BaseServer.renderError\";\n BaseServerSpan[\"renderErrorToResponse\"] = \"BaseServer.renderErrorToResponse\";\n BaseServerSpan[\"renderErrorToHTML\"] = \"BaseServer.renderErrorToHTML\";\n BaseServerSpan[\"render404\"] = \"BaseServer.render404\";\n})(BaseServerSpan || (BaseServerSpan = {}));\nvar LoadComponentsSpan;\n(function(LoadComponentsSpan) {\n LoadComponentsSpan[\"loadDefaultErrorComponents\"] = \"LoadComponents.loadDefaultErrorComponents\";\n LoadComponentsSpan[\"loadComponents\"] = \"LoadComponents.loadComponents\";\n})(LoadComponentsSpan || (LoadComponentsSpan = {}));\nvar NextServerSpan;\n(function(NextServerSpan) {\n NextServerSpan[\"getRequestHandler\"] = \"NextServer.getRequestHandler\";\n NextServerSpan[\"getServer\"] = \"NextServer.getServer\";\n NextServerSpan[\"getServerRequestHandler\"] = \"NextServer.getServerRequestHandler\";\n NextServerSpan[\"createServer\"] = \"createServer.createServer\";\n})(NextServerSpan || (NextServerSpan = {}));\nvar NextNodeServerSpan;\n(function(NextNodeServerSpan) {\n NextNodeServerSpan[\"compression\"] = \"NextNodeServer.compression\";\n NextNodeServerSpan[\"getBuildId\"] = \"NextNodeServer.getBuildId\";\n NextNodeServerSpan[\"createComponentTree\"] = \"NextNodeServer.createComponentTree\";\n NextNodeServerSpan[\"clientComponentLoading\"] = \"NextNodeServer.clientComponentLoading\";\n NextNodeServerSpan[\"getLayoutOrPageModule\"] = \"NextNodeServer.getLayoutOrPageModule\";\n NextNodeServerSpan[\"generateStaticRoutes\"] = \"NextNodeServer.generateStaticRoutes\";\n NextNodeServerSpan[\"generateFsStaticRoutes\"] = \"NextNodeServer.generateFsStaticRoutes\";\n NextNodeServerSpan[\"generatePublicRoutes\"] = \"NextNodeServer.generatePublicRoutes\";\n NextNodeServerSpan[\"generateImageRoutes\"] = \"NextNodeServer.generateImageRoutes.route\";\n NextNodeServerSpan[\"sendRenderResult\"] = \"NextNodeServer.sendRenderResult\";\n NextNodeServerSpan[\"proxyRequest\"] = \"NextNodeServer.proxyRequest\";\n NextNodeServerSpan[\"runApi\"] = \"NextNodeServer.runApi\";\n NextNodeServerSpan[\"render\"] = \"NextNodeServer.render\";\n NextNodeServerSpan[\"renderHTML\"] = \"NextNodeServer.renderHTML\";\n NextNodeServerSpan[\"imageOptimizer\"] = \"NextNodeServer.imageOptimizer\";\n NextNodeServerSpan[\"getPagePath\"] = \"NextNodeServer.getPagePath\";\n NextNodeServerSpan[\"getRoutesManifest\"] = \"NextNodeServer.getRoutesManifest\";\n NextNodeServerSpan[\"findPageComponents\"] = \"NextNodeServer.findPageComponents\";\n NextNodeServerSpan[\"getFontManifest\"] = \"NextNodeServer.getFontManifest\";\n NextNodeServerSpan[\"getServerComponentManifest\"] = \"NextNodeServer.getServerComponentManifest\";\n NextNodeServerSpan[\"getRequestHandler\"] = \"NextNodeServer.getRequestHandler\";\n NextNodeServerSpan[\"renderToHTML\"] = \"NextNodeServer.renderToHTML\";\n NextNodeServerSpan[\"renderError\"] = \"NextNodeServer.renderError\";\n NextNodeServerSpan[\"renderErrorToHTML\"] = \"NextNodeServer.renderErrorToHTML\";\n NextNodeServerSpan[\"render404\"] = \"NextNodeServer.render404\";\n NextNodeServerSpan[\"startResponse\"] = \"NextNodeServer.startResponse\";\n // nested inner span, does not require parent scope name\n NextNodeServerSpan[\"route\"] = \"route\";\n NextNodeServerSpan[\"onProxyReq\"] = \"onProxyReq\";\n NextNodeServerSpan[\"apiResolver\"] = \"apiResolver\";\n NextNodeServerSpan[\"internalFetch\"] = \"internalFetch\";\n})(NextNodeServerSpan || (NextNodeServerSpan = {}));\nvar StartServerSpan;\n(function(StartServerSpan) {\n StartServerSpan[\"startServer\"] = \"startServer.startServer\";\n})(StartServerSpan || (StartServerSpan = {}));\nvar RenderSpan;\n(function(RenderSpan) {\n RenderSpan[\"getServerSideProps\"] = \"Render.getServerSideProps\";\n RenderSpan[\"getStaticProps\"] = \"Render.getStaticProps\";\n RenderSpan[\"renderToString\"] = \"Render.renderToString\";\n RenderSpan[\"renderDocument\"] = \"Render.renderDocument\";\n RenderSpan[\"createBodyResult\"] = \"Render.createBodyResult\";\n})(RenderSpan || (RenderSpan = {}));\nvar AppRenderSpan;\n(function(AppRenderSpan) {\n AppRenderSpan[\"renderToString\"] = \"AppRender.renderToString\";\n AppRenderSpan[\"renderToReadableStream\"] = \"AppRender.renderToReadableStream\";\n AppRenderSpan[\"getBodyResult\"] = \"AppRender.getBodyResult\";\n AppRenderSpan[\"fetch\"] = \"AppRender.fetch\";\n})(AppRenderSpan || (AppRenderSpan = {}));\nvar RouterSpan;\n(function(RouterSpan) {\n RouterSpan[\"executeRoute\"] = \"Router.executeRoute\";\n})(RouterSpan || (RouterSpan = {}));\nvar NodeSpan;\n(function(NodeSpan) {\n NodeSpan[\"runHandler\"] = \"Node.runHandler\";\n})(NodeSpan || (NodeSpan = {}));\nvar AppRouteRouteHandlersSpan;\n(function(AppRouteRouteHandlersSpan) {\n AppRouteRouteHandlersSpan[\"runHandler\"] = \"AppRouteRouteHandlers.runHandler\";\n})(AppRouteRouteHandlersSpan || (AppRouteRouteHandlersSpan = {}));\nvar ResolveMetadataSpan;\n(function(ResolveMetadataSpan) {\n ResolveMetadataSpan[\"generateMetadata\"] = \"ResolveMetadata.generateMetadata\";\n ResolveMetadataSpan[\"generateViewport\"] = \"ResolveMetadata.generateViewport\";\n})(ResolveMetadataSpan || (ResolveMetadataSpan = {}));\nvar MiddlewareSpan;\n(function(MiddlewareSpan) {\n MiddlewareSpan[\"execute\"] = \"Middleware.execute\";\n})(MiddlewareSpan || (MiddlewareSpan = {}));\n// This list is used to filter out spans that are not relevant to the user\nexport const NextVanillaSpanAllowlist = [\n \"Middleware.execute\",\n \"BaseServer.handleRequest\",\n \"Render.getServerSideProps\",\n \"Render.getStaticProps\",\n \"AppRender.fetch\",\n \"AppRender.getBodyResult\",\n \"Render.renderDocument\",\n \"Node.runHandler\",\n \"AppRouteRouteHandlers.runHandler\",\n \"ResolveMetadata.generateMetadata\",\n \"ResolveMetadata.generateViewport\",\n \"NextNodeServer.createComponentTree\",\n \"NextNodeServer.findPageComponents\",\n \"NextNodeServer.getLayoutOrPageModule\",\n \"NextNodeServer.startResponse\",\n \"NextNodeServer.clientComponentLoading\"\n];\n// These Spans are allowed to be always logged\n// when the otel log prefix env is set\nexport const LogSpanAllowList = [\n \"NextNodeServer.findPageComponents\",\n \"NextNodeServer.createComponentTree\",\n \"NextNodeServer.clientComponentLoading\"\n];\nexport { BaseServerSpan, LoadComponentsSpan, NextServerSpan, NextNodeServerSpan, StartServerSpan, RenderSpan, RouterSpan, AppRenderSpan, NodeSpan, AppRouteRouteHandlersSpan, ResolveMetadataSpan, MiddlewareSpan, };\n\n//# sourceMappingURL=constants.js.map","// ISC License\n// Copyright (c) 2021 Alexey Raspopov, Kostiantyn Denysov, Anton Verinov\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n//\n// https://github.com/alexeyraspopov/picocolors/blob/b6261487e7b81aaab2440e397a356732cad9e342/picocolors.js#L1\nvar _globalThis;\nconst { env, stdout } = ((_globalThis = globalThis) == null ? void 0 : _globalThis.process) ?? {};\nconst enabled = env && !env.NO_COLOR && (env.FORCE_COLOR || (stdout == null ? void 0 : stdout.isTTY) && !env.CI && env.TERM !== \"dumb\");\nconst replaceClose = (str, close, replace, index)=>{\n const start = str.substring(0, index) + replace;\n const end = str.substring(index + close.length);\n const nextIndex = end.indexOf(close);\n return ~nextIndex ? start + replaceClose(end, close, replace, nextIndex) : start + end;\n};\nconst formatter = (open, close, replace = open)=>{\n if (!enabled) return String;\n return (input)=>{\n const string = \"\" + input;\n const index = string.indexOf(close, open.length);\n return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;\n };\n};\nexport const reset = enabled ? (s)=>`\\x1b[0m${s}\\x1b[0m` : String;\nexport const bold = formatter(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\");\nexport const dim = formatter(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\");\nexport const italic = formatter(\"\\x1b[3m\", \"\\x1b[23m\");\nexport const underline = formatter(\"\\x1b[4m\", \"\\x1b[24m\");\nexport const inverse = formatter(\"\\x1b[7m\", \"\\x1b[27m\");\nexport const hidden = formatter(\"\\x1b[8m\", \"\\x1b[28m\");\nexport const strikethrough = formatter(\"\\x1b[9m\", \"\\x1b[29m\");\nexport const black = formatter(\"\\x1b[30m\", \"\\x1b[39m\");\nexport const red = formatter(\"\\x1b[31m\", \"\\x1b[39m\");\nexport const green = formatter(\"\\x1b[32m\", \"\\x1b[39m\");\nexport const yellow = formatter(\"\\x1b[33m\", \"\\x1b[39m\");\nexport const blue = formatter(\"\\x1b[34m\", \"\\x1b[39m\");\nexport const magenta = formatter(\"\\x1b[35m\", \"\\x1b[39m\");\nexport const purple = formatter(\"\\x1b[38;2;173;127;168m\", \"\\x1b[39m\");\nexport const cyan = formatter(\"\\x1b[36m\", \"\\x1b[39m\");\nexport const white = formatter(\"\\x1b[37m\", \"\\x1b[39m\");\nexport const gray = formatter(\"\\x1b[90m\", \"\\x1b[39m\");\nexport const bgBlack = formatter(\"\\x1b[40m\", \"\\x1b[49m\");\nexport const bgRed = formatter(\"\\x1b[41m\", \"\\x1b[49m\");\nexport const bgGreen = formatter(\"\\x1b[42m\", \"\\x1b[49m\");\nexport const bgYellow = formatter(\"\\x1b[43m\", \"\\x1b[49m\");\nexport const bgBlue = formatter(\"\\x1b[44m\", \"\\x1b[49m\");\nexport const bgMagenta = formatter(\"\\x1b[45m\", \"\\x1b[49m\");\nexport const bgCyan = formatter(\"\\x1b[46m\", \"\\x1b[49m\");\nexport const bgWhite = formatter(\"\\x1b[47m\", \"\\x1b[49m\");\n\n//# sourceMappingURL=picocolors.js.map","export var RedirectStatusCode;\n(function(RedirectStatusCode) {\n RedirectStatusCode[RedirectStatusCode[\"SeeOther\"] = 303] = \"SeeOther\";\n RedirectStatusCode[RedirectStatusCode[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n RedirectStatusCode[RedirectStatusCode[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n})(RedirectStatusCode || (RedirectStatusCode = {}));\n\n//# sourceMappingURL=redirect-status-code.js.map","import { requestAsyncStorage } from \"./request-async-storage.external\";\nimport { actionAsyncStorage } from \"./action-async-storage.external\";\nimport { RedirectStatusCode } from \"./redirect-status-code\";\nconst REDIRECT_ERROR_CODE = \"NEXT_REDIRECT\";\nexport var RedirectType;\n(function(RedirectType) {\n RedirectType[\"push\"] = \"push\";\n RedirectType[\"replace\"] = \"replace\";\n})(RedirectType || (RedirectType = {}));\nexport function getRedirectError(url, type, statusCode) {\n if (statusCode === void 0) statusCode = RedirectStatusCode.TemporaryRedirect;\n const error = new Error(REDIRECT_ERROR_CODE);\n error.digest = REDIRECT_ERROR_CODE + \";\" + type + \";\" + url + \";\" + statusCode + \";\";\n const requestStore = requestAsyncStorage.getStore();\n if (requestStore) {\n error.mutableCookies = requestStore.mutableCookies;\n }\n return error;\n}\n/**\n * This function allows you to redirect the user to another URL. It can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n * - In a Server Component, this will insert a meta tag to redirect the user to the target page.\n * - In a Route Handler or Server Action, it will serve a 307/303 to the caller.\n *\n * Read more: [Next.js Docs: `redirect`](https://nextjs.org/docs/app/api-reference/functions/redirect)\n */ export function redirect(/** The URL to redirect to */ url, type) {\n if (type === void 0) type = \"replace\";\n const actionStore = actionAsyncStorage.getStore();\n throw getRedirectError(url, type, // If we're in an action, we want to use a 303 redirect\n // as we don't want the POST request to follow the redirect,\n // as it could result in erroneous re-submissions.\n (actionStore == null ? void 0 : actionStore.isAction) ? RedirectStatusCode.SeeOther : RedirectStatusCode.TemporaryRedirect);\n}\n/**\n * This function allows you to redirect the user to another URL. It can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n * - In a Server Component, this will insert a meta tag to redirect the user to the target page.\n * - In a Route Handler or Server Action, it will serve a 308/303 to the caller.\n *\n * Read more: [Next.js Docs: `redirect`](https://nextjs.org/docs/app/api-reference/functions/redirect)\n */ export function permanentRedirect(/** The URL to redirect to */ url, type) {\n if (type === void 0) type = \"replace\";\n const actionStore = actionAsyncStorage.getStore();\n throw getRedirectError(url, type, // If we're in an action, we want to use a 303 redirect\n // as we don't want the POST request to follow the redirect,\n // as it could result in erroneous re-submissions.\n (actionStore == null ? void 0 : actionStore.isAction) ? RedirectStatusCode.SeeOther : RedirectStatusCode.PermanentRedirect);\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 [errorCode, type, destination, status] = error.digest.split(\";\", 4);\n const statusCode = Number(status);\n return errorCode === REDIRECT_ERROR_CODE && (type === \"replace\" || type === \"push\") && typeof destination === \"string\" && !isNaN(statusCode) && statusCode in RedirectStatusCode;\n}\nexport function getURLFromRedirectError(error) {\n if (!isRedirectError(error)) return null;\n // Slices off the beginning of the digest that contains the code and the\n // separating ';'.\n return error.digest.split(\";\", 3)[2];\n}\nexport function getRedirectTypeFromError(error) {\n if (!isRedirectError(error)) {\n throw new Error(\"Not a redirect error\");\n }\n return error.digest.split(\";\", 2)[1];\n}\nexport function getRedirectStatusCodeFromError(error) {\n if (!isRedirectError(error)) {\n throw new Error(\"Not a redirect error\");\n }\n return Number(error.digest.split(\";\", 4)[3]);\n}\n\n//# sourceMappingURL=redirect.js.map","/**\n * RouteModule is the base class for all route modules. This class should be\n * extended by all route modules.\n */ export class RouteModule {\n constructor({ userland, definition }){\n this.userland = userland;\n this.definition = definition;\n }\n}\n\n//# sourceMappingURL=route-module.js.map","export const RSC_HEADER = \"RSC\";\nexport const ACTION = \"Next-Action\";\nexport const NEXT_ROUTER_STATE_TREE = \"Next-Router-State-Tree\";\nexport const NEXT_ROUTER_PREFETCH_HEADER = \"Next-Router-Prefetch\";\nexport const NEXT_URL = \"Next-Url\";\nexport const RSC_CONTENT_TYPE_HEADER = \"text/x-component\";\nexport const FLIGHT_PARAMETERS = [\n [\n RSC_HEADER\n ],\n [\n NEXT_ROUTER_STATE_TREE\n ],\n [\n NEXT_ROUTER_PREFETCH_HEADER\n ]\n];\nexport const NEXT_RSC_UNION_QUERY = \"_rsc\";\nexport const NEXT_DID_POSTPONE_HEADER = \"x-nextjs-postponed\";\n\n//# sourceMappingURL=app-router-headers.js.map","export class ReflectAdapter {\n static get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (typeof value === \"function\") {\n return value.bind(target);\n }\n return value;\n }\n static set(target, prop, value, receiver) {\n return Reflect.set(target, prop, value, receiver);\n }\n static has(target, prop) {\n return Reflect.has(target, prop);\n }\n static deleteProperty(target, prop) {\n return Reflect.deleteProperty(target, prop);\n }\n}\n\n//# sourceMappingURL=reflect.js.map","import { ReflectAdapter } from \"./reflect\";\n/**\n * @internal\n */ export class ReadonlyHeadersError extends Error {\n constructor(){\n super(\"Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers\");\n }\n static callable() {\n throw new ReadonlyHeadersError();\n }\n}\nexport class HeadersAdapter extends Headers {\n constructor(headers){\n // We've already overridden the methods that would be called, so we're just\n // calling the super constructor to ensure that the instanceof check works.\n super();\n this.headers = new Proxy(headers, {\n get (target, prop, receiver) {\n // Because this is just an object, we expect that all \"get\" operations\n // are for properties. If it's a \"get\" for a symbol, we'll just return\n // the symbol.\n if (typeof prop === \"symbol\") {\n return ReflectAdapter.get(target, prop, receiver);\n }\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, return undefined.\n if (typeof original === \"undefined\") return;\n // If the original casing exists, return the value.\n return ReflectAdapter.get(target, original, receiver);\n },\n set (target, prop, value, receiver) {\n if (typeof prop === \"symbol\") {\n return ReflectAdapter.set(target, prop, value, receiver);\n }\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, use the prop as the key.\n return ReflectAdapter.set(target, original ?? prop, value, receiver);\n },\n has (target, prop) {\n if (typeof prop === \"symbol\") return ReflectAdapter.has(target, prop);\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, return false.\n if (typeof original === \"undefined\") return false;\n // If the original casing exists, return true.\n return ReflectAdapter.has(target, original);\n },\n deleteProperty (target, prop) {\n if (typeof prop === \"symbol\") return ReflectAdapter.deleteProperty(target, prop);\n const lowercased = prop.toLowerCase();\n // Let's find the original casing of the key. This assumes that there is\n // no mixed case keys (e.g. \"Content-Type\" and \"content-type\") in the\n // headers object.\n const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased);\n // If the original casing doesn't exist, return true.\n if (typeof original === \"undefined\") return true;\n // If the original casing exists, delete the property.\n return ReflectAdapter.deleteProperty(target, original);\n }\n });\n }\n /**\n * Seals a Headers instance to prevent modification by throwing an error when\n * any mutating method is called.\n */ static seal(headers) {\n return new Proxy(headers, {\n get (target, prop, receiver) {\n switch(prop){\n case \"append\":\n case \"delete\":\n case \"set\":\n return ReadonlyHeadersError.callable;\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n });\n }\n /**\n * Merges a header value into a string. This stores multiple values as an\n * array, so we need to merge them into a string.\n *\n * @param value a header value\n * @returns a merged header value (a string)\n */ merge(value) {\n if (Array.isArray(value)) return value.join(\", \");\n return value;\n }\n /**\n * Creates a Headers instance from a plain object or a Headers instance.\n *\n * @param headers a plain object or a Headers instance\n * @returns a headers instance\n */ static from(headers) {\n if (headers instanceof Headers) return headers;\n return new HeadersAdapter(headers);\n }\n append(name, value) {\n const existing = this.headers[name];\n if (typeof existing === \"string\") {\n this.headers[name] = [\n existing,\n value\n ];\n } else if (Array.isArray(existing)) {\n existing.push(value);\n } else {\n this.headers[name] = value;\n }\n }\n delete(name) {\n delete this.headers[name];\n }\n get(name) {\n const value = this.headers[name];\n if (typeof value !== \"undefined\") return this.merge(value);\n return null;\n }\n has(name) {\n return typeof this.headers[name] !== \"undefined\";\n }\n set(name, value) {\n this.headers[name] = value;\n }\n forEach(callbackfn, thisArg) {\n for (const [name, value] of this.entries()){\n callbackfn.call(thisArg, value, name, this);\n }\n }\n *entries() {\n for (const key of Object.keys(this.headers)){\n const name = key.toLowerCase();\n // We assert here that this is a string because we got it from the\n // Object.keys() call above.\n const value = this.get(name);\n yield [\n name,\n value\n ];\n }\n }\n *keys() {\n for (const key of Object.keys(this.headers)){\n const name = key.toLowerCase();\n yield name;\n }\n }\n *values() {\n for (const key of Object.keys(this.headers)){\n // We assert here that this is a string because we got it from the\n // Object.keys() call above.\n const value = this.get(key);\n yield value;\n }\n }\n [Symbol.iterator]() {\n return this.entries();\n }\n}\n\n//# sourceMappingURL=headers.js.map","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"next/dist/client/components/static-generation-async-storage.external.js\");","import { ResponseCookies } from \"../cookies\";\nimport { ReflectAdapter } from \"./reflect\";\nimport { staticGenerationAsyncStorage } from \"../../../../client/components/static-generation-async-storage.external\";\n/**\n * @internal\n */ export class ReadonlyRequestCookiesError extends Error {\n constructor(){\n super(\"Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#cookiessetname-value-options\");\n }\n static callable() {\n throw new ReadonlyRequestCookiesError();\n }\n}\nexport class RequestCookiesAdapter {\n static seal(cookies) {\n return new Proxy(cookies, {\n get (target, prop, receiver) {\n switch(prop){\n case \"clear\":\n case \"delete\":\n case \"set\":\n return ReadonlyRequestCookiesError.callable;\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n });\n }\n}\nconst SYMBOL_MODIFY_COOKIE_VALUES = Symbol.for(\"next.mutated.cookies\");\nexport function getModifiedCookieValues(cookies) {\n const modified = cookies[SYMBOL_MODIFY_COOKIE_VALUES];\n if (!modified || !Array.isArray(modified) || modified.length === 0) {\n return [];\n }\n return modified;\n}\nexport function appendMutableCookies(headers, mutableCookies) {\n const modifiedCookieValues = getModifiedCookieValues(mutableCookies);\n if (modifiedCookieValues.length === 0) {\n return false;\n }\n // Return a new response that extends the response with\n // the modified cookies as fallbacks. `res` cookies\n // will still take precedence.\n const resCookies = new ResponseCookies(headers);\n const returnedCookies = resCookies.getAll();\n // Set the modified cookies as fallbacks.\n for (const cookie of modifiedCookieValues){\n resCookies.set(cookie);\n }\n // Set the original cookies as the final values.\n for (const cookie of returnedCookies){\n resCookies.set(cookie);\n }\n return true;\n}\nexport class MutableRequestCookiesAdapter {\n static wrap(cookies, onUpdateCookies) {\n const responseCookies = new ResponseCookies(new Headers());\n for (const cookie of cookies.getAll()){\n responseCookies.set(cookie);\n }\n let modifiedValues = [];\n const modifiedCookies = new Set();\n const updateResponseCookies = ()=>{\n // TODO-APP: change method of getting staticGenerationAsyncStore\n const staticGenerationAsyncStore = staticGenerationAsyncStorage.getStore();\n if (staticGenerationAsyncStore) {\n staticGenerationAsyncStore.pathWasRevalidated = true;\n }\n const allCookies = responseCookies.getAll();\n modifiedValues = allCookies.filter((c)=>modifiedCookies.has(c.name));\n if (onUpdateCookies) {\n const serializedCookies = [];\n for (const cookie of modifiedValues){\n const tempCookies = new ResponseCookies(new Headers());\n tempCookies.set(cookie);\n serializedCookies.push(tempCookies.toString());\n }\n onUpdateCookies(serializedCookies);\n }\n };\n return new Proxy(responseCookies, {\n get (target, prop, receiver) {\n switch(prop){\n // A special symbol to get the modified cookie values\n case SYMBOL_MODIFY_COOKIE_VALUES:\n return modifiedValues;\n // TODO: Throw error if trying to set a cookie after the response\n // headers have been set.\n case \"delete\":\n return function(...args) {\n modifiedCookies.add(typeof args[0] === \"string\" ? args[0] : args[0].name);\n try {\n target.delete(...args);\n } finally{\n updateResponseCookies();\n }\n };\n case \"set\":\n return function(...args) {\n modifiedCookies.add(typeof args[0] === \"string\" ? args[0] : args[0].name);\n try {\n return target.set(...args);\n } finally{\n updateResponseCookies();\n }\n };\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n });\n }\n}\n\n//# sourceMappingURL=request-cookies.js.map","export const NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nexport const PRERENDER_REVALIDATE_HEADER = \"x-prerender-revalidate\";\nexport const PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER = \"x-prerender-revalidate-if-generated\";\nexport const RSC_PREFETCH_SUFFIX = \".prefetch.rsc\";\nexport const RSC_SUFFIX = \".rsc\";\nexport const ACTION_SUFFIX = \".action\";\nexport const NEXT_DATA_SUFFIX = \".json\";\nexport const NEXT_META_SUFFIX = \".meta\";\nexport const NEXT_BODY_SUFFIX = \".body\";\nexport const NEXT_CACHE_TAGS_HEADER = \"x-next-cache-tags\";\nexport const NEXT_CACHE_SOFT_TAGS_HEADER = \"x-next-cache-soft-tags\";\nexport const NEXT_CACHE_REVALIDATED_TAGS_HEADER = \"x-next-revalidated-tags\";\nexport const NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER = \"x-next-revalidate-tag-token\";\n// if these change make sure we update the related\n// documentation as well\nexport const NEXT_CACHE_TAG_MAX_ITEMS = 128;\nexport const NEXT_CACHE_TAG_MAX_LENGTH = 256;\nexport const NEXT_CACHE_SOFT_TAG_MAX_LENGTH = 1024;\nexport const NEXT_CACHE_IMPLICIT_TAG_ID = \"_N_T_\";\n// in seconds\nexport const CACHE_ONE_YEAR = 31536000;\n// Patterns to detect middleware files\nexport const MIDDLEWARE_FILENAME = \"middleware\";\nexport const MIDDLEWARE_LOCATION_REGEXP = `(?:src/)?${MIDDLEWARE_FILENAME}`;\n// Pattern to detect instrumentation hooks file\nexport const INSTRUMENTATION_HOOK_FILENAME = \"instrumentation\";\n// Because on Windows absolute paths in the generated code can break because of numbers, eg 1 in the path,\n// we have to use a private alias\nexport const PAGES_DIR_ALIAS = \"private-next-pages\";\nexport const DOT_NEXT_ALIAS = \"private-dot-next\";\nexport const ROOT_DIR_ALIAS = \"private-next-root-dir\";\nexport const APP_DIR_ALIAS = \"private-next-app-dir\";\nexport const RSC_MOD_REF_PROXY_ALIAS = \"private-next-rsc-mod-ref-proxy\";\nexport const RSC_ACTION_VALIDATE_ALIAS = \"private-next-rsc-action-validate\";\nexport const RSC_ACTION_PROXY_ALIAS = \"private-next-rsc-server-reference\";\nexport const RSC_ACTION_ENCRYPTION_ALIAS = \"private-next-rsc-action-encryption\";\nexport const RSC_ACTION_CLIENT_WRAPPER_ALIAS = \"private-next-rsc-action-client-wrapper\";\nexport const PUBLIC_DIR_MIDDLEWARE_CONFLICT = `You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict`;\nexport const SSG_GET_INITIAL_PROPS_CONFLICT = `You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps`;\nexport const SERVER_PROPS_GET_INIT_PROPS_CONFLICT = `You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.`;\nexport const SERVER_PROPS_SSG_CONFLICT = `You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps`;\nexport const STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR = `can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props`;\nexport const SERVER_PROPS_EXPORT_ERROR = `pages with \\`getServerSideProps\\` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export`;\nexport const GSP_NO_RETURNED_VALUE = \"Your `getStaticProps` function did not return an object. Did you forget to add a `return`?\";\nexport const GSSP_NO_RETURNED_VALUE = \"Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?\";\nexport const UNSTABLE_REVALIDATE_RENAME_ERROR = \"The `unstable_revalidate` property is available for general use.\\n\" + \"Please use `revalidate` instead.\";\nexport const GSSP_COMPONENT_MEMBER_ERROR = `can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member`;\nexport const NON_STANDARD_NODE_ENV = `You are using a non-standard \"NODE_ENV\" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env`;\nexport const SSG_FALLBACK_EXPORT_ERROR = `Pages with \\`fallback\\` enabled in \\`getStaticPaths\\` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export`;\nexport const ESLINT_DEFAULT_DIRS = [\n \"app\",\n \"pages\",\n \"components\",\n \"lib\",\n \"src\"\n];\nexport const SERVER_RUNTIME = {\n edge: \"edge\",\n experimentalEdge: \"experimental-edge\",\n nodejs: \"nodejs\"\n};\n/**\n * The names of the webpack layers. These layers are the primitives for the\n * webpack chunks.\n */ const WEBPACK_LAYERS_NAMES = {\n /**\n * The layer for the shared code between the client and server bundles.\n */ shared: \"shared\",\n /**\n * React Server Components layer (rsc).\n */ reactServerComponents: \"rsc\",\n /**\n * Server Side Rendering layer for app (ssr).\n */ serverSideRendering: \"ssr\",\n /**\n * The browser client bundle layer for actions.\n */ actionBrowser: \"action-browser\",\n /**\n * The layer for the API routes.\n */ api: \"api\",\n /**\n * The layer for the middleware code.\n */ middleware: \"middleware\",\n /**\n * The layer for the instrumentation hooks.\n */ instrument: \"instrument\",\n /**\n * The layer for assets on the edge.\n */ edgeAsset: \"edge-asset\",\n /**\n * The browser client bundle layer for App directory.\n */ appPagesBrowser: \"app-pages-browser\",\n /**\n * The server bundle layer for metadata routes.\n */ appMetadataRoute: \"app-metadata-route\",\n /**\n * The layer for the server bundle for App Route handlers.\n */ appRouteHandler: \"app-route-handler\"\n};\nconst WEBPACK_LAYERS = {\n ...WEBPACK_LAYERS_NAMES,\n GROUP: {\n serverOnly: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.appMetadataRoute,\n WEBPACK_LAYERS_NAMES.appRouteHandler,\n WEBPACK_LAYERS_NAMES.instrument\n ],\n clientOnly: [\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser\n ],\n nonClientServerTarget: [\n // middleware and pages api\n WEBPACK_LAYERS_NAMES.middleware,\n WEBPACK_LAYERS_NAMES.api\n ],\n app: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.appMetadataRoute,\n WEBPACK_LAYERS_NAMES.appRouteHandler,\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser,\n WEBPACK_LAYERS_NAMES.shared,\n WEBPACK_LAYERS_NAMES.instrument\n ]\n }\n};\nconst WEBPACK_RESOURCE_QUERIES = {\n edgeSSREntry: \"__next_edge_ssr_entry__\",\n metadata: \"__next_metadata__\",\n metadataRoute: \"__next_metadata_route__\",\n metadataImageMeta: \"__next_metadata_image_meta__\"\n};\nexport { WEBPACK_LAYERS, WEBPACK_RESOURCE_QUERIES };\n\n//# sourceMappingURL=constants.js.map","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"next/dist/server/lib/trace/tracer\");","import { HeadersAdapter } from \"../web/spec-extension/adapters/headers\";\nimport { PRERENDER_REVALIDATE_HEADER, PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER } from \"../../lib/constants\";\nimport { getTracer } from \"../lib/trace/tracer\";\nimport { NodeSpan } from \"../lib/trace/constants\";\nexport function wrapApiHandler(page, handler) {\n return (...args)=>{\n var _getTracer_getRootSpanAttributes;\n (_getTracer_getRootSpanAttributes = getTracer().getRootSpanAttributes()) == null ? void 0 : _getTracer_getRootSpanAttributes.set(\"next.route\", page);\n // Call API route method\n return getTracer().trace(NodeSpan.runHandler, {\n spanName: `executing api route (pages) ${page}`\n }, ()=>handler(...args));\n };\n}\n/**\n *\n * @param res response object\n * @param statusCode `HTTP` status code of response\n */ export function sendStatusCode(res, statusCode) {\n res.statusCode = statusCode;\n return res;\n}\n/**\n *\n * @param res response object\n * @param [statusOrUrl] `HTTP` status code of redirect\n * @param url URL of redirect\n */ export function redirect(res, statusOrUrl, url) {\n if (typeof statusOrUrl === \"string\") {\n url = statusOrUrl;\n statusOrUrl = 307;\n }\n if (typeof statusOrUrl !== \"number\" || typeof url !== \"string\") {\n throw new Error(`Invalid redirect arguments. Please use a single argument URL, e.g. res.redirect('/destination') or use a status code and URL, e.g. res.redirect(307, '/destination').`);\n }\n res.writeHead(statusOrUrl, {\n Location: url\n });\n res.write(url);\n res.end();\n return res;\n}\nexport function checkIsOnDemandRevalidate(req, previewProps) {\n const headers = HeadersAdapter.from(req.headers);\n const previewModeId = headers.get(PRERENDER_REVALIDATE_HEADER);\n const isOnDemandRevalidate = previewModeId === previewProps.previewModeId;\n const revalidateOnlyGenerated = headers.has(PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER);\n return {\n isOnDemandRevalidate,\n revalidateOnlyGenerated\n };\n}\nexport const COOKIE_NAME_PRERENDER_BYPASS = `__prerender_bypass`;\nexport const COOKIE_NAME_PRERENDER_DATA = `__next_preview_data`;\nexport const RESPONSE_LIMIT_DEFAULT = 4 * 1024 * 1024;\nexport const SYMBOL_PREVIEW_DATA = Symbol(COOKIE_NAME_PRERENDER_DATA);\nexport const SYMBOL_CLEARED_COOKIES = Symbol(COOKIE_NAME_PRERENDER_BYPASS);\nexport function clearPreviewData(res, options = {}) {\n if (SYMBOL_CLEARED_COOKIES in res) {\n return res;\n }\n const { serialize } = require(\"next/dist/compiled/cookie\");\n const previous = res.getHeader(\"Set-Cookie\");\n res.setHeader(`Set-Cookie`, [\n ...typeof previous === \"string\" ? [\n previous\n ] : Array.isArray(previous) ? previous : [],\n serialize(COOKIE_NAME_PRERENDER_BYPASS, \"\", {\n // To delete a cookie, set `expires` to a date in the past:\n // https://tools.ietf.org/html/rfc6265#section-4.1.1\n // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.\n expires: new Date(0),\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== \"development\" ? \"none\" : \"lax\",\n secure: process.env.NODE_ENV !== \"development\",\n path: \"/\",\n ...options.path !== undefined ? {\n path: options.path\n } : undefined\n }),\n serialize(COOKIE_NAME_PRERENDER_DATA, \"\", {\n // To delete a cookie, set `expires` to a date in the past:\n // https://tools.ietf.org/html/rfc6265#section-4.1.1\n // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.\n expires: new Date(0),\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== \"development\" ? \"none\" : \"lax\",\n secure: process.env.NODE_ENV !== \"development\",\n path: \"/\",\n ...options.path !== undefined ? {\n path: options.path\n } : undefined\n })\n ]);\n Object.defineProperty(res, SYMBOL_CLEARED_COOKIES, {\n value: true,\n enumerable: false\n });\n return res;\n}\n/**\n * Custom error class\n */ export class ApiError extends Error {\n constructor(statusCode, message){\n super(message);\n this.statusCode = statusCode;\n }\n}\n/**\n * Sends error in `response`\n * @param res response object\n * @param statusCode of response\n * @param message of response\n */ export function sendError(res, statusCode, message) {\n res.statusCode = statusCode;\n res.statusMessage = message;\n res.end(message);\n}\n/**\n * Execute getter function only if its needed\n * @param LazyProps `req` and `params` for lazyProp\n * @param prop name of property\n * @param getter function to get data\n */ export function setLazyProp({ req }, prop, getter) {\n const opts = {\n configurable: true,\n enumerable: true\n };\n const optsReset = {\n ...opts,\n writable: true\n };\n Object.defineProperty(req, prop, {\n ...opts,\n get: ()=>{\n const value = getter();\n // we set the property on the object to avoid recalculating it\n Object.defineProperty(req, prop, {\n ...optsReset,\n value\n });\n return value;\n },\n set: (value)=>{\n Object.defineProperty(req, prop, {\n ...optsReset,\n value\n });\n }\n });\n}\n\n//# sourceMappingURL=index.js.map","import { COOKIE_NAME_PRERENDER_BYPASS, checkIsOnDemandRevalidate } from \"../api-utils\";\nexport class DraftModeProvider {\n constructor(previewProps, req, cookies, mutableCookies){\n var _cookies_get;\n // The logic for draftMode() is very similar to tryGetPreviewData()\n // but Draft Mode does not have any data associated with it.\n const isOnDemandRevalidate = previewProps && checkIsOnDemandRevalidate(req, previewProps).isOnDemandRevalidate;\n const cookieValue = (_cookies_get = cookies.get(COOKIE_NAME_PRERENDER_BYPASS)) == null ? void 0 : _cookies_get.value;\n this.isEnabled = Boolean(!isOnDemandRevalidate && cookieValue && previewProps && (cookieValue === previewProps.previewModeId || // In dev mode, the cookie can be actual hash value preview id but the preview props can still be `development-id`.\n process.env.NODE_ENV !== \"production\" && previewProps.previewModeId === \"development-id\"));\n this._previewModeId = previewProps == null ? void 0 : previewProps.previewModeId;\n this._mutableCookies = mutableCookies;\n }\n enable() {\n if (!this._previewModeId) {\n throw new Error(\"Invariant: previewProps missing previewModeId this should never happen\");\n }\n this._mutableCookies.set({\n name: COOKIE_NAME_PRERENDER_BYPASS,\n value: this._previewModeId,\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== \"development\" ? \"none\" : \"lax\",\n secure: process.env.NODE_ENV !== \"development\",\n path: \"/\"\n });\n }\n disable() {\n // To delete a cookie, set `expires` to a date in the past:\n // https://tools.ietf.org/html/rfc6265#section-4.1.1\n // `Max-Age: 0` is not valid, thus ignored, and the cookie is persisted.\n this._mutableCookies.set({\n name: COOKIE_NAME_PRERENDER_BYPASS,\n value: \"\",\n httpOnly: true,\n sameSite: process.env.NODE_ENV !== \"development\" ? \"none\" : \"lax\",\n secure: process.env.NODE_ENV !== \"development\",\n path: \"/\",\n expires: new Date(0)\n });\n }\n}\n\n//# sourceMappingURL=draft-mode-provider.js.map","import { FLIGHT_PARAMETERS } from \"../../client/components/app-router-headers\";\nimport { HeadersAdapter } from \"../web/spec-extension/adapters/headers\";\nimport { MutableRequestCookiesAdapter, RequestCookiesAdapter } from \"../web/spec-extension/adapters/request-cookies\";\nimport { ResponseCookies, RequestCookies } from \"../web/spec-extension/cookies\";\nimport { DraftModeProvider } from \"./draft-mode-provider\";\nimport { splitCookiesString } from \"../web/utils\";\nfunction getHeaders(headers) {\n const cleaned = HeadersAdapter.from(headers);\n for (const param of FLIGHT_PARAMETERS){\n cleaned.delete(param.toString().toLowerCase());\n }\n return HeadersAdapter.seal(cleaned);\n}\nfunction getMutableCookies(headers, onUpdateCookies) {\n const cookies = new RequestCookies(HeadersAdapter.from(headers));\n return MutableRequestCookiesAdapter.wrap(cookies, onUpdateCookies);\n}\n/**\n * If middleware set cookies in this request (indicated by `x-middleware-set-cookie`),\n * then merge those into the existing cookie object, so that when `cookies()` is accessed\n * it's able to read the newly set cookies.\n */ function mergeMiddlewareCookies(req, existingCookies) {\n if (\"x-middleware-set-cookie\" in req.headers && typeof req.headers[\"x-middleware-set-cookie\"] === \"string\") {\n const setCookieValue = req.headers[\"x-middleware-set-cookie\"];\n const responseHeaders = new Headers();\n for (const cookie of splitCookiesString(setCookieValue)){\n responseHeaders.append(\"set-cookie\", cookie);\n }\n const responseCookies = new ResponseCookies(responseHeaders);\n // Transfer cookies from ResponseCookies to RequestCookies\n for (const cookie of responseCookies.getAll()){\n existingCookies.set(cookie);\n }\n }\n}\nexport const RequestAsyncStorageWrapper = {\n /**\n * Wrap the callback with the given store so it can access the underlying\n * store using hooks.\n *\n * @param storage underlying storage object returned by the module\n * @param context context to seed the store\n * @param callback function to call within the scope of the context\n * @returns the result returned by the callback\n */ wrap (storage, { req, res, renderOpts }, callback) {\n let previewProps = undefined;\n if (renderOpts && \"previewProps\" in renderOpts) {\n // TODO: investigate why previewProps isn't on RenderOpts\n previewProps = renderOpts.previewProps;\n }\n function defaultOnUpdateCookies(cookies) {\n if (res) {\n res.setHeader(\"Set-Cookie\", cookies);\n }\n }\n const cache = {};\n const store = {\n get headers () {\n if (!cache.headers) {\n // Seal the headers object that'll freeze out any methods that could\n // mutate the underlying data.\n cache.headers = getHeaders(req.headers);\n }\n return cache.headers;\n },\n get cookies () {\n if (!cache.cookies) {\n // if middleware is setting cookie(s), then include those in\n // the initial cached cookies so they can be read in render\n const requestCookies = new RequestCookies(HeadersAdapter.from(req.headers));\n mergeMiddlewareCookies(req, requestCookies);\n // Seal the cookies object that'll freeze out any methods that could\n // mutate the underlying data.\n cache.cookies = RequestCookiesAdapter.seal(requestCookies);\n }\n return cache.cookies;\n },\n get mutableCookies () {\n if (!cache.mutableCookies) {\n const mutableCookies = getMutableCookies(req.headers, (renderOpts == null ? void 0 : renderOpts.onUpdateCookies) || (res ? defaultOnUpdateCookies : undefined));\n mergeMiddlewareCookies(req, mutableCookies);\n cache.mutableCookies = mutableCookies;\n }\n return cache.mutableCookies;\n },\n get draftMode () {\n if (!cache.draftMode) {\n cache.draftMode = new DraftModeProvider(previewProps, req, this.cookies, this.mutableCookies);\n }\n return cache.draftMode;\n },\n reactLoadableManifest: (renderOpts == null ? void 0 : renderOpts.reactLoadableManifest) || {},\n assetPrefix: (renderOpts == null ? void 0 : renderOpts.assetPrefix) || \"\"\n };\n return storage.run(store, callback, store);\n }\n};\n\n//# sourceMappingURL=request-async-storage-wrapper.js.map","/**\n * Converts a Node.js IncomingHttpHeaders object to a Headers object. Any\n * headers with multiple values will be joined with a comma and space. Any\n * headers that have an undefined value will be ignored and others will be\n * coerced to strings.\n *\n * @param nodeHeaders the headers object to convert\n * @returns the converted headers object\n */ export function fromNodeOutgoingHttpHeaders(nodeHeaders) {\n const headers = new Headers();\n for (let [key, value] of Object.entries(nodeHeaders)){\n const values = Array.isArray(value) ? value : [\n value\n ];\n for (let v of values){\n if (typeof v === \"undefined\") continue;\n if (typeof v === \"number\") {\n v = v.toString();\n }\n headers.append(key, v);\n }\n }\n return headers;\n}\n/*\n Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas\n that are within a single set-cookie field-value, such as in the Expires portion.\n This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2\n Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128\n React Native's fetch does this for *every* header, including set-cookie.\n \n Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25\n Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation\n*/ export function splitCookiesString(cookiesString) {\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n function skipWhitespace() {\n while(pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))){\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n while(pos < cookiesString.length){\n start = pos;\n cookiesSeparatorFound = false;\n while(skipWhitespace()){\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n // ',' is a cookie separator if we have later first '=', not ';' or ','\n lastComma = pos;\n pos += 1;\n skipWhitespace();\n nextStart = pos;\n while(pos < cookiesString.length && notSpecialChar()){\n pos += 1;\n }\n // currently special character\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n // we found cookies separator\n cookiesSeparatorFound = true;\n // pos is inside the next cookie, so back up and return it.\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n // in param ',' or param separator ';',\n // we continue from that comma\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n return cookiesStrings;\n}\n/**\n * Converts a Headers object to a Node.js OutgoingHttpHeaders object. This is\n * required to support the set-cookie header, which may have multiple values.\n *\n * @param headers the headers object to convert\n * @returns the converted headers object\n */ export function toNodeOutgoingHttpHeaders(headers) {\n const nodeHeaders = {};\n const cookies = [];\n if (headers) {\n for (const [key, value] of headers.entries()){\n if (key.toLowerCase() === \"set-cookie\") {\n // We may have gotten a comma joined string of cookies, or multiple\n // set-cookie headers. We need to merge them into one header array\n // to represent all the cookies.\n cookies.push(...splitCookiesString(value));\n nodeHeaders[key] = cookies.length === 1 ? cookies[0] : cookies;\n } else {\n nodeHeaders[key] = value;\n }\n }\n }\n return nodeHeaders;\n}\n/**\n * Validate the correctness of a user-provided URL.\n */ export function validateURL(url) {\n try {\n return String(new URL(String(url)));\n } catch (error) {\n throw new Error(`URL is malformed \"${String(url)}\". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`, {\n cause: error\n });\n }\n}\n\n//# sourceMappingURL=utils.js.map","const DYNAMIC_ERROR_CODE = \"DYNAMIC_SERVER_USAGE\";\nexport class DynamicServerError extends Error {\n constructor(description){\n super(\"Dynamic server usage: \" + description);\n this.description = description;\n 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 NEXT_STATIC_GEN_BAILOUT = \"NEXT_STATIC_GEN_BAILOUT\";\nexport class StaticGenBailoutError extends Error {\n constructor(...args){\n super(...args);\n 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","const DUMMY_ORIGIN = \"http://n\";\nfunction getUrlWithoutHost(url) {\n return new URL(url, DUMMY_ORIGIN);\n}\nexport function getPathname(url) {\n return getUrlWithoutHost(url).pathname;\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}\n\n//# sourceMappingURL=url.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 { getPathname } from \"../../lib/url\";\nconst hasPostpone = typeof React.unstable_postpone === \"function\";\nexport function createPrerenderState(isDebugSkeleton) {\n return {\n isDebugSkeleton,\n dynamicAccesses: []\n };\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.\n */ export function markCurrentScopeAsDynamic(store, expression) {\n const pathname = getPathname(store.urlPathname);\n if (store.isUnstableCacheCallback) {\n // inside cache scopes marking a scope as dynamic has no effect because the outer cache scope\n // creates a cache boundary. This is subtly different from reading a dynamic data source which is\n // forbidden inside a cache scope.\n return;\n } else if (store.dynamicShouldError) {\n throw new StaticGenBailoutError(`Route ${pathname} 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`);\n } else if (// We are in a prerender (PPR enabled, during build)\n store.prerenderState) {\n // We track that we had a dynamic scope that postponed.\n // This will be used by the renderer to decide whether\n // the prerender requires a resume\n postponeWithTracking(store.prerenderState, expression, pathname);\n } else {\n store.revalidate = 0;\n if (store.isStaticGeneration) {\n // We aren't prerendering but we are generating a static page. We need to bail out of static generation\n const err = new DynamicServerError(`Route ${pathname} couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);\n store.dynamicUsageDescription = expression;\n store.dynamicUsageStack = err.stack;\n throw err;\n }\n }\n}\n/**\n * This function communicates that some dynamic data was read. This typically would refer to accessing\n * a Request specific data store such as cookies or headers. This function is not how end-users will\n * describe reading from dynamic data sources which are valid to cache and up to the author to make\n * a determination of when to do so.\n *\n * If we are inside a cache scope we error\n * Also during a PPR Prerender we postpone\n */ export function trackDynamicDataAccessed(store, expression) {\n const pathname = getPathname(store.urlPathname);\n if (store.isUnstableCacheCallback) {\n throw new Error(`Route ${pathname} used \"${expression}\" inside a function cached with \"unstable_cache(...)\". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \"${expression}\" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`);\n } else if (store.dynamicShouldError) {\n throw new StaticGenBailoutError(`Route ${pathname} 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`);\n } else if (// We are in a prerender (PPR enabled, during build)\n store.prerenderState) {\n // We track that we had a dynamic scope that postponed.\n // This will be used by the renderer to decide whether\n // the prerender requires a resume\n postponeWithTracking(store.prerenderState, expression, pathname);\n } else {\n store.revalidate = 0;\n if (store.isStaticGeneration) {\n // We aren't prerendering but we are generating a static page. We need to bail out of static generation\n const err = new DynamicServerError(`Route ${pathname} couldn't be rendered statically because it used \\`${expression}\\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);\n store.dynamicUsageDescription = expression;\n store.dynamicUsageStack = err.stack;\n throw err;\n }\n }\n}\nexport function Postpone({ reason, prerenderState, pathname }) {\n postponeWithTracking(prerenderState, reason, pathname);\n}\n// @TODO refactor patch-fetch and this function to better model dynamic semantics. Currently this implementation\n// is too explicit about postponing if we are in a prerender and patch-fetch contains a lot of logic for determining\n// what makes the fetch \"dynamic\". It also doesn't handle Non PPR cases so it is isn't as consistent with the other\n// dynamic-rendering methods.\nexport function trackDynamicFetch(store, expression) {\n if (store.prerenderState) {\n postponeWithTracking(store.prerenderState, expression, store.urlPathname);\n }\n}\nfunction postponeWithTracking(prerenderState, expression, pathname) {\n assertPostpone();\n const reason = `Route ${pathname} 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 prerenderState.dynamicAccesses.push({\n // When we aren't debugging, we don't need to create another error for the\n // stack trace.\n stack: prerenderState.isDebugSkeleton ? new Error().stack : undefined,\n expression\n });\n React.unstable_postpone(reason);\n}\nexport function usedDynamicAPIs(prerenderState) {\n return prerenderState.dynamicAccesses.length > 0;\n}\nexport function formatDynamicAPIAccesses(prerenderState) {\n return prerenderState.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 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`);\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 createPostponedAbortSignal(reason) {\n assertPostpone();\n const controller = new AbortController();\n // We get our hands on a postpone instance by calling postpone and catching the throw\n try {\n React.unstable_postpone(reason);\n } catch (x) {\n controller.abort(x);\n }\n return controller.signal;\n}\n\n//# sourceMappingURL=dynamic-rendering.js.map","import { createPrerenderState } from \"../../server/app-render/dynamic-rendering\";\nexport const StaticGenerationAsyncStorageWrapper = {\n wrap (storage, { urlPathname, renderOpts, requestEndedState }, callback) {\n /**\n * Rules of Static & Dynamic HTML:\n *\n * 1.) We must generate static HTML unless the caller explicitly opts\n * in to dynamic HTML support.\n *\n * 2.) If dynamic HTML support is requested, we must honor that request\n * or throw an error. It is the sole responsibility of the caller to\n * ensure they aren't e.g. requesting dynamic HTML for an AMP page.\n *\n * 3.) If the request is in draft mode, we must generate dynamic HTML.\n *\n * 4.) If the request is a server action, we must generate dynamic HTML.\n *\n * These rules help ensure that other existing features like request caching,\n * coalescing, and ISR continue working as intended.\n */ const isStaticGeneration = !renderOpts.supportsDynamicResponse && !renderOpts.isDraftMode && !renderOpts.isServerAction;\n const prerenderState = isStaticGeneration && renderOpts.experimental.ppr ? createPrerenderState(renderOpts.isDebugPPRSkeleton) : null;\n const store = {\n isStaticGeneration,\n urlPathname,\n pagePath: renderOpts.originalPathname,\n incrementalCache: // we fallback to a global incremental cache for edge-runtime locally\n // so that it can access the fs cache without mocks\n renderOpts.incrementalCache || globalThis.__incrementalCache,\n isRevalidate: renderOpts.isRevalidate,\n isPrerendering: renderOpts.nextExport,\n fetchCache: renderOpts.fetchCache,\n isOnDemandRevalidate: renderOpts.isOnDemandRevalidate,\n isDraftMode: renderOpts.isDraftMode,\n prerenderState,\n requestEndedState\n };\n // TODO: remove this when we resolve accessing the store outside the execution context\n renderOpts.store = store;\n return storage.run(store, callback, store);\n }\n};\n\n//# sourceMappingURL=static-generation-async-storage-wrapper.js.map","import { appendMutableCookies } from \"../../../web/spec-extension/adapters/request-cookies\";\nexport function handleRedirectResponse(url, mutableCookies, status) {\n const headers = new Headers({\n location: url\n });\n appendMutableCookies(headers, mutableCookies);\n return new Response(null, {\n status,\n headers\n });\n}\nexport function handleBadRequestResponse() {\n return new Response(null, {\n status: 400\n });\n}\nexport function handleNotFoundResponse() {\n return new Response(null, {\n status: 404\n });\n}\nexport function handleMethodNotAllowedResponse() {\n return new Response(null, {\n status: 405\n });\n}\nexport function handleInternalServerErrorResponse() {\n return new Response(null, {\n status: 500\n });\n}\n\n//# sourceMappingURL=response-handlers.js.map","/**\n * List of valid HTTP methods that can be implemented by Next.js's Custom App\n * Routes.\n */ export const HTTP_METHODS = [\n \"GET\",\n \"HEAD\",\n \"OPTIONS\",\n \"POST\",\n \"PUT\",\n \"DELETE\",\n \"PATCH\"\n];\n/**\n * Checks to see if the passed string is an HTTP method. Note that this is case\n * sensitive.\n *\n * @param maybeMethod the string that may be an HTTP method\n * @returns true if the string is an HTTP method\n */ export function isHTTPMethod(maybeMethod) {\n return HTTP_METHODS.includes(maybeMethod);\n}\n\n//# sourceMappingURL=http.js.map","import { bold, green, magenta, red, yellow, white } from \"../../lib/picocolors\";\nexport const prefixes = {\n wait: white(bold(\"○\")),\n error: red(bold(\"⨯\")),\n warn: yellow(bold(\"⚠\")),\n ready: \"▲\",\n info: white(bold(\" \")),\n event: green(bold(\"✓\")),\n trace: magenta(bold(\"\\xbb\"))\n};\nconst LOGGING_METHOD = {\n log: \"log\",\n warn: \"warn\",\n error: \"error\"\n};\nfunction prefixedLog(prefixType, ...message) {\n if ((message[0] === \"\" || message[0] === undefined) && message.length === 1) {\n message.shift();\n }\n const consoleMethod = prefixType in LOGGING_METHOD ? LOGGING_METHOD[prefixType] : \"log\";\n const prefix = prefixes[prefixType];\n // If there's no message, don't print the prefix but a new line\n if (message.length === 0) {\n console[consoleMethod](\"\");\n } else {\n console[consoleMethod](\" \" + prefix, ...message);\n }\n}\nexport function bootstrap(...message) {\n console.log(\" \", ...message);\n}\nexport function wait(...message) {\n prefixedLog(\"wait\", ...message);\n}\nexport function error(...message) {\n prefixedLog(\"error\", ...message);\n}\nexport function warn(...message) {\n prefixedLog(\"warn\", ...message);\n}\nexport function ready(...message) {\n prefixedLog(\"ready\", ...message);\n}\nexport function info(...message) {\n prefixedLog(\"info\", ...message);\n}\nexport function event(...message) {\n prefixedLog(\"event\", ...message);\n}\nexport function trace(...message) {\n prefixedLog(\"trace\", ...message);\n}\nconst warnOnceMessages = new Set();\nexport function warnOnce(...message) {\n if (!warnOnceMessages.has(message[0])) {\n warnOnceMessages.add(message.join(\" \"));\n warn(...message);\n }\n}\n\n//# sourceMappingURL=log.js.map","/**\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 });\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 });\n return [\n cloned1,\n cloned2\n ];\n}\n\n//# sourceMappingURL=clone-response.js.map","import { AppRenderSpan, NextNodeServerSpan } from \"./trace/constants\";\nimport { getTracer, SpanKind } from \"./trace/tracer\";\nimport { CACHE_ONE_YEAR, NEXT_CACHE_IMPLICIT_TAG_ID, NEXT_CACHE_TAG_MAX_ITEMS, NEXT_CACHE_TAG_MAX_LENGTH } from \"../../lib/constants\";\nimport * as Log from \"../../build/output/log\";\nimport { trackDynamicFetch } from \"../app-render/dynamic-rendering\";\nimport { createDedupeFetch } from \"./dedupe-fetch\";\nimport { cloneResponse } from \"./clone-response\";\nconst isEdgeRuntime = process.env.NEXT_RUNTIME === \"edge\";\nfunction isPatchedFetch(fetch) {\n return \"__nextPatched\" in fetch && fetch.__nextPatched === true;\n}\nexport function validateRevalidate(revalidateVal, pathname) {\n try {\n let normalizedRevalidate = undefined;\n if (revalidateVal === false) {\n normalizedRevalidate = revalidateVal;\n } else if (typeof revalidateVal === \"number\" && !isNaN(revalidateVal) && revalidateVal > -1) {\n normalizedRevalidate = revalidateVal;\n } else if (typeof revalidateVal !== \"undefined\") {\n throw new Error(`Invalid revalidate value \"${revalidateVal}\" on \"${pathname}\", must be a non-negative number or \"false\"`);\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}\nconst getDerivedTags = (pathname)=>{\n const derivedTags = [\n `/layout`\n ];\n // we automatically add the current path segments as tags\n // for revalidatePath handling\n if (pathname.startsWith(\"/\")) {\n const pathnameParts = pathname.split(\"/\");\n for(let i = 1; i < pathnameParts.length + 1; i++){\n let curPathname = pathnameParts.slice(0, i).join(\"/\");\n if (curPathname) {\n // all derived tags other than the page are layout tags\n if (!curPathname.endsWith(\"/page\") && !curPathname.endsWith(\"/route\")) {\n curPathname = `${curPathname}${!curPathname.endsWith(\"/\") ? \"/\" : \"\"}layout`;\n }\n derivedTags.push(curPathname);\n }\n }\n }\n return derivedTags;\n};\nexport function addImplicitTags(staticGenerationStore) {\n const newTags = [];\n const { pagePath, urlPathname } = staticGenerationStore;\n if (!Array.isArray(staticGenerationStore.tags)) {\n staticGenerationStore.tags = [];\n }\n if (pagePath) {\n const derivedTags = getDerivedTags(pagePath);\n for (let tag of derivedTags){\n var _staticGenerationStore_tags;\n tag = `${NEXT_CACHE_IMPLICIT_TAG_ID}${tag}`;\n if (!((_staticGenerationStore_tags = staticGenerationStore.tags) == null ? void 0 : _staticGenerationStore_tags.includes(tag))) {\n staticGenerationStore.tags.push(tag);\n }\n newTags.push(tag);\n }\n }\n if (urlPathname) {\n var _staticGenerationStore_tags1;\n const parsedPathname = new URL(urlPathname, \"http://n\").pathname;\n const tag = `${NEXT_CACHE_IMPLICIT_TAG_ID}${parsedPathname}`;\n if (!((_staticGenerationStore_tags1 = staticGenerationStore.tags) == null ? void 0 : _staticGenerationStore_tags1.includes(tag))) {\n staticGenerationStore.tags.push(tag);\n }\n newTags.push(tag);\n }\n return newTags;\n}\nfunction trackFetchMetric(staticGenerationStore, ctx) {\n var _staticGenerationStore_requestEndedState;\n if (!staticGenerationStore || ((_staticGenerationStore_requestEndedState = staticGenerationStore.requestEndedState) == null ? void 0 : _staticGenerationStore_requestEndedState.ended) || process.env.NODE_ENV !== \"development\") {\n return;\n }\n staticGenerationStore.fetchMetrics ??= [];\n const dedupeFields = [\n \"url\",\n \"status\",\n \"method\"\n ];\n // don't add metric if one already exists for the fetch\n if (staticGenerationStore.fetchMetrics.some((metric)=>dedupeFields.every((field)=>metric[field] === ctx[field]))) {\n return;\n }\n staticGenerationStore.fetchMetrics.push({\n ...ctx,\n end: Date.now(),\n idx: staticGenerationStore.nextFetchId || 0\n });\n // only store top 10 metrics to avoid storing too many\n if (staticGenerationStore.fetchMetrics.length > 10) {\n // sort slowest first as these should be highlighted\n staticGenerationStore.fetchMetrics.sort((a, b)=>{\n const aDur = a.end - a.start;\n const bDur = b.end - b.start;\n if (aDur < bDur) {\n return 1;\n } else if (aDur > bDur) {\n return -1;\n }\n return 0;\n });\n // now grab top 10\n staticGenerationStore.fetchMetrics = staticGenerationStore.fetchMetrics.slice(0, 10);\n }\n}\nfunction createPatchedFetcher(originFetch, { serverHooks: { DynamicServerError }, staticGenerationAsyncStorage }) {\n // Create the patched fetch function. We don't set the type here, as it's\n // verified as the return value of this function.\n const patched = async (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 fetchStart = Date.now();\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 return 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) return originFetch(input, init);\n const staticGenerationStore = staticGenerationAsyncStorage.getStore();\n // If the staticGenerationStore is not available, we can't do any\n // special treatment of fetch, therefore fallback to the original\n // fetch implementation.\n if (!staticGenerationStore || staticGenerationStore.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 revalidate = 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 let curRevalidate = getNextField(\"revalidate\");\n const tags = validateTags(getNextField(\"tags\") || [], `fetch ${input.toString()}`);\n if (Array.isArray(tags)) {\n if (!staticGenerationStore.tags) {\n staticGenerationStore.tags = [];\n }\n for (const tag of tags){\n if (!staticGenerationStore.tags.includes(tag)) {\n staticGenerationStore.tags.push(tag);\n }\n }\n }\n const implicitTags = addImplicitTags(staticGenerationStore);\n const fetchCacheMode = staticGenerationStore.fetchCache;\n const isUsingNoStore = !!staticGenerationStore.isUnstableNoStore;\n let _cache = getRequestMeta(\"cache\");\n let cacheReason = \"\";\n if (typeof _cache === \"string\" && typeof curRevalidate !== \"undefined\") {\n // when providing fetch with a Request input, it'll automatically set a cache value of 'default'\n // we only want to warn if the user is explicitly setting a cache value\n if (!(isRequestInput && _cache === \"default\")) {\n Log.warn(`fetch for ${fetchUrl} on ${staticGenerationStore.urlPathname} specified \"cache: ${_cache}\" and \"revalidate: ${curRevalidate}\", only one should be specified.`);\n }\n _cache = undefined;\n }\n if (_cache === \"force-cache\") {\n curRevalidate = false;\n } else if (_cache === \"no-cache\" || _cache === \"no-store\" || fetchCacheMode === \"force-no-store\" || fetchCacheMode === \"only-no-store\") {\n curRevalidate = 0;\n }\n if (_cache === \"no-cache\" || _cache === \"no-store\") {\n cacheReason = `cache: ${_cache}`;\n }\n revalidate = validateRevalidate(curRevalidate, staticGenerationStore.urlPathname);\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 // if there are authorized headers or a POST method and\n // dynamic data usage was present above the tree we bail\n // e.g. if cookies() is used before an authed/POST fetch\n const autoNoCache = (hasUnCacheableHeader || isUnCacheableMethod) && staticGenerationStore.revalidate === 0;\n switch(fetchCacheMode){\n case \"force-no-store\":\n {\n cacheReason = \"fetchCache = force-no-store\";\n break;\n }\n case \"only-no-store\":\n {\n if (_cache === \"force-cache\" || typeof revalidate !== \"undefined\" && (revalidate === false || revalidate > 0)) {\n throw new Error(`cache: 'force-cache' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-no-store'`);\n }\n cacheReason = \"fetchCache = only-no-store\";\n break;\n }\n case \"only-cache\":\n {\n if (_cache === \"no-store\") {\n throw new Error(`cache: 'no-store' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-cache'`);\n }\n break;\n }\n case \"force-cache\":\n {\n if (typeof curRevalidate === \"undefined\" || curRevalidate === 0) {\n cacheReason = \"fetchCache = force-cache\";\n revalidate = false;\n }\n break;\n }\n default:\n }\n if (typeof revalidate === \"undefined\") {\n if (fetchCacheMode === \"default-cache\") {\n revalidate = false;\n cacheReason = \"fetchCache = default-cache\";\n } else if (autoNoCache) {\n revalidate = 0;\n cacheReason = \"auto no cache\";\n } else if (fetchCacheMode === \"default-no-store\") {\n revalidate = 0;\n cacheReason = \"fetchCache = default-no-store\";\n } else if (isUsingNoStore) {\n revalidate = 0;\n cacheReason = \"noStore call\";\n } else {\n cacheReason = \"auto cache\";\n revalidate = typeof staticGenerationStore.revalidate === \"boolean\" || typeof staticGenerationStore.revalidate === \"undefined\" ? false : staticGenerationStore.revalidate;\n }\n } else if (!cacheReason) {\n cacheReason = `revalidate: ${revalidate}`;\n }\n if (// when force static is configured we don't bail from\n // `revalidate: 0` values\n !(staticGenerationStore.forceStatic && revalidate === 0) && // we don't consider autoNoCache to switch to dynamic during\n // revalidate although if it occurs during build we do\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 (typeof staticGenerationStore.revalidate === \"undefined\" || typeof revalidate === \"number\" && (staticGenerationStore.revalidate === false || typeof staticGenerationStore.revalidate === \"number\" && revalidate < staticGenerationStore.revalidate))) {\n // If we were setting the revalidate value to 0, we should try to\n // postpone instead first.\n if (revalidate === 0) {\n trackDynamicFetch(staticGenerationStore, \"revalidate: 0\");\n }\n staticGenerationStore.revalidate = revalidate;\n }\n const isCacheableRevalidate = typeof revalidate === \"number\" && revalidate > 0 || revalidate === false;\n let cacheKey;\n if (staticGenerationStore.incrementalCache && isCacheableRevalidate) {\n try {\n cacheKey = await staticGenerationStore.incrementalCache.fetchCacheKey(fetchUrl, isRequestInput ? input : init);\n } catch (err) {\n console.error(`Failed to generate cache key for`, input);\n }\n }\n const fetchIdx = staticGenerationStore.nextFetchId ?? 1;\n staticGenerationStore.nextFetchId = fetchIdx + 1;\n const normalizedRevalidate = typeof revalidate !== \"number\" ? CACHE_ONE_YEAR : revalidate;\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) {\n trackFetchMetric(staticGenerationStore, {\n start: fetchStart,\n url: fetchUrl,\n cacheReason: cacheReasonOverride || cacheReason,\n cacheStatus: revalidate === 0 || cacheReasonOverride ? \"skip\" : \"miss\",\n status: res.status,\n method: clonedInit.method || \"GET\"\n });\n }\n if (res.status === 200 && staticGenerationStore.incrementalCache && cacheKey && isCacheableRevalidate) {\n const bodyBuffer = Buffer.from(await res.arrayBuffer());\n try {\n await staticGenerationStore.incrementalCache.set(cacheKey, {\n kind: \"FETCH\",\n data: {\n headers: Object.fromEntries(res.headers.entries()),\n body: bodyBuffer.toString(\"base64\"),\n status: res.status,\n url: res.url\n },\n revalidate: normalizedRevalidate\n }, {\n fetchCache: true,\n revalidate,\n fetchUrl,\n fetchIdx,\n tags\n });\n } catch (err) {\n console.warn(`Failed to set fetch cache`, input, err);\n }\n const response = new Response(bodyBuffer, {\n headers: new Headers(res.headers),\n status: res.status\n });\n Object.defineProperty(response, \"url\", {\n value: res.url\n });\n return response;\n }\n return res;\n });\n };\n let handleUnlock = ()=>Promise.resolve();\n let cacheReasonOverride;\n let isForegroundRevalidate = false;\n if (cacheKey && staticGenerationStore.incrementalCache) {\n handleUnlock = await staticGenerationStore.incrementalCache.lock(cacheKey);\n const entry = staticGenerationStore.isOnDemandRevalidate ? null : await staticGenerationStore.incrementalCache.get(cacheKey, {\n kindHint: \"fetch\",\n revalidate,\n fetchUrl,\n fetchIdx,\n tags,\n softTags: implicitTags\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 cacheReasonOverride = \"cache-control: no-cache (hard refresh)\";\n }\n if ((entry == null ? void 0 : entry.value) && entry.value.kind === \"FETCH\") {\n // when stale and is revalidating we wait for fresh data\n // so the revalidated entry has the updated data\n if (staticGenerationStore.isRevalidate && entry.isStale) {\n isForegroundRevalidate = true;\n } else {\n if (entry.isStale) {\n staticGenerationStore.pendingRevalidates ??= {};\n if (!staticGenerationStore.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 staticGenerationStore.pendingRevalidates ??= {};\n delete staticGenerationStore.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 staticGenerationStore.pendingRevalidates[cacheKey] = pendingRevalidate;\n }\n }\n const resData = entry.value.data;\n trackFetchMetric(staticGenerationStore, {\n start: fetchStart,\n url: fetchUrl,\n cacheReason,\n cacheStatus: \"hit\",\n status: resData.status || 200,\n method: (init == null ? void 0 : init.method) || \"GET\"\n });\n const response = new Response(Buffer.from(resData.body, \"base64\"), {\n headers: resData.headers,\n status: resData.status\n });\n Object.defineProperty(response, \"url\", {\n value: entry.value.data.url\n });\n return response;\n }\n }\n }\n if (staticGenerationStore.isStaticGeneration && 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 (!staticGenerationStore.forceStatic && cache === \"no-store\") {\n const dynamicUsageReason = `no-store fetch ${input}${staticGenerationStore.urlPathname ? ` ${staticGenerationStore.urlPathname}` : \"\"}`;\n // If enabled, we should bail out of static generation.\n trackDynamicFetch(staticGenerationStore, dynamicUsageReason);\n // PPR is not enabled, or React postpone is not available, we\n // should set the revalidate to 0.\n staticGenerationStore.revalidate = 0;\n const err = new DynamicServerError(dynamicUsageReason);\n staticGenerationStore.dynamicUsageErr = err;\n staticGenerationStore.dynamicUsageDescription = dynamicUsageReason;\n throw err;\n }\n const hasNextConfig = \"next\" in init;\n const { next = {} } = init;\n if (typeof next.revalidate === \"number\" && (typeof staticGenerationStore.revalidate === \"undefined\" || typeof staticGenerationStore.revalidate === \"number\" && next.revalidate < staticGenerationStore.revalidate)) {\n if (!staticGenerationStore.forceDynamic && !staticGenerationStore.forceStatic && next.revalidate === 0) {\n const dynamicUsageReason = `revalidate: 0 fetch ${input}${staticGenerationStore.urlPathname ? ` ${staticGenerationStore.urlPathname}` : \"\"}`;\n // If enabled, we should bail out of static generation.\n trackDynamicFetch(staticGenerationStore, dynamicUsageReason);\n const err = new DynamicServerError(dynamicUsageReason);\n staticGenerationStore.dynamicUsageErr = err;\n staticGenerationStore.dynamicUsageDescription = dynamicUsageReason;\n throw err;\n }\n if (!staticGenerationStore.forceStatic || next.revalidate !== 0) {\n staticGenerationStore.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 staticGenerationStore.pendingRevalidates ??= {};\n let pendingRevalidate = staticGenerationStore.pendingRevalidates[cacheKey];\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 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 if (cacheKey) {\n var _staticGenerationStore_pendingRevalidates;\n // If the pending revalidate is not present in the store, then\n // we have nothing to delete.\n if (!((_staticGenerationStore_pendingRevalidates = staticGenerationStore.pendingRevalidates) == null ? void 0 : _staticGenerationStore_pendingRevalidates[cacheKey])) {\n return;\n }\n delete staticGenerationStore.pendingRevalidates[cacheKey];\n }\n });\n // Attach the empty catch here so we don't get a \"unhandled promise\n // rejection\" warning\n pendingRevalidate.catch(()=>{});\n staticGenerationStore.pendingRevalidates[cacheKey] = pendingRevalidate;\n return pendingResponse.then((responses)=>responses[1]);\n } else {\n return doOriginalFetch(false, cacheReasonOverride).finally(handleUnlock);\n }\n });\n };\n // Attach the necessary properties to the patched fetch function.\n patched.__nextPatched = true;\n patched.__nextGetStaticStore = ()=>staticGenerationAsyncStorage;\n patched._nextOriginalFetch = originFetch;\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 (isPatchedFetch(globalThis.fetch)) 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}\n\n//# sourceMappingURL=patch-fetch.js.map","const NOT_FOUND_ERROR_CODE = \"NEXT_NOT_FOUND\";\n/**\n * This function allows you to render the [not-found.js file](https://nextjs.org/docs/app/api-reference/file-conventions/not-found)\n * within a route segment as well as inject a tag.\n *\n * `notFound()` can be used in\n * [Server Components](https://nextjs.org/docs/app/building-your-application/rendering/server-components),\n * [Route Handlers](https://nextjs.org/docs/app/building-your-application/routing/route-handlers), and\n * [Server Actions](https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations).\n *\n * - In a Server Component, this will insert a `<meta name=\"robots\" content=\"noindex\" />` meta tag and set the status code to 404.\n * - In a Route Handler or Server Action, it will serve a 404 to the caller.\n *\n * Read more: [Next.js Docs: `notFound`](https://nextjs.org/docs/app/api-reference/functions/not-found)\n */ export function notFound() {\n // eslint-disable-next-line no-throw-literal\n const error = new Error(NOT_FOUND_ERROR_CODE);\n error.digest = NOT_FOUND_ERROR_CODE;\n throw error;\n}\n/**\n * Checks an error to determine if it's an error generated by the `notFound()`\n * helper.\n *\n * @param error the error that may reference a not found error\n * @returns true if the error is a not found error\n */ export function isNotFoundError(error) {\n if (typeof error !== \"object\" || error === null || !(\"digest\" in error)) {\n return false;\n }\n return error.digest === NOT_FOUND_ERROR_CODE;\n}\n\n//# sourceMappingURL=not-found.js.map","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"next/dist/client/components/request-async-storage.external.js\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"next/dist/client/components/action-async-storage.external.js\");","import { HTTP_METHODS } from \"../../../../web/http\";\nimport { handleMethodNotAllowedResponse } from \"../../helpers/response-handlers\";\nconst AUTOMATIC_ROUTE_METHODS = [\n \"HEAD\",\n \"OPTIONS\"\n];\nexport function autoImplementMethods(handlers) {\n // Loop through all the HTTP methods to create the initial methods object.\n // Each of the methods will be set to the the 405 response handler.\n const methods = HTTP_METHODS.reduce((acc, method)=>({\n ...acc,\n // If the userland module implements the method, then use it. Otherwise,\n // use the 405 response handler.\n [method]: handlers[method] ?? handleMethodNotAllowedResponse\n }), {});\n // Get all the methods that could be automatically implemented that were not\n // implemented by the userland module.\n const implemented = new Set(HTTP_METHODS.filter((method)=>handlers[method]));\n const missing = AUTOMATIC_ROUTE_METHODS.filter((method)=>!implemented.has(method));\n // Loop over the missing methods to automatically implement them if we can.\n for (const method of missing){\n // If the userland module doesn't implement the HEAD method, then\n // we'll automatically implement it by calling the GET method (if it\n // exists).\n if (method === \"HEAD\") {\n if (handlers.GET) {\n // Implement the HEAD method by calling the GET method.\n methods.HEAD = handlers.GET;\n // Mark it as implemented.\n implemented.add(\"HEAD\");\n }\n continue;\n }\n // If OPTIONS is not provided then implement it.\n if (method === \"OPTIONS\") {\n // TODO: check if HEAD is implemented, if so, use it to add more headers\n // Get all the methods that were implemented by the userland module.\n const allow = [\n \"OPTIONS\",\n ...implemented\n ];\n // If the list of methods doesn't include HEAD, but it includes GET, then\n // add HEAD as it's automatically implemented.\n if (!implemented.has(\"HEAD\") && implemented.has(\"GET\")) {\n allow.push(\"HEAD\");\n }\n // Sort and join the list with commas to create the `Allow` header. See:\n // https://httpwg.org/specs/rfc9110.html#field.allow\n const headers = {\n Allow: allow.sort().join(\", \")\n };\n // Implement the OPTIONS method by returning a 204 response with the\n // `Allow` header.\n methods.OPTIONS = ()=>new Response(null, {\n status: 204,\n headers\n });\n // Mark this method as implemented.\n implemented.add(\"OPTIONS\");\n continue;\n }\n throw new Error(`Invariant: should handle all automatic implementable methods, got method: ${method}`);\n }\n return methods;\n}\n\n//# sourceMappingURL=auto-implement-methods.js.map","\"use client\";\n\nimport React from \"react\";\nexport const AppRouterContext = React.createContext(null);\nexport const LayoutRouterContext = React.createContext(null);\nexport const GlobalLayoutRouterContext = React.createContext(null);\nexport const TemplateContext = React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n AppRouterContext.displayName = \"AppRouterContext\";\n LayoutRouterContext.displayName = \"LayoutRouterContext\";\n GlobalLayoutRouterContext.displayName = \"GlobalLayoutRouterContext\";\n TemplateContext.displayName = \"TemplateContext\";\n}\nexport const MissingSlotContext = React.createContext(new Set());\n\n//# sourceMappingURL=app-router-context.shared-runtime.js.map","import { RouteModule } from \"../route-module\";\nimport { RequestAsyncStorageWrapper } from \"../../../async-storage/request-async-storage-wrapper\";\nimport { StaticGenerationAsyncStorageWrapper } from \"../../../async-storage/static-generation-async-storage-wrapper\";\nimport { handleBadRequestResponse, handleInternalServerErrorResponse } from \"../helpers/response-handlers\";\nimport { HTTP_METHODS, isHTTPMethod } from \"../../../web/http\";\nimport { addImplicitTags, patchFetch } from \"../../../lib/patch-fetch\";\nimport { getTracer } from \"../../../lib/trace/tracer\";\nimport { AppRouteRouteHandlersSpan } from \"../../../lib/trace/constants\";\nimport { getPathnameFromAbsolutePath } from \"./helpers/get-pathname-from-absolute-path\";\nimport { resolveHandlerError } from \"./helpers/resolve-handler-error\";\nimport * as Log from \"../../../../build/output/log\";\nimport { autoImplementMethods } from \"./helpers/auto-implement-methods\";\nimport { appendMutableCookies } from \"../../../web/spec-extension/adapters/request-cookies\";\nimport { HeadersAdapter } from \"../../../web/spec-extension/adapters/headers\";\nimport { RequestCookiesAdapter } from \"../../../web/spec-extension/adapters/request-cookies\";\nimport { parsedUrlQueryToParams } from \"./helpers/parsed-url-query-to-params\";\nimport * as serverHooks from \"../../../../client/components/hooks-server-context\";\nimport { DynamicServerError } from \"../../../../client/components/hooks-server-context\";\nimport { requestAsyncStorage } from \"../../../../client/components/request-async-storage.external\";\nimport { staticGenerationAsyncStorage } from \"../../../../client/components/static-generation-async-storage.external\";\nimport { actionAsyncStorage } from \"../../../../client/components/action-async-storage.external\";\nimport * as sharedModules from \"./shared-modules\";\nimport { getIsServerAction } from \"../../../lib/server-action-request-meta\";\nimport { RequestCookies } from \"next/dist/compiled/@edge-runtime/cookies\";\nimport { cleanURL } from \"./helpers/clean-url\";\nimport { StaticGenBailoutError } from \"../../../../client/components/static-generation-bailout\";\nimport { trackDynamicDataAccessed } from \"../../../app-render/dynamic-rendering\";\nimport { ReflectAdapter } from \"../../../web/spec-extension/adapters/reflect\";\n/**\n * AppRouteRouteHandler is the handler for app routes.\n */ export class AppRouteRouteModule extends RouteModule {\n static #_ = this.sharedModules = sharedModules;\n constructor({ userland, definition, resolvedPagePath, nextConfigOutput }){\n super({\n userland,\n definition\n });\n /**\n * A reference to the request async storage.\n */ this.requestAsyncStorage = requestAsyncStorage;\n /**\n * A reference to the static generation async storage.\n */ this.staticGenerationAsyncStorage = staticGenerationAsyncStorage;\n /**\n * An interface to call server hooks which interact with the underlying\n * storage.\n */ this.serverHooks = serverHooks;\n /**\n * A reference to the mutation related async storage, such as mutations of\n * cookies.\n */ this.actionAsyncStorage = actionAsyncStorage;\n this.resolvedPagePath = resolvedPagePath;\n this.nextConfigOutput = nextConfigOutput;\n // Automatically implement some methods if they aren't implemented by the\n // userland module.\n this.methods = autoImplementMethods(userland);\n // Get the non-static methods for this route.\n this.hasNonStaticMethods = hasNonStaticMethods(userland);\n // Get the dynamic property from the userland module.\n this.dynamic = this.userland.dynamic;\n if (this.nextConfigOutput === \"export\") {\n if (!this.dynamic || this.dynamic === \"auto\") {\n this.dynamic = \"error\";\n } else if (this.dynamic === \"force-dynamic\") {\n throw new Error(`export const dynamic = \"force-dynamic\" on page \"${definition.pathname}\" cannot be used with \"output: export\". See more info here: https://nextjs.org/docs/advanced-features/static-html-export`);\n }\n }\n // We only warn in development after here, so return if we're not in\n // development.\n if (process.env.NODE_ENV === \"development\") {\n // Print error in development if the exported handlers are in lowercase, only\n // uppercase handlers are supported.\n const lowercased = HTTP_METHODS.map((method)=>method.toLowerCase());\n for (const method of lowercased){\n if (method in this.userland) {\n Log.error(`Detected lowercase method '${method}' in '${this.resolvedPagePath}'. Export the uppercase '${method.toUpperCase()}' method name to fix this error.`);\n }\n }\n // Print error if the module exports a default handler, they must use named\n // exports for each HTTP method.\n if (\"default\" in this.userland) {\n Log.error(`Detected default export in '${this.resolvedPagePath}'. Export a named export for each HTTP method instead.`);\n }\n // If there is no methods exported by this module, then return a not found\n // response.\n if (!HTTP_METHODS.some((method)=>method in this.userland)) {\n Log.error(`No HTTP methods exported in '${this.resolvedPagePath}'. Export a named export for each HTTP method.`);\n }\n }\n }\n /**\n * Resolves the handler function for the given method.\n *\n * @param method the requested method\n * @returns the handler function for the given method\n */ resolve(method) {\n // Ensure that the requested method is a valid method (to prevent RCE's).\n if (!isHTTPMethod(method)) return handleBadRequestResponse;\n // Return the handler.\n return this.methods[method];\n }\n /**\n * Executes the route handler.\n */ async execute(rawRequest, context) {\n // Get the handler function for the given method.\n const handler = this.resolve(rawRequest.method);\n // Get the context for the request.\n const requestContext = {\n req: rawRequest\n };\n requestContext.renderOpts = {\n previewProps: context.prerenderManifest.preview\n };\n // Get the context for the static generation.\n const staticGenerationContext = {\n urlPathname: rawRequest.nextUrl.pathname,\n renderOpts: context.renderOpts\n };\n // Add the fetchCache option to the renderOpts.\n staticGenerationContext.renderOpts.fetchCache = this.userland.fetchCache;\n // Run the handler with the request AsyncLocalStorage to inject the helper\n // support. We set this to `unknown` because the type is not known until\n // runtime when we do a instanceof check below.\n const response = await this.actionAsyncStorage.run({\n isAppRoute: true,\n isAction: getIsServerAction(rawRequest)\n }, ()=>RequestAsyncStorageWrapper.wrap(this.requestAsyncStorage, requestContext, ()=>StaticGenerationAsyncStorageWrapper.wrap(this.staticGenerationAsyncStorage, staticGenerationContext, (staticGenerationStore)=>{\n var _getTracer_getRootSpanAttributes;\n // Check to see if we should bail out of static generation based on\n // having non-static methods.\n const isStaticGeneration = staticGenerationStore.isStaticGeneration;\n if (this.hasNonStaticMethods) {\n if (isStaticGeneration) {\n const err = new DynamicServerError(\"Route is configured with methods that cannot be statically generated.\");\n staticGenerationStore.dynamicUsageDescription = err.message;\n staticGenerationStore.dynamicUsageStack = err.stack;\n throw err;\n } else {\n // We aren't statically generating but since this route has non-static methods\n // we still need to set the default caching to no cache by setting revalidate = 0\n // @TODO this type of logic is too indirect. we need to refactor how we set fetch cache\n // behavior. Prior to the most recent refactor this logic was buried deep in staticGenerationBailout\n // so it is possible it was unintentional and then tests were written to assert the current behavior\n staticGenerationStore.revalidate = 0;\n }\n }\n // We assume we can pass the original request through however we may end up\n // proxying it in certain circumstances based on execution type and configuration\n let request = rawRequest;\n // Update the static generation store based on the dynamic property.\n switch(this.dynamic){\n case \"force-dynamic\":\n {\n // Routes of generated paths should be dynamic\n staticGenerationStore.forceDynamic = true;\n break;\n }\n case \"force-static\":\n // The dynamic property is set to force-static, so we should\n // force the page to be static.\n staticGenerationStore.forceStatic = true;\n // We also Proxy the request to replace dynamic data on the request\n // with empty stubs to allow for safely executing as static\n request = new Proxy(rawRequest, forceStaticRequestHandlers);\n break;\n case \"error\":\n // The dynamic property is set to error, so we should throw an\n // error if the page is being statically generated.\n staticGenerationStore.dynamicShouldError = true;\n if (isStaticGeneration) request = new Proxy(rawRequest, requireStaticRequestHandlers);\n break;\n default:\n // We proxy `NextRequest` to track dynamic access, and potentially bail out of static generation\n request = proxyNextRequest(rawRequest, staticGenerationStore);\n }\n // If the static generation store does not have a revalidate value\n // set, then we should set it the revalidate value from the userland\n // module or default to false.\n staticGenerationStore.revalidate ??= this.userland.revalidate ?? false;\n // TODO: propagate this pathname from route matcher\n const route = getPathnameFromAbsolutePath(this.resolvedPagePath);\n (_getTracer_getRootSpanAttributes = getTracer().getRootSpanAttributes()) == null ? void 0 : _getTracer_getRootSpanAttributes.set(\"next.route\", route);\n return getTracer().trace(AppRouteRouteHandlersSpan.runHandler, {\n spanName: `executing api route (app) ${route}`,\n attributes: {\n \"next.route\": route\n }\n }, async ()=>{\n var _staticGenerationStore_incrementalCache, _staticGenerationStore_tags;\n // Patch the global fetch.\n patchFetch({\n serverHooks: this.serverHooks,\n staticGenerationAsyncStorage: this.staticGenerationAsyncStorage\n });\n const res = await handler(request, {\n params: context.params ? parsedUrlQueryToParams(context.params) : undefined\n });\n if (!(res instanceof Response)) {\n throw new Error(`No response is returned from route handler '${this.resolvedPagePath}'. Ensure you return a \\`Response\\` or a \\`NextResponse\\` in all branches of your handler.`);\n }\n context.renderOpts.fetchMetrics = staticGenerationStore.fetchMetrics;\n context.renderOpts.waitUntil = Promise.all([\n (_staticGenerationStore_incrementalCache = staticGenerationStore.incrementalCache) == null ? void 0 : _staticGenerationStore_incrementalCache.revalidateTag(staticGenerationStore.revalidatedTags || []),\n ...Object.values(staticGenerationStore.pendingRevalidates || {})\n ]);\n addImplicitTags(staticGenerationStore);\n context.renderOpts.fetchTags = (_staticGenerationStore_tags = staticGenerationStore.tags) == null ? void 0 : _staticGenerationStore_tags.join(\",\");\n // It's possible cookies were set in the handler, so we need\n // to merge the modified cookies and the returned response\n // here.\n const requestStore = this.requestAsyncStorage.getStore();\n if (requestStore && requestStore.mutableCookies) {\n const headers = new Headers(res.headers);\n if (appendMutableCookies(headers, requestStore.mutableCookies)) {\n return new Response(res.body, {\n status: res.status,\n statusText: res.statusText,\n headers\n });\n }\n }\n return res;\n });\n })));\n // If the handler did't return a valid response, then return the internal\n // error response.\n if (!(response instanceof Response)) {\n // TODO: validate the correct handling behavior, maybe log something?\n return handleInternalServerErrorResponse();\n }\n if (response.headers.has(\"x-middleware-rewrite\")) {\n // TODO: move this error into the `NextResponse.rewrite()` function.\n // TODO-APP: re-enable support below when we can proxy these type of requests\n throw new Error(\"NextResponse.rewrite() was used in a app route handler, this is not currently supported. Please remove the invocation to continue.\");\n // // This is a rewrite created via `NextResponse.rewrite()`. We need to send\n // // the response up so it can be handled by the backing server.\n // // If the server is running in minimal mode, we just want to forward the\n // // response (including the rewrite headers) upstream so it can perform the\n // // redirect for us, otherwise return with the special condition so this\n // // server can perform a rewrite.\n // if (!minimalMode) {\n // return { response, condition: 'rewrite' }\n // }\n // // Relativize the url so it's relative to the base url. This is so the\n // // outgoing headers upstream can be relative.\n // const rewritePath = response.headers.get('x-middleware-rewrite')!\n // const initUrl = getRequestMeta(req, 'initURL')!\n // const { pathname } = parseUrl(relativizeURL(rewritePath, initUrl))\n // response.headers.set('x-middleware-rewrite', pathname)\n }\n if (response.headers.get(\"x-middleware-next\") === \"1\") {\n // TODO: move this error into the `NextResponse.next()` function.\n throw new Error(\"NextResponse.next() was used in a app route handler, this is not supported. See here for more info: https://nextjs.org/docs/messages/next-response-next-in-app-route-handler\");\n }\n return response;\n }\n async handle(request, context) {\n try {\n // Execute the route to get the response.\n const response = await this.execute(request, context);\n // The response was handled, return it.\n return response;\n } catch (err) {\n // Try to resolve the error to a response, else throw it again.\n const response = resolveHandlerError(err);\n if (!response) throw err;\n // The response was resolved, return it.\n return response;\n }\n }\n}\nexport default AppRouteRouteModule;\n/**\n * Gets all the method names for handlers that are not considered static.\n *\n * @param handlers the handlers from the userland module\n * @returns the method names that are not considered static or false if all\n * methods are static\n */ export function hasNonStaticMethods(handlers) {\n if (// Order these by how common they are to be used\n handlers.POST || handlers.POST || handlers.DELETE || handlers.PATCH || handlers.OPTIONS) {\n return true;\n }\n return false;\n}\n// These symbols will be used to stash cached values on Proxied requests without requiring\n// additional closures or storage such as WeakMaps.\nconst nextURLSymbol = Symbol(\"nextUrl\");\nconst requestCloneSymbol = Symbol(\"clone\");\nconst urlCloneSymbol = Symbol(\"clone\");\nconst searchParamsSymbol = Symbol(\"searchParams\");\nconst hrefSymbol = Symbol(\"href\");\nconst toStringSymbol = Symbol(\"toString\");\nconst headersSymbol = Symbol(\"headers\");\nconst cookiesSymbol = Symbol(\"cookies\");\n/**\n * The general technique with these proxy handlers is to prioritize keeping them static\n * by stashing computed values on the Proxy itself. This is safe because the Proxy is\n * inaccessible to the consumer since all operations are forwarded\n */ const forceStaticRequestHandlers = {\n get (target, prop, receiver) {\n switch(prop){\n case \"headers\":\n return target[headersSymbol] || (target[headersSymbol] = HeadersAdapter.seal(new Headers({})));\n case \"cookies\":\n return target[cookiesSymbol] || (target[cookiesSymbol] = RequestCookiesAdapter.seal(new RequestCookies(new Headers({}))));\n case \"nextUrl\":\n return target[nextURLSymbol] || (target[nextURLSymbol] = new Proxy(target.nextUrl, forceStaticNextUrlHandlers));\n case \"url\":\n // we don't need to separately cache this we can just read the nextUrl\n // and return the href since we know it will have been stripped of any\n // dynamic parts. We access via the receiver to trigger the get trap\n return receiver.nextUrl.href;\n case \"geo\":\n case \"ip\":\n return undefined;\n case \"clone\":\n return target[requestCloneSymbol] || (target[requestCloneSymbol] = ()=>new Proxy(// This is vaguely unsafe but it's required since NextRequest does not implement\n // clone. The reason we might expect this to work in this context is the Proxy will\n // respond with static-amenable values anyway somewhat restoring the interface.\n // @TODO we need to rethink NextRequest and NextURL because they are not sufficientlly\n // sophisticated to adequately represent themselves in all contexts. A better approach is\n // to probably embed the static generation logic into the class itself removing the need\n // for any kind of proxying\n target.clone(), forceStaticRequestHandlers));\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n};\nconst forceStaticNextUrlHandlers = {\n get (target, prop, receiver) {\n switch(prop){\n // URL properties\n case \"search\":\n return \"\";\n case \"searchParams\":\n return target[searchParamsSymbol] || (target[searchParamsSymbol] = new URLSearchParams());\n case \"href\":\n return target[hrefSymbol] || (target[hrefSymbol] = cleanURL(target.href).href);\n case \"toJSON\":\n case \"toString\":\n return target[toStringSymbol] || (target[toStringSymbol] = ()=>receiver.href);\n // NextUrl properties\n case \"url\":\n // Currently nextURL does not expose url but our Docs indicate that it is an available property\n // I am forcing this to undefined here to avoid accidentally exposing a dynamic value later if\n // the underlying nextURL ends up adding this property\n return undefined;\n case \"clone\":\n return target[urlCloneSymbol] || (target[urlCloneSymbol] = ()=>new Proxy(target.clone(), forceStaticNextUrlHandlers));\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n};\nfunction proxyNextRequest(request, staticGenerationStore) {\n const nextUrlHandlers = {\n get (target, prop, receiver) {\n switch(prop){\n case \"search\":\n case \"searchParams\":\n case \"url\":\n case \"href\":\n case \"toJSON\":\n case \"toString\":\n case \"origin\":\n {\n trackDynamicDataAccessed(staticGenerationStore, `nextUrl.${prop}`);\n return ReflectAdapter.get(target, prop, receiver);\n }\n case \"clone\":\n return target[urlCloneSymbol] || (target[urlCloneSymbol] = ()=>new Proxy(target.clone(), nextUrlHandlers));\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n };\n const nextRequestHandlers = {\n get (target, prop) {\n switch(prop){\n case \"nextUrl\":\n return target[nextURLSymbol] || (target[nextURLSymbol] = new Proxy(target.nextUrl, nextUrlHandlers));\n case \"headers\":\n case \"cookies\":\n case \"url\":\n case \"body\":\n case \"blob\":\n case \"json\":\n case \"text\":\n case \"arrayBuffer\":\n case \"formData\":\n {\n trackDynamicDataAccessed(staticGenerationStore, `request.${prop}`);\n // The receiver arg is intentionally the same as the target to fix an issue with\n // edge runtime, where attempting to access internal slots with the wrong `this` context\n // results in an error.\n return ReflectAdapter.get(target, prop, target);\n }\n case \"clone\":\n return target[requestCloneSymbol] || (target[requestCloneSymbol] = ()=>new Proxy(// This is vaguely unsafe but it's required since NextRequest does not implement\n // clone. The reason we might expect this to work in this context is the Proxy will\n // respond with static-amenable values anyway somewhat restoring the interface.\n // @TODO we need to rethink NextRequest and NextURL because they are not sufficientlly\n // sophisticated to adequately represent themselves in all contexts. A better approach is\n // to probably embed the static generation logic into the class itself removing the need\n // for any kind of proxying\n target.clone(), nextRequestHandlers));\n default:\n // The receiver arg is intentionally the same as the target to fix an issue with\n // edge runtime, where attempting to access internal slots with the wrong `this` context\n // results in an error.\n return ReflectAdapter.get(target, prop, target);\n }\n }\n };\n return new Proxy(request, nextRequestHandlers);\n}\nconst requireStaticRequestHandlers = {\n get (target, prop, receiver) {\n switch(prop){\n case \"nextUrl\":\n return target[nextURLSymbol] || (target[nextURLSymbol] = new Proxy(target.nextUrl, requireStaticNextUrlHandlers));\n case \"headers\":\n case \"cookies\":\n case \"url\":\n case \"body\":\n case \"blob\":\n case \"json\":\n case \"text\":\n case \"arrayBuffer\":\n case \"formData\":\n throw new StaticGenBailoutError(`Route ${target.nextUrl.pathname} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`request.${prop}\\`.`);\n case \"clone\":\n return target[requestCloneSymbol] || (target[requestCloneSymbol] = ()=>new Proxy(// This is vaguely unsafe but it's required since NextRequest does not implement\n // clone. The reason we might expect this to work in this context is the Proxy will\n // respond with static-amenable values anyway somewhat restoring the interface.\n // @TODO we need to rethink NextRequest and NextURL because they are not sufficientlly\n // sophisticated to adequately represent themselves in all contexts. A better approach is\n // to probably embed the static generation logic into the class itself removing the need\n // for any kind of proxying\n target.clone(), requireStaticRequestHandlers));\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n};\nconst requireStaticNextUrlHandlers = {\n get (target, prop, receiver) {\n switch(prop){\n case \"search\":\n case \"searchParams\":\n case \"url\":\n case \"href\":\n case \"toJSON\":\n case \"toString\":\n case \"origin\":\n throw new StaticGenBailoutError(`Route ${target.pathname} with \\`dynamic = \"error\"\\` couldn't be rendered statically because it used \\`nextUrl.${prop}\\`.`);\n case \"clone\":\n return target[urlCloneSymbol] || (target[urlCloneSymbol] = ()=>new Proxy(target.clone(), requireStaticNextUrlHandlers));\n default:\n return ReflectAdapter.get(target, prop, receiver);\n }\n }\n};\n\n//# sourceMappingURL=module.js.map","import { ACTION } from \"../../client/components/app-router-headers\";\nexport function getServerActionRequestMetadata(req) {\n let actionId;\n let contentType;\n if (req.headers instanceof Headers) {\n actionId = req.headers.get(ACTION.toLowerCase()) ?? null;\n contentType = req.headers.get(\"content-type\");\n } else {\n actionId = req.headers[ACTION.toLowerCase()] ?? null;\n contentType = req.headers[\"content-type\"] ?? null;\n }\n const isURLEncodedAction = Boolean(req.method === \"POST\" && contentType === \"application/x-www-form-urlencoded\");\n const isMultipartAction = Boolean(req.method === \"POST\" && (contentType == null ? void 0 : contentType.startsWith(\"multipart/form-data\")));\n const isFetchAction = Boolean(actionId !== undefined && typeof actionId === \"string\" && req.method === \"POST\");\n const isServerAction = Boolean(isFetchAction || isURLEncodedAction || isMultipartAction);\n return {\n actionId,\n isURLEncodedAction,\n isMultipartAction,\n isFetchAction,\n isServerAction\n };\n}\nexport function getIsServerAction(req) {\n return getServerActionRequestMetadata(req).isServerAction;\n}\n\n//# sourceMappingURL=server-action-request-meta.js.map","/**\n * Get pathname from absolute path.\n *\n * @param absolutePath the absolute path\n * @returns the pathname\n */ export function getPathnameFromAbsolutePath(absolutePath) {\n // Remove prefix including app dir\n let appDir = \"/app/\";\n if (!absolutePath.includes(appDir)) {\n appDir = \"\\\\app\\\\\";\n }\n const [, ...parts] = absolutePath.split(appDir);\n const relativePath = appDir[0] + parts.join(appDir);\n // remove extension\n const pathname = relativePath.split(\".\").slice(0, -1).join(\".\");\n return pathname;\n}\n\n//# sourceMappingURL=get-pathname-from-absolute-path.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\";\nconst simpleCacheKey = '[\"GET\",[],null,\"follow\",null,null,null,null]' // generateCacheKey(new Request('https://blank'));\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 return JSON.stringify([\n request.method,\n Array.from(request.headers.entries()),\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 new Error(\"No cached 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 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. We also pass a\n // signal down to the original fetch as to bypass the underlying React fetch\n // cache.\n const controller = new AbortController();\n const promise = originalFetch(resource, {\n ...options,\n signal: controller.signal\n });\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","/**\n * Converts the query into params.\n *\n * @param query the query to convert to params\n * @returns the params\n */ export function parsedUrlQueryToParams(query) {\n const params = {};\n for (const [key, value] of Object.entries(query)){\n if (typeof value === \"undefined\") continue;\n params[key] = value;\n }\n return params;\n}\n\n//# sourceMappingURL=parsed-url-query-to-params.js.map","import { isNotFoundError } from \"../../../../../client/components/not-found\";\nimport { getURLFromRedirectError, isRedirectError, getRedirectStatusCodeFromError } from \"../../../../../client/components/redirect\";\nimport { handleNotFoundResponse, handleRedirectResponse } from \"../../helpers/response-handlers\";\nexport function resolveHandlerError(err) {\n if (isRedirectError(err)) {\n const redirect = getURLFromRedirectError(err);\n if (!redirect) {\n throw new Error(\"Invariant: Unexpected redirect url format\");\n }\n const status = getRedirectStatusCodeFromError(err);\n // This is a redirect error! Send the redirect response.\n return handleRedirectResponse(redirect, err.mutableCookies, status);\n }\n if (isNotFoundError(err)) {\n // This is a not found error! Send the not found response.\n return handleNotFoundResponse();\n }\n // Return false to indicate that this is not a handled error.\n return false;\n}\n\n//# sourceMappingURL=resolve-handler-error.js.map","/**\n * Cleans a URL by stripping the protocol, host, and search params.\n *\n * @param urlString the url to clean\n * @returns the cleaned url\n */ export function cleanURL(url) {\n const u = new URL(url);\n u.host = \"localhost:3000\";\n u.search = \"\";\n u.protocol = \"http\";\n return u;\n}\n\n//# sourceMappingURL=clean-url.js.map"],"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","src_exports","stringifyCookie","c","_a","attrs","path","expires","Date","toUTCString","maxAge","domain","secure","httpOnly","sameSite","partitioned","priority","filter","Boolean","stringified","name","encodeURIComponent","value","length","join","parseCookie","cookie","map","Map","pair","split","splitAt","indexOf","set","key","slice","decodeURIComponent","parseSetCookie","setCookie","string","attributes","httponly","maxage","samesite","fromEntries","value2","toLowerCase","compact","t","newT","Number","SAME_SITE","includes","PRIORITY","__export","target","all","get","enumerable","RequestCookies","ResponseCookies","module","exports","__copyProps","to","from","except","desc","call","constructor","requestHeaders","_parsed","_headers","header","Symbol","iterator","size","args","getAll","Array","_","n","has","delete","names","result","isArray","clear","keys","for","JSON","stringify","toString","values","v","responseHeaders","_b","_c","getSetCookie","cookieString","splitCookiesString","cookiesString","start","ch","lastComma","nextStart","cookiesSeparatorFound","cookiesStrings","pos","skipWhitespace","test","charAt","push","substring","parsed","normalizeCookie","now","replace","bag","headers","serialized","append","__nccwpck_require__","ab","__dirname","e","r","parse","o","a","s","decode","i","p","f","u","substr","trim","undefined","tryDecode","serialize","encode","isNaN","isFinite","Math","floor","__REACT_DEVTOOLS_GLOBAL_HOOK__","registerInternalModuleStart","prevLog","prevInfo","prevWarn","prevError","prevGroup","prevGroupCollapsed","prevGroupEnd","prefix","componentFrameCache","specialPropKeyWarningShown","specialPropRefWarningShown","didWarnAboutStringRefs","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONSUMER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_OFFSCREEN_TYPE","REACT_CACHE_TYPE","MAYBE_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","maybeIterator","ReactCurrentDispatcher$1","current","ReactCurrentCache","ReactCurrentBatchConfig","transition","ReactCurrentActQueue","isBatchingLegacy","didScheduleLegacyUpdate","didUsePromise","ReactDebugCurrentFrame$1","currentExtraStackFrame","setExtraStackFrame","stack","getCurrentStack","getStackAddendum","impl","ReactSharedInternals","ReactCurrentDispatcher","ReactCurrentOwner","warn","format","_len","arguments","_key","printWarning","error","_len2","_key2","level","ReactDebugCurrentFrame","concat","argsWithFormat","item","String","unshift","Function","apply","console","didWarnStateUpdateForUnmountedComponent","warnNoop","publicInstance","callerName","_constructor","componentName","displayName","warningKey","ReactNoopUpdateQueue","isMounted","enqueueForceUpdate","callback","enqueueReplaceState","completeState","enqueueSetState","partialState","assign","emptyObject","Component","props","context","updater","refs","freeze","isReactComponent","setState","forceUpdate","deprecatedAPIs","replaceState","defineDeprecationWarning","methodName","info","fnName","ComponentDummy","PureComponent","pureComponentPrototype","isPureReactComponent","isArrayImpl","checkKeyStringCoercion","willCoercionThrow","hasToStringTag","toStringTag","getContextName","type","REACT_CLIENT_REFERENCE$2","getComponentNameFromType","$$typeof","tag","provider","_context","getWrappedName","outerType","innerType","wrapperName","functionName","render","outerName","payload","lazyComponent","_payload","init","_init","x","REACT_CLIENT_REFERENCE$1","isValidElementType","getModuleId","disabledDepth","disabledLog","__reactDisabledLog","describeBuiltInComponentFrame","ownerFn","Error","match","reentry","describeNativeComponentFrame","fn","construct","previousDispatcher","frame","previousPrepareStackTrace","prepareStackTrace","disableLogs","log","group","groupCollapsed","groupEnd","configurable","writable","defineProperties","RunInRootFrame","DetermineComponentFrameRoot","control","Fake","Reflect","maybePromise","catch","sample","namePropDescriptor","_RunInRootFrame$Deter","sampleStack","controlStack","sampleLines","controlLines","_frame","reenableLogs","syntheticFrame","WeakMap","REACT_CLIENT_REFERENCE","hasValidRef","config","getter","isReactWarning","ref","hasValidKey","ReactElement","_ref","self","source","owner","element","_owner","_store","createElement","children","validateChildKeys","propName","typeString","warnIfStringRefCannotBeAutoConverted","stateNode","__self","childrenLength","childArray","_i","defaultProps","warnAboutAccessingKey","warnAboutAccessingRef","validateFragmentProps","fragment","setCurrentlyValidatingElement","didWarnAboutDeprecatedCreateFactory","node","parentType","child","isValidElement","validateExplicitKey","validated","iteratorFn","entries","step","next","done","object","ownerHasKeyUseWarning","currentComponentErrorInfo","getCurrentComponentErrorInfo","getDeclarationErrorAddendum","parentName","childOwner","describeUnknownElementTypeFrameInDEV","didWarnAboutMaps","userProvidedKeyEscapeRegex","escapeUserProvidedKey","text","getElementKey","index","escaperLookup","noop$1","mapChildren","func","count","mapIntoArray","array","escapedPrefix","nameSoFar","invokeCallback","oldElement","newKey","_child","mappedChild","childKey","SEPARATOR","escapedChildKey","subtreeCount","nextNamePrefix","nextName","iterableChildren","ii","then","resolveThenable","thenable","status","reason","pendingThenable","fulfilledValue","fulfilledThenable","rejectedThenable","childrenString","lazyInitializer","_status","ctor","_result","moduleObject","resolved","rejected","pending","default","createCacheRoot","createCacheNode","resolveDispatcher","dispatcher","noop","onError","reportError","didWarnAboutMessageChannel","enqueueTaskImpl","enqueueTask","task","requireString","random","nodeRequire","setImmediate","_err","MessageChannel","channel","port1","onmessage","port2","postMessage","actScopeDepth","didWarnNoAwaitAct","popActScope","prevActQueue","prevActScopeDepth","recursivelyFlushAsyncActWork","returnValue","resolve","reject","queue","flushActQueue","isFlushing","continuation","splice","queueSeveralMicrotasks","queueMicrotask","Children","forEach","forEachFunc","forEachContext","toArray","only","Fragment","Profiler","StrictMode","Suspense","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","act","prevIsBatchingLegacy","didAwaitActCall","cache","cacheNode","fnMap","getCacheForType","fnNode","l","arg","objectCache","objectNode","primitiveCache","primitiveNode","terminatedNode","erroredNode","cloneElement","clonedElement","_i2","createContext","defaultValue","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_Provider","_currentRenderer","_currentRenderer2","createFactory","factory","bind","createRef","refObject","seal","forwardRef","ownName","elementType","lazy","propTypes","lazyType","newDefaultProps","newPropTypes","memo","compare","startTransition","scope","options","prevTransition","callbacks","Set","_callbacks","currentTransition","_updatedFibers","warnAboutTransitionSubscriptions","updatedFibersCount","unstable_useCacheRefresh","useCacheRefresh","use","usable","useCallback","deps","useContext","Context","useDebugValue","formatterFn","useDeferredValue","initialValue","useEffect","create","useId","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useOptimistic","passthrough","reducer","useReducer","initialArg","useRef","useState","initialState","useSyncExternalStore","subscribe","getSnapshot","getServerSnapshot","useTransition","version","registerInternalModuleStop","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","id","loaded","__webpack_modules__","__esModule","d","definition","obj","prop","nmd","paths","BaseServerSpan","LoadComponentsSpan","NextServerSpan","NextNodeServerSpan","StartServerSpan","RenderSpan","AppRenderSpan","RouterSpan","AppRouteRouteHandlersSpan","ResolveMetadataSpan","MiddlewareSpan","_globalThis","RedirectType","RouteModule","userland","ACTION","FLIGHT_PARAMETERS","ReflectAdapter","receiver","deleteProperty","ReadonlyHeadersError","callable","HeadersAdapter","Headers","Proxy","lowercased","original","find","merge","existing","callbackfn","thisArg","require","ReadonlyRequestCookiesError","RequestCookiesAdapter","cookies","SYMBOL_MODIFY_COOKIE_VALUES","appendMutableCookies","mutableCookies","modifiedCookieValues","getModifiedCookieValues","modified","resCookies","returnedCookies","MutableRequestCookiesAdapter","wrap","onUpdateCookies","responseCookies","modifiedValues","modifiedCookies","updateResponseCookies","staticGenerationAsyncStore","staticGenerationAsyncStorage","getStore","pathWasRevalidated","allCookies","serializedCookies","tempCookies","add","NEXT_CACHE_IMPLICIT_TAG_ID","WEBPACK_LAYERS_NAMES","shared","reactServerComponents","serverSideRendering","actionBrowser","api","middleware","instrument","edgeAsset","appPagesBrowser","appMetadataRoute","appRouteHandler","GROUP","serverOnly","clientOnly","nonClientServerTarget","app","NodeSpan","COOKIE_NAME_PRERENDER_BYPASS","DraftModeProvider","previewProps","req","_cookies_get","isOnDemandRevalidate","checkIsOnDemandRevalidate","previewModeId","revalidateOnlyGenerated","cookieValue","isEnabled","_previewModeId","_mutableCookies","enable","disable","mergeMiddlewareCookies","existingCookies","setCookieValue","RequestAsyncStorageWrapper","storage","res","renderOpts","defaultOnUpdateCookies","setHeader","store","getHeaders","cleaned","param","requestCookies","getMutableCookies","draftMode","reactLoadableManifest","assetPrefix","run","DYNAMIC_ERROR_CODE","description","digest","isDynamicServerError","err","code","hasPostpone","trackDynamicDataAccessed","expression","pathname","getUrlWithoutHost","URL","urlPathname","isUnstableCacheCallback","dynamicShouldError","prerenderState","postponeWithTracking","revalidate","isStaticGeneration","dynamicUsageDescription","dynamicUsageStack","trackDynamicFetch","assertPostpone","dynamicAccesses","isDebugSkeleton","StaticGenerationAsyncStorageWrapper","requestEndedState","supportsDynamicResponse","isDraftMode","isServerAction","experimental","ppr","isDebugPPRSkeleton","pagePath","originalPathname","incrementalCache","globalThis","__incrementalCache","isRevalidate","isPrerendering","nextExport","fetchCache","handleBadRequestResponse","Response","handleMethodNotAllowedResponse","HTTP_METHODS","env","stdout","process","enabled","NO_COLOR","FORCE_COLOR","isTTY","CI","TERM","replaceClose","str","close","end","nextIndex","formatter","open","input","bold","red","green","yellow","magenta","white","prefixes","wait","ready","event","trace","LOGGING_METHOD","prefixedLog","prefixType","message","shift","consoleMethod","cloneResponse","body","body1","body2","tee","cloned1","statusText","url","cloned2","getDerivedTags","derivedTags","startsWith","pathnameParts","curPathname","endsWith","addImplicitTags","staticGenerationStore","_staticGenerationStore_tags","_staticGenerationStore_tags1","newTags","tags","parsedPathname","trackFetchMetric","ctx","_staticGenerationStore_requestEndedState","ended","fetchMetrics","dedupeFields","some","every","metric","field","idx","nextFetchId","sort","b","aDur","bDur","isRedirectError","errorCode","destination","statusCode","RedirectStatusCode","AUTOMATIC_ROUTE_METHODS","AppRouterContext","LayoutRouterContext","GlobalLayoutRouterContext","TemplateContext","MissingSlotContext","AppRouteRouteModule","sharedModules","resolvedPagePath","nextConfigOutput","requestAsyncStorage","serverHooks","actionAsyncStorage","methods","autoImplementMethods","handlers","reduce","acc","method","implemented","GET","HEAD","allow","Allow","OPTIONS","hasNonStaticMethods","dynamic","toUpperCase","execute","rawRequest","handler","requestContext","prerenderManifest","preview","staticGenerationContext","nextUrl","response","isAppRoute","isAction","getServerActionRequestMetadata","actionId","contentType","isURLEncodedAction","isMultipartAction","isFetchAction","_getTracer_getRootSpanAttributes","request","forceDynamic","forceStatic","forceStaticRequestHandlers","requireStaticRequestHandlers","proxyNextRequest","nextUrlHandlers","urlCloneSymbol","clone","nextRequestHandlers","nextURLSymbol","requestCloneSymbol","route","getPathnameFromAbsolutePath","absolutePath","appDir","parts","relativePath","getTracer","getRootSpanAttributes","runHandler","spanName","_staticGenerationStore_incrementalCache","patchFetch","fetch","__nextPatched","createDedupeFetch","originalFetch","getCacheEntries","resource","cacheKey","signal","Request","keepalive","mode","redirect","credentials","referrer","referrerPolicy","integrity","cacheEntries","j","promise","controller","AbortController","entry","createPatchedFetcher","originFetch","DynamicServerError","patched","_init_method","_init_next","username","password","fetchUrl","href","fetchStart","isInternal","internal","hideSpan","NEXT_OTEL_FETCH_DISABLED","internalFetch","kind","SpanKind","CLIENT","hostname","port","_getRequestMeta","cacheReasonOverride","isRequestInput","getRequestMeta","getNextField","_init_next1","_input_next","curRevalidate","validateTags","validTags","invalidTags","implicitTags","fetchCacheMode","isUsingNoStore","isUnstableNoStore","_cache","cacheReason","validateRevalidate","revalidateVal","normalizedRevalidate","initHeaders","hasUnCacheableHeader","isUnCacheableMethod","autoNoCache","isCacheableRevalidate","fetchCacheKey","fetchIdx","doOriginalFetch","isStale","requestInputFields","reqInput","reqOptions","_ogBody","otherInput","clonedInit","fetchType","cacheStatus","bodyBuffer","Buffer","arrayBuffer","data","handleUnlock","Promise","isForegroundRevalidate","lock","kindHint","softTags","pendingRevalidates","pendingRevalidate","finally","resData","dynamicUsageReason","dynamicUsageErr","hasNextConfig","revalidatedResult","pendingResponse","responses","_staticGenerationStore_pendingRevalidates","__nextGetStaticStore","_nextOriginalFetch","params","parsedUrlQueryToParams","query","waitUntil","revalidateTag","revalidatedTags","fetchTags","requestStore","handle","resolveHandlerError","getRedirectStatusCodeFromError","handleRedirectResponse","location","POST","DELETE","PATCH","searchParamsSymbol","hrefSymbol","toStringSymbol","headersSymbol","cookiesSymbol","forceStaticNextUrlHandlers","URLSearchParams","cleanURL","host","search","protocol","requireStaticNextUrlHandlers"],"sourceRoot":""}