(globalThis["TURBOPACK"] || (globalThis["TURBOPACK"] = [])).push([typeof document === "object" ? document.currentScript : undefined, "[project]/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); /** * @license React * react-jsx-dev-runtime.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ "use strict"; "production" !== ("TURBOPACK compile-time value", "development") && function() { function getComponentNameFromType(type) { if (null == type) return null; if ("function" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null; if ("string" === typeof type) return type; switch(type){ case REACT_FRAGMENT_TYPE: return "Fragment"; case REACT_PROFILER_TYPE: return "Profiler"; case REACT_STRICT_MODE_TYPE: return "StrictMode"; case REACT_SUSPENSE_TYPE: return "Suspense"; case REACT_SUSPENSE_LIST_TYPE: return "SuspenseList"; case REACT_ACTIVITY_TYPE: return "Activity"; case REACT_VIEW_TRANSITION_TYPE: return "ViewTransition"; } if ("object" === typeof type) switch("number" === typeof type.tag && console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."), type.$$typeof){ case REACT_PORTAL_TYPE: return "Portal"; case REACT_CONTEXT_TYPE: return type.displayName || "Context"; case REACT_CONSUMER_TYPE: return (type._context.displayName || "Context") + ".Consumer"; case REACT_FORWARD_REF_TYPE: var innerType = type.render; type = type.displayName; type || (type = innerType.displayName || innerType.name || "", type = "" !== type ? "ForwardRef(" + type + ")" : "ForwardRef"); return type; case REACT_MEMO_TYPE: return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || "Memo"; case REACT_LAZY_TYPE: innerType = type._payload; type = type._init; try { return getComponentNameFromType(type(innerType)); } catch (x) {} } return null; } function testStringCoercion(value) { return "" + value; } function checkKeyStringCoercion(value) { try { testStringCoercion(value); var JSCompiler_inline_result = !1; } catch (e) { JSCompiler_inline_result = !0; } if (JSCompiler_inline_result) { JSCompiler_inline_result = console; var JSCompiler_temp_const = JSCompiler_inline_result.error; var JSCompiler_inline_result$jscomp$0 = "function" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || "Object"; JSCompiler_temp_const.call(JSCompiler_inline_result, "The provided key is an unsupported type %s. This value must be coerced to a string before using it here.", JSCompiler_inline_result$jscomp$0); return testStringCoercion(value); } } function getTaskName(type) { if (type === REACT_FRAGMENT_TYPE) return "<>"; if ("object" === typeof type && null !== type && type.$$typeof === REACT_LAZY_TYPE) return "<...>"; try { var name = getComponentNameFromType(type); return name ? "<" + name + ">" : "<...>"; } catch (x) { return "<...>"; } } function getOwner() { var dispatcher = ReactSharedInternals.A; return null === dispatcher ? null : dispatcher.getOwner(); } function UnknownOwner() { return Error("react-stack-top-frame"); } function hasValidKey(config) { if (hasOwnProperty.call(config, "key")) { var getter = Object.getOwnPropertyDescriptor(config, "key").get; if (getter && getter.isReactWarning) return !1; } return void 0 !== config.key; } function defineKeyPropWarningGetter(props, displayName) { function warnAboutAccessingKey() { specialPropKeyWarningShown || (specialPropKeyWarningShown = !0, console.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://react.dev/link/special-props)", displayName)); } warnAboutAccessingKey.isReactWarning = !0; Object.defineProperty(props, "key", { get: warnAboutAccessingKey, configurable: !0 }); } function elementRefGetterWithDeprecationWarning() { var componentName = getComponentNameFromType(this.type); didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = !0, console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")); componentName = this.props.ref; return void 0 !== componentName ? componentName : null; } function ReactElement(type, key, props, owner, debugStack, debugTask) { var refProp = props.ref; type = { $$typeof: REACT_ELEMENT_TYPE, type: type, key: key, props: props, _owner: owner }; null !== (void 0 !== refProp ? refProp : null) ? Object.defineProperty(type, "ref", { enumerable: !1, get: elementRefGetterWithDeprecationWarning }) : Object.defineProperty(type, "ref", { enumerable: !1, value: null }); type._store = {}; Object.defineProperty(type._store, "validated", { configurable: !1, enumerable: !1, writable: !0, value: 0 }); Object.defineProperty(type, "_debugInfo", { configurable: !1, enumerable: !1, writable: !0, value: null }); Object.defineProperty(type, "_debugStack", { configurable: !1, enumerable: !1, writable: !0, value: debugStack }); Object.defineProperty(type, "_debugTask", { configurable: !1, enumerable: !1, writable: !0, value: debugTask }); Object.freeze && (Object.freeze(type.props), Object.freeze(type)); return type; } function jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStack, debugTask) { var children = config.children; if (void 0 !== children) if (isStaticChildren) if (isArrayImpl(children)) { for(isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++)validateChildKeys(children[isStaticChildren]); Object.freeze && Object.freeze(children); } else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."); else validateChildKeys(children); if (hasOwnProperty.call(config, "key")) { children = getComponentNameFromType(type); var keys = Object.keys(config).filter(function(k) { return "key" !== k; }); isStaticChildren = 0 < keys.length ? "{key: someKey, " + keys.join(": ..., ") + ": ...}" : "{key: someKey}"; didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? "{" + keys.join(": ..., ") + ": ...}" : "{}", console.error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />', isStaticChildren, children, keys, children), didWarnAboutKeySpread[children + isStaticChildren] = !0); } children = null; void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = "" + maybeKey); hasValidKey(config) && (checkKeyStringCoercion(config.key), children = "" + config.key); if ("key" in config) { maybeKey = {}; for(var propName in config)"key" !== propName && (maybeKey[propName] = config[propName]); } else maybeKey = config; children && defineKeyPropWarningGetter(maybeKey, "function" === typeof type ? type.displayName || type.name || "Unknown" : type); return ReactElement(type, children, maybeKey, getOwner(), debugStack, debugTask); } function validateChildKeys(node) { isValidElement(node) ? node._store && (node._store.validated = 1) : "object" === typeof node && null !== node && node.$$typeof === REACT_LAZY_TYPE && ("fulfilled" === node._payload.status ? isValidElement(node._payload.value) && node._payload.value._store && (node._payload.value._store.validated = 1) : node._store && (node._store.validated = 1)); } function isValidElement(object) { return "object" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE; } var React = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"), REACT_ELEMENT_TYPE = Symbol.for("react.transitional.element"), REACT_PORTAL_TYPE = Symbol.for("react.portal"), REACT_FRAGMENT_TYPE = Symbol.for("react.fragment"), REACT_STRICT_MODE_TYPE = Symbol.for("react.strict_mode"), REACT_PROFILER_TYPE = Symbol.for("react.profiler"), REACT_CONSUMER_TYPE = Symbol.for("react.consumer"), REACT_CONTEXT_TYPE = Symbol.for("react.context"), REACT_FORWARD_REF_TYPE = Symbol.for("react.forward_ref"), REACT_SUSPENSE_TYPE = Symbol.for("react.suspense"), REACT_SUSPENSE_LIST_TYPE = Symbol.for("react.suspense_list"), REACT_MEMO_TYPE = Symbol.for("react.memo"), REACT_LAZY_TYPE = Symbol.for("react.lazy"), REACT_ACTIVITY_TYPE = Symbol.for("react.activity"), REACT_VIEW_TRANSITION_TYPE = Symbol.for("react.view_transition"), REACT_CLIENT_REFERENCE = Symbol.for("react.client.reference"), ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, hasOwnProperty = Object.prototype.hasOwnProperty, isArrayImpl = Array.isArray, createTask = console.createTask ? console.createTask : function() { return null; }; React = { react_stack_bottom_frame: function(callStackForError) { return callStackForError(); } }; var specialPropKeyWarningShown; var didWarnAboutElementRef = {}; var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(React, UnknownOwner)(); var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner)); var didWarnAboutKeySpread = {}; exports.Fragment = REACT_FRAGMENT_TYPE; exports.jsxDEV = function(type, config, maybeKey, isStaticChildren) { var trackActualOwner = 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++; if (trackActualOwner) { var previousStackTraceLimit = Error.stackTraceLimit; Error.stackTraceLimit = 10; var debugStackDEV = Error("react-stack-top-frame"); Error.stackTraceLimit = previousStackTraceLimit; } else debugStackDEV = unknownOwnerDebugStack; return jsxDEVImpl(type, config, maybeKey, isStaticChildren, debugStackDEV, trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask); }; }(); }), "[project]/node_modules/next/dist/compiled/react/jsx-dev-runtime.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); 'use strict'; if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable ; else { module.exports = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/cjs/react-jsx-dev-runtime.development.js [app-client] (ecmascript)"); } }), "[project]/node_modules/@babel/runtime/helpers/interopRequireDefault.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/typeof.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function _typeof(o) { "@babel/helpers - typeof"; return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o) { return typeof o; } : function(o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o); } module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/OverloadYield.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function _OverloadYield(e, d) { this.v = e, this.k = d; } module.exports = _OverloadYield, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/regeneratorDefine.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function _regeneratorDefine(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } module.exports = _regeneratorDefine = function regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine(e, r, function(e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, module.exports.__esModule = true, module.exports["default"] = module.exports, _regeneratorDefine(e, r, n, t); } module.exports = _regeneratorDefine, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/regenerator.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var regeneratorDefine = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/regeneratorDefine.js [app-client] (ecmascript)"); function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return regeneratorDefine(u, "_invoke", function(r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for(c = r, u = n, t = 0; !y && f && !o && t < p.length; t++){ var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function(o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for(y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;){ i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally{ f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (regeneratorDefine(t = {}, n, function() { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, regeneratorDefine(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, regeneratorDefine(u, "constructor", GeneratorFunctionPrototype), regeneratorDefine(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", regeneratorDefine(GeneratorFunctionPrototype, o, "GeneratorFunction"), regeneratorDefine(u), regeneratorDefine(u, o, "Generator"), regeneratorDefine(u, n, function() { return this; }), regeneratorDefine(u, "toString", function() { return "[object Generator]"; }), (module.exports = _regenerator = function _regenerator() { return { w: i, m: f }; }, module.exports.__esModule = true, module.exports["default"] = module.exports)(); } module.exports = _regenerator, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var OverloadYield = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/OverloadYield.js [app-client] (ecmascript)"); var regeneratorDefine = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/regeneratorDefine.js [app-client] (ecmascript)"); function AsyncIterator(t, e) { function n(r, o, i, f) { try { var c = t[r](o), u = c.value; return u instanceof OverloadYield ? e.resolve(u.v).then(function(t) { n("next", t, i, f); }, function(t) { n("throw", t, i, f); }) : e.resolve(u).then(function(t) { c.value = t, i(c); }, function(t) { return n("throw", t, i, f); }); } catch (t) { f(t); } } var r; this.next || (regeneratorDefine(AsyncIterator.prototype), regeneratorDefine(AsyncIterator.prototype, "function" == typeof Symbol && Symbol.asyncIterator || "@asyncIterator", function() { return this; })), regeneratorDefine(this, "_invoke", function(t, o, i) { function f() { return new e(function(e, r) { n(t, i, e, r); }); } return r = r ? r.then(f, f) : f(); }, !0); } module.exports = AsyncIterator, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var regenerator = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/regenerator.js [app-client] (ecmascript)"); var regeneratorAsyncIterator = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js [app-client] (ecmascript)"); function _regeneratorAsyncGen(r, e, t, o, n) { return new regeneratorAsyncIterator(regenerator().w(r, e, t, o), n || Promise); } module.exports = _regeneratorAsyncGen, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/regeneratorAsync.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var regeneratorAsyncGen = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js [app-client] (ecmascript)"); function _regeneratorAsync(n, e, r, t, o) { var a = regeneratorAsyncGen(n, e, r, t, o); return a.next().then(function(n) { return n.done ? n.value : a.next(); }); } module.exports = _regeneratorAsync, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/regeneratorKeys.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function _regeneratorKeys(e) { var n = Object(e), r = []; for(var t in n)r.unshift(t); return function e() { for(; r.length;)if ((t = r.pop()) in n) return e.value = t, e.done = !1, e; return e.done = !0, e; }; } module.exports = _regeneratorKeys, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/regeneratorValues.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var _typeof = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/typeof.js [app-client] (ecmascript)")["default"]; function _regeneratorValues(e) { if (null != e) { var t = e["function" == typeof Symbol && Symbol.iterator || "@@iterator"], r = 0; if (t) return t.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) return { next: function next() { return e && r >= e.length && (e = void 0), { value: e && e[r++], done: !e }; } }; } throw new TypeError(_typeof(e) + " is not iterable"); } module.exports = _regeneratorValues, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/regeneratorRuntime.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var OverloadYield = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/OverloadYield.js [app-client] (ecmascript)"); var regenerator = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/regenerator.js [app-client] (ecmascript)"); var regeneratorAsync = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/regeneratorAsync.js [app-client] (ecmascript)"); var regeneratorAsyncGen = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/regeneratorAsyncGen.js [app-client] (ecmascript)"); var regeneratorAsyncIterator = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/regeneratorAsyncIterator.js [app-client] (ecmascript)"); var regeneratorKeys = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/regeneratorKeys.js [app-client] (ecmascript)"); var regeneratorValues = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/regeneratorValues.js [app-client] (ecmascript)"); function _regeneratorRuntime() { "use strict"; var r = regenerator(), e = r.m(_regeneratorRuntime), t = (Object.getPrototypeOf ? Object.getPrototypeOf(e) : e.__proto__).constructor; function n(r) { var e = "function" == typeof r && r.constructor; return !!e && (e === t || "GeneratorFunction" === (e.displayName || e.name)); } var o = { "throw": 1, "return": 2, "break": 3, "continue": 3 }; function a(r) { var e, t; return function(n) { e || (e = { stop: function stop() { return t(n.a, 2); }, "catch": function _catch() { return n.v; }, abrupt: function abrupt(r, e) { return t(n.a, o[r], e); }, delegateYield: function delegateYield(r, o, a) { return e.resultName = o, t(n.d, regeneratorValues(r), a); }, finish: function finish(r) { return t(n.f, r); } }, t = function t(r, _t, o) { n.p = e.prev, n.n = e.next; try { return r(_t, o); } finally{ e.next = n.n; } }), e.resultName && (e[e.resultName] = n.v, e.resultName = void 0), e.sent = n.v, e.next = n.n; try { return r.call(this, e); } finally{ n.p = e.prev, n.n = e.next; } }; } return (module.exports = _regeneratorRuntime = function _regeneratorRuntime() { return { wrap: function wrap(e, t, n, o) { return r.w(a(e), t, n, o && o.reverse()); }, isGeneratorFunction: n, mark: r.m, awrap: function awrap(r, e) { return new OverloadYield(r, e); }, AsyncIterator: regeneratorAsyncIterator, async: function async(r, e, t, o, u) { return (n(e) ? regeneratorAsyncGen : regeneratorAsync)(a(r), e, t, o, u); }, keys: regeneratorKeys, values: regeneratorValues }; }, module.exports.__esModule = true, module.exports["default"] = module.exports)(); } module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/regenerator/index.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { // TODO(Babel 8): Remove this file. var runtime = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/regeneratorRuntime.js [app-client] (ecmascript)")(); module.exports = runtime; // Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736= try { regeneratorRuntime = runtime; } catch (accidentalStrictMode) { if (typeof globalThis === "object") { globalThis.regeneratorRuntime = runtime; } else { Function("r", "regeneratorRuntime = r")(runtime); } } }), "[project]/node_modules/@babel/runtime/helpers/toPrimitive.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var _typeof = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/typeof.js [app-client] (ecmascript)")["default"]; function toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } module.exports = toPrimitive, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/toPropertyKey.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var _typeof = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/typeof.js [app-client] (ecmascript)")["default"]; var toPrimitive = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/toPrimitive.js [app-client] (ecmascript)"); function toPropertyKey(t) { var i = toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } module.exports = toPropertyKey, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/defineProperty.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var toPropertyKey = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/toPropertyKey.js [app-client] (ecmascript)"); function _defineProperty(e, r, t) { return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; } module.exports = _defineProperty, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/asyncToGenerator.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); } function _asyncToGenerator(n) { return function() { var t = this, e = arguments; return new Promise(function(r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; } module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/arrayWithHoles.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for(; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally{ try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally{ if (o) throw n; } } return a; } } module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/arrayLikeToArray.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for(var e = 0, n = Array(a); e < a; e++)n[e] = r[e]; return n; } module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var arrayLikeToArray = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/arrayLikeToArray.js [app-client] (ecmascript)"); function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return arrayLikeToArray(r, a); var t = ({}).toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0; } } module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/nonIterableRest.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/slicedToArray.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var arrayWithHoles = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/arrayWithHoles.js [app-client] (ecmascript)"); var iterableToArrayLimit = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js [app-client] (ecmascript)"); var unsupportedIterableToArray = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js [app-client] (ecmascript)"); var nonIterableRest = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/nonIterableRest.js [app-client] (ecmascript)"); function _slicedToArray(r, e) { return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest(); } module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/classCallCheck.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/createClass.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var toPropertyKey = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/toPropertyKey.js [app-client] (ecmascript)"); function _defineProperties(e, r) { for(var t = 0; t < r.length; t++){ var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o); } } function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; } module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/assertThisInitialized.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var _typeof = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/typeof.js [app-client] (ecmascript)")["default"]; var assertThisInitialized = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/assertThisInitialized.js [app-client] (ecmascript)"); function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return assertThisInitialized(t); } module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/getPrototypeOf.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function _getPrototypeOf(t) { return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) { return t.__proto__ || Object.getPrototypeOf(t); }, module.exports.__esModule = true, module.exports["default"] = module.exports, _getPrototypeOf(t); } module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/setPrototypeOf.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function _setPrototypeOf(t, e) { return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t, e) { return t.__proto__ = e, t; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _setPrototypeOf(t, e); } module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/inherits.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var setPrototypeOf = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/setPrototypeOf.js [app-client] (ecmascript)"); function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && setPrototypeOf(t, e); } module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/isNativeFunction.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf("[native code]"); } catch (n) { return "function" == typeof t; } } module.exports = _isNativeFunction, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {})); } catch (t) {} return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; }, module.exports.__esModule = true, module.exports["default"] = module.exports)(); } module.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/construct.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var isNativeReflectConstruct = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js [app-client] (ecmascript)"); var setPrototypeOf = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/setPrototypeOf.js [app-client] (ecmascript)"); function _construct(t, e, r) { if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [ null ]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && setPrototypeOf(p, r.prototype), p; } module.exports = _construct, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/@babel/runtime/helpers/wrapNativeSuper.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { var getPrototypeOf = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/getPrototypeOf.js [app-client] (ecmascript)"); var setPrototypeOf = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/setPrototypeOf.js [app-client] (ecmascript)"); var isNativeFunction = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/isNativeFunction.js [app-client] (ecmascript)"); var construct = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/construct.js [app-client] (ecmascript)"); function _wrapNativeSuper(t) { var r = "function" == typeof Map ? new Map() : void 0; return module.exports = _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !isNativeFunction(t)) return t; if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return construct(t, arguments, getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), setPrototypeOf(Wrapper, t); }, module.exports.__esModule = true, module.exports["default"] = module.exports, _wrapNativeSuper(t); } module.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports["default"] = module.exports; }), "[project]/node_modules/next-auth/core/errors.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var _interopRequireDefault = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/interopRequireDefault.js [app-client] (ecmascript)"); Object.defineProperty(exports, "__esModule", { value: true }); exports.UnsupportedStrategy = exports.UnknownError = exports.OAuthCallbackError = exports.MissingSecret = exports.MissingAuthorize = exports.MissingAdapterMethods = exports.MissingAdapter = exports.MissingAPIRoute = exports.InvalidCallbackUrl = exports.AccountNotLinkedError = void 0; exports.adapterErrorHandler = adapterErrorHandler; exports.capitalize = capitalize; exports.eventsErrorHandler = eventsErrorHandler; exports.upperSnake = upperSnake; var _regenerator = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/regenerator/index.js [app-client] (ecmascript)")); var _asyncToGenerator2 = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/asyncToGenerator.js [app-client] (ecmascript)")); var _defineProperty2 = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/defineProperty.js [app-client] (ecmascript)")); var _classCallCheck2 = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/classCallCheck.js [app-client] (ecmascript)")); var _createClass2 = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/createClass.js [app-client] (ecmascript)")); var _possibleConstructorReturn2 = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js [app-client] (ecmascript)")); var _getPrototypeOf2 = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/getPrototypeOf.js [app-client] (ecmascript)")); var _inherits2 = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/inherits.js [app-client] (ecmascript)")); var _wrapNativeSuper2 = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/wrapNativeSuper.js [app-client] (ecmascript)")); function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); } function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } var UnknownError = exports.UnknownError = function(_Error) { function UnknownError(error) { var _message; var _this; (0, _classCallCheck2.default)(this, UnknownError); _this = _callSuper(this, UnknownError, [ (_message = error === null || error === void 0 ? void 0 : error.message) !== null && _message !== void 0 ? _message : error ]); _this.name = "UnknownError"; _this.code = error.code; if (error instanceof Error) { _this.stack = error.stack; } return _this; } (0, _inherits2.default)(UnknownError, _Error); return (0, _createClass2.default)(UnknownError, [ { key: "toJSON", value: function toJSON() { return { name: this.name, message: this.message, stack: this.stack }; } } ]); }((0, _wrapNativeSuper2.default)(Error)); var OAuthCallbackError = exports.OAuthCallbackError = function(_UnknownError) { function OAuthCallbackError() { var _this2; (0, _classCallCheck2.default)(this, OAuthCallbackError); for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){ args[_key] = arguments[_key]; } _this2 = _callSuper(this, OAuthCallbackError, [].concat(args)); (0, _defineProperty2.default)(_this2, "name", "OAuthCallbackError"); return _this2; } (0, _inherits2.default)(OAuthCallbackError, _UnknownError); return (0, _createClass2.default)(OAuthCallbackError); }(UnknownError); var AccountNotLinkedError = exports.AccountNotLinkedError = function(_UnknownError2) { function AccountNotLinkedError() { var _this3; (0, _classCallCheck2.default)(this, AccountNotLinkedError); for(var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++){ args[_key2] = arguments[_key2]; } _this3 = _callSuper(this, AccountNotLinkedError, [].concat(args)); (0, _defineProperty2.default)(_this3, "name", "AccountNotLinkedError"); return _this3; } (0, _inherits2.default)(AccountNotLinkedError, _UnknownError2); return (0, _createClass2.default)(AccountNotLinkedError); }(UnknownError); var MissingAPIRoute = exports.MissingAPIRoute = function(_UnknownError3) { function MissingAPIRoute() { var _this4; (0, _classCallCheck2.default)(this, MissingAPIRoute); for(var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++){ args[_key3] = arguments[_key3]; } _this4 = _callSuper(this, MissingAPIRoute, [].concat(args)); (0, _defineProperty2.default)(_this4, "name", "MissingAPIRouteError"); (0, _defineProperty2.default)(_this4, "code", "MISSING_NEXTAUTH_API_ROUTE_ERROR"); return _this4; } (0, _inherits2.default)(MissingAPIRoute, _UnknownError3); return (0, _createClass2.default)(MissingAPIRoute); }(UnknownError); var MissingSecret = exports.MissingSecret = function(_UnknownError4) { function MissingSecret() { var _this5; (0, _classCallCheck2.default)(this, MissingSecret); for(var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++){ args[_key4] = arguments[_key4]; } _this5 = _callSuper(this, MissingSecret, [].concat(args)); (0, _defineProperty2.default)(_this5, "name", "MissingSecretError"); (0, _defineProperty2.default)(_this5, "code", "NO_SECRET"); return _this5; } (0, _inherits2.default)(MissingSecret, _UnknownError4); return (0, _createClass2.default)(MissingSecret); }(UnknownError); var MissingAuthorize = exports.MissingAuthorize = function(_UnknownError5) { function MissingAuthorize() { var _this6; (0, _classCallCheck2.default)(this, MissingAuthorize); for(var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++){ args[_key5] = arguments[_key5]; } _this6 = _callSuper(this, MissingAuthorize, [].concat(args)); (0, _defineProperty2.default)(_this6, "name", "MissingAuthorizeError"); (0, _defineProperty2.default)(_this6, "code", "CALLBACK_CREDENTIALS_HANDLER_ERROR"); return _this6; } (0, _inherits2.default)(MissingAuthorize, _UnknownError5); return (0, _createClass2.default)(MissingAuthorize); }(UnknownError); var MissingAdapter = exports.MissingAdapter = function(_UnknownError6) { function MissingAdapter() { var _this7; (0, _classCallCheck2.default)(this, MissingAdapter); for(var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++){ args[_key6] = arguments[_key6]; } _this7 = _callSuper(this, MissingAdapter, [].concat(args)); (0, _defineProperty2.default)(_this7, "name", "MissingAdapterError"); (0, _defineProperty2.default)(_this7, "code", "EMAIL_REQUIRES_ADAPTER_ERROR"); return _this7; } (0, _inherits2.default)(MissingAdapter, _UnknownError6); return (0, _createClass2.default)(MissingAdapter); }(UnknownError); var MissingAdapterMethods = exports.MissingAdapterMethods = function(_UnknownError7) { function MissingAdapterMethods() { var _this8; (0, _classCallCheck2.default)(this, MissingAdapterMethods); for(var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++){ args[_key7] = arguments[_key7]; } _this8 = _callSuper(this, MissingAdapterMethods, [].concat(args)); (0, _defineProperty2.default)(_this8, "name", "MissingAdapterMethodsError"); (0, _defineProperty2.default)(_this8, "code", "MISSING_ADAPTER_METHODS_ERROR"); return _this8; } (0, _inherits2.default)(MissingAdapterMethods, _UnknownError7); return (0, _createClass2.default)(MissingAdapterMethods); }(UnknownError); var UnsupportedStrategy = exports.UnsupportedStrategy = function(_UnknownError8) { function UnsupportedStrategy() { var _this9; (0, _classCallCheck2.default)(this, UnsupportedStrategy); for(var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++){ args[_key8] = arguments[_key8]; } _this9 = _callSuper(this, UnsupportedStrategy, [].concat(args)); (0, _defineProperty2.default)(_this9, "name", "UnsupportedStrategyError"); (0, _defineProperty2.default)(_this9, "code", "CALLBACK_CREDENTIALS_JWT_ERROR"); return _this9; } (0, _inherits2.default)(UnsupportedStrategy, _UnknownError8); return (0, _createClass2.default)(UnsupportedStrategy); }(UnknownError); var InvalidCallbackUrl = exports.InvalidCallbackUrl = function(_UnknownError9) { function InvalidCallbackUrl() { var _this10; (0, _classCallCheck2.default)(this, InvalidCallbackUrl); for(var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++){ args[_key9] = arguments[_key9]; } _this10 = _callSuper(this, InvalidCallbackUrl, [].concat(args)); (0, _defineProperty2.default)(_this10, "name", "InvalidCallbackUrl"); (0, _defineProperty2.default)(_this10, "code", "INVALID_CALLBACK_URL_ERROR"); return _this10; } (0, _inherits2.default)(InvalidCallbackUrl, _UnknownError9); return (0, _createClass2.default)(InvalidCallbackUrl); }(UnknownError); function upperSnake(s) { return s.replace(/([A-Z])/g, "_$1").toUpperCase(); } function capitalize(s) { return "".concat(s[0].toUpperCase()).concat(s.slice(1)); } function eventsErrorHandler(methods, logger) { return Object.keys(methods).reduce(function(acc, name) { acc[name] = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() { var method, _args = arguments; return _regenerator.default.wrap(function _callee$(_context) { while(1)switch(_context.prev = _context.next){ case 0: _context.prev = 0; method = methods[name]; _context.next = 4; return method.apply(void 0, _args); case 4: return _context.abrupt("return", _context.sent); case 7: _context.prev = 7; _context.t0 = _context["catch"](0); logger.error("".concat(upperSnake(name), "_EVENT_ERROR"), _context.t0); case 10: case "end": return _context.stop(); } }, _callee, null, [ [ 0, 7 ] ]); })); return acc; }, {}); } function adapterErrorHandler(adapter, logger) { if (!adapter) return; return Object.keys(adapter).reduce(function(acc, name) { acc[name] = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() { var _len10, args, _key10, method, e, _args2 = arguments; return _regenerator.default.wrap(function _callee2$(_context2) { while(1)switch(_context2.prev = _context2.next){ case 0: _context2.prev = 0; for(_len10 = _args2.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++){ args[_key10] = _args2[_key10]; } logger.debug("adapter_".concat(name), { args: args }); method = adapter[name]; _context2.next = 6; return method.apply(void 0, args); case 6: return _context2.abrupt("return", _context2.sent); case 9: _context2.prev = 9; _context2.t0 = _context2["catch"](0); logger.error("adapter_error_".concat(name), _context2.t0); e = new UnknownError(_context2.t0); e.name = "".concat(capitalize(name), "Error"); throw e; case 15: case "end": return _context2.stop(); } }, _callee2, null, [ [ 0, 9 ] ]); })); return acc; }, {}); } }), "[project]/node_modules/next-auth/utils/logger.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var _interopRequireDefault = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/interopRequireDefault.js [app-client] (ecmascript)"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; exports.proxyLogger = proxyLogger; exports.setLogger = setLogger; var _regenerator = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/regenerator/index.js [app-client] (ecmascript)")); var _defineProperty2 = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/defineProperty.js [app-client] (ecmascript)")); var _asyncToGenerator2 = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/asyncToGenerator.js [app-client] (ecmascript)")); var _errors = __turbopack_context__.r("[project]/node_modules/next-auth/core/errors.js [app-client] (ecmascript)"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function(r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for(var r = 1; r < arguments.length; r++){ var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function(r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function formatError(o) { if (o instanceof Error && !(o instanceof _errors.UnknownError)) { return { message: o.message, stack: o.stack, name: o.name }; } if (hasErrorProperty(o)) { var _o$message; o.error = formatError(o.error); o.message = (_o$message = o.message) !== null && _o$message !== void 0 ? _o$message : o.error.message; } return o; } function hasErrorProperty(x) { return !!(x !== null && x !== void 0 && x.error); } var _logger = { error: function error(code, metadata) { metadata = formatError(metadata); console.error("[next-auth][error][".concat(code, "]"), "\nhttps://next-auth.js.org/errors#".concat(code.toLowerCase()), metadata.message, metadata); }, warn: function warn(code) { console.warn("[next-auth][warn][".concat(code, "]"), "\nhttps://next-auth.js.org/warnings#".concat(code.toLowerCase())); }, debug: function debug(code, metadata) { console.log("[next-auth][debug][".concat(code, "]"), metadata); } }; function setLogger() { var newLogger = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var debug = arguments.length > 1 ? arguments[1] : undefined; if (!debug) _logger.debug = function() {}; if (newLogger.error) _logger.error = newLogger.error; if (newLogger.warn) _logger.warn = newLogger.warn; if (newLogger.debug) _logger.debug = newLogger.debug; } var _default = exports.default = _logger; function proxyLogger() { var logger = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _logger; var basePath = arguments.length > 1 ? arguments[1] : undefined; try { if (typeof window === "undefined") { return logger; } var clientLogger = {}; var _loop = function _loop(level) { clientLogger[level] = function() { var _ref = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(code, metadata) { var url, body; return _regenerator.default.wrap(function _callee$(_context) { while(1)switch(_context.prev = _context.next){ case 0: _logger[level](code, metadata); if (level === "error") { metadata = formatError(metadata); } ; metadata.client = true; url = "".concat(basePath, "/_log"); body = new URLSearchParams(_objectSpread({ level: level, code: code }, metadata)); if (!navigator.sendBeacon) { _context.next = 8; break; } return _context.abrupt("return", navigator.sendBeacon(url, body)); case 8: _context.next = 10; return fetch(url, { method: "POST", body: body, keepalive: true }); case 10: return _context.abrupt("return", _context.sent); case 11: case "end": return _context.stop(); } }, _callee); })); return function(_x, _x2) { return _ref.apply(this, arguments); }; }(); }; for(var level in logger){ _loop(level); } return clientLogger; } catch (_unused) { return _logger; } } }), "[project]/node_modules/next-auth/utils/parse-url.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = parseUrl; function parseUrl(url) { var _url2; const defaultUrl = new URL("http://localhost:3000/api/auth"); if (url && !url.startsWith("http")) { url = `https://${url}`; } const _url = new URL((_url2 = url) !== null && _url2 !== void 0 ? _url2 : defaultUrl); const path = (_url.pathname === "/" ? defaultUrl.pathname : _url.pathname).replace(/\/$/, ""); const base = `${_url.origin}${path}`; return { origin: _url.origin, host: _url.host, path, base, toString: ()=>base }; } }), "[project]/node_modules/next-auth/client/_utils.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var _interopRequireDefault = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/interopRequireDefault.js [app-client] (ecmascript)"); Object.defineProperty(exports, "__esModule", { value: true }); exports.BroadcastChannel = BroadcastChannel; exports.apiBaseUrl = apiBaseUrl; exports.fetchData = fetchData; exports.now = now; var _regenerator = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/regenerator/index.js [app-client] (ecmascript)")); var _defineProperty2 = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/defineProperty.js [app-client] (ecmascript)")); var _asyncToGenerator2 = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/asyncToGenerator.js [app-client] (ecmascript)")); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function(r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for(var r = 1; r < arguments.length; r++){ var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function(r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } function fetchData(_x, _x2, _x3) { return _fetchData.apply(this, arguments); } function _fetchData() { _fetchData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(path, __NEXTAUTH, logger) { var _ref, ctx, _ref$req, req, url, _req$headers, options, res, data, _args = arguments; return _regenerator.default.wrap(function _callee$(_context) { while(1)switch(_context.prev = _context.next){ case 0: _ref = _args.length > 3 && _args[3] !== undefined ? _args[3] : {}, ctx = _ref.ctx, _ref$req = _ref.req, req = _ref$req === void 0 ? ctx === null || ctx === void 0 ? void 0 : ctx.req : _ref$req; url = "".concat(apiBaseUrl(__NEXTAUTH), "/").concat(path); _context.prev = 2; options = { headers: _objectSpread({ "Content-Type": "application/json" }, req !== null && req !== void 0 && (_req$headers = req.headers) !== null && _req$headers !== void 0 && _req$headers.cookie ? { cookie: req.headers.cookie } : {}) }; if (req !== null && req !== void 0 && req.body) { options.body = JSON.stringify(req.body); options.method = "POST"; } _context.next = 7; return fetch(url, options); case 7: res = _context.sent; _context.next = 10; return res.json(); case 10: data = _context.sent; if (res.ok) { _context.next = 13; break; } throw data; case 13: return _context.abrupt("return", Object.keys(data).length > 0 ? data : null); case 16: _context.prev = 16; _context.t0 = _context["catch"](2); logger.error("CLIENT_FETCH_ERROR", { error: _context.t0, url: url }); return _context.abrupt("return", null); case 20: case "end": return _context.stop(); } }, _callee, null, [ [ 2, 16 ] ]); })); return _fetchData.apply(this, arguments); } function apiBaseUrl(__NEXTAUTH) { if (typeof window === "undefined") { return "".concat(__NEXTAUTH.baseUrlServer).concat(__NEXTAUTH.basePathServer); } return __NEXTAUTH.basePath; } function now() { return Math.floor(Date.now() / 1000); } function BroadcastChannel() { var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "nextauth.message"; return { receive: function receive(onReceive) { var handler = function handler(event) { var _event$newValue; if (event.key !== name) return; var message = JSON.parse((_event$newValue = event.newValue) !== null && _event$newValue !== void 0 ? _event$newValue : "{}"); if ((message === null || message === void 0 ? void 0 : message.event) !== "session" || !(message !== null && message !== void 0 && message.data)) return; onReceive(message); }; window.addEventListener("storage", handler); return function() { return window.removeEventListener("storage", handler); }; }, post: function post(message) { if (typeof window === "undefined") return; try { localStorage.setItem(name, JSON.stringify(_objectSpread(_objectSpread({}, message), {}, { timestamp: now() }))); } catch (_unused) {} } }; } }), "[project]/node_modules/next-auth/react/types.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); }), "[project]/node_modules/next-auth/react/index.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); "use strict"; var _interopRequireDefault = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/interopRequireDefault.js [app-client] (ecmascript)"); var _typeof = __turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/typeof.js [app-client] (ecmascript)"); Object.defineProperty(exports, "__esModule", { value: true }); var _exportNames = { SessionContext: true, useSession: true, getSession: true, getCsrfToken: true, getProviders: true, signIn: true, signOut: true, SessionProvider: true }; exports.SessionContext = void 0; exports.SessionProvider = SessionProvider; exports.getCsrfToken = getCsrfToken; exports.getProviders = getProviders; exports.getSession = getSession; exports.signIn = signIn; exports.signOut = signOut; exports.useSession = useSession; var _regenerator = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/regenerator/index.js [app-client] (ecmascript)")); var _defineProperty2 = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/defineProperty.js [app-client] (ecmascript)")); var _asyncToGenerator2 = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/asyncToGenerator.js [app-client] (ecmascript)")); var _slicedToArray2 = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/@babel/runtime/helpers/slicedToArray.js [app-client] (ecmascript)")); var React = _interopRequireWildcard(__turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)")); var _logger2 = _interopRequireWildcard(__turbopack_context__.r("[project]/node_modules/next-auth/utils/logger.js [app-client] (ecmascript)")); var _parseUrl = _interopRequireDefault(__turbopack_context__.r("[project]/node_modules/next-auth/utils/parse-url.js [app-client] (ecmascript)")); var _utils = __turbopack_context__.r("[project]/node_modules/next-auth/client/_utils.js [app-client] (ecmascript)"); var _jsxRuntime = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)"); var _types = __turbopack_context__.r("[project]/node_modules/next-auth/react/types.js [app-client] (ecmascript)"); Object.keys(_types).forEach(function(key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; if (key in exports && exports[key] === _types[key]) return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { return _types[key]; } }); }); var _process$env$NEXTAUTH, _ref, _process$env$NEXTAUTH2, _process$env$NEXTAUTH3, _React$createContext; function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for(var u in e)if ("default" !== u && ({}).hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function(r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for(var r = 1; r < arguments.length; r++){ var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function(r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var __NEXTAUTH = { baseUrl: (0, _parseUrl.default)((_process$env$NEXTAUTH = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].env.NEXTAUTH_URL) !== null && _process$env$NEXTAUTH !== void 0 ? _process$env$NEXTAUTH : __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].env.VERCEL_URL).origin, basePath: (0, _parseUrl.default)(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].env.NEXTAUTH_URL).path, baseUrlServer: (0, _parseUrl.default)((_ref = (_process$env$NEXTAUTH2 = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].env.NEXTAUTH_URL_INTERNAL) !== null && _process$env$NEXTAUTH2 !== void 0 ? _process$env$NEXTAUTH2 : __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].env.NEXTAUTH_URL) !== null && _ref !== void 0 ? _ref : __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].env.VERCEL_URL).origin, basePathServer: (0, _parseUrl.default)((_process$env$NEXTAUTH3 = __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].env.NEXTAUTH_URL_INTERNAL) !== null && _process$env$NEXTAUTH3 !== void 0 ? _process$env$NEXTAUTH3 : __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].env.NEXTAUTH_URL).path, _lastSync: 0, _session: undefined, _getSession: function _getSession() {} }; var broadcast = (0, _utils.BroadcastChannel)(); var logger = (0, _logger2.proxyLogger)(_logger2.default, __NEXTAUTH.basePath); function useOnline() { var _React$useState = React.useState(typeof navigator !== "undefined" ? navigator.onLine : false), _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2), isOnline = _React$useState2[0], setIsOnline = _React$useState2[1]; var setOnline = function setOnline() { return setIsOnline(true); }; var setOffline = function setOffline() { return setIsOnline(false); }; React.useEffect({ "useOnline.useEffect": function() { window.addEventListener("online", setOnline); window.addEventListener("offline", setOffline); return ({ "useOnline.useEffect": function() { window.removeEventListener("online", setOnline); window.removeEventListener("offline", setOffline); } })["useOnline.useEffect"]; } }["useOnline.useEffect"], []); return isOnline; } var SessionContext = exports.SessionContext = (_React$createContext = React.createContext) === null || _React$createContext === void 0 ? void 0 : _React$createContext.call(React, undefined); function useSession(options) { if (!SessionContext) { throw new Error("React Context is unavailable in Server Components"); } var value = React.useContext(SessionContext); if (!value && ("TURBOPACK compile-time value", "development") !== "production") { throw new Error("[next-auth]: `useSession` must be wrapped in a "); } var _ref2 = options !== null && options !== void 0 ? options : {}, required = _ref2.required, onUnauthenticated = _ref2.onUnauthenticated; var requiredAndNotLoading = required && value.status === "unauthenticated"; React.useEffect({ "useSession.useEffect": function() { if (requiredAndNotLoading) { var url = "/api/auth/signin?".concat(new URLSearchParams({ error: "SessionRequired", callbackUrl: window.location.href })); if (onUnauthenticated) onUnauthenticated(); else window.location.href = url; } } }["useSession.useEffect"], [ requiredAndNotLoading, onUnauthenticated ]); if (requiredAndNotLoading) { return { data: value.data, update: value.update, status: "loading" }; } return value; } function getSession(_x) { return _getSession2.apply(this, arguments); } function _getSession2() { _getSession2 = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(params) { var _params$broadcast; var session; return _regenerator.default.wrap(function _callee3$(_context3) { while(1)switch(_context3.prev = _context3.next){ case 0: _context3.next = 2; return (0, _utils.fetchData)("session", __NEXTAUTH, logger, params); case 2: session = _context3.sent; if ((_params$broadcast = params === null || params === void 0 ? void 0 : params.broadcast) !== null && _params$broadcast !== void 0 ? _params$broadcast : true) { broadcast.post({ event: "session", data: { trigger: "getSession" } }); } return _context3.abrupt("return", session); case 5: case "end": return _context3.stop(); } }, _callee3); })); return _getSession2.apply(this, arguments); } function getCsrfToken(_x2) { return _getCsrfToken.apply(this, arguments); } function _getCsrfToken() { _getCsrfToken = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(params) { var response; return _regenerator.default.wrap(function _callee4$(_context4) { while(1)switch(_context4.prev = _context4.next){ case 0: _context4.next = 2; return (0, _utils.fetchData)("csrf", __NEXTAUTH, logger, params); case 2: response = _context4.sent; return _context4.abrupt("return", response === null || response === void 0 ? void 0 : response.csrfToken); case 4: case "end": return _context4.stop(); } }, _callee4); })); return _getCsrfToken.apply(this, arguments); } function getProviders() { return _getProviders.apply(this, arguments); } function _getProviders() { _getProviders = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee5() { return _regenerator.default.wrap(function _callee5$(_context5) { while(1)switch(_context5.prev = _context5.next){ case 0: _context5.next = 2; return (0, _utils.fetchData)("providers", __NEXTAUTH, logger); case 2: return _context5.abrupt("return", _context5.sent); case 3: case "end": return _context5.stop(); } }, _callee5); })); return _getProviders.apply(this, arguments); } function signIn(_x3, _x4, _x5) { return _signIn.apply(this, arguments); } function _signIn() { _signIn = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee6(provider, options, authorizationParams) { var _ref5, _ref5$callbackUrl, callbackUrl, _ref5$redirect, redirect, baseUrl, providers, isCredentials, isEmail, isSupportingReturn, signInUrl, _signInUrl, res, data, _data$url, url, error; return _regenerator.default.wrap(function _callee6$(_context6) { while(1)switch(_context6.prev = _context6.next){ case 0: _ref5 = options !== null && options !== void 0 ? options : {}, _ref5$callbackUrl = _ref5.callbackUrl, callbackUrl = _ref5$callbackUrl === void 0 ? window.location.href : _ref5$callbackUrl, _ref5$redirect = _ref5.redirect, redirect = _ref5$redirect === void 0 ? true : _ref5$redirect; baseUrl = (0, _utils.apiBaseUrl)(__NEXTAUTH); _context6.next = 4; return getProviders(); case 4: providers = _context6.sent; if (providers) { _context6.next = 8; break; } window.location.href = "".concat(baseUrl, "/error"); return _context6.abrupt("return"); case 8: if (!(!provider || !(provider in providers))) { _context6.next = 11; break; } window.location.href = "".concat(baseUrl, "/signin?").concat(new URLSearchParams({ callbackUrl: callbackUrl })); return _context6.abrupt("return"); case 11: isCredentials = providers[provider].type === "credentials"; isEmail = providers[provider].type === "email"; isSupportingReturn = isCredentials || isEmail; signInUrl = "".concat(baseUrl, "/").concat(isCredentials ? "callback" : "signin", "/").concat(provider); _signInUrl = "".concat(signInUrl).concat(authorizationParams ? "?".concat(new URLSearchParams(authorizationParams)) : ""); _context6.t0 = fetch; _context6.t1 = _signInUrl; _context6.t2 = { "Content-Type": "application/x-www-form-urlencoded" }; _context6.t3 = URLSearchParams; _context6.t4 = _objectSpread; _context6.t5 = _objectSpread({}, options); _context6.t6 = {}; _context6.next = 25; return getCsrfToken(); case 25: _context6.t7 = _context6.sent; _context6.t8 = callbackUrl; _context6.t9 = { csrfToken: _context6.t7, callbackUrl: _context6.t8, json: true }; _context6.t10 = (0, _context6.t4)(_context6.t5, _context6.t6, _context6.t9); _context6.t11 = new _context6.t3(_context6.t10); _context6.t12 = { method: "post", headers: _context6.t2, body: _context6.t11 }; _context6.next = 33; return (0, _context6.t0)(_context6.t1, _context6.t12); case 33: res = _context6.sent; _context6.next = 36; return res.json(); case 36: data = _context6.sent; if (!(redirect || !isSupportingReturn)) { _context6.next = 42; break; } url = (_data$url = data.url) !== null && _data$url !== void 0 ? _data$url : callbackUrl; window.location.href = url; if (url.includes("#")) window.location.reload(); return _context6.abrupt("return"); case 42: error = new URL(data.url).searchParams.get("error"); if (!res.ok) { _context6.next = 46; break; } _context6.next = 46; return __NEXTAUTH._getSession({ event: "storage" }); case 46: return _context6.abrupt("return", { error: error, status: res.status, ok: res.ok, url: error ? null : data.url }); case 47: case "end": return _context6.stop(); } }, _callee6); })); return _signIn.apply(this, arguments); } function signOut(_x6) { return _signOut.apply(this, arguments); } function _signOut() { _signOut = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee7(options) { var _options$redirect; var _ref6, _ref6$callbackUrl, callbackUrl, baseUrl, fetchOptions, res, data, _data$url2, url; return _regenerator.default.wrap(function _callee7$(_context7) { while(1)switch(_context7.prev = _context7.next){ case 0: _ref6 = options !== null && options !== void 0 ? options : {}, _ref6$callbackUrl = _ref6.callbackUrl, callbackUrl = _ref6$callbackUrl === void 0 ? window.location.href : _ref6$callbackUrl; baseUrl = (0, _utils.apiBaseUrl)(__NEXTAUTH); _context7.t0 = { "Content-Type": "application/x-www-form-urlencoded" }; _context7.t1 = URLSearchParams; _context7.next = 6; return getCsrfToken(); case 6: _context7.t2 = _context7.sent; _context7.t3 = callbackUrl; _context7.t4 = { csrfToken: _context7.t2, callbackUrl: _context7.t3, json: true }; _context7.t5 = new _context7.t1(_context7.t4); fetchOptions = { method: "post", headers: _context7.t0, body: _context7.t5 }; _context7.next = 13; return fetch("".concat(baseUrl, "/signout"), fetchOptions); case 13: res = _context7.sent; _context7.next = 16; return res.json(); case 16: data = _context7.sent; broadcast.post({ event: "session", data: { trigger: "signout" } }); if (!((_options$redirect = options === null || options === void 0 ? void 0 : options.redirect) !== null && _options$redirect !== void 0 ? _options$redirect : true)) { _context7.next = 23; break; } url = (_data$url2 = data.url) !== null && _data$url2 !== void 0 ? _data$url2 : callbackUrl; window.location.href = url; if (url.includes("#")) window.location.reload(); return _context7.abrupt("return"); case 23: _context7.next = 25; return __NEXTAUTH._getSession({ event: "storage" }); case 25: return _context7.abrupt("return", data); case 26: case "end": return _context7.stop(); } }, _callee7); })); return _signOut.apply(this, arguments); } function SessionProvider(props) { if (!SessionContext) { throw new Error("React Context is unavailable in Server Components"); } var children = props.children, basePath = props.basePath, refetchInterval = props.refetchInterval, refetchWhenOffline = props.refetchWhenOffline; if (basePath) __NEXTAUTH.basePath = basePath; var hasInitialSession = props.session !== undefined; __NEXTAUTH._lastSync = hasInitialSession ? (0, _utils.now)() : 0; var _React$useState3 = React.useState({ "SessionProvider.useState[_React$useState3]": function() { if (hasInitialSession) __NEXTAUTH._session = props.session; return props.session; } }["SessionProvider.useState[_React$useState3]"]), _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2), session = _React$useState4[0], setSession = _React$useState4[1]; var _React$useState5 = React.useState(!hasInitialSession), _React$useState6 = (0, _slicedToArray2.default)(_React$useState5, 2), loading = _React$useState6[0], setLoading = _React$useState6[1]; React.useEffect({ "SessionProvider.useEffect": function() { __NEXTAUTH._getSession = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee() { var _ref4, event, storageEvent, _args = arguments; return _regenerator.default.wrap(function _callee$(_context) { while(1)switch(_context.prev = _context.next){ case 0: _ref4 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, event = _ref4.event; _context.prev = 1; storageEvent = event === "storage"; if (!(storageEvent || __NEXTAUTH._session === undefined)) { _context.next = 10; break; } __NEXTAUTH._lastSync = (0, _utils.now)(); _context.next = 7; return getSession({ broadcast: !storageEvent }); case 7: __NEXTAUTH._session = _context.sent; setSession(__NEXTAUTH._session); return _context.abrupt("return"); case 10: if (!(!event || __NEXTAUTH._session === null || (0, _utils.now)() < __NEXTAUTH._lastSync)) { _context.next = 12; break; } return _context.abrupt("return"); case 12: __NEXTAUTH._lastSync = (0, _utils.now)(); _context.next = 15; return getSession(); case 15: __NEXTAUTH._session = _context.sent; setSession(__NEXTAUTH._session); _context.next = 22; break; case 19: _context.prev = 19; _context.t0 = _context["catch"](1); logger.error("CLIENT_SESSION_ERROR", _context.t0); case 22: _context.prev = 22; setLoading(false); return _context.finish(22); case 25: case "end": return _context.stop(); } }, _callee, null, [ [ 1, 19, 22, 25 ] ]); })); __NEXTAUTH._getSession(); return ({ "SessionProvider.useEffect": function() { __NEXTAUTH._lastSync = 0; __NEXTAUTH._session = undefined; __NEXTAUTH._getSession = ({ "SessionProvider.useEffect": function() {} })["SessionProvider.useEffect"]; } })["SessionProvider.useEffect"]; } }["SessionProvider.useEffect"], []); React.useEffect({ "SessionProvider.useEffect": function() { var unsubscribe = broadcast.receive({ "SessionProvider.useEffect.unsubscribe": function() { return __NEXTAUTH._getSession({ event: "storage" }); } }["SessionProvider.useEffect.unsubscribe"]); return ({ "SessionProvider.useEffect": function() { return unsubscribe(); } })["SessionProvider.useEffect"]; } }["SessionProvider.useEffect"], []); React.useEffect({ "SessionProvider.useEffect": function() { var _props$refetchOnWindo = props.refetchOnWindowFocus, refetchOnWindowFocus = _props$refetchOnWindo === void 0 ? true : _props$refetchOnWindo; var visibilityHandler = function visibilityHandler() { if (refetchOnWindowFocus && document.visibilityState === "visible") __NEXTAUTH._getSession({ event: "visibilitychange" }); }; document.addEventListener("visibilitychange", visibilityHandler, false); return ({ "SessionProvider.useEffect": function() { return document.removeEventListener("visibilitychange", visibilityHandler, false); } })["SessionProvider.useEffect"]; } }["SessionProvider.useEffect"], [ props.refetchOnWindowFocus ]); var isOnline = useOnline(); var shouldRefetch = refetchWhenOffline !== false || isOnline; React.useEffect({ "SessionProvider.useEffect": function() { if (refetchInterval && shouldRefetch) { var refetchIntervalTimer = setInterval({ "SessionProvider.useEffect.refetchIntervalTimer": function() { if (__NEXTAUTH._session) { __NEXTAUTH._getSession({ event: "poll" }); } } }["SessionProvider.useEffect.refetchIntervalTimer"], refetchInterval * 1000); return ({ "SessionProvider.useEffect": function() { return clearInterval(refetchIntervalTimer); } })["SessionProvider.useEffect"]; } } }["SessionProvider.useEffect"], [ refetchInterval, shouldRefetch ]); var value = React.useMemo({ "SessionProvider.useMemo[value]": function() { return { data: session, status: loading ? "loading" : session ? "authenticated" : "unauthenticated", update: function update(data) { return (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() { var newSession; return _regenerator.default.wrap(function _callee2$(_context2) { while(1)switch(_context2.prev = _context2.next){ case 0: if (!(loading || !session)) { _context2.next = 2; break; } return _context2.abrupt("return"); case 2: setLoading(true); _context2.t0 = _utils.fetchData; _context2.t1 = __NEXTAUTH; _context2.t2 = logger; _context2.next = 8; return getCsrfToken(); case 8: _context2.t3 = _context2.sent; _context2.t4 = data; _context2.t5 = { csrfToken: _context2.t3, data: _context2.t4 }; _context2.t6 = { body: _context2.t5 }; _context2.t7 = { req: _context2.t6 }; _context2.next = 15; return (0, _context2.t0)("session", _context2.t1, _context2.t2, _context2.t7); case 15: newSession = _context2.sent; setLoading(false); if (newSession) { setSession(newSession); broadcast.post({ event: "session", data: { trigger: "getSession" } }); } return _context2.abrupt("return", newSession); case 19: case "end": return _context2.stop(); } }, _callee2); }))(); } }; } }["SessionProvider.useMemo[value]"], [ session, loading ]); return (0, _jsxRuntime.jsx)(SessionContext.Provider, { value: value, children: children }); } }), "[project]/node_modules/next/navigation.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { module.exports = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/navigation.js [app-client] (ecmascript)"); }), "[project]/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "mergeClasses", ()=>mergeClasses ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const mergeClasses = (...classes)=>classes.filter((className, index, array)=>{ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index; }).join(" ").trim(); ; }), "[project]/node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "toKebabCase", ()=>toKebabCase ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const toKebabCase = (string)=>string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(); ; }), "[project]/node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "toCamelCase", ()=>toCamelCase ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const toCamelCase = (string)=>string.replace(/^([A-Z])|[\s-_]+(\w)/g, (match, p1, p2)=>p2 ? p2.toUpperCase() : p1.toLowerCase()); ; }), "[project]/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "toPascalCase", ()=>toPascalCase ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2f$toCamelCase$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.mjs [app-client] (ecmascript)"); ; const toPascalCase = (string)=>{ const camelCase = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2f$toCamelCase$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["toCamelCase"])(string); return camelCase.charAt(0).toUpperCase() + camelCase.slice(1); }; ; }), "[project]/node_modules/lucide-react/dist/esm/defaultAttributes.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "default", ()=>defaultAttributes ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ var defaultAttributes = { xmlns: "http://www.w3.org/2000/svg", width: 24, height: 24, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, strokeLinecap: "round", strokeLinejoin: "round" }; ; }), "[project]/node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "hasA11yProp", ()=>hasA11yProp ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ const hasA11yProp = (props)=>{ for(const prop in props){ if (prop.startsWith("aria-") || prop === "role" || prop === "title") { return true; } } return false; }; ; }), "[project]/node_modules/lucide-react/dist/esm/context.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "LucideProvider", ()=>LucideProvider, "useLucideContext", ()=>useLucideContext ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"); "use strict"; "use client"; ; const LucideContext = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createContext"])({}); function LucideProvider({ children, size, color, strokeWidth, absoluteStrokeWidth, className }) { const value = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useMemo"])({ "LucideProvider.useMemo[value]": ()=>({ size, color, strokeWidth, absoluteStrokeWidth, className }) }["LucideProvider.useMemo[value]"], [ size, color, strokeWidth, absoluteStrokeWidth, className ]); return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createElement"])(LucideContext.Provider, { value }, children); } const useLucideContext = ()=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useContext"])(LucideContext); ; }), "[project]/node_modules/lucide-react/dist/esm/Icon.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "default", ()=>Icon ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$defaultAttributes$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/defaultAttributes.mjs [app-client] (ecmascript)"); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2f$hasA11yProp$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.mjs [app-client] (ecmascript)"); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2f$mergeClasses$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.mjs [app-client] (ecmascript)"); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$context$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/context.mjs [app-client] (ecmascript)"); "use strict"; "use client"; ; ; ; ; ; const Icon = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"])(({ color, size, strokeWidth, absoluteStrokeWidth, className = "", children, iconNode, ...rest }, ref)=>{ const { size: contextSize = 24, strokeWidth: contextStrokeWidth = 2, absoluteStrokeWidth: contextAbsoluteStrokeWidth = false, color: contextColor = "currentColor", className: contextClass = "" } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$context$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["useLucideContext"])() ?? {}; const calculatedStrokeWidth = absoluteStrokeWidth ?? contextAbsoluteStrokeWidth ? Number(strokeWidth ?? contextStrokeWidth) * 24 / Number(size ?? contextSize) : strokeWidth ?? contextStrokeWidth; return (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createElement"])("svg", { ref, ...__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$defaultAttributes$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"], width: size ?? contextSize ?? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$defaultAttributes$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].width, height: size ?? contextSize ?? __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$defaultAttributes$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"].height, stroke: color ?? contextColor, strokeWidth: calculatedStrokeWidth, className: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2f$mergeClasses$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["mergeClasses"])("lucide", contextClass, className), ...!children && !(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2f$hasA11yProp$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["hasA11yProp"])(rest) && { "aria-hidden": "true" }, ...rest }, [ ...iconNode.map(([tag, attrs])=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createElement"])(tag, attrs)), ...Array.isArray(children) ? children : [ children ] ]); }); ; }), "[project]/node_modules/lucide-react/dist/esm/createLucideIcon.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "default", ()=>createLucideIcon ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2f$mergeClasses$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.mjs [app-client] (ecmascript)"); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2f$toKebabCase$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.mjs [app-client] (ecmascript)"); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2f$toPascalCase$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.mjs [app-client] (ecmascript)"); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$Icon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/Icon.mjs [app-client] (ecmascript)"); ; ; ; ; ; const createLucideIcon = (iconName, iconNode)=>{ const Component = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["forwardRef"])(({ className, ...props }, ref)=>(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$compiled$2f$react$2f$index$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__["createElement"])(__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$Icon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"], { ref, iconNode, className: (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2f$mergeClasses$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["mergeClasses"])(`lucide-${(0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2f$toKebabCase$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["toKebabCase"])((0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2f$toPascalCase$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["toPascalCase"])(iconName))}`, `lucide-${iconName}`, className), ...props })); Component.displayName = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$shared$2f$src$2f$utils$2f$toPascalCase$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["toPascalCase"])(iconName); return Component; }; ; }), "[project]/node_modules/lucide-react/dist/esm/icons/layout-dashboard.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "__iconNode", ()=>__iconNode, "default", ()=>LayoutDashboard ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.mjs [app-client] (ecmascript)"); ; const __iconNode = [ [ "rect", { width: "7", height: "9", x: "3", y: "3", rx: "1", key: "10lvy0" } ], [ "rect", { width: "7", height: "5", x: "14", y: "3", rx: "1", key: "16une8" } ], [ "rect", { width: "7", height: "9", x: "14", y: "12", rx: "1", key: "1hutg5" } ], [ "rect", { width: "7", height: "5", x: "3", y: "16", rx: "1", key: "ldoo1y" } ] ]; const LayoutDashboard = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("layout-dashboard", __iconNode); ; }), "[project]/node_modules/lucide-react/dist/esm/icons/layout-dashboard.mjs [app-client] (ecmascript) ", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "LayoutDashboard", ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$layout$2d$dashboard$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"] ]); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$layout$2d$dashboard$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/layout-dashboard.mjs [app-client] (ecmascript)"); }), "[project]/node_modules/lucide-react/dist/esm/icons/users.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "__iconNode", ()=>__iconNode, "default", ()=>Users ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.mjs [app-client] (ecmascript)"); ; const __iconNode = [ [ "path", { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" } ], [ "path", { d: "M16 3.128a4 4 0 0 1 0 7.744", key: "16gr8j" } ], [ "path", { d: "M22 21v-2a4 4 0 0 0-3-3.87", key: "kshegd" } ], [ "circle", { cx: "9", cy: "7", r: "4", key: "nufk8" } ] ]; const Users = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("users", __iconNode); ; }), "[project]/node_modules/lucide-react/dist/esm/icons/users.mjs [app-client] (ecmascript) ", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "Users", ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$users$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"] ]); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$users$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/users.mjs [app-client] (ecmascript)"); }), "[project]/node_modules/lucide-react/dist/esm/icons/ticket.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "__iconNode", ()=>__iconNode, "default", ()=>Ticket ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.mjs [app-client] (ecmascript)"); ; const __iconNode = [ [ "path", { d: "M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z", key: "qn84l0" } ], [ "path", { d: "M13 5v2", key: "dyzc3o" } ], [ "path", { d: "M13 17v2", key: "1ont0d" } ], [ "path", { d: "M13 11v2", key: "1wjjxi" } ] ]; const Ticket = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("ticket", __iconNode); ; }), "[project]/node_modules/lucide-react/dist/esm/icons/ticket.mjs [app-client] (ecmascript) ", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "Ticket", ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$ticket$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"] ]); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$ticket$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/ticket.mjs [app-client] (ecmascript)"); }), "[project]/node_modules/lucide-react/dist/esm/icons/log-out.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "__iconNode", ()=>__iconNode, "default", ()=>LogOut ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.mjs [app-client] (ecmascript)"); ; const __iconNode = [ [ "path", { d: "m16 17 5-5-5-5", key: "1bji2h" } ], [ "path", { d: "M21 12H9", key: "dn1m92" } ], [ "path", { d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4", key: "1uf3rs" } ] ]; const LogOut = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("log-out", __iconNode); ; }), "[project]/node_modules/lucide-react/dist/esm/icons/log-out.mjs [app-client] (ecmascript) ", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "LogOut", ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$log$2d$out$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"] ]); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$log$2d$out$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/log-out.mjs [app-client] (ecmascript)"); }), "[project]/node_modules/lucide-react/dist/esm/icons/bell.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "__iconNode", ()=>__iconNode, "default", ()=>Bell ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.mjs [app-client] (ecmascript)"); ; const __iconNode = [ [ "path", { d: "M10.268 21a2 2 0 0 0 3.464 0", key: "vwvbt9" } ], [ "path", { d: "M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326", key: "11g9vi" } ] ]; const Bell = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("bell", __iconNode); ; }), "[project]/node_modules/lucide-react/dist/esm/icons/bell.mjs [app-client] (ecmascript) ", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "Bell", ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$bell$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"] ]); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$bell$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/bell.mjs [app-client] (ecmascript)"); }), "[project]/node_modules/lucide-react/dist/esm/icons/shield.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "__iconNode", ()=>__iconNode, "default", ()=>Shield ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.mjs [app-client] (ecmascript)"); ; const __iconNode = [ [ "path", { d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z", key: "oel41y" } ] ]; const Shield = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("shield", __iconNode); ; }), "[project]/node_modules/lucide-react/dist/esm/icons/shield.mjs [app-client] (ecmascript) ", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "Shield", ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$shield$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"] ]); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$shield$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/shield.mjs [app-client] (ecmascript)"); }), "[project]/node_modules/lucide-react/dist/esm/icons/shield-check.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "__iconNode", ()=>__iconNode, "default", ()=>ShieldCheck ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.mjs [app-client] (ecmascript)"); ; const __iconNode = [ [ "path", { d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z", key: "oel41y" } ], [ "path", { d: "m9 12 2 2 4-4", key: "dzmm74" } ] ]; const ShieldCheck = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("shield-check", __iconNode); ; }), "[project]/node_modules/lucide-react/dist/esm/icons/shield-check.mjs [app-client] (ecmascript) ", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "ShieldCheck", ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$shield$2d$check$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"] ]); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$shield$2d$check$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/shield-check.mjs [app-client] (ecmascript)"); }), "[project]/node_modules/lucide-react/dist/esm/icons/file-text.mjs [app-client] (ecmascript)", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "__iconNode", ()=>__iconNode, "default", ()=>FileText ]); /** * @license lucide-react v1.14.0 - ISC * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. */ var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/createLucideIcon.mjs [app-client] (ecmascript)"); ; const __iconNode = [ [ "path", { d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z", key: "1oefj6" } ], [ "path", { d: "M14 2v5a1 1 0 0 0 1 1h5", key: "wfsgrz" } ], [ "path", { d: "M10 9H8", key: "b1mrlr" } ], [ "path", { d: "M16 13H8", key: "t4e002" } ], [ "path", { d: "M16 17H8", key: "z1uh3a" } ] ]; const FileText = (0, __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$createLucideIcon$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"])("file-text", __iconNode); ; }), "[project]/node_modules/lucide-react/dist/esm/icons/file-text.mjs [app-client] (ecmascript) ", ((__turbopack_context__) => { "use strict"; __turbopack_context__.s([ "FileText", ()=>__TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$file$2d$text$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__["default"] ]); var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$lucide$2d$react$2f$dist$2f$esm$2f$icons$2f$file$2d$text$2e$mjs__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/node_modules/lucide-react/dist/esm/icons/file-text.mjs [app-client] (ecmascript)"); }), "[project]/node_modules/next/dist/shared/lib/router/utils/disable-smooth-scroll.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "disableSmoothScrollDuringRouteTransition", { enumerable: true, get: function() { return disableSmoothScrollDuringRouteTransition; } }); const _warnonce = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/utils/warn-once.js [app-client] (ecmascript)"); function disableSmoothScrollDuringRouteTransition(fn, options = {}) { // if only the hash is changed, we don't need to disable smooth scrolling // we only care to prevent smooth scrolling when navigating to a new page to avoid jarring UX if (options.onlyHashChange) { fn(); return; } const htmlElement = document.documentElement; const hasDataAttribute = htmlElement.dataset.scrollBehavior === 'smooth'; if (!hasDataAttribute) { // Warn if smooth scrolling is detected but no data attribute is present if (("TURBOPACK compile-time value", "development") === 'development' && getComputedStyle(htmlElement).scrollBehavior === 'smooth') { (0, _warnonce.warnOnce)('Detected `scroll-behavior: smooth` on the `` element. To disable smooth scrolling during route transitions, ' + 'add `data-scroll-behavior="smooth"` to your element. ' + 'Learn more: https://nextjs.org/docs/messages/missing-data-scroll-behavior'); } // No smooth scrolling configured, run directly without style manipulation fn(); return; } // Proceed with temporarily disabling smooth scrolling const existing = htmlElement.style.scrollBehavior; htmlElement.style.scrollBehavior = 'auto'; if (!options.dontForceLayout) { // In Chrome-based browsers we need to force reflow before calling `scrollTo`. // Otherwise it will not pickup the change in scrollBehavior // More info here: https://github.com/vercel/next.js/issues/40719#issuecomment-1336248042 htmlElement.getClientRects(); } fn(); htmlElement.style.scrollBehavior = existing; } }), "[project]/node_modules/next/dist/client/components/bfcache-state-manager.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "useRouterBFCache", { enumerable: true, get: function() { return useRouterBFCache; } }); const _react = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"); // When the flag is disabled, only track the currently active tree const MAX_BF_CACHE_ENTRIES = ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : 1; function useRouterBFCache(activeTree, activeCacheNode, activeStateKey) { // The currently active entry. The entries form a linked list, sorted in // order of most recently active. This allows us to reuse parts of the list // without cloning, unless there's a reordering or removal. // TODO: Once we start tracking back/forward history at each route level, // we should use the history order instead. In other words, when traversing // to an existing entry as a result of a popstate event, we should maintain // the existing order instead of moving it to the front of the list. I think // an initial implementation of this could be to pass an incrementing id // to history.pushState/replaceState, then use that here for ordering. const [prevActiveEntry, setPrevActiveEntry] = (0, _react.useState)(()=>{ const initialEntry = { tree: activeTree, cacheNode: activeCacheNode, stateKey: activeStateKey, next: null }; return initialEntry; }); if (prevActiveEntry.tree === activeTree) { // Fast path. The active tree hasn't changed, so we can reuse the // existing state. return prevActiveEntry; } // The route tree changed. Note that this doesn't mean that the tree changed // *at this level* — the change may be due to a child route. Either way, we // need to either add or update the router tree in the bfcache. // // The rest of the code looks more complicated than it actually is because we // can't mutate the state in place; we have to copy-on-write. // Create a new entry for the active cache key. This is the head of the new // linked list. const newActiveEntry = { tree: activeTree, cacheNode: activeCacheNode, stateKey: activeStateKey, next: null }; // We need to append the old list onto the new list. If the head of the new // list was already present in the cache, then we'll need to clone everything // that came before it. Then we can reuse the rest. let n = 1; let oldEntry = prevActiveEntry; let clonedEntry = newActiveEntry; while(oldEntry !== null && n < MAX_BF_CACHE_ENTRIES){ if (oldEntry.stateKey === activeStateKey) { // Fast path. This entry in the old list that corresponds to the key that // is now active. We've already placed a clone of this entry at the front // of the new list. We can reuse the rest of the old list without cloning. // NOTE: We don't need to worry about eviction in this case because we // haven't increased the size of the cache, and we assume the max size // is constant across renders. If we were to change it to a dynamic limit, // then the implementation would need to account for that. clonedEntry.next = oldEntry.next; break; } else { // Clone the entry and append it to the list. n++; const entry = { tree: oldEntry.tree, cacheNode: oldEntry.cacheNode, stateKey: oldEntry.stateKey, next: null }; clonedEntry.next = entry; clonedEntry = entry; } oldEntry = oldEntry.next; } setPrevActiveEntry(newActiveEntry); return newActiveEntry; } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } }), "[project]/node_modules/next/dist/client/components/layout-router.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); 'use client'; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { LoadingBoundaryProvider: null, default: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { LoadingBoundaryProvider: function() { return LoadingBoundaryProvider; }, /** * OuterLayoutRouter handles the current segment as well as rendering of other segments. * It can be rendered next to each other with a different `parallelRouterKey`, allowing for Parallel routes. */ default: function() { return OuterLayoutRouter; } }); const _interop_require_default = __turbopack_context__.r("[project]/node_modules/@swc/helpers/cjs/_interop_require_default.cjs [app-client] (ecmascript)"); const _interop_require_wildcard = __turbopack_context__.r("[project]/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs [app-client] (ecmascript)"); const _jsxruntime = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)"); const _react = /*#__PURE__*/ _interop_require_wildcard._(__turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)")); const _reactdom = /*#__PURE__*/ _interop_require_default._(__turbopack_context__.r("[project]/node_modules/next/dist/compiled/react-dom/index.js [app-client] (ecmascript)")); const _approutercontextsharedruntime = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js [app-client] (ecmascript)"); const _unresolvedthenable = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/unresolved-thenable.js [app-client] (ecmascript)"); const _errorboundary = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/error-boundary.js [app-client] (ecmascript)"); const _disablesmoothscroll = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/disable-smooth-scroll.js [app-client] (ecmascript)"); const _redirectboundary = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/redirect-boundary.js [app-client] (ecmascript)"); const _errorboundary1 = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js [app-client] (ecmascript)"); const _createroutercachekey = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js [app-client] (ecmascript)"); const _bfcachestatemanager = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/bfcache-state-manager.js [app-client] (ecmascript)"); const _apppaths = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/app-paths.js [app-client] (ecmascript)"); const _hooksclientcontextsharedruntime = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js [app-client] (ecmascript)"); const _routeparams = __turbopack_context__.r("[project]/node_modules/next/dist/client/route-params.js [app-client] (ecmascript)"); const _pprnavigations = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/router-reducer/ppr-navigations.js [app-client] (ecmascript)"); const enableNewScrollHandler = ("TURBOPACK compile-time value", false); const __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = _reactdom.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE; // TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available /** * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning */ function findDOMNode(instance) { // Tree-shake for server bundle if (typeof window === 'undefined') return null; // __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode is null during module init. // We need to lazily reference it. const internal_reactDOMfindDOMNode = __DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE.findDOMNode; return internal_reactDOMfindDOMNode(instance); } const rectProperties = [ 'bottom', 'height', 'left', 'right', 'top', 'width', 'x', 'y' ]; /** * Check if a HTMLElement is hidden or fixed/sticky position */ function shouldSkipElement(element) { // we ignore fixed or sticky positioned elements since they'll likely pass the "in-viewport" check // and will result in a situation we bail on scroll because of something like a fixed nav, // even though the actual page content is offscreen if ([ 'sticky', 'fixed' ].includes(getComputedStyle(element).position)) { return true; } // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent` // because `offsetParent` doesn't consider document/body const rect = element.getBoundingClientRect(); return rectProperties.every((item)=>rect[item] === 0); } /** * Check if the top corner of the HTMLElement is in the viewport. */ function topOfElementInViewport(instance, viewportHeight) { const rects = instance.getClientRects(); if (rects.length === 0) { // Just to be explicit. return false; } let elementTop = Number.POSITIVE_INFINITY; for(let i = 0; i < rects.length; i++){ const rect = rects[i]; if (rect.top < elementTop) { elementTop = rect.top; } } return elementTop >= 0 && elementTop <= viewportHeight; } /** * Find the DOM node for a hash fragment. * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior. * If the hash fragment is an id, the page has to scroll to the element with that id. * If the hash fragment is a name, the page has to scroll to the first element with that name. */ function getHashFragmentDomNode(hashFragment) { // If the hash fragment is `top` the page has to scroll to the top of the page. if (hashFragment === 'top') { return document.body; } // If the hash fragment is an id, the page has to scroll to the element with that id. return document.getElementById(hashFragment) ?? // If the hash fragment is a name, the page has to scroll to the first element with that name. document.getElementsByName(hashFragment)[0]; } class InnerScrollAndFocusHandlerOld extends _react.default.Component { componentDidMount() { this.handlePotentialScroll(); } componentDidUpdate() { this.handlePotentialScroll(); } render() { return this.props.children; } constructor(...args){ super(...args), this.handlePotentialScroll = ()=>{ // Handle scroll and focus, it's only applied once. const { focusAndScrollRef, cacheNode } = this.props; const scrollRef = focusAndScrollRef.forceScroll ? focusAndScrollRef.scrollRef : cacheNode.scrollRef; if (scrollRef === null || !scrollRef.current) return; let domNode = null; const hashFragment = focusAndScrollRef.hashFragment; if (hashFragment) { domNode = getHashFragmentDomNode(hashFragment); } // `findDOMNode` is tricky because it returns just the first child if the component is a fragment. // This already caused a bug where the first child was a in head. if (!domNode) { domNode = findDOMNode(this); } // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree. if (!(domNode instanceof Element)) { return; } // Verify if the element is a HTMLElement and if we want to consider it for scroll behavior. // If the element is skipped, try to select the next sibling and try again. while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){ if ("TURBOPACK compile-time truthy", 1) { if (domNode.parentElement?.localName === 'head') { // We enter this state when metadata was rendered as part of the page or via Next.js. // This is always a bug in Next.js and caused by React hoisting metadata. // Fixed with `experimental.appNewScrollHandler` } } // No siblings found that match the criteria are found, so handle scroll higher up in the tree instead. if (domNode.nextElementSibling === null) { return; } domNode = domNode.nextElementSibling; } // Mark as scrolled so no other segment scrolls for this navigation. scrollRef.current = false; (0, _disablesmoothscroll.disableSmoothScrollDuringRouteTransition)(()=>{ // In case of hash scroll, we only need to scroll the element into view if (hashFragment) { domNode.scrollIntoView(); return; } // Store the current viewport height because reading `clientHeight` causes a reflow, // and it won't change during this function. const htmlElement = document.documentElement; const viewportHeight = htmlElement.clientHeight; // If the element's top edge is already in the viewport, exit early. if (topOfElementInViewport(domNode, viewportHeight)) { return; } // Otherwise, try scrolling go the top of the document to be backward compatible with pages // scrollIntoView() called on `` element scrolls horizontally on chrome and firefox (that shouldn't happen) // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically htmlElement.scrollTop = 0; // Scroll to domNode if domNode is not in viewport when scrolled to top of document if (!topOfElementInViewport(domNode, viewportHeight)) { // Scroll into view doesn't scroll horizontally by default when not needed domNode.scrollIntoView(); } }, { // We will force layout by querying domNode position dontForceLayout: true, onlyHashChange: focusAndScrollRef.onlyHashChange }); // Mutate after scrolling so that it can be read by `disableSmoothScrollDuringRouteTransition` focusAndScrollRef.onlyHashChange = false; focusAndScrollRef.hashFragment = null; // Set focus on the element domNode.focus(); }; } } /** * Fork of InnerScrollAndFocusHandlerOld using Fragment refs for scrolling. * No longer focuses the first host descendant. */ function InnerScrollHandlerNew(props) { const childrenRef = _react.default.useRef(null); (0, _react.useLayoutEffect)(()=>{ const { focusAndScrollRef, cacheNode } = props; const scrollRef = focusAndScrollRef.forceScroll ? focusAndScrollRef.scrollRef : cacheNode.scrollRef; if (scrollRef === null || !scrollRef.current) return; let instance = null; const hashFragment = focusAndScrollRef.hashFragment; if (hashFragment) { instance = getHashFragmentDomNode(hashFragment); } if (!instance) { instance = childrenRef.current; } // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree. if (instance === null) { return; } // Mark as scrolled so no other segment scrolls for this navigation. scrollRef.current = false; const activeElement = document.activeElement; if (activeElement !== null && 'blur' in activeElement && typeof activeElement.blur === 'function') { // Trying to match hard navigations. // Ideally we'd move the internal focus cursor either to the top // or at least before the segment. But there's no DOM API to do that, // so we just blur. // We could workaround this by moving focus to a temporary element in // the body. But adding elements might trigger layout or other effects // so it should be well motivated. activeElement.blur(); } (0, _disablesmoothscroll.disableSmoothScrollDuringRouteTransition)(()=>{ // In case of hash scroll, we only need to scroll the element into view if (hashFragment) { instance.scrollIntoView(); return; } // Store the current viewport height because reading `clientHeight` causes a reflow, // and it won't change during this function. const htmlElement = document.documentElement; const viewportHeight = htmlElement.clientHeight; // If the element's top edge is already in the viewport, exit early. if (topOfElementInViewport(instance, viewportHeight)) { return; } // Otherwise, try scrolling go the top of the document to be backward compatible with pages // scrollIntoView() called on `` element scrolls horizontally on chrome and firefox (that shouldn't happen) // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically htmlElement.scrollTop = 0; // Scroll to domNode if domNode is not in viewport when scrolled to top of document if (!topOfElementInViewport(instance, viewportHeight)) { // Scroll into view doesn't scroll horizontally by default when not needed instance.scrollIntoView(); } }, { // We will force layout by querying domNode position dontForceLayout: true, onlyHashChange: focusAndScrollRef.onlyHashChange }); // Mutate after scrolling so that it can be read by `disableSmoothScrollDuringRouteTransition` focusAndScrollRef.onlyHashChange = false; focusAndScrollRef.hashFragment = null; }, // but be prepared for lots of manual testing. undefined); return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Fragment, { ref: childrenRef, children: props.children }); } const InnerScrollAndMaybeFocusHandler = ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : InnerScrollAndFocusHandlerOld; function ScrollAndMaybeFocusHandler({ children, cacheNode }) { const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext); if (!context) { throw Object.defineProperty(new Error('invariant global layout router not mounted'), "__NEXT_ERROR_CODE", { value: "E473", enumerable: false, configurable: true }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndMaybeFocusHandler, { focusAndScrollRef: context.focusAndScrollRef, cacheNode: cacheNode, children: children }); } /** * InnerLayoutRouter handles rendering the provided segment based on the cache. */ function InnerLayoutRouter({ tree, segmentPath, debugNameContext, cacheNode: maybeCacheNode, params, url, isActive }) { const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext); const parentNavPromises = (0, _react.useContext)(_hooksclientcontextsharedruntime.NavigationPromisesContext); if (!context) { throw Object.defineProperty(new Error('invariant global layout router not mounted'), "__NEXT_ERROR_CODE", { value: "E473", enumerable: false, configurable: true }); } const cacheNode = maybeCacheNode !== null ? maybeCacheNode : // This should only be reachable for inactive/hidden segments, during // prerendering The active segment should always be consistent with the // CacheNode tree. Regardless, if we don't have a matching CacheNode, we // must suspend rather than render nothing, to prevent showing an // inconsistent route. (0, _react.use)(_unresolvedthenable.unresolvedThenable); // `rsc` represents the renderable node for this segment. // If this segment has a `prefetchRsc`, it's the statically prefetched data. // We should use that on initial render instead of `rsc`. Then we'll switch // to `rsc` when the dynamic response streams in. // // If no prefetch data is available, then we go straight to rendering `rsc`. const resolvedPrefetchRsc = cacheNode.prefetchRsc !== null ? cacheNode.prefetchRsc : cacheNode.rsc; // We use `useDeferredValue` to handle switching between the prefetched and // final values. The second argument is returned on initial render, then it // re-renders with the first argument. const rsc = (0, _react.useDeferredValue)(cacheNode.rsc, resolvedPrefetchRsc); // `rsc` is either a React node or a promise for a React node, except we // special case `null` to represent that this segment's data is missing. If // it's a promise, we need to unwrap it so we can determine whether or not the // data is missing. let resolvedRsc; if ((0, _pprnavigations.isDeferredRsc)(rsc)) { const unwrappedRsc = (0, _react.use)(rsc); if (unwrappedRsc === null) { // If the promise was resolved to `null`, it means the data for this // segment was not returned by the server. Suspend indefinitely. When this // happens, the router is responsible for triggering a new state update to // un-suspend this segment. (0, _react.use)(_unresolvedthenable.unresolvedThenable); } resolvedRsc = unwrappedRsc; } else { // This is not a deferred RSC promise. Don't need to unwrap it. if (rsc === null) { (0, _react.use)(_unresolvedthenable.unresolvedThenable); } resolvedRsc = rsc; } // In dev, we create a NavigationPromisesContext containing the instrumented promises that provide // `useSelectedLayoutSegment` and `useSelectedLayoutSegments`. // Promises are cached outside of render to survive suspense retries. let navigationPromises = null; if ("TURBOPACK compile-time truthy", 1) { const { createNestedLayoutNavigationPromises } = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/navigation-devtools.js [app-client] (ecmascript)"); navigationPromises = createNestedLayoutNavigationPromises(tree, parentNavPromises); } let children = resolvedRsc; if (navigationPromises) { children = /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.NavigationPromisesContext.Provider, { value: navigationPromises, children: resolvedRsc }); } children = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, { value: { parentTree: tree, parentCacheNode: cacheNode, parentSegmentPath: segmentPath, parentParams: params, // This is always set to null as we enter a child segment. It's // populated by LoadingBoundaryProvider the next time we reach a // loading boundary. parentLoadingData: null, debugNameContext: debugNameContext, // TODO-APP: overriding of url for parallel routes url: url, isActive: isActive }, children: children }); return children; } function LoadingBoundaryProvider({ loading, children }) { // Provides the data needed to render a loading.tsx boundary, via context. // // loading.tsx creates a Suspense boundary around each of a layout's child // slots. (Might be bit confusing to think about the data flow, but: if // loading.tsx and layout.tsx are in the same directory, they are assigned // to the same CacheNode.) // // This provider component does not render the Suspense boundary directly; // that's handled by LoadingBoundary. // // TODO: For simplicity, we should combine this provider with LoadingBoundary // and render the Suspense boundary directly. The only real benefit of doing // it separately is so that when there are multiple parallel routes, we only // send the boundary data once, rather than once per child. But that's a // negligible benefit and can be achieved via caching instead. const parentContext = (0, _react.use)(_approutercontextsharedruntime.LayoutRouterContext); if (parentContext === null) { return children; } // All values except for parentLoadingData are the same as the parent context. return /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, { value: { parentTree: parentContext.parentTree, parentCacheNode: parentContext.parentCacheNode, parentSegmentPath: parentContext.parentSegmentPath, parentParams: parentContext.parentParams, parentLoadingData: loading, debugNameContext: parentContext.debugNameContext, url: parentContext.url, isActive: parentContext.isActive }, children: children }); } /** * Renders suspense boundary with the provided "loading" property as the fallback. * If no loading property is provided it renders the children without a suspense boundary. */ function LoadingBoundary({ name, loading, children }) { // TODO: For LoadingBoundary, and the other built-in boundary types, don't // wrap in an extra function component if no user-defined boundary is // provided. In other words, inline this conditional wrapping logic into // the parent component. More efficient and keeps unnecessary junk out of // the component stack. if (loading !== null) { const loadingRsc = loading[0]; const loadingStyles = loading[1]; const loadingScripts = loading[2]; return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, { name: name, fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { children: [ loadingStyles, loadingScripts, loadingRsc ] }), children: children }); } return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: children }); } function OuterLayoutRouter({ parallelRouterKey, error, errorStyles, errorScripts, templateStyles, templateScripts, template, notFound, forbidden, unauthorized, segmentViewBoundaries }) { const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext); if (!context) { throw Object.defineProperty(new Error('invariant expected layout router to be mounted'), "__NEXT_ERROR_CODE", { value: "E56", enumerable: false, configurable: true }); } const { parentTree, parentCacheNode, parentSegmentPath, parentParams, parentLoadingData, url, isActive, debugNameContext } = context; // Get the CacheNode for this segment by reading it from the parent segment's // child map. const parentTreeSegment = parentTree[0]; const segmentPath = parentSegmentPath === null ? // the code. We should clean this up. [ parallelRouterKey ] : parentSegmentPath.concat([ parentTreeSegment, parallelRouterKey ]); // The "state" key of a segment is the one passed to React — it represents the // identity of the UI tree. Whenever the state key changes, the tree is // recreated and the state is reset. In the App Router model, search params do // not cause state to be lost, so two segments with the same segment path but // different search params should have the same state key. // // The "cache" key of a segment, however, *does* include the search params, if // it's possible that the segment accessed the search params on the server. // (This only applies to page segments; layout segments cannot access search // params on the server.) const activeTree = parentTree[1][parallelRouterKey]; const maybeParentSlots = parentCacheNode.slots; if (activeTree === undefined || maybeParentSlots === null) { // Could not find a matching segment. The client tree is inconsistent with // the server tree. Suspend indefinitely; the router will have already // detected the inconsistency when handling the server response, and // triggered a refresh of the page to recover. (0, _react.use)(_unresolvedthenable.unresolvedThenable); } let maybeValidationBoundaryId = null; if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable ; const activeSegment = activeTree[0]; const activeCacheNode = maybeParentSlots[parallelRouterKey] ?? null; const activeStateKey = (0, _createroutercachekey.createRouterCacheKey)(activeSegment, true) // no search params ; // At each level of the route tree, not only do we render the currently // active segment — we also render the last N segments that were active at // this level inside a hidden boundary, to preserve their state // if or when the user navigates to them again. // // bfcacheEntry is a linked list of FlightRouterStates. let bfcacheEntry = (0, _bfcachestatemanager.useRouterBFCache)(activeTree, activeCacheNode, activeStateKey); let children = []; do { const tree = bfcacheEntry.tree; const cacheNode = bfcacheEntry.cacheNode; const stateKey = bfcacheEntry.stateKey; const segment = tree[0]; /* - Error boundary - Only renders error boundary if error component is provided. - Rendered for each segment to ensure they have their own error state. - When gracefully degrade for bots, skip rendering error boundary. - Loading boundary - Only renders suspense boundary if loading components is provided. - Rendered for each segment to ensure they have their own loading state. - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch. */ let segmentBoundaryTriggerNode = null; let segmentViewStateNode = null; if ("TURBOPACK compile-time truthy", 1) { const { SegmentBoundaryTriggerNode, SegmentViewStateNode } = __turbopack_context__.r("[project]/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js [app-client] (ecmascript)"); const pagePrefix = (0, _apppaths.normalizeAppPath)(url); segmentViewStateNode = /*#__PURE__*/ (0, _jsxruntime.jsx)(SegmentViewStateNode, { page: pagePrefix }, pagePrefix); segmentBoundaryTriggerNode = /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: /*#__PURE__*/ (0, _jsxruntime.jsx)(SegmentBoundaryTriggerNode, {}) }); } let params = parentParams; if (Array.isArray(segment)) { // This segment contains a route param. Accumulate these as we traverse // down the router tree. The result represents the set of params that // the layout/page components are permitted to access below this point. const paramName = segment[0]; const paramCacheKey = segment[1]; const paramType = segment[2]; const paramValue = (0, _routeparams.getParamValueFromCacheKey)(paramCacheKey, paramType); if (paramValue !== null) { params = { ...parentParams, [paramName]: paramValue }; } } const debugName = getBoundaryDebugNameFromSegment(segment); // `debugNameContext` represents the nearest non-"virtual" parent segment. // `getBoundaryDebugNameFromSegment` returns undefined for virtual segments. // So if `debugName` is undefined, the context is passed through unchanged. const childDebugNameContext = debugName ?? debugNameContext; // In practical terms, clicking this name in the Suspense DevTools // should select the child slots of that layout. // // So the name we apply to the Activity boundary is actually based on // the nearest parent segments. // // We skip over "virtual" parents, i.e. ones inserted by Next.js that // don't correspond to application-defined code. const isVirtual = debugName === undefined; const debugNameToDisplay = isVirtual ? undefined : debugNameContext; let templateValue = /*#__PURE__*/ (0, _jsxruntime.jsxs)(ScrollAndMaybeFocusHandler, { cacheNode: cacheNode, children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, { errorComponent: error, errorStyles: errorStyles, errorScripts: errorScripts, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, { name: debugNameToDisplay, // TODO: The loading module data for a segment is stored on the // parent, then applied to each of that parent segment's // parallel route slots. In the simple case where there's only // one parallel route (the `children` slot), this is no // different from if the loading module data were stored on the // child directly. But I'm not sure this actually makes sense // when there are multiple parallel routes. It's not a huge // issue because you always have the option to define a narrower // loading boundary for a particular slot. But this sort of // smells like an implementation accident to me. loading: parentLoadingData, children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary1.HTTPAccessFallbackBoundary, { notFound: notFound, forbidden: forbidden, unauthorized: unauthorized, children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, { children: [ /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, { url: url, tree: tree, params: params, cacheNode: cacheNode, segmentPath: segmentPath, debugNameContext: childDebugNameContext, isActive: isActive && stateKey === activeStateKey }), segmentBoundaryTriggerNode ] }) }) }) }), segmentViewStateNode ] }); if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable ; let child = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, { value: templateValue, children: [ templateStyles, templateScripts, template ] }, stateKey); if ("TURBOPACK compile-time truthy", 1) { const { SegmentStateProvider } = __turbopack_context__.r("[project]/node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.js [app-client] (ecmascript)"); child = /*#__PURE__*/ (0, _jsxruntime.jsxs)(SegmentStateProvider, { children: [ child, segmentViewBoundaries ] }, stateKey); } if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable ; children.push(child); bfcacheEntry = bfcacheEntry.next; }while (bfcacheEntry !== null) return children; } function getBoundaryDebugNameFromSegment(segment) { if (segment === '/') { // Reached the root return '/'; } if (typeof segment === 'string') { if (isVirtualLayout(segment)) { return undefined; } else { return segment + '/'; } } const paramCacheKey = segment[1]; return paramCacheKey + '/'; } function isVirtualLayout(segment) { return(// (like __PAGE__ and __DEFAULT__) to avoid collisions with // user-defined route groups. segment === '(__SLOT__)'); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } }), "[project]/node_modules/next/dist/client/components/render-from-template-context.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return RenderFromTemplateContext; } }); const _interop_require_wildcard = __turbopack_context__.r("[project]/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs [app-client] (ecmascript)"); const _jsxruntime = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)"); const _react = /*#__PURE__*/ _interop_require_wildcard._(__turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)")); const _approutercontextsharedruntime = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js [app-client] (ecmascript)"); function RenderFromTemplateContext() { const children = (0, _react.useContext)(_approutercontextsharedruntime.TemplateContext); return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { children: children }); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } }), "[project]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "ReflectAdapter", { enumerable: true, get: function() { return ReflectAdapter; } }); class ReflectAdapter { static get(target, prop, receiver) { const value = Reflect.get(target, prop, receiver); if (typeof value === 'function') { return value.bind(target); } return value; } static set(target, prop, value, receiver) { return Reflect.set(target, prop, value, receiver); } static has(target, prop) { return Reflect.has(target, prop); } static deleteProperty(target, prop) { return Reflect.deleteProperty(target, prop); } } }), "[project]/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; // This regex will have fast negatives meaning valid identifiers may not pass // this test. However this is only used during static generation to provide hints // about why a page bailed out of some or all prerendering and we can use bracket notation // for example while `ಠ_ಠ` is a valid identifier it's ok to print `searchParams['ಠ_ಠ']` // even if this would have been fine too `searchParams.ಠ_ಠ` Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { describeHasCheckingStringProperty: null, describeStringPropertyAccess: null, wellKnownProperties: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { describeHasCheckingStringProperty: function() { return describeHasCheckingStringProperty; }, describeStringPropertyAccess: function() { return describeStringPropertyAccess; }, wellKnownProperties: function() { return wellKnownProperties; } }); const isDefinitelyAValidIdentifier = /^[A-Za-z_$][A-Za-z0-9_$]*$/; function describeStringPropertyAccess(target, prop) { if (isDefinitelyAValidIdentifier.test(prop)) { return `\`${target}.${prop}\``; } return `\`${target}[${JSON.stringify(prop)}]\``; } function describeHasCheckingStringProperty(target, prop) { const stringifiedProp = JSON.stringify(prop); return `\`Reflect.has(${target}, ${stringifiedProp})\`, \`${stringifiedProp} in ${target}\`, or similar`; } const wellKnownProperties = new Set([ 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toString', 'valueOf', 'toLocaleString', // Promise prototype 'then', 'catch', 'finally', // React Promise extension 'status', // 'value', // 'error', // React introspection 'displayName', '_debugInfo', // Common tested properties 'toJSON', '$$typeof', '__esModule', // Tested by flight when checking for iterables '@@iterator' ]); }), "[project]/node_modules/next/dist/client/request/search-params.browser.dev.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "createRenderSearchParamsFromClient", { enumerable: true, get: function() { return createRenderSearchParamsFromClient; } }); const _reflect = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)"); const _reflectutils = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)"); const CachedSearchParams = new WeakMap(); function makeUntrackedSearchParamsWithDevWarnings(underlyingSearchParams) { const cachedSearchParams = CachedSearchParams.get(underlyingSearchParams); if (cachedSearchParams) { return cachedSearchParams; } const proxiedProperties = new Set(); const promise = Promise.resolve(underlyingSearchParams); Object.keys(underlyingSearchParams).forEach((prop)=>{ if (_reflectutils.wellKnownProperties.has(prop)) { // These properties cannot be shadowed because they need to be the // true underlying value for Promises to work correctly at runtime } else { proxiedProperties.add(prop); } }); const proxiedPromise = new Proxy(promise, { get (target, prop, receiver) { if (typeof prop === 'string') { if (!_reflectutils.wellKnownProperties.has(prop) && (proxiedProperties.has(prop) || // We are accessing a property that doesn't exist on the promise nor // the underlying searchParams. Reflect.has(target, prop) === false)) { const expression = (0, _reflectutils.describeStringPropertyAccess)('searchParams', prop); warnForSyncAccess(expression); } } return _reflect.ReflectAdapter.get(target, prop, receiver); }, set (target, prop, value, receiver) { if (typeof prop === 'string') { proxiedProperties.delete(prop); } return Reflect.set(target, prop, value, receiver); }, has (target, prop) { if (typeof prop === 'string') { if (!_reflectutils.wellKnownProperties.has(prop) && (proxiedProperties.has(prop) || // We are accessing a property that doesn't exist on the promise nor // the underlying searchParams. Reflect.has(target, prop) === false)) { const expression = (0, _reflectutils.describeHasCheckingStringProperty)('searchParams', prop); warnForSyncAccess(expression); } } return Reflect.has(target, prop); }, ownKeys (target) { warnForSyncSpread(); return Reflect.ownKeys(target); } }); CachedSearchParams.set(underlyingSearchParams, proxiedPromise); return proxiedPromise; } function warnForSyncAccess(expression) { console.error(`A searchParam property was accessed directly with ${expression}. ` + `\`searchParams\` is a Promise and must be unwrapped with \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`); } function warnForSyncSpread() { console.error(`The keys of \`searchParams\` were accessed directly. ` + `\`searchParams\` is a Promise and must be unwrapped with \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`); } function createRenderSearchParamsFromClient(underlyingSearchParams) { return makeUntrackedSearchParamsWithDevWarnings(underlyingSearchParams); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } }), "[project]/node_modules/next/dist/client/request/search-params.browser.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "createRenderSearchParamsFromClient", { enumerable: true, get: function() { return createRenderSearchParamsFromClient; } }); const createRenderSearchParamsFromClient = ("TURBOPACK compile-time truthy", 1) ? __turbopack_context__.r("[project]/node_modules/next/dist/client/request/search-params.browser.dev.js [app-client] (ecmascript)").createRenderSearchParamsFromClient : "TURBOPACK unreachable"; if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } }), "[project]/node_modules/next/dist/client/request/params.browser.dev.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "createRenderParamsFromClient", { enumerable: true, get: function() { return createRenderParamsFromClient; } }); const _reflect = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)"); const _reflectutils = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)"); const CachedParams = new WeakMap(); function makeDynamicallyTrackedParamsWithDevWarnings(underlyingParams) { const cachedParams = CachedParams.get(underlyingParams); if (cachedParams) { return cachedParams; } // We don't use makeResolvedReactPromise here because params // supports copying with spread and we don't want to unnecessarily // instrument the promise with spreadable properties of ReactPromise. const promise = Promise.resolve(underlyingParams); const proxiedProperties = new Set(); Object.keys(underlyingParams).forEach((prop)=>{ if (_reflectutils.wellKnownProperties.has(prop)) { // These properties cannot be shadowed because they need to be the // true underlying value for Promises to work correctly at runtime } else { proxiedProperties.add(prop); } }); const proxiedPromise = new Proxy(promise, { get (target, prop, receiver) { if (typeof prop === 'string') { if (proxiedProperties.has(prop)) { const expression = (0, _reflectutils.describeStringPropertyAccess)('params', prop); warnForSyncAccess(expression); } } return _reflect.ReflectAdapter.get(target, prop, receiver); }, set (target, prop, value, receiver) { if (typeof prop === 'string') { proxiedProperties.delete(prop); } return _reflect.ReflectAdapter.set(target, prop, value, receiver); }, ownKeys (target) { warnForEnumeration(); return Reflect.ownKeys(target); } }); CachedParams.set(underlyingParams, proxiedPromise); return proxiedPromise; } function warnForSyncAccess(expression) { console.error(`A param property was accessed directly with ${expression}. ` + `\`params\` is a Promise and must be unwrapped with \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`); } function warnForEnumeration() { console.error(`params are being enumerated. ` + `\`params\` is a Promise and must be unwrapped with \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`); } function createRenderParamsFromClient(clientParams) { return makeDynamicallyTrackedParamsWithDevWarnings(clientParams); } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } }), "[project]/node_modules/next/dist/client/request/params.browser.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "createRenderParamsFromClient", { enumerable: true, get: function() { return createRenderParamsFromClient; } }); const createRenderParamsFromClient = ("TURBOPACK compile-time truthy", 1) ? __turbopack_context__.r("[project]/node_modules/next/dist/client/request/params.browser.dev.js [app-client] (ecmascript)").createRenderParamsFromClient : "TURBOPACK unreachable"; if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } }), "[project]/node_modules/next/dist/server/app-render/vary-params.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { accumulateRootVaryParam: null, accumulateVaryParam: null, createResponseVaryParamsAccumulator: null, createVaryParamsAccumulator: null, createVaryingParams: null, createVaryingSearchParams: null, emptyVaryParamsAccumulator: null, finishAccumulatingVaryParams: null, getMetadataVaryParamsAccumulator: null, getMetadataVaryParamsThenable: null, getRootParamsVaryParamsAccumulator: null, getVaryParamsThenable: null, getViewportVaryParamsAccumulator: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { accumulateRootVaryParam: function() { return accumulateRootVaryParam; }, accumulateVaryParam: function() { return accumulateVaryParam; }, createResponseVaryParamsAccumulator: function() { return createResponseVaryParamsAccumulator; }, createVaryParamsAccumulator: function() { return createVaryParamsAccumulator; }, createVaryingParams: function() { return createVaryingParams; }, createVaryingSearchParams: function() { return createVaryingSearchParams; }, emptyVaryParamsAccumulator: function() { return emptyVaryParamsAccumulator; }, finishAccumulatingVaryParams: function() { return finishAccumulatingVaryParams; }, getMetadataVaryParamsAccumulator: function() { return getMetadataVaryParamsAccumulator; }, getMetadataVaryParamsThenable: function() { return getMetadataVaryParamsThenable; }, getRootParamsVaryParamsAccumulator: function() { return getRootParamsVaryParamsAccumulator; }, getVaryParamsThenable: function() { return getVaryParamsThenable; }, getViewportVaryParamsAccumulator: function() { return getViewportVaryParamsAccumulator; } }); const _workunitasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js [app-client] (ecmascript)"); function createSegmentVaryParamsAccumulator() { const accumulator = { varyParams: new Set(), status: 'pending', value: new Set(), then (onfulfilled) { if (onfulfilled) { if (accumulator.status === 'pending') { accumulator.resolvers.push(onfulfilled); } else { onfulfilled(accumulator.value); } } }, resolvers: [] }; return accumulator; } /** * A singleton accumulator that's already resolved to an empty Set. Use this for * segments where we know upfront that no params will be accessed, such as * client components or segments without user code. * * Benefits: * - No need to accumulate or resolve later * - Resilient: resolves correctly even if other tracking fails * - Memory efficient: reuses the same object */ const emptySet = new Set(); const emptyVaryParamsAccumulator = { varyParams: emptySet, status: 'fulfilled', value: emptySet, then (onfulfilled) { if (onfulfilled) { onfulfilled(emptySet); } }, resolvers: [] }; function createResponseVaryParamsAccumulator() { // Create the head and rootParams accumulators as top-level fields. // Segment accumulators are added to the segments set as they are created. const head = createSegmentVaryParamsAccumulator(); const rootParams = createSegmentVaryParamsAccumulator(); const segments = new Set(); return { head, rootParams, segments }; } function createVaryParamsAccumulator() { const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); if (workUnitStore) { switch(workUnitStore.type){ case 'prerender': case 'prerender-runtime': { const responseAccumulator = workUnitStore.varyParamsAccumulator; if (responseAccumulator !== null) { const accumulator = createSegmentVaryParamsAccumulator(); responseAccumulator.segments.add(accumulator); return accumulator; } return null; } case 'prerender-ppr': case 'prerender-legacy': case 'request': case 'cache': case 'private-cache': case 'prerender-client': case 'validation-client': case 'unstable-cache': case 'generate-static-params': break; default: workUnitStore; } } return null; } function getMetadataVaryParamsAccumulator() { const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); if (workUnitStore) { switch(workUnitStore.type){ case 'prerender': case 'prerender-runtime': { const responseAccumulator = workUnitStore.varyParamsAccumulator; if (responseAccumulator !== null) { return responseAccumulator.head; } return null; } case 'prerender-ppr': case 'prerender-legacy': case 'request': case 'cache': case 'private-cache': case 'prerender-client': case 'validation-client': case 'unstable-cache': case 'generate-static-params': return null; default: workUnitStore; } } return null; } function getVaryParamsThenable(accumulator) { return accumulator; } function getMetadataVaryParamsThenable() { const accumulator = getMetadataVaryParamsAccumulator(); if (accumulator !== null) { return getVaryParamsThenable(accumulator); } return null; } const getViewportVaryParamsAccumulator = getMetadataVaryParamsAccumulator; function getRootParamsVaryParamsAccumulator() { const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); if (workUnitStore) { switch(workUnitStore.type){ case 'prerender': case 'prerender-runtime': { const responseAccumulator = workUnitStore.varyParamsAccumulator; if (responseAccumulator !== null) { return responseAccumulator.rootParams; } return null; } case 'prerender-ppr': case 'prerender-legacy': case 'request': case 'cache': case 'private-cache': case 'prerender-client': case 'validation-client': case 'unstable-cache': case 'generate-static-params': return null; default: workUnitStore; } } return null; } function accumulateVaryParam(accumulator, paramName) { accumulator.varyParams.add(paramName); } function accumulateRootVaryParam(paramName) { const rootParamsAccumulator = getRootParamsVaryParamsAccumulator(); if (rootParamsAccumulator !== null) { accumulateVaryParam(rootParamsAccumulator, paramName); } } function createVaryingParams(accumulator, originalParamsObject, optionalCatchAllParamName) { if (optionalCatchAllParamName !== null) { // When there's an optional catch-all param with no value (e.g., // [[...slug]] at /), the param doesn't exist as a property on the params // object. Use a Proxy to track all param access — both existing params // and the missing optional param — including enumeration patterns like // Object.keys(), spread, for...in, and `in` checks. return new Proxy(originalParamsObject, { get (target, prop, receiver) { if (typeof prop === 'string') { if (prop === optionalCatchAllParamName || Object.prototype.hasOwnProperty.call(target, prop)) { accumulateVaryParam(accumulator, prop); } } return Reflect.get(target, prop, receiver); }, has (target, prop) { if (prop === optionalCatchAllParamName) { accumulateVaryParam(accumulator, optionalCatchAllParamName); } return Reflect.has(target, prop); }, ownKeys (target) { // Enumerating the params object means the user's code may depend on // which params are present, so conservatively track the optional // param as accessed. accumulateVaryParam(accumulator, optionalCatchAllParamName); return Reflect.ownKeys(target); } }); } // When there's no optional catch-all, all params exist as properties on the // object, so we can use defineProperty getters instead of a Proxy. This is // faster because the engine can optimize property access on regular objects // more aggressively than Proxy trap calls. const underlyingParamsWithVarying = {}; for(const paramName in originalParamsObject){ Object.defineProperty(underlyingParamsWithVarying, paramName, { get () { accumulateVaryParam(accumulator, paramName); return originalParamsObject[paramName]; }, enumerable: true }); } return underlyingParamsWithVarying; } function createVaryingSearchParams(accumulator, originalSearchParamsObject) { const underlyingSearchParamsWithVarying = {}; for(const searchParamName in originalSearchParamsObject){ Object.defineProperty(underlyingSearchParamsWithVarying, searchParamName, { get () { // TODO: Unlike path params, we don't vary track each search param // individually. The entire search string is treated as a single param. // This may change in the future. accumulateVaryParam(accumulator, '?'); return originalSearchParamsObject[searchParamName]; }, enumerable: true }); } return underlyingSearchParamsWithVarying; } async function finishAccumulatingVaryParams(responseAccumulator) { const rootVaryParams = responseAccumulator.rootParams.varyParams; // Resolve head finishSegmentAccumulator(responseAccumulator.head, rootVaryParams); // Resolve each segment for (const segmentAccumulator of responseAccumulator.segments){ finishSegmentAccumulator(segmentAccumulator, rootVaryParams); } // Now that the thenables are resolved, Flight should be able to flush the // vary params into the response stream. This work gets scheduled internally // by Flight using a microtask as soon as we notify the thenable listeners. // // We need to ensure that Flight's pending queues are emptied before this // function returns; the caller will abort the prerender immediately after. // We can't use a macrotask, because that would allow dynamic IO to sneak // into the response. So we use microtasks instead. // // The exact number of awaits here isn't important (indeed, one seems to be // sufficient, at the time of writing), as long as we wait enough ticks for // Flight to finish writing the response. // // Anything that remains in Flight's internal queue after these awaits must // be actual dynamic IO, not caused by pending vary params tasks. In other // words, failing to do this would cause us to treat a fully static prerender // as if it were partially dynamic. await Promise.resolve(); await Promise.resolve(); await Promise.resolve(); } function finishSegmentAccumulator(accumulator, rootVaryParams) { if (accumulator.status !== 'pending') { return; } const merged = new Set(accumulator.varyParams); for (const param of rootVaryParams){ merged.add(param); } accumulator.value = merged; accumulator.status = 'fulfilled'; for (const resolver of accumulator.resolvers){ resolver(merged); } accumulator.resolvers = []; } }), "[project]/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "createDedupedByCallsiteServerErrorLoggerDev", { enumerable: true, get: function() { return createDedupedByCallsiteServerErrorLoggerDev; } }); const _react = /*#__PURE__*/ _interop_require_wildcard(__turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)")); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interop_require_wildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = { __proto__: null }; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for(var key in obj){ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } const errorRef = { current: null }; // React.cache is currently only available in canary/experimental React channels. const cache = typeof _react.cache === 'function' ? _react.cache : (fn)=>fn; // When Cache Components is enabled, we record these as errors so that they // are captured by the dev overlay as it's more critical to fix these // when enabled. const logErrorOrWarn = ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : console.warn; // We don't want to dedupe across requests. // The developer might've just attempted to fix the warning so we should warn again if it still happens. const flushCurrentErrorIfNew = cache((key)=>{ try { logErrorOrWarn(errorRef.current); } finally{ errorRef.current = null; } }); function createDedupedByCallsiteServerErrorLoggerDev(getMessage) { return function logDedupedError(...args) { const message = getMessage(...args); if ("TURBOPACK compile-time truthy", 1) { var _stack; const callStackFrames = (_stack = new Error().stack) == null ? void 0 : _stack.split('\n'); if (callStackFrames === undefined || callStackFrames.length < 4) { logErrorOrWarn(message); } else { // Error: // logDedupedError // asyncApiBeingAccessedSynchronously // // TODO: This breaks if sourcemaps with ignore lists are enabled. const key = callStackFrames[4]; errorRef.current = message; flushCurrentErrorIfNew(key); } } else //TURBOPACK unreachable ; }; } }), "[project]/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "afterTaskAsyncStorageInstance", { enumerable: true, get: function() { return afterTaskAsyncStorageInstance; } }); const _asynclocalstorage = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/async-local-storage.js [app-client] (ecmascript)"); const afterTaskAsyncStorageInstance = (0, _asynclocalstorage.createAsyncLocalStorage)(); }), "[project]/node_modules/next/dist/server/app-render/after-task-async-storage.external.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "afterTaskAsyncStorage", { enumerable: true, get: function() { return _aftertaskasyncstorageinstance.afterTaskAsyncStorageInstance; } }); const _aftertaskasyncstorageinstance = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/after-task-async-storage-instance.js [app-client] (ecmascript)"); }), "[project]/node_modules/next/dist/server/request/utils.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { isRequestAPICallableInsideAfter: null, throwForSearchParamsAccessInUseCache: null, throwWithStaticGenerationBailoutErrorWithDynamicError: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { isRequestAPICallableInsideAfter: function() { return isRequestAPICallableInsideAfter; }, throwForSearchParamsAccessInUseCache: function() { return throwForSearchParamsAccessInUseCache; }, throwWithStaticGenerationBailoutErrorWithDynamicError: function() { return throwWithStaticGenerationBailoutErrorWithDynamicError; } }); const _staticgenerationbailout = __turbopack_context__.r("[project]/node_modules/next/dist/client/components/static-generation-bailout.js [app-client] (ecmascript)"); const _aftertaskasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/after-task-async-storage.external.js [app-client] (ecmascript)"); function throwWithStaticGenerationBailoutErrorWithDynamicError(route, expression) { throw Object.defineProperty(new _staticgenerationbailout.StaticGenBailoutError(`Route ${route} with \`dynamic = "error"\` couldn't be rendered statically because it used ${expression}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`), "__NEXT_ERROR_CODE", { value: "E543", enumerable: false, configurable: true }); } function throwForSearchParamsAccessInUseCache(workStore, constructorOpt) { const error = Object.defineProperty(new Error(`Route ${workStore.route} used \`searchParams\` inside "use cache". Accessing dynamic request data inside a cache scope is not supported. If you need some search params inside a cached function await \`searchParams\` outside of the cached function and pass only the required search params as arguments to the cached function. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`), "__NEXT_ERROR_CODE", { value: "E842", enumerable: false, configurable: true }); Error.captureStackTrace(error, constructorOpt); workStore.invalidDynamicUsageError ??= error; throw error; } function isRequestAPICallableInsideAfter() { const afterTaskStore = _aftertaskasyncstorageexternal.afterTaskAsyncStorage.getStore(); return (afterTaskStore == null ? void 0 : afterTaskStore.rootTaskSpawnPhase) === 'action'; } }), "[project]/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all)=>{ for(var name in all)__defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc)=>{ if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from))if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: ()=>from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod)=>__copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/index.ts var src_exports = {}; __export(src_exports, { RequestCookies: ()=>RequestCookies, ResponseCookies: ()=>ResponseCookies, parseCookie: ()=>parseCookie, parseSetCookie: ()=>parseSetCookie, stringifyCookie: ()=>stringifyCookie }); module.exports = __toCommonJS(src_exports); // src/serialize.ts function stringifyCookie(c) { var _a; const attrs = [ "path" in c && c.path && `Path=${c.path}`, "expires" in c && (c.expires || c.expires === 0) && `Expires=${(typeof c.expires === "number" ? new Date(c.expires) : c.expires).toUTCString()}`, "maxAge" in c && typeof c.maxAge === "number" && `Max-Age=${c.maxAge}`, "domain" in c && c.domain && `Domain=${c.domain}`, "secure" in c && c.secure && "Secure", "httpOnly" in c && c.httpOnly && "HttpOnly", "sameSite" in c && c.sameSite && `SameSite=${c.sameSite}`, "partitioned" in c && c.partitioned && "Partitioned", "priority" in c && c.priority && `Priority=${c.priority}` ].filter(Boolean); const stringified = `${c.name}=${encodeURIComponent((_a = c.value) != null ? _a : "")}`; return attrs.length === 0 ? stringified : `${stringified}; ${attrs.join("; ")}`; } function parseCookie(cookie) { const map = /* @__PURE__ */ new Map(); for (const pair of cookie.split(/; */)){ if (!pair) continue; const splitAt = pair.indexOf("="); if (splitAt === -1) { map.set(pair, "true"); continue; } const [key, value] = [ pair.slice(0, splitAt), pair.slice(splitAt + 1) ]; try { map.set(key, decodeURIComponent(value != null ? value : "true")); } catch {} } return map; } function parseSetCookie(setCookie) { if (!setCookie) { return void 0; } const [[name, value], ...attributes] = parseCookie(setCookie); const { domain, expires, httponly, maxage, path, samesite, secure, partitioned, priority } = Object.fromEntries(attributes.map(([key, value2])=>[ key.toLowerCase().replace(/-/g, ""), value2 ])); const cookie = { name, value: decodeURIComponent(value), domain, ...expires && { expires: new Date(expires) }, ...httponly && { httpOnly: true }, ...typeof maxage === "string" && { maxAge: Number(maxage) }, path, ...samesite && { sameSite: parseSameSite(samesite) }, ...secure && { secure: true }, ...priority && { priority: parsePriority(priority) }, ...partitioned && { partitioned: true } }; return compact(cookie); } function compact(t) { const newT = {}; for(const key in t){ if (t[key]) { newT[key] = t[key]; } } return newT; } var SAME_SITE = [ "strict", "lax", "none" ]; function parseSameSite(string) { string = string.toLowerCase(); return SAME_SITE.includes(string) ? string : void 0; } var PRIORITY = [ "low", "medium", "high" ]; function parsePriority(string) { string = string.toLowerCase(); return PRIORITY.includes(string) ? string : void 0; } function splitCookiesString(cookiesString) { if (!cookiesString) return []; var cookiesStrings = []; var pos = 0; var start; var ch; var lastComma; var nextStart; var cookiesSeparatorFound; function skipWhitespace() { while(pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))){ pos += 1; } return pos < cookiesString.length; } function notSpecialChar() { ch = cookiesString.charAt(pos); return ch !== "=" && ch !== ";" && ch !== ","; } while(pos < cookiesString.length){ start = pos; cookiesSeparatorFound = false; while(skipWhitespace()){ ch = cookiesString.charAt(pos); if (ch === ",") { lastComma = pos; pos += 1; skipWhitespace(); nextStart = pos; while(pos < cookiesString.length && notSpecialChar()){ pos += 1; } if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") { cookiesSeparatorFound = true; pos = nextStart; cookiesStrings.push(cookiesString.substring(start, lastComma)); start = pos; } else { pos = lastComma + 1; } } else { pos += 1; } } if (!cookiesSeparatorFound || pos >= cookiesString.length) { cookiesStrings.push(cookiesString.substring(start, cookiesString.length)); } } return cookiesStrings; } // src/request-cookies.ts var RequestCookies = class { constructor(requestHeaders){ /** @internal */ this._parsed = /* @__PURE__ */ new Map(); this._headers = requestHeaders; const header = requestHeaders.get("cookie"); if (header) { const parsed = parseCookie(header); for (const [name, value] of parsed){ this._parsed.set(name, { name, value }); } } } [Symbol.iterator]() { return this._parsed[Symbol.iterator](); } /** * The amount of cookies received from the client */ get size() { return this._parsed.size; } get(...args) { const name = typeof args[0] === "string" ? args[0] : args[0].name; return this._parsed.get(name); } getAll(...args) { var _a; const all = Array.from(this._parsed); if (!args.length) { return all.map(([_, value])=>value); } const name = typeof args[0] === "string" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name; return all.filter(([n])=>n === name).map(([_, value])=>value); } has(name) { return this._parsed.has(name); } set(...args) { const [name, value] = args.length === 1 ? [ args[0].name, args[0].value ] : args; const map = this._parsed; map.set(name, { name, value }); this._headers.set("cookie", Array.from(map).map(([_, value2])=>stringifyCookie(value2)).join("; ")); return this; } /** * Delete the cookies matching the passed name or names in the request. */ delete(names) { const map = this._parsed; const result = !Array.isArray(names) ? map.delete(names) : names.map((name)=>map.delete(name)); this._headers.set("cookie", Array.from(map).map(([_, value])=>stringifyCookie(value)).join("; ")); return result; } /** * Delete all the cookies in the cookies in the request. */ clear() { this.delete(Array.from(this._parsed.keys())); return this; } /** * Format the cookies in the request as a string for logging */ [Symbol.for("edge-runtime.inspect.custom")]() { return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`; } toString() { return [ ...this._parsed.values() ].map((v)=>`${v.name}=${encodeURIComponent(v.value)}`).join("; "); } }; // src/response-cookies.ts var ResponseCookies = class { constructor(responseHeaders){ /** @internal */ this._parsed = /* @__PURE__ */ new Map(); var _a, _b, _c; this._headers = responseHeaders; const setCookie = (_c = (_b = (_a = responseHeaders.getSetCookie) == null ? void 0 : _a.call(responseHeaders)) != null ? _b : responseHeaders.get("set-cookie")) != null ? _c : []; const cookieStrings = Array.isArray(setCookie) ? setCookie : splitCookiesString(setCookie); for (const cookieString of cookieStrings){ const parsed = parseSetCookie(cookieString); if (parsed) this._parsed.set(parsed.name, parsed); } } /** * {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise. */ get(...args) { const key = typeof args[0] === "string" ? args[0] : args[0].name; return this._parsed.get(key); } /** * {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise. */ getAll(...args) { var _a; const all = Array.from(this._parsed.values()); if (!args.length) { return all; } const key = typeof args[0] === "string" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name; return all.filter((c)=>c.name === key); } has(name) { return this._parsed.has(name); } /** * {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise. */ set(...args) { const [name, value, cookie] = args.length === 1 ? [ args[0].name, args[0].value, args[0] ] : args; const map = this._parsed; map.set(name, normalizeCookie({ name, value, ...cookie })); replace(map, this._headers); return this; } /** * {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise. */ delete(...args) { const [name, options] = typeof args[0] === "string" ? [ args[0] ] : [ args[0].name, args[0] ]; return this.set({ ...options, name, value: "", expires: /* @__PURE__ */ new Date(0) }); } [Symbol.for("edge-runtime.inspect.custom")]() { return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`; } toString() { return [ ...this._parsed.values() ].map(stringifyCookie).join("; "); } }; function replace(bag, headers) { headers.delete("set-cookie"); for (const [, value] of bag){ const serialized = stringifyCookie(value); headers.append("set-cookie", serialized); } } function normalizeCookie(cookie = { name: "", value: "" }) { if (typeof cookie.expires === "number") { cookie.expires = new Date(cookie.expires); } if (cookie.maxAge) { cookie.expires = new Date(Date.now() + cookie.maxAge * 1e3); } if (cookie.path === null || cookie.path === void 0) { cookie.path = "/"; } return cookie; } // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { RequestCookies, ResponseCookies, parseCookie, parseSetCookie, stringifyCookie }); }), "[project]/node_modules/next/dist/server/web/spec-extension/cookies.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { RequestCookies: null, ResponseCookies: null, stringifyCookie: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { RequestCookies: function() { return _cookies.RequestCookies; }, ResponseCookies: function() { return _cookies.ResponseCookies; }, stringifyCookie: function() { return _cookies.stringifyCookie; } }); const _cookies = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js [app-client] (ecmascript)"); }), "[project]/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { MutableRequestCookiesAdapter: null, ReadonlyRequestCookiesError: null, RequestCookiesAdapter: null, appendMutableCookies: null, areCookiesMutableInCurrentPhase: null, createCookiesWithMutableAccessCheck: null, getModifiedCookieValues: null, responseCookiesToRequestCookies: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { MutableRequestCookiesAdapter: function() { return MutableRequestCookiesAdapter; }, ReadonlyRequestCookiesError: function() { return ReadonlyRequestCookiesError; }, RequestCookiesAdapter: function() { return RequestCookiesAdapter; }, appendMutableCookies: function() { return appendMutableCookies; }, areCookiesMutableInCurrentPhase: function() { return areCookiesMutableInCurrentPhase; }, createCookiesWithMutableAccessCheck: function() { return createCookiesWithMutableAccessCheck; }, getModifiedCookieValues: function() { return getModifiedCookieValues; }, responseCookiesToRequestCookies: function() { return responseCookiesToRequestCookies; } }); const _cookies = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/cookies.js [app-client] (ecmascript)"); const _reflect = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)"); const _workasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/work-async-storage.external.js [app-client] (ecmascript)"); const _actionrevalidationkind = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/action-revalidation-kind.js [app-client] (ecmascript)"); class ReadonlyRequestCookiesError extends Error { constructor(){ super('Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options'); } static callable() { throw new ReadonlyRequestCookiesError(); } } class RequestCookiesAdapter { static seal(cookies) { return new Proxy(cookies, { get (target, prop, receiver) { switch(prop){ case 'clear': case 'delete': case 'set': return ReadonlyRequestCookiesError.callable; default: return _reflect.ReflectAdapter.get(target, prop, receiver); } } }); } } const SYMBOL_MODIFY_COOKIE_VALUES = Symbol.for('next.mutated.cookies'); function getModifiedCookieValues(cookies) { const modified = cookies[SYMBOL_MODIFY_COOKIE_VALUES]; if (!modified || !Array.isArray(modified) || modified.length === 0) { return []; } return modified; } function appendMutableCookies(headers, mutableCookies) { const modifiedCookieValues = getModifiedCookieValues(mutableCookies); if (modifiedCookieValues.length === 0) { return false; } // Return a new response that extends the response with // the modified cookies as fallbacks. `res` cookies // will still take precedence. const resCookies = new _cookies.ResponseCookies(headers); const returnedCookies = resCookies.getAll(); // Set the modified cookies as fallbacks. for (const cookie of modifiedCookieValues){ resCookies.set(cookie); } // Set the original cookies as the final values. for (const cookie of returnedCookies){ resCookies.set(cookie); } return true; } class MutableRequestCookiesAdapter { static wrap(cookies, onUpdateCookies) { const responseCookies = new _cookies.ResponseCookies(new Headers()); for (const cookie of cookies.getAll()){ responseCookies.set(cookie); } let modifiedValues = []; const modifiedCookies = new Set(); const updateResponseCookies = ()=>{ // TODO-APP: change method of getting workStore const workStore = _workasyncstorageexternal.workAsyncStorage.getStore(); if (workStore) { workStore.pathWasRevalidated = _actionrevalidationkind.ActionDidRevalidateStaticAndDynamic; } const allCookies = responseCookies.getAll(); modifiedValues = allCookies.filter((c)=>modifiedCookies.has(c.name)); if (onUpdateCookies) { const serializedCookies = []; for (const cookie of modifiedValues){ const tempCookies = new _cookies.ResponseCookies(new Headers()); tempCookies.set(cookie); serializedCookies.push(tempCookies.toString()); } onUpdateCookies(serializedCookies); } }; const wrappedCookies = new Proxy(responseCookies, { get (target, prop, receiver) { switch(prop){ // A special symbol to get the modified cookie values case SYMBOL_MODIFY_COOKIE_VALUES: return modifiedValues; // TODO: Throw error if trying to set a cookie after the response // headers have been set. case 'delete': return function(...args) { modifiedCookies.add(typeof args[0] === 'string' ? args[0] : args[0].name); try { target.delete(...args); return wrappedCookies; } finally{ updateResponseCookies(); } }; case 'set': return function(...args) { modifiedCookies.add(typeof args[0] === 'string' ? args[0] : args[0].name); try { target.set(...args); return wrappedCookies; } finally{ updateResponseCookies(); } }; default: return _reflect.ReflectAdapter.get(target, prop, receiver); } } }); return wrappedCookies; } } function createCookiesWithMutableAccessCheck(requestStore) { const wrappedCookies = new Proxy(requestStore.mutableCookies, { get (target, prop, receiver) { switch(prop){ case 'delete': return function(...args) { ensureCookiesAreStillMutable(requestStore, 'cookies().delete'); target.delete(...args); return wrappedCookies; }; case 'set': return function(...args) { ensureCookiesAreStillMutable(requestStore, 'cookies().set'); target.set(...args); return wrappedCookies; }; default: return _reflect.ReflectAdapter.get(target, prop, receiver); } } }); return wrappedCookies; } function areCookiesMutableInCurrentPhase(requestStore) { return requestStore.phase === 'action'; } /** Ensure that cookies() starts throwing on mutation * if we changed phases and can no longer mutate. * * This can happen when going: * 'render' -> 'after' * 'action' -> 'render' * */ function ensureCookiesAreStillMutable(requestStore, _callingExpression) { if (!areCookiesMutableInCurrentPhase(requestStore)) { // TODO: maybe we can give a more precise error message based on callingExpression? throw new ReadonlyRequestCookiesError(); } } function responseCookiesToRequestCookies(responseCookies) { const requestCookies = new _cookies.RequestCookies(new Headers()); for (const cookie of responseCookies.getAll()){ requestCookies.set(cookie); } return requestCookies; } }), "[project]/node_modules/next/dist/server/web/spec-extension/adapters/headers.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { HeadersAdapter: null, ReadonlyHeadersError: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { HeadersAdapter: function() { return HeadersAdapter; }, ReadonlyHeadersError: function() { return ReadonlyHeadersError; } }); const _reflect = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)"); class ReadonlyHeadersError extends Error { constructor(){ super('Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers'); } static callable() { throw new ReadonlyHeadersError(); } } class HeadersAdapter extends Headers { constructor(headers){ // We've already overridden the methods that would be called, so we're just // calling the super constructor to ensure that the instanceof check works. super(); this.headers = new Proxy(headers, { get (target, prop, receiver) { // Because this is just an object, we expect that all "get" operations // are for properties. If it's a "get" for a symbol, we'll just return // the symbol. if (typeof prop === 'symbol') { return _reflect.ReflectAdapter.get(target, prop, receiver); } const lowercased = prop.toLowerCase(); // Let's find the original casing of the key. This assumes that there is // no mixed case keys (e.g. "Content-Type" and "content-type") in the // headers object. const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased); // If the original casing doesn't exist, return undefined. if (typeof original === 'undefined') return; // If the original casing exists, return the value. return _reflect.ReflectAdapter.get(target, original, receiver); }, set (target, prop, value, receiver) { if (typeof prop === 'symbol') { return _reflect.ReflectAdapter.set(target, prop, value, receiver); } const lowercased = prop.toLowerCase(); // Let's find the original casing of the key. This assumes that there is // no mixed case keys (e.g. "Content-Type" and "content-type") in the // headers object. const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased); // If the original casing doesn't exist, use the prop as the key. return _reflect.ReflectAdapter.set(target, original ?? prop, value, receiver); }, has (target, prop) { if (typeof prop === 'symbol') return _reflect.ReflectAdapter.has(target, prop); const lowercased = prop.toLowerCase(); // Let's find the original casing of the key. This assumes that there is // no mixed case keys (e.g. "Content-Type" and "content-type") in the // headers object. const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased); // If the original casing doesn't exist, return false. if (typeof original === 'undefined') return false; // If the original casing exists, return true. return _reflect.ReflectAdapter.has(target, original); }, deleteProperty (target, prop) { if (typeof prop === 'symbol') return _reflect.ReflectAdapter.deleteProperty(target, prop); const lowercased = prop.toLowerCase(); // Let's find the original casing of the key. This assumes that there is // no mixed case keys (e.g. "Content-Type" and "content-type") in the // headers object. const original = Object.keys(headers).find((o)=>o.toLowerCase() === lowercased); // If the original casing doesn't exist, return true. if (typeof original === 'undefined') return true; // If the original casing exists, delete the property. return _reflect.ReflectAdapter.deleteProperty(target, original); } }); } /** * Seals a Headers instance to prevent modification by throwing an error when * any mutating method is called. */ static seal(headers) { return new Proxy(headers, { get (target, prop, receiver) { switch(prop){ case 'append': case 'delete': case 'set': return ReadonlyHeadersError.callable; default: return _reflect.ReflectAdapter.get(target, prop, receiver); } } }); } /** * Merges a header value into a string. This stores multiple values as an * array, so we need to merge them into a string. * * @param value a header value * @returns a merged header value (a string) */ merge(value) { if (Array.isArray(value)) return value.join(', '); return value; } /** * Creates a Headers instance from a plain object or a Headers instance. * * @param headers a plain object or a Headers instance * @returns a headers instance */ static from(headers) { if (headers instanceof Headers) return headers; return new HeadersAdapter(headers); } append(name, value) { const existing = this.headers[name]; if (typeof existing === 'string') { this.headers[name] = [ existing, value ]; } else if (Array.isArray(existing)) { existing.push(value); } else { this.headers[name] = value; } } delete(name) { delete this.headers[name]; } get(name) { const value = this.headers[name]; if (typeof value !== 'undefined') return this.merge(value); return null; } has(name) { return typeof this.headers[name] !== 'undefined'; } set(name, value) { this.headers[name] = value; } forEach(callbackfn, thisArg) { for (const [name, value] of this.entries()){ callbackfn.call(thisArg, value, name, this); } } *entries() { for (const key of Object.keys(this.headers)){ const name = key.toLowerCase(); // We assert here that this is a string because we got it from the // Object.keys() call above. const value = this.get(name); yield [ name, value ]; } } *keys() { for (const key of Object.keys(this.headers)){ const name = key.toLowerCase(); yield name; } } *values() { for (const key of Object.keys(this.headers)){ // We assert here that this is a string because we got it from the // Object.keys() call above. const value = this.get(key); yield value; } } [Symbol.iterator]() { return this.entries(); } } }), "[project]/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { getParamProperties: null, getSegmentParam: null, isCatchAll: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { getParamProperties: function() { return getParamProperties; }, getSegmentParam: function() { return getSegmentParam; }, isCatchAll: function() { return isCatchAll; } }); const _interceptionroutes = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/interception-routes.js [app-client] (ecmascript)"); function getSegmentParam(segment) { const interceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((marker)=>segment.startsWith(marker)); // if an interception marker is part of the path segment, we need to jump ahead // to the relevant portion for param parsing if (interceptionMarker) { segment = segment.slice(interceptionMarker.length); } if (segment.startsWith('[[...') && segment.endsWith(']]')) { return { // TODO-APP: Optional catchall does not currently work with parallel routes, // so for now aren't handling a potential interception marker. paramType: 'optional-catchall', paramName: segment.slice(5, -2) }; } if (segment.startsWith('[...') && segment.endsWith(']')) { return { paramType: interceptionMarker ? `catchall-intercepted-${interceptionMarker}` : 'catchall', paramName: segment.slice(4, -1) }; } if (segment.startsWith('[') && segment.endsWith(']')) { return { paramType: interceptionMarker ? `dynamic-intercepted-${interceptionMarker}` : 'dynamic', paramName: segment.slice(1, -1) }; } return null; } function isCatchAll(type) { return type === 'catchall' || type === 'catchall-intercepted-(..)(..)' || type === 'catchall-intercepted-(.)' || type === 'catchall-intercepted-(..)' || type === 'catchall-intercepted-(...)' || type === 'optional-catchall'; } function getParamProperties(paramType) { let repeat = false; let optional = false; switch(paramType){ case 'catchall': case 'catchall-intercepted-(..)(..)': case 'catchall-intercepted-(.)': case 'catchall-intercepted-(..)': case 'catchall-intercepted-(...)': repeat = true; break; case 'optional-catchall': repeat = true; optional = true; break; case 'dynamic': case 'dynamic-intercepted-(..)(..)': case 'dynamic-intercepted-(.)': case 'dynamic-intercepted-(..)': case 'dynamic-intercepted-(...)': break; default: paramType; } return { repeat, optional }; } }), "[project]/node_modules/next/dist/shared/lib/utils.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { DecodeError: null, MiddlewareNotFoundError: null, MissingStaticPage: null, NormalizeError: null, PageNotFoundError: null, SP: null, ST: null, WEB_VITALS: null, execOnce: null, getDisplayName: null, getLocationOrigin: null, getURL: null, isAbsoluteUrl: null, isResSent: null, loadGetInitialProps: null, normalizeRepeatedSlashes: null, stringifyError: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { DecodeError: function() { return DecodeError; }, MiddlewareNotFoundError: function() { return MiddlewareNotFoundError; }, MissingStaticPage: function() { return MissingStaticPage; }, NormalizeError: function() { return NormalizeError; }, PageNotFoundError: function() { return PageNotFoundError; }, SP: function() { return SP; }, ST: function() { return ST; }, WEB_VITALS: function() { return WEB_VITALS; }, execOnce: function() { return execOnce; }, getDisplayName: function() { return getDisplayName; }, getLocationOrigin: function() { return getLocationOrigin; }, getURL: function() { return getURL; }, isAbsoluteUrl: function() { return isAbsoluteUrl; }, isResSent: function() { return isResSent; }, loadGetInitialProps: function() { return loadGetInitialProps; }, normalizeRepeatedSlashes: function() { return normalizeRepeatedSlashes; }, stringifyError: function() { return stringifyError; } }); const WEB_VITALS = [ 'CLS', 'FCP', 'FID', 'INP', 'LCP', 'TTFB' ]; function execOnce(fn) { let used = false; let result; return (...args)=>{ if (!used) { used = true; result = fn(...args); } return result; }; } // Scheme: https://tools.ietf.org/html/rfc3986#section-3.1 // Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3 const ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\d+\-.]*?:/; const isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url); function getLocationOrigin() { const { protocol, hostname, port } = window.location; return `${protocol}//${hostname}${port ? ':' + port : ''}`; } function getURL() { const { href } = window.location; const origin = getLocationOrigin(); return href.substring(origin.length); } function getDisplayName(Component) { return typeof Component === 'string' ? Component : Component.displayName || Component.name || 'Unknown'; } function isResSent(res) { return res.finished || res.headersSent; } function normalizeRepeatedSlashes(url) { const urlParts = url.split('?'); const urlNoQuery = urlParts[0]; return urlNoQuery // first we replace any non-encoded backslashes with forward // then normalize repeated forward slashes .replace(/\\/g, '/').replace(/\/\/+/g, '/') + (urlParts[1] ? `?${urlParts.slice(1).join('?')}` : ''); } async function loadGetInitialProps(App, ctx) { if ("TURBOPACK compile-time truthy", 1) { if (App.prototype?.getInitialProps) { const message = `"${getDisplayName(App)}.getInitialProps()" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.`; throw Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", { value: "E1035", enumerable: false, configurable: true }); } } // when called from _app `ctx` is nested in `ctx` const res = ctx.res || ctx.ctx && ctx.ctx.res; if (!App.getInitialProps) { if (ctx.ctx && ctx.Component) { // @ts-ignore pageProps default return { pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx) }; } return {}; } const props = await App.getInitialProps(ctx); if (res && isResSent(res)) { return props; } if (!props) { const message = `"${getDisplayName(App)}.getInitialProps()" should resolve to an object. But found "${props}" instead.`; throw Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", { value: "E1025", enumerable: false, configurable: true }); } if ("TURBOPACK compile-time truthy", 1) { if (Object.keys(props).length === 0 && !ctx.ctx) { console.warn(`${getDisplayName(App)} returned an empty object from \`getInitialProps\`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps`); } } return props; } const SP = typeof performance !== 'undefined'; const ST = SP && [ 'mark', 'measure', 'getEntriesByName' ].every((method)=>typeof performance[method] === 'function'); class DecodeError extends Error { } class NormalizeError extends Error { } class PageNotFoundError extends Error { constructor(page){ super(); this.code = 'ENOENT'; this.name = 'PageNotFoundError'; this.message = `Cannot find module for page: ${page}`; } } class MissingStaticPage extends Error { constructor(page, message){ super(); this.message = `Failed to load static file for page: ${page} ${message}`; } } class MiddlewareNotFoundError extends Error { constructor(){ super(); this.code = 'ENOENT'; this.message = `Cannot find the middleware module`; } } function stringifyError(error) { return JSON.stringify({ message: error.message, stack: error.stack }); } }), "[project]/node_modules/next/dist/shared/lib/router/utils/querystring.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { assign: null, searchParamsToUrlQuery: null, urlQueryToSearchParams: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { assign: function() { return assign; }, searchParamsToUrlQuery: function() { return searchParamsToUrlQuery; }, urlQueryToSearchParams: function() { return urlQueryToSearchParams; } }); function searchParamsToUrlQuery(searchParams) { const query = {}; for (const [key, value] of searchParams.entries()){ const existing = query[key]; if (typeof existing === 'undefined') { query[key] = value; } else if (Array.isArray(existing)) { existing.push(value); } else { query[key] = [ existing, value ]; } } return query; } function stringifyUrlQueryParam(param) { if (typeof param === 'string') { return param; } if (typeof param === 'number' && !isNaN(param) || typeof param === 'boolean') { return String(param); } else { return ''; } } function urlQueryToSearchParams(query) { const searchParams = new URLSearchParams(); for (const [key, value] of Object.entries(query)){ if (Array.isArray(value)) { for (const item of value){ searchParams.append(key, stringifyUrlQueryParam(item)); } } else { searchParams.set(key, stringifyUrlQueryParam(value)); } } return searchParams; } function assign(target, ...searchParamsList) { for (const searchParams of searchParamsList){ for (const key of searchParams.keys()){ target.delete(key); } for (const [key, value] of searchParams.entries()){ target.append(key, value); } } return target; } }), "[project]/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "parseRelativeUrl", { enumerable: true, get: function() { return parseRelativeUrl; } }); const _utils = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/utils.js [app-client] (ecmascript)"); const _querystring = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/querystring.js [app-client] (ecmascript)"); function parseRelativeUrl(url, base, parseQuery = true) { const globalBase = new URL(typeof window === 'undefined' ? 'http://n' : (0, _utils.getLocationOrigin)()); const resolvedBase = base ? new URL(base, globalBase) : url.startsWith('.') ? new URL(typeof window === 'undefined' ? 'http://n' : window.location.href) : globalBase; const { pathname, searchParams, search, hash, href, origin } = url.startsWith('/') ? // Not using `origin` to support other protocols new URL(`${resolvedBase.protocol}//${resolvedBase.host}${url}`) : new URL(url, resolvedBase); if (origin !== globalBase.origin) { throw Object.defineProperty(new Error(`invariant: invalid relative URL, router received ${url}`), "__NEXT_ERROR_CODE", { value: "E159", enumerable: false, configurable: true }); } return { auth: null, host: null, hostname: null, pathname, port: null, protocol: null, query: parseQuery ? (0, _querystring.searchParamsToUrlQuery)(searchParams) : undefined, search, hash, href: href.slice(origin.length), // We don't know for relative URLs at this point since we set a custom, internal // base that isn't surfaced to users. slashes: null }; } }), "[project]/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { InstantValidationError: null, isInstantValidationError: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { InstantValidationError: function() { return InstantValidationError; }, isInstantValidationError: function() { return isInstantValidationError; } }); const INSTANT_VALIDATION_ERROR_DIGEST = 'INSTANT_VALIDATION_ERROR'; function isInstantValidationError(err) { return !!(err && typeof err === 'object' && err instanceof Error && err.digest === INSTANT_VALIDATION_ERROR_DIGEST); } class InstantValidationError extends Error { constructor(...args){ super(...args), this.digest = INSTANT_VALIDATION_ERROR_DIGEST; } } }), "[project]/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { assertRootParamInSamples: null, createCookiesFromSample: null, createDraftModeForValidation: null, createExhaustiveParamsProxy: null, createExhaustiveSearchParamsProxy: null, createExhaustiveURLSearchParamsProxy: null, createHeadersFromSample: null, createRelativeURLFromSamples: null, createValidationSampleTracking: null, trackMissingSampleError: null, trackMissingSampleErrorAndThrow: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { assertRootParamInSamples: function() { return assertRootParamInSamples; }, createCookiesFromSample: function() { return createCookiesFromSample; }, createDraftModeForValidation: function() { return createDraftModeForValidation; }, createExhaustiveParamsProxy: function() { return createExhaustiveParamsProxy; }, createExhaustiveSearchParamsProxy: function() { return createExhaustiveSearchParamsProxy; }, createExhaustiveURLSearchParamsProxy: function() { return createExhaustiveURLSearchParamsProxy; }, createHeadersFromSample: function() { return createHeadersFromSample; }, createRelativeURLFromSamples: function() { return createRelativeURLFromSamples; }, createValidationSampleTracking: function() { return createValidationSampleTracking; }, trackMissingSampleError: function() { return trackMissingSampleError; }, trackMissingSampleErrorAndThrow: function() { return trackMissingSampleErrorAndThrow; } }); const _cookies = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/cookies.js [app-client] (ecmascript)"); const _requestcookies = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.js [app-client] (ecmascript)"); const _headers = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/adapters/headers.js [app-client] (ecmascript)"); const _getsegmentparam = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/get-segment-param.js [app-client] (ecmascript)"); const _parserelativeurl = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js [app-client] (ecmascript)"); const _invarianterror = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/invariant-error.js [app-client] (ecmascript)"); const _instantvalidationerror = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.js [app-client] (ecmascript)"); const _workunitasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js [app-client] (ecmascript)"); const _reflectutils = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)"); function createValidationSampleTracking() { return { missingSampleErrors: [] }; } function getExpectedSampleTracking() { let validationSampleTracking = null; const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); if (workUnitStore) { switch(workUnitStore.type){ case 'request': case 'validation-client': // TODO(instant-validation-build): do we need any special handling for caches? validationSampleTracking = workUnitStore.validationSampleTracking ?? null; break; case 'cache': case 'private-cache': case 'unstable-cache': case 'prerender-legacy': case 'prerender-ppr': case 'prerender-client': case 'prerender': case 'prerender-runtime': case 'generate-static-params': break; default: workUnitStore; } } if (!validationSampleTracking) { throw Object.defineProperty(new _invarianterror.InvariantError('Expected to have a workUnitStore that provides validationSampleTracking'), "__NEXT_ERROR_CODE", { value: "E1110", enumerable: false, configurable: true }); } return validationSampleTracking; } function trackMissingSampleError(error) { const validationSampleTracking = getExpectedSampleTracking(); validationSampleTracking.missingSampleErrors.push(error); } function trackMissingSampleErrorAndThrow(error) { // TODO(instant-validation-build): this should abort the render trackMissingSampleError(error); throw error; } function createCookiesFromSample(sampleCookies, route) { const declaredNames = new Set(); const cookies = new _cookies.RequestCookies(new Headers()); if (sampleCookies) { for (const cookie of sampleCookies){ declaredNames.add(cookie.name); if (cookie.value !== null) { cookies.set(cookie.name, cookie.value); } } } const sealed = _requestcookies.RequestCookiesAdapter.seal(cookies); return new Proxy(sealed, { get (target, prop, receiver) { if (prop === 'has') { const originalMethod = Reflect.get(target, prop, receiver); const wrappedMethod = function(name) { if (!declaredNames.has(name)) { trackMissingSampleErrorAndThrow(createMissingCookieSampleError(route, name)); } return originalMethod.call(target, name); }; return wrappedMethod; } if (prop === 'get') { const originalMethod = Reflect.get(target, prop, receiver); const wrappedMethod = function(nameOrCookie) { let name; if (typeof nameOrCookie === 'string') { name = nameOrCookie; } else if (nameOrCookie && typeof nameOrCookie === 'object' && typeof nameOrCookie.name === 'string') { name = nameOrCookie.name; } else { // This is an invalid input. Pass it through to the original method so it can error. return originalMethod.call(target, nameOrCookie); } if (!declaredNames.has(name)) { trackMissingSampleErrorAndThrow(createMissingCookieSampleError(route, name)); } return originalMethod.call(target, name); }; return wrappedMethod; } // TODO(instant-validation-build): what should getAll do? // Maybe we should only allow it if there's an array (possibly empty?) return Reflect.get(target, prop, receiver); } }); } function createMissingCookieSampleError(route, name) { return Object.defineProperty(new _instantvalidationerror.InstantValidationError(`Route "${route}" accessed cookie "${name}" which is not defined in the \`samples\` ` + `of \`unstable_instant\`. Add it to the sample's \`cookies\` array, ` + `or \`{ name: "${name}", value: null }\` if it should be absent.`), "__NEXT_ERROR_CODE", { value: "E1115", enumerable: false, configurable: true }); } function createHeadersFromSample(rawSampleHeaders, sampleCookies, route) { // If we have cookie samples, add a `cookie` header to match. // Accessing it will be implicitly allowed by the proxy -- // if the user defined some cookies, accessing the "cookie" header is also fine. const sampleHeaders = rawSampleHeaders ? [ ...rawSampleHeaders ] : []; if (sampleHeaders.find(([name])=>name.toLowerCase() === 'cookie')) { throw Object.defineProperty(new _instantvalidationerror.InstantValidationError('Invalid sample: Defining cookies via a "cookie" header is not supported. Use `cookies: [{ name: ..., value: ... }]` instead.'), "__NEXT_ERROR_CODE", { value: "E1111", enumerable: false, configurable: true }); } if (sampleCookies) { const cookieHeaderValue = sampleCookies.toString(); sampleHeaders.push([ 'cookie', // if the `cookies` samples were empty, or they were all `null`, then we have no cookies, // and the header isn't present, but should remains readable, so we set it to null. cookieHeaderValue !== '' ? cookieHeaderValue : null ]); } const declaredNames = new Set(); const headersInit = {}; for (const [name, value] of sampleHeaders){ declaredNames.add(name.toLowerCase()); if (value !== null) { headersInit[name.toLowerCase()] = value; } } const sealed = _headers.HeadersAdapter.seal(_headers.HeadersAdapter.from(headersInit)); return new Proxy(sealed, { get (target, prop, receiver) { if (prop === 'get' || prop === 'has') { const originalMethod = Reflect.get(target, prop, receiver); const patchedMethod = function(rawName) { const name = rawName.toLowerCase(); if (!declaredNames.has(name)) { trackMissingSampleErrorAndThrow(Object.defineProperty(new _instantvalidationerror.InstantValidationError(`Route "${route}" accessed header "${name}" which is not defined in the \`samples\` ` + `of \`unstable_instant\`. Add it to the sample's \`headers\` array, ` + `or \`["${name}", null]\` if it should be absent.`), "__NEXT_ERROR_CODE", { value: "E1116", enumerable: false, configurable: true })); } // typescript can't reconcile a union of functions with a union of return types, // so we have to cast the original return type away return originalMethod.call(target, name); }; return patchedMethod; } return Reflect.get(target, prop, receiver); } }); } function createDraftModeForValidation() { // Create a minimal DraftModeProvider-compatible object // that always reports draft mode as disabled. // // private properties that can't be set from outside the class. return { get isEnabled () { return false; }, enable () { throw Object.defineProperty(new Error('Draft mode cannot be enabled during build-time instant validation.'), "__NEXT_ERROR_CODE", { value: "E1092", enumerable: false, configurable: true }); }, disable () { throw Object.defineProperty(new Error('Draft mode cannot be disabled during build-time instant validation.'), "__NEXT_ERROR_CODE", { value: "E1094", enumerable: false, configurable: true }); } }; } function createExhaustiveParamsProxy(underlyingParams, declaredParamNames, route) { return new Proxy(underlyingParams, { get (target, prop, receiver) { if (typeof prop === 'string' && !_reflectutils.wellKnownProperties.has(prop) && // Only error when accessing a param that is part of the route but wasn't provided. // accessing properties that aren't expected to be a valid param value is fine. prop in underlyingParams && !declaredParamNames.has(prop)) { trackMissingSampleErrorAndThrow(Object.defineProperty(new _instantvalidationerror.InstantValidationError(`Route "${route}" accessed param "${prop}" which is not defined in the \`samples\` ` + `of \`unstable_instant\`. Add it to the sample's \`params\` object.`), "__NEXT_ERROR_CODE", { value: "E1095", enumerable: false, configurable: true })); } return Reflect.get(target, prop, receiver); } }); } function createExhaustiveSearchParamsProxy(searchParams, declaredSearchParamNames, route) { return new Proxy(searchParams, { get (target, prop, receiver) { if (typeof prop === 'string' && !_reflectutils.wellKnownProperties.has(prop) && !declaredSearchParamNames.has(prop)) { trackMissingSampleErrorAndThrow(createMissingSearchParamSampleError(route, prop)); } return Reflect.get(target, prop, receiver); }, has (target, prop) { if (typeof prop === 'string' && !_reflectutils.wellKnownProperties.has(prop) && !declaredSearchParamNames.has(prop)) { trackMissingSampleErrorAndThrow(createMissingSearchParamSampleError(route, prop)); } return Reflect.has(target, prop); } }); } function createExhaustiveURLSearchParamsProxy(searchParams, declaredSearchParamNames, route) { return new Proxy(searchParams, { get (target, prop, receiver) { // Intercept method calls that access specific param names if (prop === 'get' || prop === 'getAll' || prop === 'has') { const originalMathod = Reflect.get(target, prop, receiver); return (name)=>{ if (typeof name === 'string' && !declaredSearchParamNames.has(name)) { trackMissingSampleErrorAndThrow(createMissingSearchParamSampleError(route, name)); } return originalMathod.call(target, name); }; } const value = Reflect.get(target, prop, receiver); // Prevent `TypeError: Value of "this" must be of type URLSearchParams` for methods if (typeof value === 'function' && !Object.hasOwn(target, prop)) { return value.bind(target); } return value; } }); } function createMissingSearchParamSampleError(route, name) { return Object.defineProperty(new _instantvalidationerror.InstantValidationError(`Route "${route}" accessed searchParam "${name}" which is not defined in the \`samples\` ` + `of \`unstable_instant\`. Add it to the sample's \`searchParams\` object, ` + `or \`{ "${name}": null }\` if it should be absent.`), "__NEXT_ERROR_CODE", { value: "E1098", enumerable: false, configurable: true }); } function createRelativeURLFromSamples(route, sampleParams, sampleSearchParams) { // Build searchParams query object and URL search string from sample const pathname = createPathnameFromRouteAndSampleParams(route, sampleParams ?? {}); let search = ''; if (sampleSearchParams) { const qs = createURLSearchParamsFromSample(sampleSearchParams).toString(); if (qs) { search = '?' + qs; } } return (0, _parserelativeurl.parseRelativeUrl)(pathname + search, undefined, true); } function createURLSearchParamsFromSample(sampleSearchParams) { const result = new URLSearchParams(); if (sampleSearchParams) { for (const [key, value] of Object.entries(sampleSearchParams)){ if (value === null || value === undefined) continue; if (Array.isArray(value)) { for (const v of value){ result.append(key, v); } } else { result.set(key, value); } } } return result; } /** * Substitute sample params into `workStore.route` to create a plausible pathname. * TODO(instant-validation-build): this logic is somewhat hacky and likely incomplete, * but it should be good enough for some initial testing. */ function createPathnameFromRouteAndSampleParams(route, params) { let interpolatedSegments = []; const rawSegments = route.split('/'); for (const rawSegment of rawSegments){ const param = (0, _getsegmentparam.getSegmentParam)(rawSegment); if (param) { switch(param.paramType){ case 'catchall': case 'optional-catchall': { let paramValue = params[param.paramName]; if (paramValue === undefined) { // The value for the param was not provided. `usePathname` will detect this and throw // before this can surface to userspace. Use `[...NAME]` as a placeholder for the param value // in case it pops up somewhere unexpectedly. paramValue = [ rawSegment ]; } else if (!Array.isArray(paramValue)) { // NOTE: this happens outside of render, so we don't need `trackMissingSampleErrorAndThrow` throw Object.defineProperty(new _instantvalidationerror.InstantValidationError(`Expected sample param value for segment '${rawSegment}' to be an array of strings, got ${typeof paramValue}`), "__NEXT_ERROR_CODE", { value: "E1104", enumerable: false, configurable: true }); } interpolatedSegments.push(...paramValue.map((v)=>encodeURIComponent(v))); break; } case 'dynamic': { let paramValue = params[param.paramName]; if (paramValue === undefined) { // The value for the param was not provided. `usePathname` will detect this and throw // before this can surface to userspace. Use `[NAME]` as a placeholder for the param value // in case it pops up somewhere unexpectedly. paramValue = rawSegment; } else if (typeof paramValue !== 'string') { // NOTE: this happens outside of render, so we don't need `trackMissingSampleErrorAndThrow` throw Object.defineProperty(new _instantvalidationerror.InstantValidationError(`Expected sample param value for segment '${rawSegment}' to be a string, got ${typeof paramValue}`), "__NEXT_ERROR_CODE", { value: "E1108", enumerable: false, configurable: true }); } interpolatedSegments.push(encodeURIComponent(paramValue)); break; } case 'catchall-intercepted-(..)(..)': case 'catchall-intercepted-(.)': case 'catchall-intercepted-(..)': case 'catchall-intercepted-(...)': case 'dynamic-intercepted-(..)(..)': case 'dynamic-intercepted-(.)': case 'dynamic-intercepted-(..)': case 'dynamic-intercepted-(...)': { // TODO(instant-validation-build): i don't know how these are supposed to work, or if we can even get them here throw Object.defineProperty(new _invarianterror.InvariantError('Not implemented: Validation of interception routes'), "__NEXT_ERROR_CODE", { value: "E1106", enumerable: false, configurable: true }); } default: { param.paramType; } } } else { interpolatedSegments.push(rawSegment); } } return interpolatedSegments.join('/'); } function assertRootParamInSamples(workStore, sampleParams, paramName) { if (sampleParams && paramName in sampleParams) { // The param is defined in the samples. } else { const route = workStore.route; trackMissingSampleErrorAndThrow(Object.defineProperty(new _instantvalidationerror.InstantValidationError(`Route "${route}" accessed root param "${paramName}" which is not defined in the \`samples\` ` + `of \`unstable_instant\`. Add it to the sample's \`params\` object.`), "__NEXT_ERROR_CODE", { value: "E1114", enumerable: false, configurable: true })); } } }), "[project]/node_modules/next/dist/server/request/search-params.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { createPrerenderSearchParamsForClientPage: null, createSearchParamsFromClient: null, createServerSearchParamsForMetadata: null, createServerSearchParamsForServerPage: null, makeErroringSearchParamsForUseCache: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { createPrerenderSearchParamsForClientPage: function() { return createPrerenderSearchParamsForClientPage; }, createSearchParamsFromClient: function() { return createSearchParamsFromClient; }, createServerSearchParamsForMetadata: function() { return createServerSearchParamsForMetadata; }, createServerSearchParamsForServerPage: function() { return createServerSearchParamsForServerPage; }, makeErroringSearchParamsForUseCache: function() { return makeErroringSearchParamsForUseCache; } }); const _workasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/work-async-storage.external.js [app-client] (ecmascript)"); const _varyparams = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/vary-params.js [app-client] (ecmascript)"); const _reflect = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)"); const _dynamicrendering = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/dynamic-rendering.js [app-client] (ecmascript)"); const _workunitasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js [app-client] (ecmascript)"); const _invarianterror = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/invariant-error.js [app-client] (ecmascript)"); const _dynamicrenderingutils = __turbopack_context__.r("[project]/node_modules/next/dist/server/dynamic-rendering-utils.js [app-client] (ecmascript)"); const _creatededupedbycallsiteservererrorlogger = __turbopack_context__.r("[project]/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js [app-client] (ecmascript)"); const _reflectutils = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)"); const _utils = __turbopack_context__.r("[project]/node_modules/next/dist/server/request/utils.js [app-client] (ecmascript)"); const _stagedrendering = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/staged-rendering.js [app-client] (ecmascript)"); function createSearchParamsFromClient(underlyingSearchParams) { const workStore = _workasyncstorageexternal.workAsyncStorage.getStore(); if (!workStore) { throw Object.defineProperty(new _invarianterror.InvariantError('Expected workStore to be initialized'), "__NEXT_ERROR_CODE", { value: "E1068", enumerable: false, configurable: true }); } const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); if (workUnitStore) { switch(workUnitStore.type){ case 'prerender': case 'prerender-client': case 'prerender-ppr': case 'prerender-legacy': return createStaticPrerenderSearchParams(workStore, workUnitStore); case 'validation-client': { return createClientSearchParamsInValidation(underlyingSearchParams, workStore, workUnitStore); } case 'prerender-runtime': throw Object.defineProperty(new _invarianterror.InvariantError('createSearchParamsFromClient should not be called in a runtime prerender.'), "__NEXT_ERROR_CODE", { value: "E769", enumerable: false, configurable: true }); case 'cache': case 'private-cache': case 'unstable-cache': throw Object.defineProperty(new _invarianterror.InvariantError('createSearchParamsFromClient should not be called in cache contexts.'), "__NEXT_ERROR_CODE", { value: "E739", enumerable: false, configurable: true }); case 'generate-static-params': throw Object.defineProperty(new _invarianterror.InvariantError('createSearchParamsFromClient should not be called inside generateStaticParams.'), "__NEXT_ERROR_CODE", { value: "E1133", enumerable: false, configurable: true }); case 'request': // Client searchParams are not runtime prefetchable const isRuntimePrefetchable = false; return createRenderSearchParams(underlyingSearchParams, workStore, workUnitStore, isRuntimePrefetchable); default: workUnitStore; } } (0, _workunitasyncstorageexternal.throwInvariantForMissingStore)(); } function createServerSearchParamsForMetadata(underlyingSearchParams, isRuntimePrefetchable) { const metadataVaryParamsAccumulator = (0, _varyparams.getMetadataVaryParamsAccumulator)(); return createServerSearchParamsForServerPage(underlyingSearchParams, metadataVaryParamsAccumulator, isRuntimePrefetchable); } function createServerSearchParamsForServerPage(underlyingSearchParams, varyParamsAccumulator, isRuntimePrefetchable) { const workStore = _workasyncstorageexternal.workAsyncStorage.getStore(); if (!workStore) { throw Object.defineProperty(new _invarianterror.InvariantError('Expected workStore to be initialized'), "__NEXT_ERROR_CODE", { value: "E1068", enumerable: false, configurable: true }); } const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); if (workUnitStore) { switch(workUnitStore.type){ case 'prerender': case 'prerender-client': case 'prerender-ppr': case 'prerender-legacy': return createStaticPrerenderSearchParams(workStore, workUnitStore); case 'validation-client': throw Object.defineProperty(new _invarianterror.InvariantError('createServerSearchParamsForServerPage should not be called in a client validation.'), "__NEXT_ERROR_CODE", { value: "E1066", enumerable: false, configurable: true }); case 'cache': case 'private-cache': case 'unstable-cache': throw Object.defineProperty(new _invarianterror.InvariantError('createServerSearchParamsForServerPage should not be called in cache contexts.'), "__NEXT_ERROR_CODE", { value: "E747", enumerable: false, configurable: true }); case 'generate-static-params': throw Object.defineProperty(new _invarianterror.InvariantError('createServerSearchParamsForServerPage should not be called inside generateStaticParams.'), "__NEXT_ERROR_CODE", { value: "E1128", enumerable: false, configurable: true }); case 'prerender-runtime': return createRuntimePrerenderSearchParams(underlyingSearchParams, workUnitStore, varyParamsAccumulator, isRuntimePrefetchable); case 'request': return createRenderSearchParams(underlyingSearchParams, workStore, workUnitStore, isRuntimePrefetchable); default: workUnitStore; } } (0, _workunitasyncstorageexternal.throwInvariantForMissingStore)(); } function createPrerenderSearchParamsForClientPage() { const workStore = _workasyncstorageexternal.workAsyncStorage.getStore(); if (!workStore) { throw Object.defineProperty(new _invarianterror.InvariantError('Expected workStore to be initialized'), "__NEXT_ERROR_CODE", { value: "E1068", enumerable: false, configurable: true }); } if (workStore.forceStatic) { // When using forceStatic we override all other logic and always just return an empty // dictionary object. return Promise.resolve({}); } const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); if (workUnitStore) { switch(workUnitStore.type){ case 'prerender': case 'prerender-client': // We're prerendering in a mode that aborts (cacheComponents) and should stall // the promise to ensure the RSC side is considered dynamic return (0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, workStore.route, '`searchParams`'); case 'validation-client': throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderSearchParamsForClientPage should not be called in a client validation.'), "__NEXT_ERROR_CODE", { value: "E1061", enumerable: false, configurable: true }); case 'prerender-runtime': throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderSearchParamsForClientPage should not be called in a runtime prerender.'), "__NEXT_ERROR_CODE", { value: "E768", enumerable: false, configurable: true }); case 'cache': case 'private-cache': case 'unstable-cache': throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderSearchParamsForClientPage should not be called in cache contexts.'), "__NEXT_ERROR_CODE", { value: "E746", enumerable: false, configurable: true }); case 'generate-static-params': throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderSearchParamsForClientPage should not be called inside generateStaticParams.'), "__NEXT_ERROR_CODE", { value: "E1124", enumerable: false, configurable: true }); case 'prerender-ppr': case 'prerender-legacy': case 'request': return Promise.resolve({}); default: workUnitStore; } } (0, _workunitasyncstorageexternal.throwInvariantForMissingStore)(); } function createStaticPrerenderSearchParams(workStore, prerenderStore) { if (workStore.forceStatic) { // When using forceStatic we override all other logic and always just return an empty // dictionary object. return Promise.resolve({}); } switch(prerenderStore.type){ case 'prerender': case 'prerender-client': // We are in a cacheComponents (PPR or otherwise) prerender return makeHangingSearchParams(workStore, prerenderStore); case 'prerender-ppr': case 'prerender-legacy': // We are in a legacy static generation and need to interrupt the // prerender when search params are accessed. return makeErroringSearchParams(workStore, prerenderStore); default: return prerenderStore; } } function createRuntimePrerenderSearchParams(underlyingSearchParams, workUnitStore, varyParamsAccumulator, isRuntimePrefetchable) { const underlyingSearchParamsWithVarying = varyParamsAccumulator !== null ? (0, _varyparams.createVaryingSearchParams)(varyParamsAccumulator, underlyingSearchParams) : underlyingSearchParams; const result = makeUntrackedSearchParams(underlyingSearchParamsWithVarying); const { stagedRendering } = workUnitStore; if (!stagedRendering) { return result; } const stage = isRuntimePrefetchable ? _stagedrendering.RenderStage.EarlyRuntime : _stagedrendering.RenderStage.Runtime; return stagedRendering.waitForStage(stage).then(()=>result); } function createRenderSearchParams(underlyingSearchParams, workStore, requestStore, isRuntimePrefetchable) { if (workStore.forceStatic) { // When using forceStatic we override all other logic and always just return an empty // dictionary object. return Promise.resolve({}); } else { if ("TURBOPACK compile-time truthy", 1) { // Semantically we only need the dev tracking when running in `next dev` // but since you would never use next dev with production NODE_ENV we use this // as a proxy so we can statically exclude this code from production builds. return makeUntrackedSearchParamsWithDevWarnings(underlyingSearchParams, workStore, requestStore, isRuntimePrefetchable); } else //TURBOPACK unreachable ; } } const CachedSearchParams = new WeakMap(); const CachedSearchParamsForUseCache = new WeakMap(); function makeHangingSearchParams(workStore, prerenderStore) { const cachedSearchParams = CachedSearchParams.get(prerenderStore); if (cachedSearchParams) { return cachedSearchParams; } const promise = (0, _dynamicrenderingutils.makeHangingPromise)(prerenderStore.renderSignal, workStore.route, '`searchParams`'); const proxiedPromise = new Proxy(promise, { get (target, prop, receiver) { if (Object.hasOwn(promise, prop)) { // The promise has this property directly. we must return it. // We know it isn't a dynamic access because it can only be something // that was previously written to the promise and thus not an underlying searchParam value return _reflect.ReflectAdapter.get(target, prop, receiver); } switch(prop){ case 'then': { const expression = '`await searchParams`, `searchParams.then`, or similar'; (0, _dynamicrendering.annotateDynamicAccess)(expression, prerenderStore); return _reflect.ReflectAdapter.get(target, prop, receiver); } case 'status': { const expression = '`use(searchParams)`, `searchParams.status`, or similar'; (0, _dynamicrendering.annotateDynamicAccess)(expression, prerenderStore); return _reflect.ReflectAdapter.get(target, prop, receiver); } default: { return _reflect.ReflectAdapter.get(target, prop, receiver); } } } }); CachedSearchParams.set(prerenderStore, proxiedPromise); return proxiedPromise; } function makeErroringSearchParams(workStore, prerenderStore) { const cachedSearchParams = CachedSearchParams.get(workStore); if (cachedSearchParams) { return cachedSearchParams; } const underlyingSearchParams = {}; // For search params we don't construct a ReactPromise because we want to interrupt // rendering on any property access that was not set from outside and so we only want // to have properties like value and status if React sets them. const promise = Promise.resolve(underlyingSearchParams); const proxiedPromise = new Proxy(promise, { get (target, prop, receiver) { if (Object.hasOwn(promise, prop)) { // The promise has this property directly. we must return it. // We know it isn't a dynamic access because it can only be something // that was previously written to the promise and thus not an underlying searchParam value return _reflect.ReflectAdapter.get(target, prop, receiver); } if (typeof prop === 'string' && prop === 'then') { const expression = '`await searchParams`, `searchParams.then`, or similar'; if (workStore.dynamicShouldError) { (0, _utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route, expression); } else if (prerenderStore.type === 'prerender-ppr') { // PPR Prerender (no cacheComponents) (0, _dynamicrendering.postponeWithTracking)(workStore.route, expression, prerenderStore.dynamicTracking); } else { // Legacy Prerender (0, _dynamicrendering.throwToInterruptStaticGeneration)(expression, workStore, prerenderStore); } } return _reflect.ReflectAdapter.get(target, prop, receiver); } }); CachedSearchParams.set(workStore, proxiedPromise); return proxiedPromise; } function makeErroringSearchParamsForUseCache() { const workStore = _workasyncstorageexternal.workAsyncStorage.getStore(); if (!workStore) { throw Object.defineProperty(new _invarianterror.InvariantError('Expected workStore to be initialized'), "__NEXT_ERROR_CODE", { value: "E1068", enumerable: false, configurable: true }); } const cachedSearchParams = CachedSearchParamsForUseCache.get(workStore); if (cachedSearchParams) { return cachedSearchParams; } const promise = Promise.resolve({}); const proxiedPromise = new Proxy(promise, { get: function get(target, prop, receiver) { if (Object.hasOwn(promise, prop)) { // The promise has this property directly. we must return it. We know it // isn't a dynamic access because it can only be something that was // previously written to the promise and thus not an underlying // searchParam value return _reflect.ReflectAdapter.get(target, prop, receiver); } if (typeof prop === 'string' && (prop === 'then' || !_reflectutils.wellKnownProperties.has(prop))) { (0, _utils.throwForSearchParamsAccessInUseCache)(workStore, get); } return _reflect.ReflectAdapter.get(target, prop, receiver); } }); CachedSearchParamsForUseCache.set(workStore, proxiedPromise); return proxiedPromise; } function makeUntrackedSearchParams(underlyingSearchParams) { const cachedSearchParams = CachedSearchParams.get(underlyingSearchParams); if (cachedSearchParams) { return cachedSearchParams; } const promise = Promise.resolve(underlyingSearchParams); CachedSearchParams.set(underlyingSearchParams, promise); return promise; } function makeUntrackedSearchParamsWithDevWarnings(underlyingSearchParams, workStore, requestStore, isRuntimePrefetchable) { if (requestStore.asyncApiPromises) { // Do not cache the resulting promise. If we do, we'll only show the first "awaited at" // across all segments that receive searchParams. return makeUntrackedSearchParamsWithDevWarningsImpl(underlyingSearchParams, workStore, requestStore, isRuntimePrefetchable); } else { const cachedSearchParams = CachedSearchParams.get(underlyingSearchParams); if (cachedSearchParams) { return cachedSearchParams; } const promise = makeUntrackedSearchParamsWithDevWarningsImpl(underlyingSearchParams, workStore, requestStore, isRuntimePrefetchable); CachedSearchParams.set(requestStore, promise); return promise; } } function makeUntrackedSearchParamsWithDevWarningsImpl(underlyingSearchParams, workStore, requestStore, isRuntimePrefetchable) { const promiseInitialized = { current: false }; const proxiedUnderlying = instrumentSearchParamsObjectWithDevWarnings(underlyingSearchParams, workStore, promiseInitialized); let promise; if (requestStore.asyncApiPromises) { // We wrap each instance of searchParams in a `new Promise()`. // This is important when all awaits are in third party which would otherwise // track all the way to the internal params. const sharedSearchParamsParent = isRuntimePrefetchable ? requestStore.asyncApiPromises.earlySharedSearchParamsParent : requestStore.asyncApiPromises.sharedSearchParamsParent; promise = new Promise((resolve, reject)=>{ sharedSearchParamsParent.then(()=>resolve(proxiedUnderlying), reject); }); // @ts-expect-error promise.displayName = 'searchParams'; } else { promise = (0, _dynamicrenderingutils.makeDevtoolsIOAwarePromise)(proxiedUnderlying, requestStore, _stagedrendering.RenderStage.Runtime); } promise.then(()=>{ promiseInitialized.current = true; }, // is aborted before it can reach the runtime stage. // In that case, we have to prevent an unhandled rejection from the promise // created by this `.then()` call. // This does not affect the `promiseInitialized` logic above, // because `proxiedUnderlying` will not be used to resolve the promise, // so there's no risk of any of its properties being accessed and triggering // an undesireable warning. ignoreReject); return instrumentSearchParamsPromiseWithDevWarnings(underlyingSearchParams, promise, workStore); } function ignoreReject() {} function instrumentSearchParamsObjectWithDevWarnings(underlyingSearchParams, workStore, promiseInitialized) { // We have an unfortunate sequence of events that requires this initialization logic. We want to instrument the underlying // searchParams object to detect if you are accessing values in dev. This is used for warnings and for things like the static prerender // indicator. However when we pass this proxy to our Promise.resolve() below the VM checks if the resolved value is a promise by looking // at the `.then` property. To our dynamic tracking logic this is indistinguishable from a `then` searchParam and so we would normally trigger // dynamic tracking. However we know that this .then is not real dynamic access, it's just how thenables resolve in sequence. So we introduce // this initialization concept so we omit the dynamic check until after we've constructed our resolved promise. return new Proxy(underlyingSearchParams, { get (target, prop, receiver) { if (typeof prop === 'string' && promiseInitialized.current) { if (workStore.dynamicShouldError) { const expression = (0, _reflectutils.describeStringPropertyAccess)('searchParams', prop); (0, _utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route, expression); } } return _reflect.ReflectAdapter.get(target, prop, receiver); }, has (target, prop) { if (typeof prop === 'string') { if (workStore.dynamicShouldError) { const expression = (0, _reflectutils.describeHasCheckingStringProperty)('searchParams', prop); (0, _utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route, expression); } } return Reflect.has(target, prop); }, ownKeys (target) { if (workStore.dynamicShouldError) { const expression = '`{...searchParams}`, `Object.keys(searchParams)`, or similar'; (0, _utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route, expression); } return Reflect.ownKeys(target); } }); } function instrumentSearchParamsPromiseWithDevWarnings(underlyingSearchParams, promise, workStore) { // Track which properties we should warn for. const proxiedProperties = new Set(); Object.keys(underlyingSearchParams).forEach((prop)=>{ if (_reflectutils.wellKnownProperties.has(prop)) { // These properties cannot be shadowed because they need to be the // true underlying value for Promises to work correctly at runtime } else { proxiedProperties.add(prop); } }); return new Proxy(promise, { get (target, prop, receiver) { if (prop === 'then' && workStore.dynamicShouldError) { const expression = '`searchParams.then`'; (0, _utils.throwWithStaticGenerationBailoutErrorWithDynamicError)(workStore.route, expression); } if (typeof prop === 'string') { if (!_reflectutils.wellKnownProperties.has(prop) && (proxiedProperties.has(prop) || // We are accessing a property that doesn't exist on the promise nor // the underlying searchParams. Reflect.has(target, prop) === false)) { const expression = (0, _reflectutils.describeStringPropertyAccess)('searchParams', prop); warnForSyncAccess(workStore.route, expression); } } return _reflect.ReflectAdapter.get(target, prop, receiver); }, set (target, prop, value, receiver) { if (typeof prop === 'string') { proxiedProperties.delete(prop); } return Reflect.set(target, prop, value, receiver); }, has (target, prop) { if (typeof prop === 'string') { if (!_reflectutils.wellKnownProperties.has(prop) && (proxiedProperties.has(prop) || // We are accessing a property that doesn't exist on the promise nor // the underlying searchParams. Reflect.has(target, prop) === false)) { const expression = (0, _reflectutils.describeHasCheckingStringProperty)('searchParams', prop); warnForSyncAccess(workStore.route, expression); } } return Reflect.has(target, prop); }, ownKeys (target) { const expression = '`Object.keys(searchParams)` or similar'; warnForSyncAccess(workStore.route, expression); return Reflect.ownKeys(target); } }); } const warnForSyncAccess = (0, _creatededupedbycallsiteservererrorlogger.createDedupedByCallsiteServerErrorLoggerDev)(createSearchAccessError); function createSearchAccessError(route, expression) { const prefix = route ? `Route "${route}" ` : 'This route '; return Object.defineProperty(new Error(`${prefix}used ${expression}. ` + `\`searchParams\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`), "__NEXT_ERROR_CODE", { value: "E848", enumerable: false, configurable: true }); } function createClientSearchParamsInValidation(underlyingSearchParams, workStore, workUnitStore) { var _workUnitStore_validationSamples; const { createExhaustiveSearchParamsProxy } = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js [app-client] (ecmascript)"); const declaredKeys = new Set(Object.keys(((_workUnitStore_validationSamples = workUnitStore.validationSamples) == null ? void 0 : _workUnitStore_validationSamples.searchParams) ?? {})); underlyingSearchParams = createExhaustiveSearchParamsProxy(underlyingSearchParams, declaredKeys, workStore.route); return Promise.resolve(underlyingSearchParams); } }), "[project]/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "dynamicAccessAsyncStorageInstance", { enumerable: true, get: function() { return dynamicAccessAsyncStorageInstance; } }); const _asynclocalstorage = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/async-local-storage.js [app-client] (ecmascript)"); const dynamicAccessAsyncStorageInstance = (0, _asynclocalstorage.createAsyncLocalStorage)(); }), "[project]/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "dynamicAccessAsyncStorage", { enumerable: true, get: function() { return _dynamicaccessasyncstorageinstance.dynamicAccessAsyncStorageInstance; } }); const _dynamicaccessasyncstorageinstance = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js [app-client] (ecmascript)"); }), "[project]/node_modules/next/dist/server/request/params.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; var __TURBOPACK__imported__module__$5b$project$5d2f$node_modules$2f$next$2f$dist$2f$build$2f$polyfills$2f$process$2e$js__$5b$app$2d$client$5d$__$28$ecmascript$29$__ = /*#__PURE__*/ __turbopack_context__.i("[project]/node_modules/next/dist/build/polyfills/process.js [app-client] (ecmascript)"); "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); 0 && (module.exports = { createParamsFromClient: null, createPrerenderParamsForClientSegment: null, createServerParamsForMetadata: null, createServerParamsForRoute: null, createServerParamsForServerSegment: null }); function _export(target, all) { for(var name in all)Object.defineProperty(target, name, { enumerable: true, get: all[name] }); } _export(exports, { createParamsFromClient: function() { return createParamsFromClient; }, createPrerenderParamsForClientSegment: function() { return createPrerenderParamsForClientSegment; }, createServerParamsForMetadata: function() { return createServerParamsForMetadata; }, createServerParamsForRoute: function() { return createServerParamsForRoute; }, createServerParamsForServerSegment: function() { return createServerParamsForServerSegment; } }); const _workasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/work-async-storage.external.js [app-client] (ecmascript)"); const _varyparams = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/vary-params.js [app-client] (ecmascript)"); const _reflect = __turbopack_context__.r("[project]/node_modules/next/dist/server/web/spec-extension/adapters/reflect.js [app-client] (ecmascript)"); const _dynamicrendering = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/dynamic-rendering.js [app-client] (ecmascript)"); const _workunitasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/work-unit-async-storage.external.js [app-client] (ecmascript)"); const _invarianterror = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/invariant-error.js [app-client] (ecmascript)"); const _reflectutils = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/utils/reflect-utils.js [app-client] (ecmascript)"); const _dynamicrenderingutils = __turbopack_context__.r("[project]/node_modules/next/dist/server/dynamic-rendering-utils.js [app-client] (ecmascript)"); const _creatededupedbycallsiteservererrorlogger = __turbopack_context__.r("[project]/node_modules/next/dist/server/create-deduped-by-callsite-server-error-logger.js [app-client] (ecmascript)"); const _dynamicaccessasyncstorageexternal = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js [app-client] (ecmascript)"); const _stagedrendering = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/staged-rendering.js [app-client] (ecmascript)"); function createParamsFromClient(underlyingParams) { const workStore = _workasyncstorageexternal.workAsyncStorage.getStore(); if (!workStore) { throw Object.defineProperty(new _invarianterror.InvariantError('Expected workStore to be initialized'), "__NEXT_ERROR_CODE", { value: "E1068", enumerable: false, configurable: true }); } const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); if (workUnitStore) { switch(workUnitStore.type){ case 'prerender': case 'prerender-client': case 'prerender-ppr': case 'prerender-legacy': // Client params don't need additional vary tracking because by the // time they reach the client, the access would have already been // tracked by the server. const varyParamsAccumulator = null; return createStaticPrerenderParams(underlyingParams, null, workStore, workUnitStore, varyParamsAccumulator); case 'validation-client': return createClientParamsInInstantValidation(underlyingParams, workStore, workUnitStore.validationSamples); case 'cache': case 'private-cache': case 'unstable-cache': throw Object.defineProperty(new _invarianterror.InvariantError('createParamsFromClient should not be called in cache contexts.'), "__NEXT_ERROR_CODE", { value: "E736", enumerable: false, configurable: true }); case 'prerender-runtime': throw Object.defineProperty(new _invarianterror.InvariantError('createParamsFromClient should not be called in a runtime prerender.'), "__NEXT_ERROR_CODE", { value: "E770", enumerable: false, configurable: true }); case 'generate-static-params': throw Object.defineProperty(new _invarianterror.InvariantError('createParamsFromClient should not be called inside generateStaticParams.'), "__NEXT_ERROR_CODE", { value: "E1122", enumerable: false, configurable: true }); case 'request': if ("TURBOPACK compile-time truthy", 1) { // Semantically we only need the dev tracking when running in `next dev` // but since you would never use next dev with production NODE_ENV we use this // as a proxy so we can statically exclude this code from production builds. const fallbackParams = workUnitStore.fallbackParams; // Client params are not runtime prefetchable const isRuntimePrefetchable = false; return createRenderParamsInDev(underlyingParams, fallbackParams, workStore, workUnitStore, isRuntimePrefetchable); } else //TURBOPACK unreachable ; default: workUnitStore; } } (0, _workunitasyncstorageexternal.throwInvariantForMissingStore)(); } function createServerParamsForMetadata(underlyingParams, optionalCatchAllParamName, isRuntimePrefetchable) { const metadataVaryParamsAccumulator = (0, _varyparams.getMetadataVaryParamsAccumulator)(); return createServerParamsForServerSegment(underlyingParams, optionalCatchAllParamName, metadataVaryParamsAccumulator, isRuntimePrefetchable); } function createServerParamsForRoute(underlyingParams, varyParamsAccumulator = null) { const workStore = _workasyncstorageexternal.workAsyncStorage.getStore(); if (!workStore) { throw Object.defineProperty(new _invarianterror.InvariantError('Expected workStore to be initialized'), "__NEXT_ERROR_CODE", { value: "E1068", enumerable: false, configurable: true }); } const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); if (workUnitStore) { switch(workUnitStore.type){ case 'prerender': case 'prerender-ppr': case 'prerender-legacy': return createStaticPrerenderParams(underlyingParams, null, workStore, workUnitStore, varyParamsAccumulator); case 'prerender-client': case 'validation-client': throw Object.defineProperty(new _invarianterror.InvariantError('createServerParamsForRoute should not be called in client contexts.'), "__NEXT_ERROR_CODE", { value: "E1064", enumerable: false, configurable: true }); case 'cache': case 'private-cache': case 'unstable-cache': throw Object.defineProperty(new _invarianterror.InvariantError('createServerParamsForRoute should not be called in cache contexts.'), "__NEXT_ERROR_CODE", { value: "E738", enumerable: false, configurable: true }); case 'generate-static-params': throw Object.defineProperty(new _invarianterror.InvariantError('createServerParamsForRoute should not be called inside generateStaticParams.'), "__NEXT_ERROR_CODE", { value: "E1131", enumerable: false, configurable: true }); case 'prerender-runtime': { // Route params are not runtime prefetchable const isRuntimePrefetchable = false; return createRuntimePrerenderParams(underlyingParams, null, workUnitStore, varyParamsAccumulator, isRuntimePrefetchable); } case 'request': if ("TURBOPACK compile-time truthy", 1) { // Semantically we only need the dev tracking when running in `next dev` // but since you would never use next dev with production NODE_ENV we use this // as a proxy so we can statically exclude this code from production builds. const fallbackParams = workUnitStore.fallbackParams; // Route params are not runtime prefetchable const isRuntimePrefetchable = false; return createRenderParamsInDev(underlyingParams, fallbackParams, workStore, workUnitStore, isRuntimePrefetchable); } else //TURBOPACK unreachable ; default: workUnitStore; } } (0, _workunitasyncstorageexternal.throwInvariantForMissingStore)(); } function createServerParamsForServerSegment(underlyingParams, optionalCatchAllParamName, varyParamsAccumulator, isRuntimePrefetchable) { const workStore = _workasyncstorageexternal.workAsyncStorage.getStore(); if (!workStore) { throw Object.defineProperty(new _invarianterror.InvariantError('Expected workStore to be initialized'), "__NEXT_ERROR_CODE", { value: "E1068", enumerable: false, configurable: true }); } const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); if (workUnitStore) { switch(workUnitStore.type){ case 'prerender': case 'prerender-client': case 'prerender-ppr': case 'prerender-legacy': return createStaticPrerenderParams(underlyingParams, optionalCatchAllParamName, workStore, workUnitStore, varyParamsAccumulator); case 'validation-client': throw Object.defineProperty(new _invarianterror.InvariantError('createServerParamsForServerSegment should not be called in client contexts.'), "__NEXT_ERROR_CODE", { value: "E1101", enumerable: false, configurable: true }); case 'cache': case 'private-cache': case 'unstable-cache': throw Object.defineProperty(new _invarianterror.InvariantError('createServerParamsForServerSegment should not be called in cache contexts.'), "__NEXT_ERROR_CODE", { value: "E743", enumerable: false, configurable: true }); case 'generate-static-params': throw Object.defineProperty(new _invarianterror.InvariantError('createServerParamsForServerSegment should not be called inside generateStaticParams.'), "__NEXT_ERROR_CODE", { value: "E1120", enumerable: false, configurable: true }); case 'prerender-runtime': return createRuntimePrerenderParams(underlyingParams, optionalCatchAllParamName, workUnitStore, varyParamsAccumulator, isRuntimePrefetchable); case 'request': if ("TURBOPACK compile-time truthy", 1) { // Semantically we only need the dev tracking when running in `next dev` // but since you would never use next dev with production NODE_ENV we use this // as a proxy so we can statically exclude this code from production builds. const fallbackParams = workUnitStore.fallbackParams; return createRenderParamsInDev(underlyingParams, fallbackParams, workStore, workUnitStore, isRuntimePrefetchable); } else //TURBOPACK unreachable ; default: workUnitStore; } } (0, _workunitasyncstorageexternal.throwInvariantForMissingStore)(); } function createPrerenderParamsForClientSegment(underlyingParams) { const workStore = _workasyncstorageexternal.workAsyncStorage.getStore(); if (!workStore) { throw Object.defineProperty(new _invarianterror.InvariantError('Missing workStore in createPrerenderParamsForClientSegment'), "__NEXT_ERROR_CODE", { value: "E773", enumerable: false, configurable: true }); } const workUnitStore = _workunitasyncstorageexternal.workUnitAsyncStorage.getStore(); if (workUnitStore) { switch(workUnitStore.type){ case 'prerender': case 'prerender-client': const fallbackParams = workUnitStore.fallbackRouteParams; if (fallbackParams) { for(let key in underlyingParams){ if (fallbackParams.has(key)) { // This params object has one or more fallback params, so we need // to consider the awaiting of this params object "dynamic". Since // we are in cacheComponents mode we encode this as a promise that never // resolves. return (0, _dynamicrenderingutils.makeHangingPromise)(workUnitStore.renderSignal, workStore.route, '`params`'); } } } break; case 'validation-client': throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderParamsForClientSegment should not be called in validation contexts.'), "__NEXT_ERROR_CODE", { value: "E1099", enumerable: false, configurable: true }); break; case 'cache': case 'private-cache': case 'unstable-cache': throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderParamsForClientSegment should not be called in cache contexts.'), "__NEXT_ERROR_CODE", { value: "E734", enumerable: false, configurable: true }); case 'generate-static-params': throw Object.defineProperty(new _invarianterror.InvariantError('createPrerenderParamsForClientSegment should not be called inside generateStaticParams.'), "__NEXT_ERROR_CODE", { value: "E1126", enumerable: false, configurable: true }); case 'prerender-ppr': case 'prerender-legacy': case 'prerender-runtime': case 'request': break; default: workUnitStore; } } // We're prerendering in a mode that does not abort. We resolve the promise without // any tracking because we're just transporting a value from server to client where the tracking // will be applied. return Promise.resolve(underlyingParams); } function createStaticPrerenderParams(underlyingParams, optionalCatchAllParamName, workStore, prerenderStore, varyParamsAccumulator) { const underlyingParamsWithVarying = varyParamsAccumulator !== null ? (0, _varyparams.createVaryingParams)(varyParamsAccumulator, underlyingParams, optionalCatchAllParamName) : underlyingParams; switch(prerenderStore.type){ case 'prerender': case 'prerender-client': { const fallbackParams = prerenderStore.fallbackRouteParams; if (fallbackParams) { for(const key in underlyingParams){ if (fallbackParams.has(key)) { // This params object has one or more fallback params, so we need // to consider the awaiting of this params object "dynamic". Since // we are in cacheComponents mode we encode this as a promise that never // resolves. return makeHangingParams(underlyingParamsWithVarying, workStore, prerenderStore); } } } break; } case 'prerender-ppr': { const fallbackParams = prerenderStore.fallbackRouteParams; if (fallbackParams) { for(const key in underlyingParams){ if (fallbackParams.has(key)) { return makeErroringParams(underlyingParamsWithVarying, fallbackParams, workStore, prerenderStore); } } } break; } case 'prerender-legacy': break; default: prerenderStore; } return makeUntrackedParams(underlyingParamsWithVarying); } function createRuntimePrerenderParams(underlyingParams, optionalCatchAllParamName, workUnitStore, varyParamsAccumulator, isRuntimePrefetchable) { const underlyingParamsWithVarying = varyParamsAccumulator !== null ? (0, _varyparams.createVaryingParams)(varyParamsAccumulator, underlyingParams, optionalCatchAllParamName) : underlyingParams; const result = makeUntrackedParams(underlyingParamsWithVarying); const { stagedRendering } = workUnitStore; if (!stagedRendering) { return result; } const stage = isRuntimePrefetchable ? _stagedrendering.RenderStage.EarlyRuntime : _stagedrendering.RenderStage.Runtime; return stagedRendering.waitForStage(stage).then(()=>result); } function hasFallbackRouteParams(underlyingParams, fallbackParams) { if (fallbackParams) { for(let key in underlyingParams){ if (fallbackParams.has(key)) { return true; } } } return false; } function createServerParamsInInstantValidation(underlyingParams, workStore, validationSamples, asyncApiPromises, isRuntimePrefetchable) { const { createExhaustiveParamsProxy } = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js [app-client] (ecmascript)"); const declaredParams = new Set(Object.keys(validationSamples.params ?? {})); const proxiedUnderlying = createExhaustiveParamsProxy(underlyingParams, declaredParams, workStore.route); return (isRuntimePrefetchable ? asyncApiPromises.earlySharedParamsParent : asyncApiPromises.sharedParamsParent).then(()=>proxiedUnderlying); } function createClientParamsInInstantValidation(underlyingParams, workStore, validationSamples) { const { createExhaustiveParamsProxy } = __turbopack_context__.r("[project]/node_modules/next/dist/server/app-render/instant-validation/instant-samples.js [app-client] (ecmascript)"); const declaredParams = new Set(Object.keys((validationSamples == null ? void 0 : validationSamples.params) ?? {})); const proxiedUnderlying = createExhaustiveParamsProxy(underlyingParams, declaredParams, workStore.route); return Promise.resolve(proxiedUnderlying); } function createRenderParamsInProd(underlyingParams) { return makeUntrackedParams(underlyingParams); } function createRenderParamsInDev(underlyingParams, fallbackParams, workStore, requestStore, isRuntimePrefetchable) { return makeDynamicallyTrackedParamsWithDevWarnings(underlyingParams, hasFallbackRouteParams(underlyingParams, fallbackParams), workStore, requestStore, isRuntimePrefetchable); } const CachedParams = new WeakMap(); const fallbackParamsProxyHandler = { get: function get(target, prop, receiver) { if (prop === 'then' || prop === 'catch' || prop === 'finally') { const originalMethod = _reflect.ReflectAdapter.get(target, prop, receiver); return ({ [prop]: (...args)=>{ const store = _dynamicaccessasyncstorageexternal.dynamicAccessAsyncStorage.getStore(); if (store) { store.abortController.abort(Object.defineProperty(new Error(`Accessed fallback \`params\` during prerendering.`), "__NEXT_ERROR_CODE", { value: "E691", enumerable: false, configurable: true })); } return new Proxy(originalMethod.apply(target, args), fallbackParamsProxyHandler); } })[prop]; } return _reflect.ReflectAdapter.get(target, prop, receiver); } }; function makeHangingParams(underlyingParams, workStore, prerenderStore) { const cachedParams = CachedParams.get(underlyingParams); if (cachedParams) { return cachedParams; } const promise = new Proxy((0, _dynamicrenderingutils.makeHangingPromise)(prerenderStore.renderSignal, workStore.route, '`params`'), fallbackParamsProxyHandler); CachedParams.set(underlyingParams, promise); return promise; } function makeErroringParams(underlyingParams, fallbackParams, workStore, prerenderStore) { const cachedParams = CachedParams.get(underlyingParams); if (cachedParams) { return cachedParams; } const augmentedUnderlying = { ...underlyingParams }; // We don't use makeResolvedReactPromise here because params // supports copying with spread and we don't want to unnecessarily // instrument the promise with spreadable properties of ReactPromise. const promise = Promise.resolve(augmentedUnderlying); CachedParams.set(underlyingParams, promise); Object.keys(underlyingParams).forEach((prop)=>{ if (_reflectutils.wellKnownProperties.has(prop)) { // These properties cannot be shadowed because they need to be the // true underlying value for Promises to work correctly at runtime } else { if (fallbackParams.has(prop)) { Object.defineProperty(augmentedUnderlying, prop, { get () { const expression = (0, _reflectutils.describeStringPropertyAccess)('params', prop); // In most dynamic APIs we also throw if `dynamic = "error"` however // for params is only dynamic when we're generating a fallback shell // and even when `dynamic = "error"` we still support generating dynamic // fallback shells // TODO remove this comment when cacheComponents is the default since there // will be no `dynamic = "error"` if (prerenderStore.type === 'prerender-ppr') { // PPR Prerender (no cacheComponents) (0, _dynamicrendering.postponeWithTracking)(workStore.route, expression, prerenderStore.dynamicTracking); } else { // Legacy Prerender (0, _dynamicrendering.throwToInterruptStaticGeneration)(expression, workStore, prerenderStore); } }, enumerable: true }); } } }); return promise; } function makeUntrackedParams(underlyingParams) { const cachedParams = CachedParams.get(underlyingParams); if (cachedParams) { return cachedParams; } const promise = Promise.resolve(underlyingParams); CachedParams.set(underlyingParams, promise); return promise; } function makeDynamicallyTrackedParamsWithDevWarnings(underlyingParams, hasFallbackParams, workStore, requestStore, isRuntimePrefetchable) { if (requestStore.asyncApiPromises && hasFallbackParams) { // We wrap each instance of params in a `new Promise()`, because deduping // them across requests doesn't work anyway and this let us show each // await a different set of values. This is important when all awaits // are in third party which would otherwise track all the way to the // internal params. const sharedParamsParent = isRuntimePrefetchable ? requestStore.asyncApiPromises.earlySharedParamsParent : requestStore.asyncApiPromises.sharedParamsParent; const promise = new Promise((resolve, reject)=>{ sharedParamsParent.then(()=>resolve(underlyingParams), reject); }); // @ts-expect-error promise.displayName = 'params'; return instrumentParamsPromiseWithDevWarnings(underlyingParams, promise, workStore); } const cachedParams = CachedParams.get(underlyingParams); if (cachedParams) { return cachedParams; } // We don't use makeResolvedReactPromise here because params // supports copying with spread and we don't want to unnecessarily // instrument the promise with spreadable properties of ReactPromise. const promise = hasFallbackParams ? (0, _dynamicrenderingutils.makeDevtoolsIOAwarePromise)(underlyingParams, requestStore, _stagedrendering.RenderStage.Runtime) : Promise.resolve(underlyingParams); const proxiedPromise = instrumentParamsPromiseWithDevWarnings(underlyingParams, promise, workStore); CachedParams.set(underlyingParams, proxiedPromise); return proxiedPromise; } function instrumentParamsPromiseWithDevWarnings(underlyingParams, promise, workStore) { // Track which properties we should warn for. const proxiedProperties = new Set(); Object.keys(underlyingParams).forEach((prop)=>{ if (_reflectutils.wellKnownProperties.has(prop)) { // These properties cannot be shadowed because they need to be the // true underlying value for Promises to work correctly at runtime } else { proxiedProperties.add(prop); } }); return new Proxy(promise, { get (target, prop, receiver) { if (typeof prop === 'string') { if (proxiedProperties.has(prop)) { const expression = (0, _reflectutils.describeStringPropertyAccess)('params', prop); warnForSyncAccess(workStore.route, expression); } } return _reflect.ReflectAdapter.get(target, prop, receiver); }, set (target, prop, value, receiver) { if (typeof prop === 'string') { proxiedProperties.delete(prop); } return _reflect.ReflectAdapter.set(target, prop, value, receiver); }, ownKeys (target) { const expression = '`...params` or similar expression'; warnForSyncAccess(workStore.route, expression); return Reflect.ownKeys(target); } }); } const warnForSyncAccess = (0, _creatededupedbycallsiteservererrorlogger.createDedupedByCallsiteServerErrorLoggerDev)(createParamsAccessError); function createParamsAccessError(route, expression) { const prefix = route ? `Route "${route}" ` : 'This route '; return Object.defineProperty(new Error(`${prefix}used ${expression}. ` + `\`params\` is a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. ` + `Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`), "__NEXT_ERROR_CODE", { value: "E834", enumerable: false, configurable: true }); } }), "[project]/node_modules/next/dist/client/components/client-page.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "ClientPageRoot", { enumerable: true, get: function() { return ClientPageRoot; } }); const _jsxruntime = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)"); const _approutercontextsharedruntime = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js [app-client] (ecmascript)"); const _react = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"); const _routeparams = __turbopack_context__.r("[project]/node_modules/next/dist/client/route-params.js [app-client] (ecmascript)"); const _hooksclientcontextsharedruntime = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.js [app-client] (ecmascript)"); function ClientPageRoot({ Component, serverProvidedParams }) { let searchParams; let params; if (serverProvidedParams !== null) { searchParams = serverProvidedParams.searchParams; params = serverProvidedParams.params; } else { // When Cache Components is enabled, the server does not pass the params as // props; they are parsed on the client and passed via context. const layoutRouterContext = (0, _react.use)(_approutercontextsharedruntime.LayoutRouterContext); params = layoutRouterContext !== null ? layoutRouterContext.parentParams : {}; // This is an intentional behavior change: when Cache Components is enabled, // client segments receive the "canonical" search params, not the // rewritten ones. Users should either call useSearchParams directly or pass // the rewritten ones in from a Server Component. // TODO: Log a deprecation error when this object is accessed searchParams = (0, _routeparams.urlSearchParamsToParsedUrlQuery)((0, _react.use)(_hooksclientcontextsharedruntime.SearchParamsContext)); } if (typeof window === 'undefined') { let clientSearchParams; let clientParams; const { createSearchParamsFromClient } = __turbopack_context__.r("[project]/node_modules/next/dist/server/request/search-params.js [app-client] (ecmascript)"); clientSearchParams = createSearchParamsFromClient(searchParams); const { createParamsFromClient } = __turbopack_context__.r("[project]/node_modules/next/dist/server/request/params.js [app-client] (ecmascript)"); clientParams = createParamsFromClient(params); return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, { params: clientParams, searchParams: clientSearchParams }); } else { const { createRenderSearchParamsFromClient } = __turbopack_context__.r("[project]/node_modules/next/dist/client/request/search-params.browser.js [app-client] (ecmascript)"); const clientSearchParams = createRenderSearchParamsFromClient(searchParams); const { createRenderParamsFromClient } = __turbopack_context__.r("[project]/node_modules/next/dist/client/request/params.browser.js [app-client] (ecmascript)"); const clientParams = createRenderParamsFromClient(params); return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, { params: clientParams, searchParams: clientSearchParams }); } } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } }), "[project]/node_modules/next/dist/client/components/client-segment.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "ClientSegmentRoot", { enumerable: true, get: function() { return ClientSegmentRoot; } }); const _jsxruntime = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)"); const _approutercontextsharedruntime = __turbopack_context__.r("[project]/node_modules/next/dist/shared/lib/app-router-context.shared-runtime.js [app-client] (ecmascript)"); const _react = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/index.js [app-client] (ecmascript)"); function ClientSegmentRoot({ Component, slots, serverProvidedParams }) { let params; if (serverProvidedParams !== null) { params = serverProvidedParams.params; } else { // When Cache Components is enabled, the server does not pass the params // as props; they are parsed on the client and passed via context. const layoutRouterContext = (0, _react.use)(_approutercontextsharedruntime.LayoutRouterContext); params = layoutRouterContext !== null ? layoutRouterContext.parentParams : {}; } if (typeof window === 'undefined') { const { createParamsFromClient } = __turbopack_context__.r("[project]/node_modules/next/dist/server/request/params.js [app-client] (ecmascript)"); const clientParams = createParamsFromClient(params); return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, { ...slots, params: clientParams }); } else { const { createRenderParamsFromClient } = __turbopack_context__.r("[project]/node_modules/next/dist/client/request/params.browser.js [app-client] (ecmascript)"); const clientParams = createRenderParamsFromClient(params); return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, { ...slots, params: clientParams }); } } if ((typeof exports.default === 'function' || typeof exports.default === 'object' && exports.default !== null) && typeof exports.default.__esModule === 'undefined') { Object.defineProperty(exports.default, '__esModule', { value: true }); Object.assign(exports.default, exports); module.exports = exports.default; } }), "[project]/node_modules/next/dist/lib/metadata/generate/icon-mark.js [app-client] (ecmascript)", ((__turbopack_context__, module, exports) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "IconMark", { enumerable: true, get: function() { return IconMark; } }); const _jsxruntime = __turbopack_context__.r("[project]/node_modules/next/dist/compiled/react/jsx-runtime.js [app-client] (ecmascript)"); const IconMark = ()=>{ if (typeof window !== 'undefined') { return null; } return /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", { name: "\xabnxt-icon\xbb" }); }; }), ]); //# sourceMappingURL=node_modules_082nswc._.js.map