1(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[153],{ 2 3/***/ 6754: 4/***/ (function(__unused_webpack_module, exports) { 5 6"use strict"; 7 8Object.defineProperty(exports, "__esModule", ({ 9 value: true 10})); 11Object.defineProperty(exports, "getDeploymentIdQueryOrEmptyString", ({ 12 enumerable: true, 13 get: function() { 14 return getDeploymentIdQueryOrEmptyString; 15 } 16})); 17function getDeploymentIdQueryOrEmptyString() { 18 if (false) {} 19 return ""; 20} 21 22//# sourceMappingURL=deployment-id.js.map 23 24/***/ }), 25 26/***/ 6574: 27/***/ (function() { 28 29"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var t=/\((.*)\)/.exec(this.toString());return t?t[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(t,r){return r=this.concat.apply([],this),t>1&&r.some(Array.isArray)?r.flat(t-1):r},Array.prototype.flatMap=function(t,r){return this.map(t,r).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(t){if("function"!=typeof t)return this.then(t,t);var r=this.constructor||Promise;return this.then(function(n){return r.resolve(t()).then(function(){return n})},function(n){return r.resolve(t()).then(function(){throw n})})}),Object.fromEntries||(Object.fromEntries=function(t){return Array.from(t).reduce(function(t,r){return t[r[0]]=r[1],t},{})}),Array.prototype.at||(Array.prototype.at=function(t){var r=Math.trunc(t)||0;if(r<0&&(r+=this.length),!(r<0||r>=this.length))return this[r]}); 30 31 32/***/ }), 33 34/***/ 5733: 35/***/ (function(module, exports, __webpack_require__) { 36 37"use strict"; 38 39Object.defineProperty(exports, "__esModule", ({ 40 value: true 41})); 42Object.defineProperty(exports, "addBasePath", ({ 43 enumerable: true, 44 get: function() { 45 return addBasePath; 46 } 47})); 48const _addpathprefix = __webpack_require__(3952); 49const _normalizetrailingslash = __webpack_require__(9926); 50const basePath = false || ""; 51function addBasePath(path, required) { 52 return (0, _normalizetrailingslash.normalizePathTrailingSlash)( false ? 0 : (0, _addpathprefix.addPathPrefix)(path, basePath)); 53} 54if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 55 Object.defineProperty(exports.default, "__esModule", { 56 value: true 57 }); 58 Object.assign(exports.default, exports); 59 module.exports = exports.default; 60} //# sourceMappingURL=add-base-path.js.map 61 62 63/***/ }), 64 65/***/ 4808: 66/***/ (function(module, exports) { 67 68"use strict"; 69/** 70 * Before starting the Next.js runtime and requiring any module, we need to make 71 * sure the following scripts are executed in the correct order: 72 * - Polyfills 73 * - next/script with `beforeInteractive` strategy 74 */ 75Object.defineProperty(exports, "__esModule", ({ 76 value: true 77})); 78Object.defineProperty(exports, "appBootstrap", ({ 79 enumerable: true, 80 get: function() { 81 return appBootstrap; 82 } 83})); 84const version = "14.0.5-canary.17"; 85window.next = { 86 version, 87 appDir: true 88}; 89function loadScriptsInSequence(scripts, hydrate) { 90 if (!scripts || !scripts.length) { 91 return hydrate(); 92 } 93 return scripts.reduce((promise, param)=>{ 94 let [src, props] = param; 95 return promise.then(()=>{ 96 return new Promise((resolve, reject)=>{ 97 const el = document.createElement("script"); 98 if (props) { 99 for(const key in props){ 100 if (key !== "children") { 101 el.setAttribute(key, props[key]); 102 } 103 } 104 } 105 if (src) { 106 el.src = src; 107 el.onload = ()=>resolve(); 108 el.onerror = reject; 109 } else if (props) { 110 el.innerHTML = props.children; 111 setTimeout(resolve); 112 } 113 document.head.appendChild(el); 114 }); 115 }); 116 }, Promise.resolve()).catch((err)=>{ 117 console.error(err); 118 // Still try to hydrate even if there's an error. 119 }).then(()=>{ 120 hydrate(); 121 }); 122} 123function appBootstrap(callback) { 124 loadScriptsInSequence(self.__next_s, ()=>{ 125 callback(); 126 }); 127} 128if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 129 Object.defineProperty(exports.default, "__esModule", { 130 value: true 131 });
132 Object.assign(exports.default, exports); 133 module.exports = exports.default; 134} //# sourceMappingURL=app-bootstrap.js.map 135 136 137/***/ }), 138 139/***/ 714: 140/***/ (function(module, exports, __webpack_require__) { 141 142"use strict"; 143 144Object.defineProperty(exports, "__esModule", ({ 145 value: true 146})); 147Object.defineProperty(exports, "callServer", ({ 148 enumerable: true, 149 get: function() { 150 return callServer; 151 } 152})); 153const _approuter = __webpack_require__(9985); 154async function callServer(actionId, actionArgs) { 155 const actionDispatcher = (0, _approuter.getServerActionDispatcher)(); 156 if (!actionDispatcher) { 157 throw new Error("Invariant: missing action dispatcher."); 158 } 159 return new Promise((resolve, reject)=>{ 160 actionDispatcher({ 161 actionId, 162 actionArgs, 163 resolve, 164 reject 165 }); 166 }); 167} 168if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 169 Object.defineProperty(exports.default, "__esModule", { 170 value: true 171 }); 172 Object.assign(exports.default, exports); 173 module.exports = exports.default; 174} //# sourceMappingURL=app-call-server.js.map 175 176 177/***/ }), 178 179/***/ 1592: 180/***/ (function(module, exports, __webpack_require__) { 181 182"use strict"; 183/* global location */ 184Object.defineProperty(exports, "__esModule", ({ 185 value: true 186})); 187Object.defineProperty(exports, "hydrate", ({ 188 enumerable: true, 189 get: function() { 190 return hydrate; 191 } 192})); 193const _interop_require_default = __webpack_require__(7295); 194const _interop_require_wildcard = __webpack_require__(3589); 195const _jsxruntime = __webpack_require__(1411); 196__webpack_require__(6574); 197const _client = /*#__PURE__*/ _interop_require_default._(__webpack_require__(1626)); 198const _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(9988)); 199const _client1 = __webpack_require__(5552); 200const _headmanagercontextsharedruntime = __webpack_require__(6061); 201const _approutercontextsharedruntime = __webpack_require__(1214); 202const _onrecoverableerror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(8325)); 203const _appcallserver = __webpack_require__(714); 204const _isnextroutererror = __webpack_require__(7884); 205const _actionqueue = __webpack_require__(8811); 206// Since React doesn't call onerror for errors caught in error boundaries. 207const origConsoleError = window.console.error; 208window.console.error = function() { 209 for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){ 210 args[_key] = arguments[_key]; 211 } 212 if ((0, _isnextroutererror.isNextRouterError)(args[0])) { 213 return; 214 } 215 origConsoleError.apply(window.console, args); 216}; 217window.addEventListener("error", (ev)=>{ 218 if ((0, _isnextroutererror.isNextRouterError)(ev.error)) { 219 ev.preventDefault(); 220 return; 221 } 222}); 223/// <reference types="react-dom/experimental" /> 224const appElement = document; 225const getCacheKey = ()=>{ 226 const { pathname, search } = location; 227 return pathname + search; 228}; 229const encoder = new TextEncoder(); 230let initialServerDataBuffer = undefined; 231let initialServerDataWriter = undefined; 232let initialServerDataLoaded = false; 233let initialServerDataFlushed = false; 234let initialFormStateData = null; 235function nextServerDataCallback(seg) { 236 if (seg[0] === 0) { 237 initialServerDataBuffer = []; 238 } else if (seg[0] === 1) { 239 if (!initialServerDataBuffer) throw new Error("Unexpected server data: missing bootstrap script."); 240 if (initialServerDataWriter) { 241 initialServerDataWriter.enqueue(encoder.encode(seg[1])); 242 } else { 243 initialServerDataBuffer.push(seg[1]); 244 } 245 } else if (seg[0] === 2) { 246 initialFormStateData = seg[1]; 247 } 248} 249// There might be race conditions between `nextServerDataRegisterWriter` and 250// `DOMContentLoaded`. The former will be called when React starts to hydrate 251// the root, the latter will be called when the DOM is fully loaded. 252// For streaming, the former is called first due to partial hydration. 253// For non-streaming, the latter can be called first. 254// Hence, we use two variables `initialServerDataLoaded` and 255// `initialServerDataFlushed` to make sure the writer will be closed and 256// `initialServerDataBuffer` will be cleared in the right time. 257function nextServerDataRegisterWriter(ctr) { 258 if (initialServerDataBuffer) { 259 initialServerDataBuffer.forEach((val)=>{ 260 ctr.enqueue(encoder.encode(val)); 261 }); 262 if (initialServerDataLoaded && !initialServerDataFlushed) { 263 ctr.close(); 264 initialServerDataFlushed = true; 265 initialServerDataBuffer = undefined; 266 } 267 } 268 initialServerDataWriter = ctr; 269} 270// When `DOMContentLoaded`, we can close all pending writers to finish hydration. 271const DOMContentLoaded = function() { 272 if (initialServerDataWriter && !initialServerDataFlushed) { 273 initialServerDataWriter.close(); 274 initialServerDataFlushed = true; 275 initialServerDataBuffer = undefined; 276 } 277 initialServerDataLoaded = true; 278}; 279// It's possible that the DOM is already loaded. 280if (document.readyState === "loading") { 281 document.addEventListener("DOMContentLoaded", DOMContentLoaded, false); 282} else { 283 DOMContentLoaded(); 284} 285const nextServerDataLoadingGlobal = self.__next_f = self.__next_f || []; 286nextServerDataLoadingGlobal.forEach(nextServerDataCallback); 287nextServerDataLoadingGlobal.push = nextServerDataCallback;
288function createResponseCache() { 289 return new Map(); 290} 291const rscCache = createResponseCache(); 292function useInitialServerResponse(cacheKey) { 293 const response = rscCache.get(cacheKey); 294 if (response) return response; 295 const readable = new ReadableStream({ 296 start (controller) { 297 nextServerDataRegisterWriter(controller); 298 } 299 }); 300 const newResponse = (0, _client1.createFromReadableStream)(readable, { 301 callServer: _appcallserver.callServer 302 }); 303 rscCache.set(cacheKey, newResponse); 304 return newResponse; 305} 306function ServerRoot(param) { 307 let { cacheKey } = param; 308 _react.default.useEffect(()=>{ 309 rscCache.delete(cacheKey); 310 }); 311 const response = useInitialServerResponse(cacheKey); 312 const root = (0, _react.use)(response); 313 return root; 314} 315const StrictModeIfEnabled = true ? _react.default.StrictMode : 0; 316function Root(param) { 317 let { children } = param; 318 if (false) {} 319 if (false) {} 320 return children; 321} 322function RSCComponent(props) { 323 return /*#__PURE__*/ (0, _jsxruntime.jsx)(ServerRoot, { 324 ...props, 325 cacheKey: getCacheKey() 326 }); 327} 328function hydrate() { 329 if (false) {} 330 const actionQueue = (0, _actionqueue.createMutableActionQueue)(); 331 const reactEl = /*#__PURE__*/ (0, _jsxruntime.jsx)(StrictModeIfEnabled, { 332 children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_headmanagercontextsharedruntime.HeadManagerContext.Provider, { 333 value: { 334 appDir: true 335 }, 336 children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_actionqueue.ActionQueueContext.Provider, { 337 value: actionQueue, 338 children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Root, { 339 children: /*#__PURE__*/ (0, _jsxruntime.jsx)(RSCComponent, {}) 340 }) 341 }) 342 }) 343 }); 344 const options = { 345 onRecoverableError: _onrecoverableerror.default 346 }; 347 const isError = document.documentElement.id === "__next_error__"; 348 if (false) {} 349 if (isError) { 350 if (false) {} else { 351 _client.default.createRoot(appElement, options).render(reactEl); 352 } 353 } else { 354 _react.default.startTransition(()=>_client.default.hydrateRoot(appElement, reactEl, { 355 ...options, 356 formState: initialFormStateData 357 })); 358 } 359 // TODO-APP: Remove this logic when Float has GC built-in in development. 360 if (false) {} 361} 362if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 363 Object.defineProperty(exports.default, "__esModule", { 364 value: true 365 }); 366 Object.assign(exports.default, exports); 367 module.exports = exports.default; 368} //# sourceMappingURL=app-index.js.map 369 370 371/***/ }), 372 373/***/ 7614: 374/***/ (function(module, exports, __webpack_require__) { 375 376"use strict";
377// This import must go first because it needs to patch webpack chunk loading 378// before React patches chunk loading. 379 380Object.defineProperty(exports, "__esModule", ({ 381 value: true 382})); 383__webpack_require__(2434); 384const _appbootstrap = __webpack_require__(4808); 385(0, _appbootstrap.appBootstrap)(()=>{ 386 const { hydrate } = __webpack_require__(1592); 387 // Include app-router and layout-router in the main chunk 388 __webpack_require__(9985); 389 __webpack_require__(6273); 390 hydrate(); 391}); 392if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 393 Object.defineProperty(exports.default, "__esModule", { 394 value: true 395 }); 396 Object.assign(exports.default, exports); 397 module.exports = exports.default; 398} //# sourceMappingURL=app-next.js.map 399 400 401/***/ }), 402 403/***/ 2434: 404/***/ (function(module, exports, __webpack_require__) { 405 406"use strict"; 407// Override chunk URL mapping in the webpack runtime 408// https://github.com/webpack/webpack/blob/2738eebc7880835d88c727d364ad37f3ec557593/lib/RuntimeGlobals.js#L204 409 410Object.defineProperty(exports, "__esModule", ({ 411 value: true 412})); 413const _deploymentid = __webpack_require__(6754); 414// If we have a deployment ID, we need to append it to the webpack chunk names 415// I am keeping the process check explicit so this can be statically optimized 416if (false) {} else { 417 // eslint-disable-next-line no-undef 418 const getChunkScriptFilename = __webpack_require__.u; 419 // eslint-disable-next-line no-undef 420 __webpack_require__.u = function() // filename path. 421 { 422 for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){ 423 args[_key] = arguments[_key]; 424 } 425 return encodeURI(getChunkScriptFilename(...args)); 426 }; 427// We don't need to override __webpack_require__.k because we don't modify 428// the css chunk name when not using deployment id suffixes 429// WE don't need to override __webpack_require__.miniCssF because we don't modify 430// the mini css chunk name when not using deployment id suffixes 431} 432if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 433 Object.defineProperty(exports.default, "__esModule", { 434 value: true 435 }); 436 Object.assign(exports.default, exports); 437 module.exports = exports.default; 438} //# sourceMappingURL=app-webpack.js.map 439 440 441/***/ }), 442 443/***/ 1828: 444/***/ (function(module, exports, __webpack_require__) { 445 446"use strict"; 447 448Object.defineProperty(exports, "__esModule", ({ 449 value: true 450})); 451Object.defineProperty(exports, "actionAsyncStorage", ({ 452 enumerable: true, 453 get: function() { 454 return actionAsyncStorage; 455 } 456})); 457const _asynclocalstorage = __webpack_require__(2532); 458const actionAsyncStorage = (0, _asynclocalstorage.createAsyncLocalStorage)(); 459if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 460 Object.defineProperty(exports.default, "__esModule", { 461 value: true 462 }); 463 Object.assign(exports.default, exports); 464 module.exports = exports.default; 465} //# sourceMappingURL=action-async-storage.external.js.map 466 467 468/***/ }), 469 470/***/ 3611: 471/***/ (function(module, exports, __webpack_require__) { 472 473"use strict"; 474 475Object.defineProperty(exports, "__esModule", ({ 476 value: true 477})); 478Object.defineProperty(exports, "AppRouterAnnouncer", ({ 479 enumerable: true, 480 get: function() { 481 return AppRouterAnnouncer; 482 } 483})); 484const _react = __webpack_require__(9988); 485const _reactdom = __webpack_require__(7897); 486const ANNOUNCER_TYPE = "next-route-announcer"; 487const ANNOUNCER_ID = "__next-route-announcer__"; 488function getAnnouncerNode() { 489 var _existingAnnouncer_shadowRoot; 490 const existingAnnouncer = document.getElementsByName(ANNOUNCER_TYPE)[0]; 491 if (existingAnnouncer == null ? void 0 : (_existingAnnouncer_shadowRoot = existingAnnouncer.shadowRoot) == null ? void 0 : _existingAnnouncer_shadowRoot.childNodes[0]) { 492 return existingAnnouncer.shadowRoot.childNodes[0]; 493 } else { 494 const container = document.createElement(ANNOUNCER_TYPE); 495 container.style.cssText = "position:absolute"; 496 const announcer = document.createElement("div"); 497 announcer.ariaLive = "assertive"; 498 announcer.id = ANNOUNCER_ID; 499 announcer.role = "alert"; 500 announcer.style.cssText = "position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal"; 501 // Use shadow DOM here to avoid any potential CSS bleed 502 const shadow = container.attachShadow({ 503 mode: "open" 504 }); 505 shadow.appendChild(announcer); 506 document.body.appendChild(container); 507 return announcer; 508 } 509} 510function AppRouterAnnouncer(param) { 511 let { tree } = param; 512 const [portalNode, setPortalNode] = (0, _react.useState)(null); 513 (0, _react.useEffect)(()=>{ 514 const announcer = getAnnouncerNode(); 515 setPortalNode(announcer); 516 return ()=>{ 517 const container = document.getElementsByTagName(ANNOUNCER_TYPE)[0]; 518 if (container == null ? void 0 : container.isConnected) { 519 document.body.removeChild(container); 520 } 521 }; 522 }, []); 523 const [routeAnnouncement, setRouteAnnouncement] = (0, _react.useState)(""); 524 const previousTitle = (0, _react.useRef)(); 525 (0, _react.useEffect)(()=>{ 526 let currentTitle = ""; 527 if (document.title) { 528 currentTitle = document.title; 529 } else { 530 const pageHeader = document.querySelector("h1"); 531 if (pageHeader) { 532 currentTitle = pageHeader.innerText || pageHeader.textContent || ""; 533 } 534 } 535 // Only announce the title change, but not for the first load because screen 536 // readers do that automatically. 537 if (previousTitle.current !== undefined && previousTitle.current !== currentTitle) { 538 setRouteAnnouncement(currentTitle); 539 } 540 previousTitle.current = currentTitle; 541 }, [ 542 tree 543 ]); 544 return portalNode ? /*#__PURE__*/ (0, _reactdom.createPortal)(routeAnnouncement, portalNode) : null; 545} 546if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 547 Object.defineProperty(exports.default, "__esModule", { 548 value: true 549 });
550 Object.assign(exports.default, exports); 551 module.exports = exports.default; 552} //# sourceMappingURL=app-router-announcer.js.map 553 554 555/***/ }), 556 557/***/ 5767: 558/***/ (function(module, exports) { 559 560"use strict"; 561 562Object.defineProperty(exports, "__esModule", ({ 563 value: true 564})); 5650 && (0); 566function _export(target, all) { 567 for(var name in all)Object.defineProperty(target, name, { 568 enumerable: true, 569 get: all[name] 570 }); 571} 572_export(exports, { 573 RSC_HEADER: function() { 574 return RSC_HEADER; 575 }, 576 ACTION: function() { 577 return ACTION; 578 }, 579 NEXT_ROUTER_STATE_TREE: function() { 580 return NEXT_ROUTER_STATE_TREE; 581 }, 582 NEXT_ROUTER_PREFETCH_HEADER: function() { 583 return NEXT_ROUTER_PREFETCH_HEADER; 584 }, 585 NEXT_URL: function() { 586 return NEXT_URL; 587 }, 588 RSC_CONTENT_TYPE_HEADER: function() { 589 return RSC_CONTENT_TYPE_HEADER; 590 }, 591 RSC_VARY_HEADER: function() { 592 return RSC_VARY_HEADER; 593 }, 594 FLIGHT_PARAMETERS: function() { 595 return FLIGHT_PARAMETERS; 596 }, 597 NEXT_RSC_UNION_QUERY: function() { 598 return NEXT_RSC_UNION_QUERY; 599 }, 600 NEXT_DID_POSTPONE_HEADER: function() { 601 return NEXT_DID_POSTPONE_HEADER; 602 } 603}); 604const RSC_HEADER = "RSC"; 605const ACTION = "Next-Action"; 606const NEXT_ROUTER_STATE_TREE = "Next-Router-State-Tree"; 607const NEXT_ROUTER_PREFETCH_HEADER = "Next-Router-Prefetch"; 608const NEXT_URL = "Next-Url"; 609const RSC_CONTENT_TYPE_HEADER = "text/x-component"; 610const RSC_VARY_HEADER = RSC_HEADER + ", " + NEXT_ROUTER_STATE_TREE + ", " + NEXT_ROUTER_PREFETCH_HEADER + ", " + NEXT_URL; 611const FLIGHT_PARAMETERS = [ 612 [ 613 RSC_HEADER 614 ], 615 [ 616 NEXT_ROUTER_STATE_TREE 617 ], 618 [ 619 NEXT_ROUTER_PREFETCH_HEADER 620 ] 621]; 622const NEXT_RSC_UNION_QUERY = "_rsc"; 623const NEXT_DID_POSTPONE_HEADER = "x-nextjs-postponed"; 624if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 625 Object.defineProperty(exports.default, "__esModule", { 626 value: true 627 }); 628 Object.assign(exports.default, exports); 629 module.exports = exports.default; 630} //# sourceMappingURL=app-router-headers.js.map 631 632 633/***/ }), 634 635/***/ 9985: 636/***/ (function(module, exports, __webpack_require__) { 637 638"use strict"; 639/* __next_internal_client_entry_do_not_use__ cjs */ 640Object.defineProperty(exports, "__esModule", ({ 641 value: true 642})); 6430 && (0); 644function _export(target, all) { 645 for(var name in all)Object.defineProperty(target, name, { 646 enumerable: true, 647 get: all[name] 648 }); 649} 650_export(exports, { 651 getServerActionDispatcher: function() { 652 return getServerActionDispatcher; 653 }, 654 urlToUrlWithoutFlightMarker: function() { 655 return urlToUrlWithoutFlightMarker; 656 }, 657 createEmptyCacheNode: function() { 658 return createEmptyCacheNode; 659 }, 660 default: function() { 661 return AppRouter; 662 } 663}); 664const _interop_require_wildcard = __webpack_require__(3589); 665const _jsxruntime = __webpack_require__(1411); 666const _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(9988)); 667const _approutercontextsharedruntime = __webpack_require__(1214); 668const _routerreducertypes = __webpack_require__(1606); 669const _createhreffromurl = __webpack_require__(6690); 670const _hooksclientcontextsharedruntime = __webpack_require__(8581); 671const _usereducerwithdevtools = __webpack_require__(766); 672const _errorboundary = __webpack_require__(9697); 673const _createinitialrouterstate = __webpack_require__(8661); 674const _isbot = __webpack_require__(1778); 675const _addbasepath = __webpack_require__(5733); 676const _approuterannouncer = __webpack_require__(3611); 677const _redirectboundary = __webpack_require__(5813); 678const _findheadincache = __webpack_require__(8521); 679const _infinitepromise = __webpack_require__(6639); 680const _approuterheaders = __webpack_require__(5767); 681const _removebasepath = __webpack_require__(657); 682const _hasbasepath = __webpack_require__(1152); 683const isServer = "object" === "undefined"; 684// Ensure the initialParallelRoutes are not combined because of double-rendering in the browser with Strict Mode. 685let initialParallelRoutes = isServer ? null : new Map(); 686let globalServerActionDispatcher = null; 687function getServerActionDispatcher() { 688 return globalServerActionDispatcher; 689} 690const globalMutable = {}; 691function urlToUrlWithoutFlightMarker(url) { 692 const urlWithoutFlightParameters = new URL(url, location.origin); 693 urlWithoutFlightParameters.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY); 694 if (true) { 695 if (false) {} 696 } 697 return urlWithoutFlightParameters; 698} 699function isExternalURL(url) { 700 return url.origin !== window.location.origin; 701} 702function HistoryUpdater(param) { 703 let { appRouterState, sync } = param; 704 (0, _react.useInsertionEffect)(()=>{ 705 const { tree, pushRef, canonicalUrl } = appRouterState; 706 const historyState = { 707 ... false ? 0 : {}, 708 // Identifier is shortened intentionally. 709 // __NA is used to identify if the history entry can be handled by the app-router. 710 // __N is used to identify if the history entry can be handled by the old router. 711 __NA: true, 712 __PRIVATE_NEXTJS_INTERNALS_TREE: tree 713 }; 714 if (pushRef.pendingPush && // Skip pushing an additional history entry if the canonicalUrl is the same as the current url. 715 // This mirrors the browser behavior for normal navigation. 716 (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== canonicalUrl) { 717 // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry. 718 pushRef.pendingPush = false;
719 window.history.pushState(historyState, "", canonicalUrl); 720 } else { 721 window.history.replaceState(historyState, "", canonicalUrl); 722 } 723 sync(appRouterState); 724 }, [ 725 appRouterState, 726 sync 727 ]); 728 return null; 729} 730function createEmptyCacheNode() { 731 return { 732 lazyData: null, 733 rsc: null, 734 prefetchRsc: null, 735 parallelRoutes: new Map() 736 }; 737} 738function useServerActionDispatcher(dispatch) { 739 const serverActionDispatcher = (0, _react.useCallback)((actionPayload)=>{ 740 (0, _react.startTransition)(()=>{ 741 dispatch({ 742 ...actionPayload, 743 type: _routerreducertypes.ACTION_SERVER_ACTION 744 }); 745 }); 746 }, [ 747 dispatch 748 ]); 749 globalServerActionDispatcher = serverActionDispatcher; 750} 751/** 752 * Server response that only patches the cache and tree. 753 */ function useChangeByServerResponse(dispatch) { 754 return (0, _react.useCallback)((previousTree, flightData, overrideCanonicalUrl)=>{ 755 (0, _react.startTransition)(()=>{ 756 dispatch({ 757 type: _routerreducertypes.ACTION_SERVER_PATCH, 758 flightData, 759 previousTree, 760 overrideCanonicalUrl 761 }); 762 }); 763 }, [ 764 dispatch 765 ]); 766} 767function useNavigate(dispatch) { 768 return (0, _react.useCallback)((href, navigateType, shouldScroll)=>{ 769 const url = new URL((0, _addbasepath.addBasePath)(href), location.href); 770 return dispatch({ 771 type: _routerreducertypes.ACTION_NAVIGATE, 772 url, 773 isExternalUrl: isExternalURL(url), 774 locationSearch: location.search, 775 shouldScroll: shouldScroll != null ? shouldScroll : true, 776 navigateType 777 }); 778 }, [ 779 dispatch 780 ]); 781} 782function copyNextJsInternalHistoryState(data) { 783 if (data == null) data = {}; 784 const currentState = window.history.state; 785 const __NA = currentState == null ? void 0 : currentState.__NA; 786 if (__NA) { 787 data.__NA = __NA; 788 } 789 const __PRIVATE_NEXTJS_INTERNALS_TREE = currentState == null ? void 0 : currentState.__PRIVATE_NEXTJS_INTERNALS_TREE; 790 if (__PRIVATE_NEXTJS_INTERNALS_TREE) { 791 data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE; 792 } 793 return data; 794} 795/** 796 * The global router that wraps the application components. 797 */ function Router(param) { 798 let { buildId, initialHead, initialTree, initialCanonicalUrl, initialSeedData, assetPrefix } = param; 799 const initialState = (0, _react.useMemo)(()=>(0, _createinitialrouterstate.createInitialRouterState)({ 800 buildId, 801 initialSeedData, 802 initialCanonicalUrl, 803 initialTree, 804 initialParallelRoutes, 805 isServer, 806 location: !isServer ? window.location : null, 807 initialHead 808 }), [ 809 buildId, 810 initialSeedData, 811 initialCanonicalUrl, 812 initialTree, 813 initialHead 814 ]); 815 const [reducerState, dispatch, sync] = (0, _usereducerwithdevtools.useReducerWithReduxDevtools)(initialState); 816 (0, _react.useEffect)(()=>{ 817 // Ensure initialParallelRoutes is cleaned up from memory once it's used. 818 initialParallelRoutes = null; 819 }, []); 820 const { canonicalUrl } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState); 821 // Add memoized pathname/query for useSearchParams and usePathname. 822 const { searchParams, pathname } = (0, _react.useMemo)(()=>{ 823 const url = new URL(canonicalUrl, false ? 0 : window.location.href); 824 return { 825 // This is turned into a readonly class in `useSearchParams` 826 searchParams: url.searchParams, 827 pathname: (0, _hasbasepath.hasBasePath)(url.pathname) ? (0, _removebasepath.removeBasePath)(url.pathname) : url.pathname 828 }; 829 }, [ 830 canonicalUrl 831 ]); 832 const changeByServerResponse = useChangeByServerResponse(dispatch); 833 const navigate = useNavigate(dispatch); 834 useServerActionDispatcher(dispatch); 835 /** 836 * The app router that is exposed through `useRouter`. It's only concerned with dispatching actions to the reducer, does not hold state. 837 */ const appRouter = (0, _react.useMemo)(()=>{ 838 const routerInstance = { 839 back: ()=>window.history.back(), 840 forward: ()=>window.history.forward(), 841 prefetch: (href, options)=>{ 842 // Don't prefetch for bots as they don't navigate. 843 // Don't prefetch during development (improves compilation performance) 844 if ((0, _isbot.isBot)(window.navigator.userAgent) || "production" === "development") { 845 return; 846 } 847 const url = new URL((0, _addbasepath.addBasePath)(href), window.location.href); 848 // External urls can't be prefetched in the same way. 849 if (isExternalURL(url)) { 850 return; 851 } 852 (0, _react.startTransition)(()=>{ 853 var _options_kind; 854 dispatch({ 855 type: _routerreducertypes.ACTION_PREFETCH, 856 url, 857 kind: (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.FULL 858 }); 859 }); 860 }, 861 replace: (href, options)=>{ 862 if (options === void 0) options = {}; 863 (0, _react.startTransition)(()=>{ 864 var _options_scroll; 865 navigate(href, "replace", (_options_scroll = options.scroll) != null ? _options_scroll : true); 866 }); 867 }, 868 push: (href, options)=>{ 869 if (options === void 0) options = {}; 870 (0, _react.startTransition)(()=>{ 871 var _options_scroll; 872 navigate(href, "push", (_options_scroll = options.scroll) != null ? _options_scroll : true); 873 }); 874 }, 875 refresh: ()=>{ 876 (0, _react.startTransition)(()=>{ 877 dispatch({ 878 type: _routerreducertypes.ACTION_REFRESH, 879 origin: window.location.origin 880 }); 881 }); 882 }, 883 // @ts-ignore we don't want to expose this method at all 884 fastRefresh: ()=>{ 885 if (true) { 886 throw new Error("fastRefresh can only be used in development mode. Please use refresh instead."); 887 } else {} 888 } 889 }; 890 return routerInstance; 891 }, [ 892 dispatch, 893 navigate 894 ]); 895 (0, _react.useEffect)(()=>{ 896 // Exists for debugging purposes. Don't use in application code. 897 if (window.next) { 898 window.next.router = appRouter; 899 } 900 }, [ 901 appRouter 902 ]); 903 if (false) {} 904 (0, _react.useEffect)(()=>{ 905 // If the app is restored from bfcache, it's possible that 906 // pushRef.mpaNavigation is true, which would mean that any re-render of this component 907 // would trigger the mpa navigation logic again from the lines below. 908 // This will restore the router to the initial state in the event that the app is restored from bfcache. 909 function handlePageShow(event) { 910 var _window_history_state; 911 if (!event.persisted || !((_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE)) { 912 return; 913 } 914 dispatch({ 915 type: _routerreducertypes.ACTION_RESTORE, 916 url: new URL(window.location.href), 917 tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE 918 }); 919 } 920 window.addEventListener("pageshow", handlePageShow); 921 return ()=>{ 922 window.removeEventListener("pageshow", handlePageShow); 923 }; 924 }, [ 925 dispatch 926 ]); 927 // When mpaNavigation flag is set do a hard navigation to the new url. 928 // Infinitely suspend because we don't actually want to rerender any child 929 // components with the new URL and any entangled state updates shouldn't 930 // commit either (eg: useTransition isPending should stay true until the page 931 // unloads). 932 // 933 // This is a side effect in render. Don't try this at home, kids. It's 934 // probably safe because we know this is a singleton component and it's never 935 // in <Offscreen>. At least I hope so. (It will run twice in dev strict mode, 936 // but that's... fine?) 937 const { pushRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState); 938 if (pushRef.mpaNavigation) { 939 // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL 940 if (globalMutable.pendingMpaPath !== canonicalUrl) { 941 const location1 = window.location; 942 if (pushRef.pendingPush) { 943 location1.assign(canonicalUrl); 944 } else { 945 location1.replace(canonicalUrl); 946 } 947 globalMutable.pendingMpaPath = canonicalUrl; 948 } 949 // TODO-APP: Should we listen to navigateerror here to catch failed 950 // navigations somehow? And should we call window.stop() if a SPA navigation 951 // should interrupt an MPA one? 952 (0, _react.use)((0, _infinitepromise.createInfinitePromise)()); 953 } 954 (0, _react.useEffect)(()=>{ 955 const originalPushState = window.history.pushState.bind(window.history); 956 const originalReplaceState = window.history.replaceState.bind(window.history); 957 if (false) {} 958 /** 959 * Handle popstate event, this is used to handle back/forward in the browser. 960 * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page. 961 * That case can happen when the old router injected the history entry. 962 */ const onPopState = (param)=>{ 963 let { state } = param; 964 if (!state) { 965 // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case. 966 return; 967 } 968 // This case happens when the history entry was pushed by the `pages` router. 969 if (!state.__NA) { 970 window.location.reload(); 971 return; 972 } 973 // @ts-ignore useTransition exists 974 // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously
975 // Without startTransition works if the cache is there for this path 976 (0, _react.startTransition)(()=>{ 977 dispatch({ 978 type: _routerreducertypes.ACTION_RESTORE, 979 url: new URL(window.location.href), 980 tree: state.__PRIVATE_NEXTJS_INTERNALS_TREE 981 }); 982 }); 983 }; 984 // Register popstate event to call onPopstate. 985 window.addEventListener("popstate", onPopState); 986 return ()=>{ 987 if (false) {} 988 window.removeEventListener("popstate", onPopState); 989 }; 990 }, [ 991 dispatch 992 ]); 993 const { cache, tree, nextUrl, focusAndScrollRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState); 994 const head = (0, _react.useMemo)(()=>{ 995 return (0, _findheadincache.findHeadInCache)(cache, tree[1]); 996 }, [ 997 cache, 998 tree 999 ]); 1000 let content = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, { 1001 children: [ 1002 head, 1003 cache.rsc, 1004 /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuterannouncer.AppRouterAnnouncer, { 1005 tree: tree 1006 }) 1007 ] 1008 }); 1009 if (false) {} 1010 return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { 1011 children: [ 1012 /*#__PURE__*/ (0, _jsxruntime.jsx)(HistoryUpdater, { 1013 appRouterState: (0, _usereducerwithdevtools.useUnwrapState)(reducerState), 1014 sync: sync 1015 }), 1016 /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, { 1017 value: pathname, 1018 children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, { 1019 value: searchParams, 1020 children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.GlobalLayoutRouterContext.Provider, { 1021 value: { 1022 buildId, 1023 changeByServerResponse, 1024 tree, 1025 focusAndScrollRef, 1026 nextUrl 1027 }, 1028 children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, { 1029 value: appRouter, 1030 children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, { 1031 value: { 1032 childNodes: cache.parallelRoutes, 1033 tree, 1034 // Root node always has `url` 1035 // Provided in AppTreeContext to ensure it can be overwritten in layout-router 1036 url: canonicalUrl 1037 }, 1038 children: content 1039 }) 1040 }) 1041 }) 1042 }) 1043 }) 1044 ] 1045 }); 1046} 1047function AppRouter(props) { 1048 const { globalErrorComponent, ...rest } = props; 1049 return /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, { 1050 errorComponent: globalErrorComponent, 1051 children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Router, { 1052 ...rest 1053 }) 1054 }); 1055} 1056if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 1057 Object.defineProperty(exports.default, "__esModule", { 1058 value: true 1059 }); 1060 Object.assign(exports.default, exports); 1061 module.exports = exports.default; 1062} //# sourceMappingURL=app-router.js.map 1063 1064 1065/***/ }), 1066 1067/***/ 363: 1068/***/ (function(module, exports, __webpack_require__) { 1069 1070"use strict"; 1071 1072Object.defineProperty(exports, "__esModule", ({ 1073 value: true 1074})); 1075Object.defineProperty(exports, "clientHookInServerComponentError", ({ 1076 enumerable: true, 1077 get: function() { 1078 return clientHookInServerComponentError; 1079 } 1080})); 1081const _interop_require_default = __webpack_require__(7295); 1082const _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(9988)); 1083function clientHookInServerComponentError(hookName) { 1084 if (false) {} 1085} 1086if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 1087 Object.defineProperty(exports.default, "__esModule", { 1088 value: true 1089 });
1090 Object.assign(exports.default, exports); 1091 module.exports = exports.default; 1092} //# sourceMappingURL=client-hook-in-server-component-error.js.map 1093 1094 1095/***/ }), 1096 1097/***/ 9697: 1098/***/ (function(module, exports, __webpack_require__) { 1099 1100"use strict"; 1101/* __next_internal_client_entry_do_not_use__ cjs */ 1102Object.defineProperty(exports, "__esModule", ({ 1103 value: true 1104})); 11050 && (0); 1106function _export(target, all) { 1107 for(var name in all)Object.defineProperty(target, name, { 1108 enumerable: true, 1109 get: all[name] 1110 }); 1111} 1112_export(exports, { 1113 ErrorBoundaryHandler: function() { 1114 return ErrorBoundaryHandler; 1115 }, 1116 GlobalError: function() { 1117 return GlobalError; 1118 }, 1119 // Exported so that the import signature in the loaders can be identical to user 1120 // supplied custom global error signatures. 1121 default: function() { 1122 return _default; 1123 }, 1124 ErrorBoundary: function() { 1125 return ErrorBoundary; 1126 } 1127}); 1128const _interop_require_default = __webpack_require__(7295); 1129const _jsxruntime = __webpack_require__(1411); 1130const _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(9988)); 1131const _navigation = __webpack_require__(9960); 1132const styles = { 1133 error: { 1134 // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52 1135 fontFamily: 'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"', 1136 height: "100vh", 1137 textAlign: "center", 1138 display: "flex", 1139 flexDirection: "column", 1140 alignItems: "center", 1141 justifyContent: "center" 1142 }, 1143 text: { 1144 fontSize: "14px", 1145 fontWeight: 400, 1146 lineHeight: "28px", 1147 margin: "0 8px" 1148 } 1149}; 1150// if we are revalidating we want to re-throw the error so the 1151// function crashes so we can maintain our previous cache 1152// instead of caching the error page 1153function HandleISRError(param) { 1154 let { error } = param; 1155 if (typeof fetch.__nextGetStaticStore === "function") { 1156 var _fetch___nextGetStaticStore; 1157 const store = (_fetch___nextGetStaticStore = fetch.__nextGetStaticStore()) == null ? void 0 : _fetch___nextGetStaticStore.getStore(); 1158 if ((store == null ? void 0 : store.isRevalidate) || (store == null ? void 0 : store.isStaticGeneration)) { 1159 console.error(error); 1160 throw error; 1161 } 1162 } 1163 return null; 1164} 1165class ErrorBoundaryHandler extends _react.default.Component { 1166 static getDerivedStateFromError(error) { 1167 return { 1168 error 1169 }; 1170 } 1171 static getDerivedStateFromProps(props, state) { 1172 /** 1173 * Handles reset of the error boundary when a navigation happens. 1174 * Ensures the error boundary does not stay enabled when navigating to a new page. 1175 * Approach of setState in render is safe as it checks the previous pathname and then overrides 1176 * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders 1177 */ if (props.pathname !== state.previousPathname && state.error) { 1178 return { 1179 error: null, 1180 previousPathname: props.pathname 1181 }; 1182 } 1183 return { 1184 error: state.error, 1185 previousPathname: props.pathname 1186 }; 1187 } 1188 render() { 1189 if (this.state.error) { 1190 return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { 1191 children: [ 1192 /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, { 1193 error: this.state.error 1194 }), 1195 this.props.errorStyles, 1196 this.props.errorScripts, 1197 /*#__PURE__*/ (0, _jsxruntime.jsx)(this.props.errorComponent, { 1198 error: this.state.error, 1199 reset: this.reset 1200 }) 1201 ] 1202 }); 1203 } 1204 return this.props.children; 1205 } 1206 constructor(props){ 1207 super(props); 1208 this.reset = ()=>{ 1209 this.setState({ 1210 error: null 1211 }); 1212 }; 1213 this.state = { 1214 error: null, 1215 previousPathname: this.props.pathname 1216 }; 1217 } 1218} 1219function GlobalError(param) { 1220 let { error } = param; 1221 const digest = error == null ? void 0 : error.digest; 1222 return /*#__PURE__*/ (0, _jsxruntime.jsxs)("html", { 1223 id: "__next_error__", 1224 children: [ 1225 /*#__PURE__*/ (0, _jsxruntime.jsx)("head", {}), 1226 /*#__PURE__*/ (0, _jsxruntime.jsxs)("body", { 1227 children: [ 1228 /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, { 1229 error: error 1230 }), 1231 /*#__PURE__*/ (0, _jsxruntime.jsx)("div", { 1232 style: styles.error, 1233 children: /*#__PURE__*/ (0, _jsxruntime.jsxs)("div", { 1234 children: [ 1235 /*#__PURE__*/ (0, _jsxruntime.jsx)("h2", { 1236 style: styles.text, 1237 children: "Application error: a " + (digest ? "server" : "client") + "-side exception has occurred (see the " + (digest ? "server logs" : "browser console") + " for more information)." 1238 }), 1239 digest ? /*#__PURE__*/ (0, _jsxruntime.jsx)("p", { 1240 style: styles.text, 1241 children: "Digest: " + digest 1242 }) : null 1243 ] 1244 }) 1245 }) 1246 ] 1247 }) 1248 ] 1249 }); 1250} 1251const _default = GlobalError; 1252function ErrorBoundary(param) { 1253 let { errorComponent, errorStyles, errorScripts, children } = param; 1254 const pathname = (0, _navigation.usePathname)(); 1255 if (errorComponent) { 1256 return /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorBoundaryHandler, { 1257 pathname: pathname, 1258 errorComponent: errorComponent, 1259 errorStyles: errorStyles, 1260 errorScripts: errorScripts, 1261 children: children 1262 }); 1263 }
1264 return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { 1265 children: children 1266 }); 1267} 1268if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 1269 Object.defineProperty(exports.default, "__esModule", { 1270 value: true 1271 }); 1272 Object.assign(exports.default, exports); 1273 module.exports = exports.default; 1274} //# sourceMappingURL=error-boundary.js.map 1275 1276 1277/***/ }), 1278 1279/***/ 3459: 1280/***/ (function(module, exports) { 1281 1282"use strict"; 1283 1284Object.defineProperty(exports, "__esModule", ({ 1285 value: true 1286})); 12870 && (0); 1288function _export(target, all) { 1289 for(var name in all)Object.defineProperty(target, name, { 1290 enumerable: true, 1291 get: all[name] 1292 }); 1293} 1294_export(exports, { 1295 DYNAMIC_ERROR_CODE: function() { 1296 return DYNAMIC_ERROR_CODE; 1297 }, 1298 DynamicServerError: function() { 1299 return DynamicServerError; 1300 } 1301}); 1302const DYNAMIC_ERROR_CODE = "DYNAMIC_SERVER_USAGE"; 1303class DynamicServerError extends Error { 1304 constructor(type){ 1305 super("Dynamic server usage: " + type); 1306 this.digest = DYNAMIC_ERROR_CODE; 1307 } 1308} 1309if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 1310 Object.defineProperty(exports.default, "__esModule", { 1311 value: true 1312 }); 1313 Object.assign(exports.default, exports); 1314 module.exports = exports.default; 1315} //# sourceMappingURL=hooks-server-context.js.map 1316 1317 1318/***/ }), 1319 1320/***/ 6639: 1321/***/ (function(module, exports) { 1322 1323"use strict"; 1324/** 1325 * Used to cache in createInfinitePromise 1326 */ 1327Object.defineProperty(exports, "__esModule", ({ 1328 value: true 1329})); 1330Object.defineProperty(exports, "createInfinitePromise", ({ 1331 enumerable: true, 1332 get: function() { 1333 return createInfinitePromise; 1334 } 1335})); 1336let infinitePromise; 1337function createInfinitePromise() { 1338 if (!infinitePromise) { 1339 // Only create the Promise once 1340 infinitePromise = new Promise(()=>{ 1341 // This is used to debug when the rendering is never updated. 1342 // setTimeout(() => { 1343 // infinitePromise = new Error('Infinite promise') 1344 // resolve() 1345 // }, 5000) 1346 }); 1347 } 1348 return infinitePromise; 1349} 1350if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 1351 Object.defineProperty(exports.default, "__esModule", { 1352 value: true 1353 }); 1354 Object.assign(exports.default, exports); 1355 module.exports = exports.default; 1356} //# sourceMappingURL=infinite-promise.js.map 1357 1358 1359/***/ }), 1360 1361/***/ 7884: 1362/***/ (function(module, exports, __webpack_require__) { 1363 1364"use strict"; 1365 1366Object.defineProperty(exports, "__esModule", ({ 1367 value: true 1368})); 1369Object.defineProperty(exports, "isNextRouterError", ({ 1370 enumerable: true, 1371 get: function() { 1372 return isNextRouterError; 1373 } 1374})); 1375const _notfound = __webpack_require__(7309); 1376const _redirect = __webpack_require__(50); 1377function isNextRouterError(error) { 1378 return error && error.digest && ((0, _redirect.isRedirectError)(error) || (0, _notfound.isNotFoundError)(error)); 1379} 1380if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 1381 Object.defineProperty(exports.default, "__esModule", { 1382 value: true 1383 }); 1384 Object.assign(exports.default, exports); 1385 module.exports = exports.default; 1386} //# sourceMappingURL=is-next-router-error.js.map 1387 1388 1389/***/ }), 1390 1391/***/ 6273: 1392/***/ (function(module, exports, __webpack_require__) { 1393 1394"use strict"; 1395/* __next_internal_client_entry_do_not_use__ cjs */ 1396Object.defineProperty(exports, "__esModule", ({ 1397 value: true 1398})); 1399Object.defineProperty(exports, "default", ({ 1400 enumerable: true, 1401 get: function() { 1402 return OuterLayoutRouter; 1403 } 1404})); 1405const _interop_require_default = __webpack_require__(7295); 1406const _interop_require_wildcard = __webpack_require__(3589); 1407const _jsxruntime = __webpack_require__(1411); 1408const _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(9988)); 1409const _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(7897)); 1410const _approutercontextsharedruntime = __webpack_require__(1214); 1411const _fetchserverresponse = __webpack_require__(5501); 1412const _infinitepromise = __webpack_require__(6639); 1413const _errorboundary = __webpack_require__(9697); 1414const _matchsegments = __webpack_require__(1118);
1415const _handlesmoothscroll = __webpack_require__(4875); 1416const _redirectboundary = __webpack_require__(5813); 1417const _notfoundboundary = __webpack_require__(213); 1418const _getsegmentvalue = __webpack_require__(1846); 1419const _createroutercachekey = __webpack_require__(7310); 1420/** 1421 * Add refetch marker to router state at the point of the current layout segment. 1422 * This ensures the response returned is not further down than the current layout segment. 1423 */ function walkAddRefetch(segmentPathToWalk, treeToRecreate) { 1424 if (segmentPathToWalk) { 1425 const [segment, parallelRouteKey] = segmentPathToWalk; 1426 const isLast = segmentPathToWalk.length === 2; 1427 if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) { 1428 if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) { 1429 if (isLast) { 1430 const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]); 1431 return [ 1432 treeToRecreate[0], 1433 { 1434 ...treeToRecreate[1], 1435 [parallelRouteKey]: [ 1436 subTree[0], 1437 subTree[1], 1438 subTree[2], 1439 "refetch" 1440 ] 1441 } 1442 ]; 1443 } 1444 return [ 1445 treeToRecreate[0], 1446 { 1447 ...treeToRecreate[1], 1448 [parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey]) 1449 } 1450 ]; 1451 } 1452 } 1453 } 1454 return treeToRecreate; 1455} 1456// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available 1457/** 1458 * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning 1459 */ function findDOMNode(instance) { 1460 // Tree-shake for server bundle 1461 if (false) {} 1462 // Only apply strict mode warning when not in production 1463 if (false) {} 1464 return _reactdom.default.findDOMNode(instance); 1465} 1466const rectProperties = [ 1467 "bottom", 1468 "height", 1469 "left", 1470 "right", 1471 "top", 1472 "width", 1473 "x", 1474 "y" 1475]; 1476/** 1477 * Check if a HTMLElement is hidden or fixed/sticky position 1478 */ function shouldSkipElement(element) { 1479 // we ignore fixed or sticky positioned elements since they'll likely pass the "in-viewport" check 1480 // and will result in a situation we bail on scroll because of something like a fixed nav, 1481 // even though the actual page content is offscreen 1482 if ([ 1483 "sticky", 1484 "fixed" 1485 ].includes(getComputedStyle(element).position)) { 1486 if (false) {} 1487 return true; 1488 } 1489 // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent` 1490 // because `offsetParent` doesn't consider document/body 1491 const rect = element.getBoundingClientRect(); 1492 return rectProperties.every((item)=>rect[item] === 0); 1493} 1494/** 1495 * Check if the top corner of the HTMLElement is in the viewport.
1496 */ function topOfElementInViewport(element, viewportHeight) { 1497 const rect = element.getBoundingClientRect(); 1498 return rect.top >= 0 && rect.top <= viewportHeight; 1499} 1500/** 1501 * Find the DOM node for a hash fragment. 1502 * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior. 1503 * If the hash fragment is an id, the page has to scroll to the element with that id. 1504 * If the hash fragment is a name, the page has to scroll to the first element with that name. 1505 */ function getHashFragmentDomNode(hashFragment) { 1506 // If the hash fragment is `top` the page has to scroll to the top of the page. 1507 if (hashFragment === "top") { 1508 return document.body; 1509 } 1510 var _document_getElementById; 1511 // If the hash fragment is an id, the page has to scroll to the element with that id. 1512 return (_document_getElementById = document.getElementById(hashFragment)) != null ? _document_getElementById : document.getElementsByName(hashFragment)[0]; 1513} 1514class InnerScrollAndFocusHandler extends _react.default.Component { 1515 componentDidMount() { 1516 this.handlePotentialScroll(); 1517 } 1518 componentDidUpdate() { 1519 // Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders. 1520 if (this.props.focusAndScrollRef.apply) { 1521 this.handlePotentialScroll(); 1522 } 1523 } 1524 render() { 1525 return this.props.children; 1526 } 1527 constructor(...args){ 1528 super(...args); 1529 this.handlePotentialScroll = ()=>{ 1530 // Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed. 1531 const { focusAndScrollRef, segmentPath } = this.props; 1532 if (focusAndScrollRef.apply) { 1533 // segmentPaths is an array of segment paths that should be scrolled to 1534 // if the current segment path is not in the array, the scroll is not applied 1535 // unless the array is empty, in which case the scroll is always applied 1536 if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) { 1537 return; 1538 } 1539 let domNode = null; 1540 const hashFragment = focusAndScrollRef.hashFragment; 1541 if (hashFragment) { 1542 domNode = getHashFragmentDomNode(hashFragment); 1543 } 1544 // `findDOMNode` is tricky because it returns just the first child if the component is a fragment. 1545 // This already caused a bug where the first child was a <link/> in head. 1546 if (!domNode) { 1547 domNode = findDOMNode(this); 1548 } 1549 // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree. 1550 if (!(domNode instanceof Element)) { 1551 return; 1552 } 1553 // Verify if the element is a HTMLElement and if we want to consider it for scroll behavior. 1554 // If the element is skipped, try to select the next sibling and try again. 1555 while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){ 1556 // No siblings found that match the criteria are found, so handle scroll higher up in the tree instead. 1557 if (domNode.nextElementSibling === null) { 1558 return; 1559 } 1560 domNode = domNode.nextElementSibling; 1561 } 1562 // State is mutated to ensure that the focus and scroll is applied only once. 1563 focusAndScrollRef.apply = false; 1564 focusAndScrollRef.hashFragment = null; 1565 focusAndScrollRef.segmentPaths = []; 1566 (0, _handlesmoothscroll.handleSmoothScroll)(()=>{ 1567 // In case of hash scroll, we only need to scroll the element into view 1568 if (hashFragment) { 1569 domNode.scrollIntoView(); 1570 return; 1571 } 1572 // Store the current viewport height because reading `clientHeight` causes a reflow,
1573 // and it won't change during this function. 1574 const htmlElement = document.documentElement; 1575 const viewportHeight = htmlElement.clientHeight; 1576 // If the element's top edge is already in the viewport, exit early. 1577 if (topOfElementInViewport(domNode, viewportHeight)) { 1578 return; 1579 } 1580 // Otherwise, try scrolling go the top of the document to be backward compatible with pages 1581 // scrollIntoView() called on `<html/>` element scrolls horizontally on chrome and firefox (that shouldn't happen) 1582 // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left 1583 // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically 1584 htmlElement.scrollTop = 0; 1585 // Scroll to domNode if domNode is not in viewport when scrolled to top of document 1586 if (!topOfElementInViewport(domNode, viewportHeight)) { 1587 domNode.scrollIntoView(); 1588 } 1589 }, { 1590 // We will force layout by querying domNode position 1591 dontForceLayout: true, 1592 onlyHashChange: focusAndScrollRef.onlyHashChange 1593 }); 1594 // Mutate after scrolling so that it can be read by `handleSmoothScroll` 1595 focusAndScrollRef.onlyHashChange = false; 1596 // Set focus on the element 1597 domNode.focus(); 1598 } 1599 }; 1600 } 1601} 1602function ScrollAndFocusHandler(param) { 1603 let { segmentPath, children } = param; 1604 const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext); 1605 if (!context) { 1606 throw new Error("invariant global layout router not mounted"); 1607 } 1608 return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndFocusHandler, { 1609 segmentPath: segmentPath, 1610 focusAndScrollRef: context.focusAndScrollRef, 1611 children: children 1612 }); 1613} 1614/** 1615 * InnerLayoutRouter handles rendering the provided segment based on the cache. 1616 */ function InnerLayoutRouter(param) { 1617 let { parallelRouterKey, url, childNodes, segmentPath, tree, // isActive, 1618 cacheKey } = param; 1619 const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext); 1620 if (!context) { 1621 throw new Error("invariant global layout router not mounted"); 1622 } 1623 const { buildId, changeByServerResponse, tree: fullTree } = context; 1624 // Read segment path from the parallel router cache node. 1625 let childNode = childNodes.get(cacheKey); 1626 // When data is not available during rendering client-side we need to fetch 1627 // it from the server. 1628 if (!childNode || // Check if this is a lazy cache entry that has not yet initiated a 1629 // data request. 1630 // 1631 // TODO: An eventual goal of PPR is to remove this case entirely. 1632 childNode.rsc === null && childNode.lazyData === null) { 1633 /** 1634 * Router state with refetch marker added 1635 */ // TODO-APP: remove '' 1636 const refetchTree = walkAddRefetch([ 1637 "", 1638 ...segmentPath 1639 ], fullTree); 1640 // TODO: Since this case always suspends indefinitely, and the only thing 1641 // we're doing here is setting `lazyData`, it would be fine to mutate the 1642 // current cache node (if it exists) rather than cloning it. 1643 childNode = { 1644 lazyData: (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), refetchTree, context.nextUrl, buildId), 1645 rsc: null, 1646 prefetchRsc: childNode ? childNode.prefetchRsc : null, 1647 head: childNode ? childNode.head : undefined, 1648 parallelRoutes: childNode ? childNode.parallelRoutes : new Map() 1649 }; 1650 /** 1651 * Flight data fetch kicked off during render and put into the cache. 1652 */ childNodes.set(cacheKey, childNode); 1653 } 1654 // This case should never happen so it throws an error. It indicates there's a bug in the Next.js. 1655 if (!childNode) { 1656 throw new Error("Child node should always exist"); 1657 } 1658 // This case should never happen so it throws an error. It indicates there's a bug in the Next.js. 1659 if (childNode.rsc && childNode.lazyData) { 1660 throw new Error("Child node should not have both rsc and lazyData"); 1661 } 1662 // If cache node has a data request we have to unwrap response by `use` and update the cache. 1663 if (childNode.lazyData) { 1664 /** 1665 * Flight response data 1666 */ // When the data has not resolved yet `use` will suspend here.
1667 const [flightData, overrideCanonicalUrl] = (0, _react.use)(childNode.lazyData); 1668 // segmentPath from the server does not match the layout's segmentPath 1669 childNode.lazyData = null; 1670 // setTimeout is used to start a new transition during render, this is an intentional hack around React. 1671 setTimeout(()=>{ 1672 (0, _react.startTransition)(()=>{ 1673 changeByServerResponse(fullTree, flightData, overrideCanonicalUrl); 1674 }); 1675 }); 1676 // Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered. 1677 (0, _react.use)((0, _infinitepromise.createInfinitePromise)()); 1678 } 1679 // If cache node has no rsc and no lazy data request we have to infinitely suspend as the data will likely flow in from another place. 1680 // TODO-APP: double check users can't return null in a component that will kick in here. 1681 if (!childNode.rsc) { 1682 (0, _react.use)((0, _infinitepromise.createInfinitePromise)()); 1683 } 1684 const subtree = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, { 1685 value: { 1686 tree: tree[1][parallelRouterKey], 1687 childNodes: childNode.parallelRoutes, 1688 // TODO-APP: overriding of url for parallel routes 1689 url: url 1690 }, 1691 children: childNode.rsc 1692 }); 1693 // Ensure root layout is not wrapped in a div as the root layout renders `<html>` 1694 return subtree; 1695} 1696/** 1697 * Renders suspense boundary with the provided "loading" property as the fallback. 1698 * If no loading property is provided it renders the children without a suspense boundary. 1699 */ function LoadingBoundary(param) { 1700 let { children, loading, loadingStyles, loadingScripts, hasLoading } = param; 1701 if (hasLoading) { 1702 return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, { 1703 fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { 1704 children: [ 1705 loadingStyles, 1706 loadingScripts, 1707 loading 1708 ] 1709 }), 1710 children: children 1711 }); 1712 } 1713 return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { 1714 children: children 1715 }); 1716} 1717function OuterLayoutRouter(param) { 1718 let { parallelRouterKey, segmentPath, error, errorStyles, errorScripts, templateStyles, templateScripts, loading, loadingStyles, loadingScripts, hasLoading, template, notFound, notFoundStyles, styles } = param; 1719 const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext); 1720 if (!context) { 1721 throw new Error("invariant expected layout router to be mounted"); 1722 } 1723 const { childNodes, tree, url } = context; 1724 // Get the current parallelRouter cache node 1725 let childNodesForParallelRouter = childNodes.get(parallelRouterKey); 1726 // If the parallel router cache node does not exist yet, create it. 1727 // This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode. 1728 if (!childNodesForParallelRouter) { 1729 childNodesForParallelRouter = new Map(); 1730 childNodes.set(parallelRouterKey, childNodesForParallelRouter); 1731 } 1732 // Get the active segment in the tree 1733 // The reason arrays are used in the data format is that these are transferred from the server to the browser so it's optimized to save bytes. 1734 const treeSegment = tree[1][parallelRouterKey][0]; 1735 // If segment is an array it's a dynamic route and we want to read the dynamic route value as the segment to get from the cache. 1736 const currentChildSegmentValue = (0, _getsegmentvalue.getSegmentValue)(treeSegment); 1737 /** 1738 * Decides which segments to keep rendering, all segments that are not active will be wrapped in `<Offscreen>`. 1739 */ // TODO-APP: Add handling of `<Offscreen>` when it's available. 1740 const preservedSegments = [ 1741 treeSegment 1742 ]; 1743 return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { 1744 children: [ 1745 styles, 1746 preservedSegments.map((preservedSegment)=>{ 1747 const preservedSegmentValue = (0, _getsegmentvalue.getSegmentValue)(preservedSegment); 1748 const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(preservedSegment); 1749 return(/* 1750 - Error boundary 1751 - Only renders error boundary if error component is provided. 1752 - Rendered for each segment to ensure they have their own error state. 1753 - Loading boundary 1754 - Only renders suspense boundary if loading components is provided. 1755 - Rendered for each segment to ensure they have their own loading state. 1756 - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch. 1757 */ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, { 1758 value: /*#__PURE__*/ (0, _jsxruntime.jsx)(ScrollAndFocusHandler, { 1759 segmentPath: segmentPath, 1760 children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, { 1761 errorComponent: error, 1762 errorStyles: errorStyles, 1763 errorScripts: errorScripts, 1764 children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, { 1765 hasLoading: hasLoading, 1766 loading: loading, 1767 loadingStyles: loadingStyles, 1768 loadingScripts: loadingScripts, 1769 children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_
1769notfoundboundary.NotFoundBoundary, { 1770 notFound: notFound, 1771 notFoundStyles: notFoundStyles, 1772 children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_redirectboundary.RedirectBoundary, { 1773 children: /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, { 1774 parallelRouterKey: parallelRouterKey, 1775 url: url, 1776 tree: tree, 1777 childNodes: childNodesForParallelRouter, 1778 segmentPath: segmentPath, 1779 cacheKey: cacheKey, 1780 isActive: currentChildSegmentValue === preservedSegmentValue 1781 }) 1782 }) 1783 }) 1784 }) 1785 }) 1786 }), 1787 children: [ 1788 templateStyles, 1789 templateScripts, 1790 template 1791 ] 1792 }, (0, _createroutercachekey.createRouterCacheKey)(preservedSegment, true))); 1793 }) 1794 ] 1795 }); 1796} 1797if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 1798 Object.defineProperty(exports.default, "__esModule", { 1799 value: true 1800 }); 1801 Object.assign(exports.default, exports); 1802 module.exports = exports.default; 1803} //# sourceMappingURL=layout-router.js.map 1804 1805 1806/***/ }), 1807 1808/***/ 1118: 1809/***/ (function(module, exports, __webpack_require__) { 1810 1811"use strict"; 1812 1813Object.defineProperty(exports, "__esModule", ({ 1814 value: true 1815})); 18160 && (0); 1817function _export(target, all) { 1818 for(var name in all)Object.defineProperty(target, name, { 1819 enumerable: true, 1820 get: all[name] 1821 }); 1822} 1823_export(exports, { 1824 matchSegment: function() { 1825 return matchSegment; 1826 }, 1827 canSegmentBeOverridden: function() { 1828 return canSegmentBeOverridden; 1829 } 1830}); 1831const _getsegmentparam = __webpack_require__(4758); 1832const matchSegment = (existingSegment, segment)=>{ 1833 // segment is either Array or string 1834 if (typeof existingSegment === "string") { 1835 if (typeof segment === "string") { 1836 // Common case: segment is just a string 1837 return existingSegment === segment; 1838 } 1839 return false; 1840 } 1841 if (typeof segment === "string") { 1842 return false; 1843 } 1844 return existingSegment[0] === segment[0] && existingSegment[1] === segment[1]; 1845}; 1846const canSegmentBeOverridden = (existingSegment, segment)=>{ 1847 var _getSegmentParam; 1848 if (Array.isArray(existingSegment) || !Array.isArray(segment)) { 1849 return false; 1850 } 1851 return ((_getSegmentParam = (0, _getsegmentparam.getSegmentParam)(existingSegment)) == null ? void 0 : _getSegmentParam.param) === segment[0]; 1852}; 1853if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 1854 Object.defineProperty(exports.default, "__esModule", { 1855 value: true 1856 }); 1857 Object.assign(exports.default, exports); 1858 module.exports = exports.default; 1859} //# sourceMappingURL=match-segments.js.map 1860 1861 1862/***/ }), 1863 1864/***/ 9960: 1865/***/ (function(module, exports, __webpack_require__) { 1866 1867"use strict"; 1868 1869Object.defineProperty(exports, "__esModule", ({ 1870 value: true 1871})); 18720 && (0); 1873function _export(target, all) { 1874 for(var name in all)Object.defineProperty(target, name, { 1875 enumerable: true, 1876 get: all[name] 1877 }); 1878} 1879_export(exports, { 1880 ReadonlyURLSearchParams: function() { 1881 return ReadonlyURLSearchParams; 1882 }, 1883 useSearchParams: function() { 1884 return useSearchParams; 1885 }, 1886 usePathname: function() { 1887 return usePathname; 1888 }, 1889 ServerInsertedHTMLContext: function() { 1890 return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext; 1891 }, 1892 useServerInsertedHTML: function() { 1893 return _serverinsertedhtmlsharedruntime.useServerInsertedHTML; 1894 }, 1895 useRouter: function() { 1896 return useRouter; 1897 }, 1898 useParams: function() { 1899 return useParams; 1900 }, 1901 useSelectedLayoutSegments: function() { 1902 return useSelectedLayoutSegments; 1903 }, 1904 useSelectedLayoutSegment: function() { 1905 return useSelectedLayoutSegment; 1906 }, 1907 redirect: function() { 1908 return _redirect.redirect; 1909 }, 1910 permanentRedirect: function() { 1911 return _redirect.permanentRedirect; 1912 }, 1913 RedirectType: function() { 1914 return _redirect.RedirectType; 1915 }, 1916 notFound: function() { 1917 return _notfound.notFound; 1918 } 1919}); 1920const _react = __webpack_require__(9988); 1921const _approutercontextsharedruntime = __webpack_require__(1214); 1922const _hooksclientcontextsharedruntime = __webpack_require__(8581); 1923const _clienthookinservercomponenterror = __webpack_require__(363); 1924const _getsegmentvalue = __webpack_require__(1846); 1925const _segment = __webpack_require__(1956); 1926const _serverinsertedhtmlsharedruntime = __webpack_require__(2342); 1927const _redirect = __webpack_require__(50); 1928const _notfound = __webpack_require__(7309); 1929const INTERNAL_URLSEARCHPARAMS_INSTANCE = Symbol("internal for urlsearchparams readonly"); 1930function readonlyURLSearchParamsError() { 1931 return new Error("ReadonlyURLSearchParams cannot be modified"); 1932} 1933class ReadonlyURLSearchParams { 1934 [Symbol.iterator]() { 1935 return this[INTERNAL_URLSEARCHPARAMS_INSTANCE][Symbol.iterator](); 1936 } 1937 append() { 1938 throw readonlyURLSearchParamsError(); 1939 } 1940 delete() { 1941 throw readonlyURLSearchParamsError(); 1942 } 1943 set() { 1944 throw readonlyURLSearchParamsError(); 1945 } 1946 sort() { 1947 throw readonlyURLSearchParamsError(); 1948 } 1949 constructor(urlSearchParams){ 1950 this[INTERNAL_URLSEARCHPARAMS_INSTANCE] = urlSearchParams;
1951 this.entries = urlSearchParams.entries.bind(urlSearchParams); 1952 this.forEach = urlSearchParams.forEach.bind(urlSearchParams); 1953 this.get = urlSearchParams.get.bind(urlSearchParams); 1954 this.getAll = urlSearchParams.getAll.bind(urlSearchParams); 1955 this.has = urlSearchParams.has.bind(urlSearchParams); 1956 this.keys = urlSearchParams.keys.bind(urlSearchParams); 1957 this.values = urlSearchParams.values.bind(urlSearchParams); 1958 this.toString = urlSearchParams.toString.bind(urlSearchParams); 1959 this.size = urlSearchParams.size; 1960 } 1961} 1962function useSearchParams() { 1963 (0, _clienthookinservercomponenterror.clientHookInServerComponentError)("useSearchParams"); 1964 const searchParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.SearchParamsContext); 1965 // In the case where this is `null`, the compat types added in 1966 // `next-env.d.ts` will add a new overload that changes the return type to 1967 // include `null`. 1968 const readonlySearchParams = (0, _react.useMemo)(()=>{ 1969 if (!searchParams) { 1970 // When the router is not ready in pages, we won't have the search params 1971 // available. 1972 return null; 1973 } 1974 return new ReadonlyURLSearchParams(searchParams); 1975 }, [ 1976 searchParams 1977 ]); 1978 if (false) {} 1979 return readonlySearchParams; 1980} 1981function usePathname() { 1982 (0, _clienthookinservercomponenterror.clientHookInServerComponentError)("usePathname"); 1983 // In the case where this is `null`, the compat types added in `next-env.d.ts` 1984 // will add a new overload that changes the return type to include `null`. 1985 return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext); 1986} 1987function useRouter() { 1988 (0, _clienthookinservercomponenterror.clientHookInServerComponentError)("useRouter"); 1989 const router = (0, _react.useContext)(_approutercontextsharedruntime.AppRouterContext); 1990 if (router === null) { 1991 throw new Error("invariant expected app router to be mounted"); 1992 } 1993 return router; 1994} 1995// this function performs a depth-first search of the tree to find the selected 1996// params 1997function getSelectedParams(tree, params) { 1998 if (params === void 0) params = {}; 1999 const parallelRoutes = tree[1]; 2000 for (const parallelRoute of Object.values(parallelRoutes)){ 2001 const segment = parallelRoute[0]; 2002 const isDynamicParameter = Array.isArray(segment); 2003 const segmentValue = isDynamicParameter ? segment[1] : segment; 2004 if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) continue; 2005 // Ensure catchAll and optional catchall are turned into an array 2006 const isCatchAll = isDynamicParameter && (segment[2] === "c" || segment[2] === "oc"); 2007 if (isCatchAll) { 2008 params[segment[0]] = segment[1].split("/"); 2009 } else if (isDynamicParameter) { 2010 params[segment[0]] = segment[1]; 2011 } 2012 params = getSelectedParams(parallelRoute, params); 2013 } 2014 return params; 2015} 2016function useParams() { 2017 (0, _clienthookinservercomponenterror.clientHookInServerComponentError)("useParams"); 2018 const globalLayoutRouter = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext); 2019 const pathParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext); 2020 return (0, _react.useMemo)(()=>{ 2021 // When it's under app router 2022 if (globalLayoutRouter == null ? void 0 : globalLayoutRouter.tree) { 2023 return getSelectedParams(globalLayoutRouter.tree); 2024 } 2025 // When it's under client side pages router 2026 return pathParams; 2027 }, [ 2028 globalLayoutRouter == null ? void 0 : globalLayoutRouter.tree, 2029 pathParams 2030 ]); 2031} 2032// TODO-APP: handle parallel routes 2033/** 2034 * Get the canonical parameters from the current level to the leaf node. 2035 */ function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first, segmentPath) { 2036 if (first === void 0) first = true; 2037 if (segmentPath === void 0) segmentPath = []; 2038 let node; 2039 if (first) { 2040 // Use the provided parallel route key on the first parallel route 2041 node = tree[1][parallelRouteKey]; 2042 } else { 2043 // After first parallel route prefer children, if there's no children pick the first parallel route. 2044 const parallelRoutes = tree[1]; 2045 var _parallelRoutes_children; 2046 node = (_parallelRoutes_children = parallelRoutes.children) != null ? _parallelRoutes_children : Object.values(parallelRoutes)[0]; 2047 } 2048 if (!node) return segmentPath; 2049 const segment = node[0]; 2050 const segmentValue = (0, _getsegmentvalue.getSegmentValue)(segment); 2051 if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) { 2052 return segmentPath; 2053 } 2054 segmentPath.push(segmentValue); 2055 return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath); 2056} 2057function useSelectedLayoutSegments(parallelRouteKey) { 2058 if (parallelRouteKey === void 0) parallelRouteKey = "children"; 2059 (0, _clienthookinservercomponenterror.clientHookInServerComponentError)("use
2059SelectedLayoutSegments"); 2060 const { tree } = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext); 2061 return getSelectedLayoutSegmentPath(tree, parallelRouteKey); 2062} 2063function useSelectedLayoutSegment(parallelRouteKey) { 2064 if (parallelRouteKey === void 0) parallelRouteKey = "children"; 2065 (0, _clienthookinservercomponenterror.clientHookInServerComponentError)("useSelectedLayoutSegment"); 2066 const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey); 2067 if (selectedLayoutSegments.length === 0) { 2068 return null; 2069 } 2070 return selectedLayoutSegments[0]; 2071} 2072if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 2073 Object.defineProperty(exports.default, "__esModule", { 2074 value: true 2075 }); 2076 Object.assign(exports.default, exports); 2077 module.exports = exports.default; 2078} //# sourceMappingURL=navigation.js.map 2079 2080 2081/***/ }), 2082 2083/***/ 213: 2084/***/ (function(module, exports, __webpack_require__) { 2085 2086"use strict"; 2087/* __next_internal_client_entry_do_not_use__ cjs */ 2088Object.defineProperty(exports, "__esModule", ({ 2089 value: true 2090})); 2091Object.defineProperty(exports, "NotFoundBoundary", ({ 2092 enumerable: true, 2093 get: function() { 2094 return NotFoundBoundary; 2095 } 2096})); 2097const _interop_require_default = __webpack_require__(7295); 2098const _jsxruntime = __webpack_require__(1411); 2099const _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(9988)); 2100const _navigation = __webpack_require__(9960); 2101class NotFoundErrorBoundary extends _react.default.Component { 2102 static getDerivedStateFromError(error) { 2103 if ((error == null ? void 0 : error.digest) === "NEXT_NOT_FOUND") { 2104 return { 2105 notFoundTriggered: true 2106 }; 2107 } 2108 // Re-throw if error is not for 404 2109 throw error; 2110 } 2111 static getDerivedStateFromProps(props, state) { 2112 /** 2113 * Handles reset of the error boundary when a navigation happens. 2114 * Ensures the error boundary does not stay enabled when navigating to a new page. 2115 * Approach of setState in render is safe as it checks the previous pathname and then overrides 2116 * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders 2117 */ if (props.pathname !== state.previousPathname && state.notFoundTriggered) { 2118 return { 2119 notFoundTriggered: false, 2120 previousPathname: props.pathname 2121 }; 2122 } 2123 return { 2124 notFoundTriggered: state.notFoundTriggered, 2125 previousPathname: props.pathname 2126 }; 2127 } 2128 render() { 2129 if (this.state.notFoundTriggered) { 2130 return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, { 2131 children: [ 2132 /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", { 2133 name: "robots", 2134 content: "noindex" 2135 }), 2136 false && /*#__PURE__*/ 0, 2137 this.props.notFoundStyles, 2138 this.props.notFound 2139 ] 2140 }); 2141 } 2142 return this.props.children; 2143 } 2144 constructor(props){ 2145 super(props); 2146 this.state = { 2147 notFoundTriggered: !!props.asNotFound, 2148 previousPathname: props.pathname 2149 }; 2150 } 2151} 2152function NotFoundBoundary(param) { 2153 let { notFound, notFoundStyles, asNotFound, children } = param; 2154 const pathname = (0, _navigation.usePathname)(); 2155 return notFound ? /*#__PURE__*/ (0, _jsxruntime.jsx)(NotFoundErrorBoundary, { 2156 pathname: pathname, 2157 notFound: notFound, 2158 notFoundStyles: notFoundStyles, 2159 asNotFound: asNotFound, 2160 children: children 2161 }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { 2162 children: children 2163 }); 2164} 2165if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 2166 Object.defineProperty(exports.default, "__esModule", { 2167 value: true 2168 });
2169 Object.assign(exports.default, exports); 2170 module.exports = exports.default; 2171} //# sourceMappingURL=not-found-boundary.js.map 2172 2173 2174/***/ }), 2175 2176/***/ 7309: 2177/***/ (function(module, exports) { 2178 2179"use strict"; 2180 2181Object.defineProperty(exports, "__esModule", ({ 2182 value: true 2183})); 21840 && (0); 2185function _export(target, all) { 2186 for(var name in all)Object.defineProperty(target, name, { 2187 enumerable: true, 2188 get: all[name] 2189 }); 2190} 2191_export(exports, { 2192 notFound: function() { 2193 return notFound; 2194 }, 2195 isNotFoundError: function() { 2196 return isNotFoundError; 2197 } 2198}); 2199const NOT_FOUND_ERROR_CODE = "NEXT_NOT_FOUND"; 2200function notFound() { 2201 // eslint-disable-next-line no-throw-literal 2202 const error = new Error(NOT_FOUND_ERROR_CODE); 2203 error.digest = NOT_FOUND_ERROR_CODE; 2204 throw error; 2205} 2206function isNotFoundError(error) { 2207 return (error == null ? void 0 : error.digest) === NOT_FOUND_ERROR_CODE; 2208} 2209if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 2210 Object.defineProperty(exports.default, "__esModule", { 2211 value: true 2212 }); 2213 Object.assign(exports.default, exports); 2214 module.exports = exports.default; 2215} //# sourceMappingURL=not-found.js.map 2216 2217 2218/***/ }), 2219 2220/***/ 9236: 2221/***/ (function(module, exports, __webpack_require__) { 2222 2223"use strict"; 2224/* 2225 This is a simple promise queue that allows you to limit the number of concurrent promises 2226 that are running at any given time. It's used to limit the number of concurrent 2227 prefetch requests that are being made to the server but could be used for other 2228 things as well. 2229*/ 2230Object.defineProperty(exports, "__esModule", ({ 2231 value: true 2232})); 2233Object.defineProperty(exports, "PromiseQueue", ({ 2234 enumerable: true, 2235 get: function() { 2236 return PromiseQueue; 2237 } 2238})); 2239const _class_private_field_loose_base = __webpack_require__(9382); 2240const _class_private_field_loose_key = __webpack_require__(7666); 2241var _maxConcurrency = /*#__PURE__*/ _class_private_field_loose_key._("_maxConcurrency"), _runningCount = /*#__PURE__*/ _class_private_field_loose_key._("_runningCount"), _queue = /*#__PURE__*/ _class_private_field_loose_key._("_queue"), _processNext = /*#__PURE__*/ _class_private_field_loose_key._("_processNext"); 2242class PromiseQueue { 2243 enqueue(promiseFn) { 2244 let taskResolve; 2245 let taskReject; 2246 const taskPromise = new Promise((resolve, reject)=>{ 2247 taskResolve = resolve; 2248 taskReject = reject; 2249 }); 2250 const task = async ()=>{ 2251 try { 2252 _class_private_field_loose_base._(this, _runningCount)[_runningCount]++; 2253 const result = await promiseFn(); 2254 taskResolve(result); 2255 } catch (error) { 2256 taskReject(error); 2257 } finally{ 2258 _class_private_field_loose_base._(this, _runningCount)[_runningCount]--; 2259 _class_private_field_loose_base._(this, _processNext)[_processNext](); 2260 } 2261 }; 2262 const enqueueResult = { 2263 promiseFn: taskPromise, 2264 task 2265 }; 2266 // wonder if we should take a LIFO approach here 2267 _class_private_field_loose_base._(this, _queue)[_queue].push(enqueueResult); 2268 _class_private_field_loose_base._(this, _processNext)[_processNext](); 2269 return taskPromise; 2270 } 2271 bump(promiseFn) { 2272 const index = _class_private_field_loose_base._(this, _queue)[_queue].findIndex((item)=>item.promiseFn === promiseFn); 2273 if (index > -1) { 2274 const bumpedItem = _class_private_field_loose_base._(this, _queue)[_queue].splice(index, 1)[0]; 2275 _class_private_field_loose_base._(this, _queue)[_queue].unshift(bumpedItem); 2276 _class_private_field_loose_base._(this, _processNext)[_processNext](true); 2277 } 2278 } 2279 constructor(maxConcurrency = 5){ 2280 Object.defineProperty(this, _processNext, { 2281 value: processNext 2282 }); 2283 Object.defineProperty(this, _maxConcurrency, { 2284 writable: true, 2285 value: void 0 2286 }); 2287 Object.defineProperty(this, _runningCount, { 2288 writable: true, 2289 value: void 0 2290 }); 2291 Object.defineProperty(this, _queue, { 2292 writable: true, 2293 value: void 0 2294 }); 2295 _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency
2295] = maxConcurrency; 2296 _class_private_field_loose_base._(this, _runningCount)[_runningCount] = 0; 2297 _class_private_field_loose_base._(this, _queue)[_queue] = []; 2298 } 2299} 2300function processNext(forced) { 2301 if (forced === void 0) forced = false; 2302 if ((_class_private_field_loose_base._(this, _runningCount)[_runningCount] < _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] || forced) && _class_private_field_loose_base._(this, _queue)[_queue].length > 0) { 2303 var _class_private_field_loose_base__queue_shift; 2304 (_class_private_field_loose_base__queue_shift = _class_private_field_loose_base._(this, _queue)[_queue].shift()) == null ? void 0 : _class_private_field_loose_base__queue_shift.task(); 2305 } 2306} 2307if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 2308 Object.defineProperty(exports.default, "__esModule", { 2309 value: true 2310 }); 2311 Object.assign(exports.default, exports); 2312 module.exports = exports.default; 2313} //# sourceMappingURL=promise-queue.js.map 2314 2315 2316/***/ }), 2317 2318/***/ 5813: 2319/***/ (function(module, exports, __webpack_require__) { 2320 2321"use strict"; 2322/* __next_internal_client_entry_do_not_use__ cjs */ 2323Object.defineProperty(exports, "__esModule", ({ 2324 value: true 2325})); 23260 && (0); 2327function _export(target, all) { 2328 for(var name in all)Object.defineProperty(target, name, { 2329 enumerable: true, 2330 get: all[name] 2331 }); 2332} 2333_export(exports, { 2334 RedirectErrorBoundary: function() { 2335 return RedirectErrorBoundary; 2336 }, 2337 RedirectBoundary: function() { 2338 return RedirectBoundary; 2339 } 2340}); 2341const _interop_require_wildcard = __webpack_require__(3589); 2342const _jsxruntime = __webpack_require__(1411); 2343const _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(9988)); 2344const _navigation = __webpack_require__(9960); 2345const _redirect = __webpack_require__(50); 2346function HandleRedirect(param) { 2347 let { redirect, reset, redirectType } = param; 2348 const router = (0, _navigation.useRouter)(); 2349 (0, _react.useEffect)(()=>{ 2350 _react.default.startTransition(()=>{ 2351 if (redirectType === _redirect.RedirectType.push) { 2352 router.push(redirect, {}); 2353 } else { 2354 router.replace(redirect, {}); 2355 } 2356 reset(); 2357 }); 2358 }, [ 2359 redirect, 2360 redirectType, 2361 reset, 2362 router 2363 ]); 2364 return null; 2365} 2366class RedirectErrorBoundary extends _react.default.Component { 2367 static getDerivedStateFromError(error) { 2368 if ((0, _redirect.isRedirectError)(error)) { 2369 const url = (0, _redirect.getURLFromRedirectError)(error); 2370 const redirectType = (0, _redirect.getRedirectTypeFromError)(error); 2371 return { 2372 redirect: url, 2373 redirectType 2374 }; 2375 } 2376 // Re-throw if error is not for redirect 2377 throw error; 2378 } 2379 render() { 2380 const { redirect, redirectType } = this.state; 2381 if (redirect !== null && redirectType !== null) { 2382 return /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleRedirect, { 2383 redirect: redirect, 2384 redirectType: redirectType, 2385 reset: ()=>this.setState({ 2386 redirect: null 2387 }) 2388 }); 2389 } 2390 return this.props.children; 2391 } 2392 constructor(props){ 2393 super(props); 2394 this.state = { 2395 redirect: null, 2396 redirectType: null 2397 }; 2398 } 2399} 2400function RedirectBoundary(param) { 2401 let { children } = param; 2402 const router = (0, _navigation.useRouter)(); 2403 return /*#__PURE__*/ (0, _jsxruntime.jsx)(RedirectErrorBoundary, { 2404 router: router, 2405 children: children 2406 }); 2407} 2408if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 2409 Object.defineProperty(exports.default, "__esModule", { 2410 value: true 2411 });
2412 Object.assign(exports.default, exports); 2413 module.exports = exports.default; 2414} //# sourceMappingURL=redirect-boundary.js.map 2415 2416 2417/***/ }), 2418 2419/***/ 402: 2420/***/ (function(module, exports) { 2421 2422"use strict"; 2423 2424Object.defineProperty(exports, "__esModule", ({ 2425 value: true 2426})); 2427Object.defineProperty(exports, "RedirectStatusCode", ({ 2428 enumerable: true, 2429 get: function() { 2430 return RedirectStatusCode; 2431 } 2432})); 2433var RedirectStatusCode; 2434(function(RedirectStatusCode) { 2435 RedirectStatusCode[RedirectStatusCode["SeeOther"] = 303] = "SeeOther"; 2436 RedirectStatusCode[RedirectStatusCode["TemporaryRedirect"] = 307] = "TemporaryRedirect"; 2437 RedirectStatusCode[RedirectStatusCode["PermanentRedirect"] = 308] = "PermanentRedirect"; 2438})(RedirectStatusCode || (RedirectStatusCode = {})); 2439if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 2440 Object.defineProperty(exports.default, "__esModule", { 2441 value: true 2442 }); 2443 Object.assign(exports.default, exports); 2444 module.exports = exports.default; 2445} //# sourceMappingURL=redirect-status-code.js.map 2446 2447 2448/***/ }), 2449 2450/***/ 50: 2451/***/ (function(module, exports, __webpack_require__) { 2452 2453"use strict"; 2454 2455Object.defineProperty(exports, "__esModule", ({ 2456 value: true 2457})); 24580 && (0); 2459function _export(target, all) { 2460 for(var name in all)Object.defineProperty(target, name, { 2461 enumerable: true, 2462 get: all[name] 2463 }); 2464} 2465_export(exports, { 2466 RedirectType: function() { 2467 return RedirectType; 2468 }, 2469 getRedirectError: function() { 2470 return getRedirectError; 2471 }, 2472 redirect: function() { 2473 return redirect; 2474 }, 2475 permanentRedirect: function() { 2476 return permanentRedirect; 2477 }, 2478 isRedirectError: function() { 2479 return isRedirectError; 2480 }, 2481 getURLFromRedirectError: function() { 2482 return getURLFromRedirectError; 2483 }, 2484 getRedirectTypeFromError: function() { 2485 return getRedirectTypeFromError; 2486 }, 2487 getRedirectStatusCodeFromError: function() { 2488 return getRedirectStatusCodeFromError; 2489 } 2490}); 2491const _requestasyncstorageexternal = __webpack_require__(7899); 2492const _actionasyncstorageexternal = __webpack_require__(1828); 2493const _redirectstatuscode = __webpack_require__(402); 2494const REDIRECT_ERROR_CODE = "NEXT_REDIRECT"; 2495var RedirectType; 2496(function(RedirectType) { 2497 RedirectType["push"] = "push"; 2498 RedirectType["replace"] = "replace"; 2499})(RedirectType || (RedirectType = {})); 2500function getRedirectError(url, type, statusCode) { 2501 if (statusCode === void 0) statusCode = _redirectstatuscode.RedirectStatusCode.TemporaryRedirect; 2502 const error = new Error(REDIRECT_ERROR_CODE); 2503 error.digest = REDIRECT_ERROR_CODE + ";" + type + ";" + url + ";" + statusCode + ";"; 2504 const requestStore = _requestasyncstorageexternal.requestAsyncStorage.getStore(); 2505 if (requestStore) { 2506 error.mutableCookies = requestStore.mutableCookies; 2507 } 2508 return error; 2509} 2510function redirect(url, type) { 2511 if (type === void 0) type = "replace"; 2512 const actionStore = _actionasyncstorageexternal.actionAsyncStorage.getStore(); 2513 throw getRedirectError(url, type, // as we don't want the POST request to follow the redirect, 2514 // as it could result in erroneous re-submissions. 2515 (actionStore == null ? void 0 : actionStore.isAction) ? _redirectstatuscode.RedirectStatusCode.SeeOther : _redirectstatuscode.RedirectStatusCode.TemporaryRedirect); 2516} 2517function permanentRedirect(url, type) { 2518 if (type === void 0) type = "replace"; 2519 const actionStore = _actionasyncstorageexternal.actionAsyncStorage.getStore(); 2520 throw getRedirectError(url, type, // as we don't want the POST request to follow the redirect, 2521 // as it could result in erroneous re-submissions. 2522 (actionStore == null ? void 0 : actionStore.isAction) ? _redirectstatuscode.RedirectStatusCode.SeeOther : _redirectstatuscode.RedirectStatusCode.PermanentRedirect); 2523} 2524function isRedirectError(error) { 2525 if (typeof (error == null ? void 0 : error.digest) !== "string") return false;
2526 const [errorCode, type, destination, status] = error.digest.split(";", 4); 2527 const statusCode = Number(status); 2528 return errorCode === REDIRECT_ERROR_CODE && (type === "replace" || type === "push") && typeof destination === "string" && !isNaN(statusCode) && statusCode in _redirectstatuscode.RedirectStatusCode; 2529} 2530function getURLFromRedirectError(error) { 2531 if (!isRedirectError(error)) return null; 2532 // Slices off the beginning of the digest that contains the code and the 2533 // separating ';'. 2534 return error.digest.split(";", 3)[2]; 2535} 2536function getRedirectTypeFromError(error) { 2537 if (!isRedirectError(error)) { 2538 throw new Error("Not a redirect error"); 2539 } 2540 return error.digest.split(";", 2)[1]; 2541} 2542function getRedirectStatusCodeFromError(error) { 2543 if (!isRedirectError(error)) { 2544 throw new Error("Not a redirect error"); 2545 } 2546 return Number(error.digest.split(";", 4)[3]); 2547} 2548if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 2549 Object.defineProperty(exports.default, "__esModule", { 2550 value: true 2551 }); 2552 Object.assign(exports.default, exports); 2553 module.exports = exports.default; 2554} //# sourceMappingURL=redirect.js.map 2555 2556 2557/***/ }), 2558 2559/***/ 1433: 2560/***/ (function(module, exports, __webpack_require__) { 2561 2562"use strict"; 2563/* __next_internal_client_entry_do_not_use__ cjs */ 2564Object.defineProperty(exports, "__esModule", ({ 2565 value: true 2566})); 2567Object.defineProperty(exports, "default", ({ 2568 enumerable: true, 2569 get: function() { 2570 return RenderFromTemplateContext; 2571 } 2572})); 2573const _interop_require_wildcard = __webpack_require__(3589); 2574const _jsxruntime = __webpack_require__(1411); 2575const _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(9988)); 2576const _approutercontextsharedruntime = __webpack_require__(1214); 2577function RenderFromTemplateContext() { 2578 const children = (0, _react.useContext)(_approutercontextsharedruntime.TemplateContext); 2579 return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, { 2580 children: children 2581 }); 2582} 2583if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 2584 Object.defineProperty(exports.default, "__esModule", { 2585 value: true 2586 }); 2587 Object.assign(exports.default, exports); 2588 module.exports = exports.default; 2589} //# sourceMappingURL=render-from-template-context.js.map 2590 2591 2592/***/ }), 2593 2594/***/ 7899: 2595/***/ (function(module, exports, __webpack_require__) { 2596 2597"use strict"; 2598 2599Object.defineProperty(exports, "__esModule", ({ 2600 value: true 2601})); 2602Object.defineProperty(exports, "requestAsyncStorage", ({ 2603 enumerable: true, 2604 get: function() { 2605 return requestAsyncStorage; 2606 } 2607})); 2608const _asynclocalstorage = __webpack_require__(2532); 2609const requestAsyncStorage = (0, _asynclocalstorage.createAsyncLocalStorage)(); 2610if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 2611 Object.defineProperty(exports.default, "__esModule", { 2612 value: true 2613 }); 2614 Object.assign(exports.default, exports); 2615 module.exports = exports.default; 2616} //# sourceMappingURL=request-async-storage.external.js.map 2617 2618 2619/***/ }), 2620 2621/***/ 2732: 2622/***/ (function(module, exports, __webpack_require__) { 2623 2624"use strict"; 2625 2626Object.defineProperty(exports, "__esModule", ({ 2627 value: true 2628})); 2629Object.defineProperty(exports, "applyFlightData", ({ 2630 enumerable: true, 2631 get: function() { 2632 return applyFlightData; 2633 } 2634})); 2635const _filllazyitemstillleafwithhead = __webpack_require__(3866); 2636const _fillcachewithnewsubtreedata = __webpack_require__(4268); 2637function applyFlightData(existingCache, cache, flightDataPath, wasPrefetched) { 2638 if (wasPrefetched === void 0) wasPrefetched = false; 2639 // The one before last item is the router state tree patch 2640 const [treePatch, cacheNodeSeedData, head] = flightDataPath.slice(-3); 2641 // Handles case where prefetch only returns the router tree patch without rendered components. 2642 if (cacheNodeSeedData === null) { 2643 return false;
2644 } 2645 if (flightDataPath.length === 3) { 2646 const rsc = cacheNodeSeedData[2]; 2647 cache.rsc = rsc; 2648 // This is a PPR-only field. When PPR is enabled, we shouldn't hit 2649 // this path during a navigation, but until PPR is fully implemented 2650 // yet it's possible the existing node does have a non-null 2651 // `prefetchRsc`. As an incremental step, we'll just de-opt to the 2652 // old behavior — no PPR value. 2653 cache.prefetchRsc = null; 2654 (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, existingCache, treePatch, cacheNodeSeedData, head, wasPrefetched); 2655 } else { 2656 // Copy rsc for the root node of the cache. 2657 cache.rsc = existingCache.rsc; 2658 // This is a PPR-only field. Unlike the previous branch, since we're 2659 // just cloning the existing cache node, we might as well keep the 2660 // PPR value, if it exists. 2661 cache.prefetchRsc = existingCache.prefetchRsc; 2662 cache.parallelRoutes = new Map(existingCache.parallelRoutes); 2663 // Create a copy of the existing cache with the rsc applied. 2664 (0, _fillcachewithnewsubtreedata.fillCacheWithNewSubTreeData)(cache, existingCache, flightDataPath, wasPrefetched); 2665 } 2666 return true; 2667} 2668if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 2669 Object.defineProperty(exports.default, "__esModule", { 2670 value: true 2671 }); 2672 Object.assign(exports.default, exports); 2673 module.exports = exports.default; 2674} //# sourceMappingURL=apply-flight-data.js.map 2675 2676 2677/***/ }), 2678 2679/***/ 817: 2680/***/ (function(module, exports, __webpack_require__) { 2681 2682"use strict"; 2683 2684Object.defineProperty(exports, "__esModule", ({ 2685 value: true 2686})); 26870 && (0); 2688function _export(target, all) { 2689 for(var name in all)Object.defineProperty(target, name, { 2690 enumerable: true, 2691 get: all[name] 2692 }); 2693} 2694_export(exports, { 2695 applyRouterStatePatchToFullTree: function() { 2696 return applyRouterStatePatchToFullTree; 2697 }, 2698 applyRouterStatePatchToTreeSkipDefault: function() { 2699 return applyRouterStatePatchToTreeSkipDefault; 2700 } 2701}); 2702const _segment = __webpack_require__(1956); 2703const _matchsegments = __webpack_require__(1118); 2704/** 2705 * Deep merge of the two router states. Parallel route keys are preserved if the patch doesn't have them. 2706 */ function applyPatch(initialTree, patchTree, applyPatchToDefaultSegment) { 2707 if (applyPatchToDefaultSegment === void 0) applyPatchToDefaultSegment = false; 2708 const [initialSegment, initialParallelRoutes] = initialTree; 2709 const [patchSegment, patchParallelRoutes] = patchTree; 2710 // if the applied patch segment is __DEFAULT__ then it can be ignored in favor of the initial tree 2711 // this is because the __DEFAULT__ segment is used as a placeholder on navigation 2712 // however, there are cases where we _do_ want to apply the patch to the default segment, 2713 // such as when revalidating the router cache with router.refresh/revalidatePath 2714 if (!applyPatchToDefaultSegment && patchSegment === _segment.DEFAULT_SEGMENT_KEY && initialSegment !== _segment.DEFAULT_SEGMENT_KEY) { 2715 return initialTree; 2716 } 2717 if ((0, _matchsegments.matchSegment)(initialSegment, patchSegment)) { 2718 const newParallelRoutes = {}; 2719 for(const key in initialParallelRoutes){ 2720 const isInPatchTreeParallelRoutes = typeof patchParallelRoutes[key] !== "undefined"; 2721 if (isInPatchTreeParallelRoutes) { 2722 newParallelRoutes[key] = applyPatch(initialParallelRoutes[key], patchParallelRoutes[key], applyPatchToDefaultSegment); 2723 } else { 2724 newParallelRoutes[key] = initialParallelRoutes[key]; 2725 } 2726 } 2727 for(const key in patchParallelRoutes){ 2728 if (newParallelRoutes[key]) { 2729 continue; 2730 } 2731 newParallelRoutes[key] = patchParallelRoutes[key]; 2732 } 2733 const tree = [ 2734 initialSegment, 2735 newParallelRoutes 2736 ]; 2737 if (initialTree[2]) { 2738 tree[2] = initialTree[2]; 2739 } 2740 if (initialTree[3]) { 2741 tree[3] = initialTree[3]; 2742 } 2743 if (initialTree[4]) { 2744 tree[4] = initialTree[4]; 2745 } 2746 return tree; 2747 } 2748 return patchTree; 2749} 2750function applyRouterStatePatchToTreeImpl(flightSegmentPath, flightRouterState, treePatch, applyPatchDefaultSegment) {
2751 if (applyPatchDefaultSegment === void 0) applyPatchDefaultSegment = false; 2752 const [segment, parallelRoutes, , , isRootLayout] = flightRouterState; 2753 // Root refresh 2754 if (flightSegmentPath.length === 1) { 2755 const tree = applyPatch(flightRouterState, treePatch, applyPatchDefaultSegment); 2756 return tree; 2757 } 2758 const [currentSegment, parallelRouteKey] = flightSegmentPath; 2759 // Tree path returned from the server should always match up with the current tree in the browser 2760 if (!(0, _matchsegments.matchSegment)(currentSegment, segment)) { 2761 return null; 2762 } 2763 const lastSegment = flightSegmentPath.length === 2; 2764 let parallelRoutePatch; 2765 if (lastSegment) { 2766 parallelRoutePatch = applyPatch(parallelRoutes[parallelRouteKey], treePatch, applyPatchDefaultSegment); 2767 } else { 2768 parallelRoutePatch = applyRouterStatePatchToTreeImpl(flightSegmentPath.slice(2), parallelRoutes[parallelRouteKey], treePatch, applyPatchDefaultSegment); 2769 if (parallelRoutePatch === null) { 2770 return null; 2771 } 2772 } 2773 const tree = [ 2774 flightSegmentPath[0], 2775 { 2776 ...parallelRoutes, 2777 [parallelRouteKey]: parallelRoutePatch 2778 } 2779 ]; 2780 // Current segment is the root layout 2781 if (isRootLayout) { 2782 tree[4] = true; 2783 } 2784 return tree; 2785} 2786function applyRouterStatePatchToFullTree(flightSegmentPath, flightRouterState, treePatch) { 2787 return applyRouterStatePatchToTreeImpl(flightSegmentPath, flightRouterState, treePatch, true); 2788} 2789function applyRouterStatePatchToTreeSkipDefault(flightSegmentPath, flightRouterState, treePatch) { 2790 return applyRouterStatePatchToTreeImpl(flightSegmentPath, flightRouterState, treePatch, false); 2791} 2792if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 2793 Object.defineProperty(exports.default, "__esModule", { 2794 value: true 2795 }); 2796 Object.assign(exports.default, exports); 2797 module.exports = exports.default; 2798} //# sourceMappingURL=apply-router-state-patch-to-tree.js.map 2799 2800 2801/***/ }), 2802 2803/***/ 9650: 2804/***/ (function(module, exports, __webpack_require__) { 2805 2806"use strict"; 2807 2808Object.defineProperty(exports, "__esModule", ({ 2809 value: true 2810})); 28110 && (0); 2812function _export(target, all) { 2813 for(var name in all)Object.defineProperty(target, name, { 2814 enumerable: true, 2815 get: all[name] 2816 }); 2817} 2818_export(exports, { 2819 extractPathFromFlightRouterState: function() { 2820 return extractPathFromFlightRouterState; 2821 }, 2822 computeChangedPath: function() { 2823 return computeChangedPath; 2824 } 2825}); 2826const _interceptionroutes = __webpack_require__(5859); 2827const _segment = __webpack_require__(1956); 2828const _matchsegments = __webpack_require__(1118); 2829const removeLeadingSlash = (segment)=>{ 2830 return segment[0] === "/" ? segment.slice(1) : segment; 2831}; 2832const segmentToPathname = (segment)=>{ 2833 if (typeof segment === "string") { 2834 return segment; 2835 } 2836 return segment[1]; 2837}; 2838function normalizeSegments(segments) { 2839 return segments.reduce((acc, segment)=>{ 2840 segment = removeLeadingSlash(segment); 2841 if (segment === "" || (0, _segment.isGroupSegment)(segment)) { 2842 return acc; 2843 } 2844 return acc + "/" + segment; 2845 }, "") || "/"; 2846} 2847function extractPathFromFlightRouterState(flightRouterState) { 2848 const segment = Array.isArray(flightRouterState[0]) ? flightRouterState[0][1] : flightRouterState[0]; 2849 if (segment === _segment.DEFAULT_SEGMENT_KEY || _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m))) return undefined; 2850 if (segment.startsWith(_segment.PAGE_SEGMENT_KEY)) return ""; 2851 const segments = [ 2852 segment 2853 ]; 2854 var _flightRouterState_; 2855 const parallelRoutes = (_flightRouterState_ = flightRouterState[1]) != null ? _flightRouterState_ : {}; 2856 const childrenPath = parallelRoutes.children ? extractPathFromFlightRouterState(parallelRoutes.children) : undefined; 2857 if (childrenPath !== undefined) { 2858 segments.push(childrenPath); 2859 } else { 2860 for (const [key, value] of Object.entries(parallelRoutes)){ 2861 if (key === "children") continue; 2862 const childPath = extractPathFromFlightRouterState(value); 2863 if (childPath !== undefined) { 2864 segments.push(childPath); 2865 } 2866 } 2867 } 2868 return normalizeSegments(segments); 2869} 2870function computeChangedPathImpl(treeA, treeB) { 2871 const [segmentA, parallelRoutesA] = treeA; 2872 const [segmentB, parallelRoutesB] = treeB; 2873 const normalizedSegmentA = segmentToPathname(segmentA); 2874 const normalizedSegmentB = segmentToPathname(segmentB); 2875 if (_interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>normalizedSegmentA.startsWith(m) || normalizedSegmentB.startsWith(m))) { 2876 return ""; 2877 } 2878 if (!(0, _matchsegments.matchSegment)(segmentA, segmentB)) { 2879 var _extractPathFromFlightRouterState; 2880 // once we find where the tree changed, we compute the rest of the path by traversing the tree 2881 return (_extractPathFromFlightRouterState = extractPathFromFlightRouterState(treeB)) != null ? _extractPathFromFlightRouterState : ""; 2882 } 2883 for(const parallelRouterKey in parallelRoutesA){ 2884 if (parallelRoutesB[parallelRouterKey]) { 2885 const changedPath = computeChangedPathImpl(parallelRoutesA[parallelRouterKey], parallelRoutesB[parallelRouterKey]); 2886 if (changedPath !== null) { 2887 return segmentToPathname(segmentB) + "/" + changedPath; 2888 } 2889 } 2890 } 2891 return null; 2892} 2893function computeChangedPath(treeA, treeB) { 2894 const changedPath = computeChangedPathImpl(treeA, treeB); 2895 if (changedPath == null || changedPath === "/") { 2896 return changedPath; 2897 } 2898 // lightweight normalization to remove route groups 2899 return normalizeSegments(changedPath.split("/")); 2900} 2901if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 2902 Object.defineProperty(exports.default, "__esModule", { 2903 value: true 2904 });
2905 Object.assign(exports.default, exports); 2906 module.exports = exports.default; 2907} //# sourceMappingURL=compute-changed-path.js.map 2908 2909 2910/***/ }), 2911 2912/***/ 6690: 2913/***/ (function(module, exports) { 2914 2915"use strict"; 2916 2917Object.defineProperty(exports, "__esModule", ({ 2918 value: true 2919})); 2920Object.defineProperty(exports, "createHrefFromUrl", ({ 2921 enumerable: true, 2922 get: function() { 2923 return createHrefFromUrl; 2924 } 2925})); 2926function createHrefFromUrl(url, includeHash) { 2927 if (includeHash === void 0) includeHash = true; 2928 return url.pathname + url.search + (includeHash ? url.hash : ""); 2929} 2930if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 2931 Object.defineProperty(exports.default, "__esModule", { 2932 value: true 2933 }); 2934 Object.assign(exports.default, exports); 2935 module.exports = exports.default; 2936} //# sourceMappingURL=create-href-from-url.js.map 2937 2938 2939/***/ }), 2940 2941/***/ 8661: 2942/***/ (function(module, exports, __webpack_require__) { 2943 2944"use strict"; 2945 2946Object.defineProperty(exports, "__esModule", ({ 2947 value: true 2948})); 2949Object.defineProperty(exports, "createInitialRouterState", ({ 2950 enumerable: true, 2951 get: function() { 2952 return createInitialRouterState; 2953 } 2954})); 2955const _createhreffromurl = __webpack_require__(6690); 2956const _filllazyitemstillleafwithhead = __webpack_require__(3866); 2957const _computechangedpath = __webpack_require__(9650); 2958function createInitialRouterState(param) { 2959 let { buildId, initialTree, initialSeedData, initialCanonicalUrl, initialParallelRoutes, isServer, location, initialHead } = param; 2960 const rsc = initialSeedData[2]; 2961 const cache = { 2962 lazyData: null, 2963 rsc: rsc, 2964 prefetchRsc: null, 2965 // The cache gets seeded during the first render. `initialParallelRoutes` ensures the cache from the first render is there during the second render. 2966 parallelRoutes: isServer ? new Map() : initialParallelRoutes 2967 }; 2968 // When the cache hasn't been seeded yet we fill the cache with the head. 2969 if (initialParallelRoutes === null || initialParallelRoutes.size === 0) { 2970 (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, undefined, initialTree, initialSeedData, initialHead); 2971 } 2972 var _ref; 2973 return { 2974 buildId, 2975 tree: initialTree, 2976 cache, 2977 prefetchCache: new Map(), 2978 pushRef: { 2979 pendingPush: false, 2980 mpaNavigation: false, 2981 // First render needs to preserve the previous window.history.state 2982 // to avoid it being overwritten on navigation back/forward with MPA Navigation. 2983 preserveCustomHistoryState: true 2984 }, 2985 focusAndScrollRef: { 2986 apply: false, 2987 onlyHashChange: false, 2988 hashFragment: null, 2989 segmentPaths: [] 2990 }, 2991 canonicalUrl: // This is safe to do as canonicalUrl can't be rendered, it's only used to control the history updates in the useEffect further down in this file. 2992 location ? (0, _createhreffromurl.createHrefFromUrl)(location) : initialCanonicalUrl, 2993 nextUrl: (_ref = (0, _computechangedpath.extractPathFromFlightRouterState)(initialTree) || (location == null ? void 0 : location.pathname)) != null ? _ref : null 2994 }; 2995} 2996if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 2997 Object.defineProperty(exports.default, "__esModule", { 2998 value: true 2999 }); 3000 Object.assign(exports.default, exports); 3001 module.exports = exports.default; 3002} //# sourceMappingURL=create-initial-router-state.js.map 3003 3004 3005/***/ }), 3006 3007/***/ 7310: 3008/***/ (function(module, exports, __webpack_require__) { 3009 3010"use strict"; 3011 3012Object.defineProperty(exports, "__esModule", ({ 3013 value: true 3014})); 3015Object.defineProperty(exports, "createRouterCacheKey", ({ 3016 enumerable: true, 3017 get: function() { 3018 return createRouterCacheKey; 3019 } 3020})); 3021const _segment = __webpack_require__(1956); 3022function createRouterCacheKey(segment, withoutSearchParameters) { 3023 if (withoutSearchParameters === void 0) withoutSearchParameters = false;
3024 // if the segment is an array, it means it's a dynamic segment 3025 // for example, ['lang', 'en', 'd']. We need to convert it to a string to store it as a cache node key. 3026 if (Array.isArray(segment)) { 3027 return (segment[0] + "|" + segment[1] + "|" + segment[2]).toLowerCase(); 3028 } 3029 // Page segments might have search parameters, ie __PAGE__?foo=bar 3030 // When `withoutSearchParameters` is true, we only want to return the page segment 3031 if (withoutSearchParameters && segment.startsWith(_segment.PAGE_SEGMENT_KEY)) { 3032 return _segment.PAGE_SEGMENT_KEY; 3033 } 3034 return segment; 3035} 3036if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 3037 Object.defineProperty(exports.default, "__esModule", { 3038 value: true 3039 }); 3040 Object.assign(exports.default, exports); 3041 module.exports = exports.default; 3042} //# sourceMappingURL=create-router-cache-key.js.map 3043 3044 3045/***/ }), 3046 3047/***/ 5501: 3048/***/ (function(module, exports, __webpack_require__) { 3049 3050"use strict"; 3051/* __next_internal_client_entry_do_not_use__ cjs */ 3052Object.defineProperty(exports, "__esModule", ({ 3053 value: true 3054})); 3055Object.defineProperty(exports, "fetchServerResponse", ({ 3056 enumerable: true, 3057 get: function() { 3058 return fetchServerResponse; 3059 } 3060})); 3061const _approuterheaders = __webpack_require__(5767); 3062const _approuter = __webpack_require__(9985); 3063const _appcallserver = __webpack_require__(714); 3064const _routerreducertypes = __webpack_require__(1606); 3065const _hash = __webpack_require__(3178); 3066// @ts-ignore 3067// eslint-disable-next-line import/no-extraneous-dependencies 3068// import { createFromFetch } from 'react-server-dom-webpack/client' 3069const { createFromFetch } = false ? 0 : __webpack_require__(5552); 3070function doMpaNavigation(url) { 3071 return [ 3072 (0, _approuter.urlToUrlWithoutFlightMarker)(url).toString(), 3073 undefined 3074 ]; 3075} 3076async function fetchServerResponse(url, flightRouterState, nextUrl, currentBuildId, prefetchKind) { 3077 const headers = { 3078 // Enable flight response 3079 [_approuterheaders.RSC_HEADER]: "1", 3080 // Provide the current router state 3081 [_approuterheaders.NEXT_ROUTER_STATE_TREE]: encodeURIComponent(JSON.stringify(flightRouterState)) 3082 }; 3083 /** 3084 * Three cases: 3085 * - `prefetchKind` is `undefined`, it means it's a normal navigation, so we want to prefetch the page data fully 3086 * - `prefetchKind` is `full` - we want to prefetch the whole page so same as above 3087 * - `prefetchKind` is `auto` - if the page is dynamic, prefetch the page data partially, if static prefetch the page data fully 3088 */ if (prefetchKind === _routerreducertypes.PrefetchKind.AUTO) { 3089 headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] = "1"; 3090 } 3091 if (nextUrl) { 3092 headers[_approuterheaders.NEXT_URL] = nextUrl; 3093 } 3094 const uniqueCacheQuery = (0, _hash.hexHash)([ 3095 headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] || "0", 3096 headers[_approuterheaders.NEXT_ROUTER_STATE_TREE], 3097 headers[_approuterheaders.NEXT_URL] 3098 ].join(",")); 3099 try { 3100 let fetchUrl = new URL(url); 3101 if (true) { 3102 if (false) {} 3103 } 3104 // Add unique cache query to avoid caching conflicts on CDN which don't respect to Vary header 3105 fetchUrl.searchParams.set(_approuterheaders.NEXT_RSC_UNION_QUERY, uniqueCacheQuery); 3106 const res = await fetch(fetchUrl, { 3107 // Backwards compat for older browsers. `same-origin` is the default in modern browsers. 3108 credentials: "same-origin", 3109 headers 3110 }); 3111 const responseUrl = (0, _approuter.urlToUrlWithoutFlightMarker)(res.url); 3112 const canonicalUrl = res.redirected ? responseUrl : undefined; 3113 const contentType = res.headers.get("content-type") || ""; 3114 const postponed = !!res.headers.get(_approuterheaders.NEXT_DID_POSTPONE_HEADER); 3115 let isFlightResponse = contentType === _approuterheaders.RSC_CONTENT_TYPE_HEADER; 3116 if (true) { 3117 if (false) {} 3118 } 3119 // If fetch returns something different than flight response handle it like a mpa navigation 3120 // If the fetch was not 200, we also handle it like a mpa navigation 3121 if (!isFlightResponse || !res.ok) { 3122 // in case the original URL came with a hash, preserve it before redirecting to the new URL 3123 if (url.hash) { 3124 responseUrl.hash = url.hash; 3125 } 3126 return doMpaNavigation(responseUrl.toString()); 3127 } 3128 // Handle the `fetch` readable stream that can be unwrapped by `React.use`. 3129 const [buildId, flightData] = await createFromFetch(Promise.resolve(res), { 3130 callServer: _appcallserver.callServer 3131 }); 3132 if (currentBuildId !== buildId) { 3133 return doMpaNavigation(res.url); 3134 } 3135 return [ 3136 flightData, 3137 canonicalUrl, 3138 postponed 3139 ]; 3140 } catch (err) { 3141 console.error("Failed to fetch RSC payload for " + url + ". Falling back to browser navigation.", err); 3142 // If fetch fails handle it like a mpa navigation 3143 // TODO-APP: Add a test for the case where a CORS request fails, e.g. external url redirect coming from the response. 3144 // See https://github.com/vercel/next.js/issues/43605#issuecomment-1451617521 for a reproduction. 3145 return [ 3146 url.toString(), 3147 undefined 3148 ]; 3149 } 3150} 3151if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 3152 Object.defineProperty(exports.default, "__esModule", { 3153 value: true 3154 });
3155 Object.assign(exports.default, exports); 3156 module.exports = exports.default; 3157} //# sourceMappingURL=fetch-server-response.js.map 3158 3159 3160/***/ }), 3161 3162/***/ 4005: 3163/***/ (function(module, exports, __webpack_require__) { 3164 3165"use strict"; 3166 3167Object.defineProperty(exports, "__esModule", ({ 3168 value: true 3169})); 3170Object.defineProperty(exports, "fillCacheWithDataProperty", ({ 3171 enumerable: true, 3172 get: function() { 3173 return fillCacheWithDataProperty; 3174 } 3175})); 3176const _createroutercachekey = __webpack_require__(7310); 3177function fillCacheWithDataProperty(newCache, existingCache, flightSegmentPath, fetchResponse) { 3178 const isLastEntry = flightSegmentPath.length <= 2; 3179 const [parallelRouteKey, segment] = flightSegmentPath; 3180 const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment); 3181 const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey); 3182 let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey); 3183 if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) { 3184 childSegmentMap = new Map(existingChildSegmentMap); 3185 newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap); 3186 } 3187 const existingChildCacheNode = existingChildSegmentMap == null ? void 0 : existingChildSegmentMap.get(cacheKey); 3188 let childCacheNode = childSegmentMap.get(cacheKey); 3189 // In case of last segment start off the fetch at this level and don't copy further down. 3190 if (isLastEntry) { 3191 if (!childCacheNode || !childCacheNode.lazyData || childCacheNode === existingChildCacheNode) { 3192 childSegmentMap.set(cacheKey, { 3193 lazyData: fetchResponse(), 3194 rsc: null, 3195 prefetchRsc: null, 3196 parallelRoutes: new Map() 3197 }); 3198 } 3199 return; 3200 } 3201 if (!childCacheNode || !existingChildCacheNode) { 3202 // Start fetch in the place where the existing cache doesn't have the data yet. 3203 if (!childCacheNode) { 3204 childSegmentMap.set(cacheKey, { 3205 lazyData: fetchResponse(), 3206 rsc: null, 3207 prefetchRsc: null, 3208 parallelRoutes: new Map() 3209 }); 3210 } 3211 return; 3212 } 3213 if (childCacheNode === existingChildCacheNode) { 3214 childCacheNode = { 3215 lazyData: childCacheNode.lazyData, 3216 rsc: childCacheNode.rsc, 3217 prefetchRsc: childCacheNode.prefetchRsc, 3218 parallelRoutes: new Map(childCacheNode.parallelRoutes) 3219 }; 3220 childSegmentMap.set(cacheKey, childCacheNode); 3221 } 3222 return fillCacheWithDataProperty(childCacheNode, existingChildCacheNode, flightSegmentPath.slice(2), fetchResponse); 3223} 3224if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 3225 Object.defineProperty(exports.default, "__esModule", { 3226 value: true 3227 }); 3228 Object.assign(exports.default, exports); 3229 module.exports = exports.default; 3230} //# sourceMappingURL=fill-cache-with-data-property.js.map 3231 3232 3233/***/ }), 3234 3235/***/ 4268: 3236/***/ (function(module, exports, __webpack_require__) { 3237 3238"use strict"; 3239 3240Object.defineProperty(exports, "__esModule", ({ 3241 value: true 3242})); 3243Object.defineProperty(exports, "fillCacheWithNewSubTreeData", ({ 3244 enumerable: true, 3245 get: function() { 3246 return fillCacheWithNewSubTreeData; 3247 } 3248})); 3249const _invalidatecachebyrouterstate = __webpack_require__(4560); 3250const _filllazyitemstillleafwithhead = __webpack_require__(3866); 3251const _createroutercachekey = __webpack_require__(7310); 3252function fillCacheWithNewSubTreeData(newCache, existingCache, flightDataPath, wasPrefetched) { 3253 const isLastEntry = flightDataPath.length <= 5; 3254 const [parallelRouteKey, segment] = flightDataPath; 3255 const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment); 3256 const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey); 3257 if (!existingChildSegmentMap) { 3258 // Bailout because the existing cache does not have the path to the leaf node
3259 // Will trigger lazy fetch in layout-router because of missing segment 3260 return; 3261 } 3262 let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey); 3263 if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) { 3264 childSegmentMap = new Map(existingChildSegmentMap); 3265 newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap); 3266 } 3267 const existingChildCacheNode = existingChildSegmentMap.get(cacheKey); 3268 let childCacheNode = childSegmentMap.get(cacheKey); 3269 if (isLastEntry) { 3270 if (!childCacheNode || !childCacheNode.lazyData || childCacheNode === existingChildCacheNode) { 3271 const seedData = flightDataPath[3]; 3272 const rsc = seedData[2]; 3273 childCacheNode = { 3274 lazyData: null, 3275 rsc, 3276 prefetchRsc: null, 3277 // Ensure segments other than the one we got data for are preserved. 3278 parallelRoutes: existingChildCacheNode ? new Map(existingChildCacheNode.parallelRoutes) : new Map() 3279 }; 3280 if (existingChildCacheNode) { 3281 (0, _invalidatecachebyrouterstate.invalidateCacheByRouterState)(childCacheNode, existingChildCacheNode, flightDataPath[2]); 3282 } 3283 (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(childCacheNode, existingChildCacheNode, flightDataPath[2], seedData, flightDataPath[4], wasPrefetched); 3284 childSegmentMap.set(cacheKey, childCacheNode); 3285 } 3286 return; 3287 } 3288 if (!childCacheNode || !existingChildCacheNode) { 3289 // Bailout because the existing cache does not have the path to the leaf node 3290 // Will trigger lazy fetch in layout-router because of missing segment 3291 return; 3292 } 3293 if (childCacheNode === existingChildCacheNode) { 3294 childCacheNode = { 3295 lazyData: childCacheNode.lazyData, 3296 rsc: childCacheNode.rsc, 3297 prefetchRsc: childCacheNode.prefetchRsc, 3298 parallelRoutes: new Map(childCacheNode.parallelRoutes) 3299 }; 3300 childSegmentMap.set(cacheKey, childCacheNode); 3301 } 3302 fillCacheWithNewSubTreeData(childCacheNode, existingChildCacheNode, flightDataPath.slice(2), wasPrefetched); 3303} 3304if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 3305 Object.defineProperty(exports.default, "__esModule", { 3306 value: true 3307 }); 3308 Object.assign(exports.default, exports); 3309 module.exports = exports.default; 3310} //# sourceMappingURL=fill-cache-with-new-subtree-data.js.map 3311 3312 3313/***/ }), 3314 3315/***/ 3866: 3316/***/ (function(module, exports, __webpack_require__) { 3317 3318"use strict"; 3319 3320Object.defineProperty(exports, "__esModule", ({ 3321 value: true 3322})); 3323Object.defineProperty(exports, "fillLazyItemsTillLeafWithHead", ({ 3324 enumerable: true, 3325 get: function() { 3326 return fillLazyItemsTillLeafWithHead; 3327 } 3328})); 3329const _createroutercachekey = __webpack_require__(7310); 3330function fillLazyItemsTillLeafWithHead(newCache, existingCache, routerState, cacheNodeSeedData, head, wasPrefetched) { 3331 const isLastSegment = Object.keys(routerState[1]).length === 0; 3332 if (isLastSegment) { 3333 newCache.head = head; 3334 return; 3335 } 3336 // Remove segment that we got data for so that it is filled in during rendering of rsc. 3337 for(const key in routerState[1]){ 3338 const parallelRouteState = routerState[1][key]; 3339 const segmentForParallelRoute = parallelRouteState[0]; 3340 const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segmentForParallelRoute); 3341 // TODO: We should traverse the cacheNodeSeedData tree instead of the router 3342 // state tree. Ideally, they would always be the same shape, but because of 3343 // the loading.js pattern, cacheNodeSeedData sometimes only represents a 3344 // partial tree. That's why this node is sometimes null. Once PPR lands, 3345 // loading.js will no longer have special behavior and we can traverse the 3346 // data tree instead. 3347 // 3348 // We should also consider merging the router state tree and the data tree 3349 // in the response format, so that we don't have to send the keys twice. 3350 // Then the client can convert them into separate representations. 3351 const parallelSeedData = cacheNodeSeedData !== null && cacheNodeSeedData[1][key] !== undefined ? cacheNodeSeedData[1][key] : null; 3352 if (existingCache) { 3353 const existingParallelRoutesCacheNode = existingCache.parallelRoutes.get(key); 3354 if (existingParallelRoutesCacheNode) { 3355 let parallelRouteCacheNode = new Map(existingParallelRoutesCacheNode); 3356 const existingCacheNode = parallelRouteCacheNode.get(cacheKey); 3357 let newCacheNode; 3358 if (parallelSeedData !== null) { 3359 // New data was sent from the server. 3360 const seedNode = parallelSeedData[2]; 3361 newCacheNode = { 3362 lazyData: null, 3363 rsc: seedNode, 3364 // This is a PPR-only field. When PPR is enabled, we shouldn't hit 3365 // this path during a navigation, but until PPR is fully implemented 3366 // yet it's possible the existing node does have a non-null 3367 // `prefetchRsc`. As an incremental step, we'll just de-opt to the 3368 // old behavior — no PPR value. 3369 prefetchRsc: null, 3370 parallelRoutes: new Map(existingCacheNode == null ? void 0 : existingCacheNode.parallelRoutes) 3371 }; 3372 } else if (wasPrefetched && existingCacheNode) { 3373 // No new data was sent from the server, but the existing cache node 3374 // was prefetched, so we should reuse that. 3375 newCacheNode = { 3376 lazyData: existingCacheNode.lazyData, 3377 rsc: existingCacheNode.rsc, 3378 // This is a PPR-only field. Unlike the previous branch, since we're 3379 // just cloning the existing cache node, we might as well keep the 3380 // PPR value, if it exists. 3381 prefetchRsc: existingCacheNode.prefetchRsc, 3382 parallelRoutes: new Map(existingCacheNode.parallelRoutes) 3383 }; 3384 } else { 3385 // No data available for this node. This will trigger a lazy fetch 3386 // during render. 3387 newCacheNode = { 3388 lazyData: null, 3389 rsc: null, 3390 prefetchRsc: null, 3391 parallelRoutes: new Map(existingCacheNode == null ? void 0 : existingCacheNode.parallelRoutes) 3392 }; 3393 } 3394 // Overrides the cache key with the new cache node. 3395 parallelRouteCacheNode.set(cacheKey, newCacheNode); 3396 // Traverse deeper to apply the head / fill lazy items till the head. 3397 fillLazyItemsTillLeafWithHead(newCacheNode, existingCacheNode, parallelRouteState, parallelSeedData ? parallelSeedData : null, head, wasPrefetched); 3398 newCache.parallelRoutes.set(key, parallelRouteCacheNode); 3399 continue; 3400 } 3401 } 3402 let newCacheNode; 3403 if (parallelSeedData !== null) { 3404 // New data was sent from the server. 3405 const seedNode = parallelSeedData[2]; 3406 newCacheNode = { 3407 lazyData: null, 3408 rsc: seedNode, 3409 prefetchRsc: null, 3410 parallelRoutes: new Map() 3411 }; 3412 } else { 3413 // No data available for this node. This will trigger a lazy fetch 3414 // during render. 3415 newCacheNode = { 3416 lazyData: null, 3417 rsc: null, 3418 prefetchRsc: null, 3419 parallelRoutes: new Map() 3420 }; 3421 } 3422 const existingParallelRoutes = newCache.parallelRoutes.get(key); 3423 if (existingParallelRoutes) { 3424 existingParallelRoutes.set(cacheKey, newCacheNode); 3425 } else { 3426 newCache.parallelRoutes.set(key, new Map([ 3427 [ 3428 cacheKey, 3429 newCacheNode 3430 ] 3431 ])); 3432 } 3433 fillLazyItemsTillLeafWithHead(newCacheNode, undefined, parallelRouteState, parallelSeedData, head, wasPrefetched); 3434 } 3435} 3436if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 3437 Object.defineProperty(exports.default, "__esModule", { 3438 value: true 3439 });
3440 Object.assign(exports.default, exports); 3441 module.exports = exports.default; 3442} //# sourceMappingURL=fill-lazy-items-till-leaf-with-head.js.map 3443 3444 3445/***/ }), 3446 3447/***/ 450: 3448/***/ (function(module, exports) { 3449 3450"use strict"; 3451 3452Object.defineProperty(exports, "__esModule", ({ 3453 value: true 3454})); 34550 && (0); 3456function _export(target, all) { 3457 for(var name in all)Object.defineProperty(target, name, { 3458 enumerable: true, 3459 get: all[name] 3460 }); 3461} 3462_export(exports, { 3463 PrefetchCacheEntryStatus: function() { 3464 return PrefetchCacheEntryStatus; 3465 }, 3466 getPrefetchEntryCacheStatus: function() { 3467 return getPrefetchEntryCacheStatus; 3468 } 3469}); 3470const FIVE_MINUTES = 5 * 60 * 1000; 3471const THIRTY_SECONDS = 30 * 1000; 3472var PrefetchCacheEntryStatus; 3473(function(PrefetchCacheEntryStatus) { 3474 PrefetchCacheEntryStatus["fresh"] = "fresh"; 3475 PrefetchCacheEntryStatus["reusable"] = "reusable"; 3476 PrefetchCacheEntryStatus["expired"] = "expired"; 3477 PrefetchCacheEntryStatus["stale"] = "stale"; 3478})(PrefetchCacheEntryStatus || (PrefetchCacheEntryStatus = {})); 3479function getPrefetchEntryCacheStatus(param) { 3480 let { kind, prefetchTime, lastUsedTime } = param; 3481 // if the cache entry was prefetched or read less than 30s ago, then we want to re-use it 3482 if (Date.now() < (lastUsedTime != null ? lastUsedTime : prefetchTime) + THIRTY_SECONDS) { 3483 return lastUsedTime ? "reusable" : "fresh"; 3484 } 3485 // if the cache entry was prefetched less than 5 mins ago, then we want to re-use only the loading state 3486 if (kind === "auto") { 3487 if (Date.now() < prefetchTime + FIVE_MINUTES) { 3488 return "stale"; 3489 } 3490 } 3491 // if the cache entry was prefetched less than 5 mins ago and was a "full" prefetch, then we want to re-use it "full 3492 if (kind === "full") { 3493 if (Date.now() < prefetchTime + FIVE_MINUTES) { 3494 return "reusable"; 3495 } 3496 } 3497 return "expired"; 3498} 3499if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 3500 Object.defineProperty(exports.default, "__esModule", { 3501 value: true 3502 }); 3503 Object.assign(exports.default, exports); 3504 module.exports = exports.default; 3505} //# sourceMappingURL=get-prefetch-cache-entry-status.js.map 3506 3507 3508/***/ }), 3509 3510/***/ 8056: 3511/***/ (function(module, exports, __webpack_require__) { 3512 3513"use strict"; 3514 3515Object.defineProperty(exports, "__esModule", ({ 3516 value: true 3517})); 3518Object.defineProperty(exports, "handleMutable", ({ 3519 enumerable: true, 3520 get: function() { 3521 return handleMutable; 3522 } 3523})); 3524const _computechangedpath = __webpack_require__(9650); 3525function isNotUndefined(value) { 3526 return typeof value !== "undefined"; 3527} 3528function handleMutable(state, mutable) { 3529 var _mutable_canonicalUrl; 3530 var _mutable_shouldScroll; 3531 // shouldScroll is true by default, can override to false. 3532 const shouldScroll = (_mutable_shouldScroll = mutable.shouldScroll) != null ? _mutable_shouldScroll : true; 3533 let nextUrl = state.nextUrl; 3534 if (isNotUndefined(mutable.patchedTree)) { 3535 // If we received a patched tree, we need to compute the changed path. 3536 const changedPath = (0, _computechangedpath.computeChangedPath)(state.tree, mutable.patchedTree); 3537 if (changedPath) { 3538 // If the tree changed, we need to update the nextUrl 3539 nextUrl = changedPath; 3540 } else if (!nextUrl) { 3541 // if the tree ends up being the same (ie, no changed path), and we don't have a nextUrl, then we should use the canonicalUrl 3542 nextUrl = state.canonicalUrl; 3543 } 3544 // otherwise this will be a no-op and continue to use the existing nextUrl 3545 } 3546 var _mutable_scrollableSegments; 3547 return { 3548 buildId: state.buildId, 3549 // Set href. 3550 canonicalUrl: isNotUndefined(mutable.canonicalUrl) ? mutable.canonicalUrl === state.canonicalUrl ? state.canonicalUrl : mutable.canonicalUrl : state.canonicalUrl, 3551 pushRef: { 3552 pendingPush: isNotUndefined(mutable.pendingPush) ? mutable.pendingPush : state.pushRef.pendingPush, 3553 mpaNavigation: isNotUndefined(mutable.mpaNavigation) ? mutable.mpaNavigation : state.pushRef.mpaNavigation, 3554 preserveCustomHistoryState: isNotUndefined(mutable.preserveCustomHistoryState) ? mutable.preserveCustomHistoryState : state.pushRef.preserveCustomHistoryState 3555 }, 3556 // All navigation requires scroll and focus management to trigger. 3557 focusAndScrollRef: { 3558 apply: shouldScroll ? isNotUndefined(mutable == null ? void 0 : mutable.scrollableSegments) ? true : state.focusAndScrollRef.apply : false, 3559 onlyHashChange: !!mutable.hashFragment && state.canonicalUrl.split("#", 1)[0] === ((_mutable_c
3559anonicalUrl = mutable.canonicalUrl) == null ? void 0 : _mutable_canonicalUrl.split("#", 1)[0]), 3560 hashFragment: shouldScroll ? mutable.hashFragment && mutable.hashFragment !== "" ? decodeURIComponent(mutable.hashFragment.slice(1)) : state.focusAndScrollRef.hashFragment : null, 3561 segmentPaths: shouldScroll ? (_mutable_scrollableSegments = mutable == null ? void 0 : mutable.scrollableSegments) != null ? _mutable_scrollableSegments : state.focusAndScrollRef.segmentPaths : [] 3562 }, 3563 // Apply cache. 3564 cache: mutable.cache ? mutable.cache : state.cache, 3565 prefetchCache: mutable.prefetchCache ? mutable.prefetchCache : state.prefetchCache, 3566 // Apply patched router state. 3567 tree: isNotUndefined(mutable.patchedTree) ? mutable.patchedTree : state.tree, 3568 nextUrl 3569 }; 3570} 3571if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 3572 Object.defineProperty(exports.default, "__esModule", { 3573 value: true 3574 }); 3575 Object.assign(exports.default, exports); 3576 module.exports = exports.default; 3577} //# sourceMappingURL=handle-mutable.js.map 3578 3579 3580/***/ }), 3581 3582/***/ 5284: 3583/***/ (function(module, exports, __webpack_require__) { 3584 3585"use strict"; 3586 3587Object.defineProperty(exports, "__esModule", ({ 3588 value: true 3589})); 3590Object.defineProperty(exports, "invalidateCacheBelowFlightSegmentPath", ({ 3591 enumerable: true, 3592 get: function() { 3593 return invalidateCacheBelowFlightSegmentPath; 3594 } 3595})); 3596const _createroutercachekey = __webpack_require__(7310);
3597function invalidateCacheBelowFlightSegmentPath(newCache, existingCache, flightSegmentPath) { 3598 const isLastEntry = flightSegmentPath.length <= 2; 3599 const [parallelRouteKey, segment] = flightSegmentPath; 3600 const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment); 3601 const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey); 3602 if (!existingChildSegmentMap) { 3603 // Bailout because the existing cache does not have the path to the leaf node 3604 // Will trigger lazy fetch in layout-router because of missing segment 3605 return; 3606 } 3607 let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey); 3608 if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) { 3609 childSegmentMap = new Map(existingChildSegmentMap); 3610 newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap); 3611 } 3612 // In case of last entry don't copy further down. 3613 if (isLastEntry) { 3614 childSegmentMap.delete(cacheKey); 3615 return; 3616 } 3617 const existingChildCacheNode = existingChildSegmentMap.get(cacheKey); 3618 let childCacheNode = childSegmentMap.get(cacheKey); 3619 if (!childCacheNode || !existingChildCacheNode) { 3620 // Bailout because the existing cache does not have the path to the leaf node 3621 // Will trigger lazy fetch in layout-router because of missing segment 3622 return; 3623 } 3624 if (childCacheNode === existingChildCacheNode) { 3625 childCacheNode = { 3626 lazyData: childCacheNode.lazyData, 3627 rsc: childCacheNode.rsc, 3628 prefetchRsc: childCacheNode.prefetchRsc, 3629 parallelRoutes: new Map(childCacheNode.parallelRoutes) 3630 }; 3631 childSegmentMap.set(cacheKey, childCacheNode); 3632 } 3633 invalidateCacheBelowFlightSegmentPath(childCacheNode, existingChildCacheNode, flightSegmentPath.slice(2)); 3634} 3635if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 3636 Object.defineProperty(exports.default, "__esModule", { 3637 value: true 3638 }); 3639 Object.assign(exports.default, exports); 3640 module.exports = exports.default; 3641} //# sourceMappingURL=invalidate-cache-below-flight-segmentpath.js.map 3642 3643 3644/***/ }), 3645 3646/***/ 4560: 3647/***/ (function(module, exports, __webpack_require__) { 3648 3649"use strict"; 3650 3651Object.defineProperty(exports, "__esModule", ({ 3652 value: true 3653})); 3654Object.defineProperty(exports, "invalidateCacheByRouterState", ({ 3655 enumerable: true, 3656 get: function() { 3657 return invalidateCacheByRouterState; 3658 } 3659})); 3660const _createroutercachekey = __webpack_require__(7310);
3661function invalidateCacheByRouterState(newCache, existingCache, routerState) { 3662 // Remove segment that we got data for so that it is filled in during rendering of rsc. 3663 for(const key in routerState[1]){ 3664 const segmentForParallelRoute = routerState[1][key][0]; 3665 const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segmentForParallelRoute); 3666 const existingParallelRoutesCacheNode = existingCache.parallelRoutes.get(key); 3667 if (existingParallelRoutesCacheNode) { 3668 let parallelRouteCacheNode = new Map(existingParallelRoutesCacheNode); 3669 parallelRouteCacheNode.delete(cacheKey); 3670 newCache.parallelRoutes.set(key, parallelRouteCacheNode); 3671 } 3672 } 3673} 3674if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 3675 Object.defineProperty(exports.default, "__esModule", { 3676 value: true 3677 }); 3678 Object.assign(exports.default, exports); 3679 module.exports = exports.default; 3680} //# sourceMappingURL=invalidate-cache-by-router-state.js.map 3681 3682 3683/***/ }), 3684 3685/***/ 3828: 3686/***/ (function(module, exports) { 3687 3688"use strict"; 3689 3690Object.defineProperty(exports, "__esModule", ({ 3691 value: true 3692})); 3693Object.defineProperty(exports, "isNavigatingToNewRootLayout", ({ 3694 enumerable: true, 3695 get: function() { 3696 return isNavigatingToNewRootLayout; 3697 } 3698})); 3699function isNavigatingToNewRootLayout(currentTree, nextTree) { 3700 // Compare segments 3701 const currentTreeSegment = currentTree[0]; 3702 const nextTreeSegment = nextTree[0]; 3703 // If any segment is different before we find the root layout, the root layout has changed. 3704 // E.g. /same/(group1)/layout.js -> /same/(group2)/layout.js 3705 // First segment is 'same' for both, keep looking. (group1) changed to (group2) before the root layout was found, it must have changed. 3706 if (Array.isArray(currentTreeSegment) && Array.isArray(nextTreeSegment)) { 3707 // Compare dynamic param name and type but ignore the value, different values would not affect the current root layout 3708 // /[name] - /slug1 and /slug2, both values (slug1 & slug2) still has the same layout /[name]/layout.js 3709 if (currentTreeSegment[0] !== nextTreeSegment[0] || currentTreeSegment[2] !== nextTreeSegment[2]) { 3710 return true; 3711 } 3712 } else if (currentTreeSegment !== nextTreeSegment) { 3713 return true; 3714 } 3715 // Current tree root layout found 3716 if (currentTree[4]) { 3717 // If the next tree doesn't have the root layout flag, it must have changed. 3718 return !nextTree[4]; 3719 } 3720 // Current tree didn't have its root layout here, must have changed. 3721 if (nextTree[4]) { 3722 return true; 3723 } 3724 // We can't assume it's `parallelRoutes.children` here in case the root layout is `app/@something/layout.js` 3725 // But it's not possible to be more than one parallelRoutes before the root layout is found 3726 // TODO-APP: change to traverse all parallel routes 3727 const currentTreeChild = Object.values(currentTree[1])[0]; 3728 const nextTreeChild = Object.values(nextTree[1])[0]; 3729 if (!currentTreeChild || !nextTreeChild) return true; 3730 return isNavigatingToNewRootLayout(currentTreeChild, nextTreeChild); 3731} 3732if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 3733 Object.defineProperty(exports.default, "__esModule", { 3734 value: true 3735 }); 3736 Object.assign(exports.default, exports); 3737 module.exports = exports.default; 3738} //# sourceMappingURL=is-navigating-to-new-root-layout.js.map 3739 3740 3741/***/ }), 3742 3743/***/ 1413: 3744/***/ (function(module, exports, __webpack_require__) { 3745 3746"use strict"; 3747 3748Object.defineProperty(exports, "__esModule", ({ 3749 value: true 3750})); 3751Object.defineProperty(exports, "fastRefreshReducer", ({ 3752 enumerable: true, 3753 get: function() { 3754 return fastRefreshReducer; 3755 } 3756})); 3757const _fetchserverresponse = __webpack_require__(5501); 3758const _createhreffromurl = __webpack_require__(6690); 3759const _applyrouterstatepatchtotree = __webpack_require__(817); 3760const _isnavigatingtonewrootlayout = __webpack_require__(3828); 3761const _navigatereducer = __webpack_require__(5556); 3762const _handlemutable = __webpack_require__(8056); 3763const _applyflightdata = __webpack_require__(2732); 3764const _approuter = __webpack_require__(9985); 3765// A version of refresh reducer that keeps the cache around instead of wiping all of it. 3766function fastRefreshReducerImpl(state, action) { 3767 const { origin } = action; 3768 const mutable = {}; 3769 const href = state.canonicalUrl; 3770 mutable.preserveCustomHistoryState = false;
3771 const cache = (0, _approuter.createEmptyCacheNode)(); 3772 // TODO-APP: verify that `href` is not an external url. 3773 // Fetch data from the root of the tree. 3774 cache.lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(href, origin), [ 3775 state.tree[0], 3776 state.tree[1], 3777 state.tree[2], 3778 "refetch" 3779 ], state.nextUrl, state.buildId); 3780 return cache.lazyData.then((param)=>{ 3781 let [flightData, canonicalUrlOverride] = param; 3782 // Handle case when navigating to page in `pages` from `app` 3783 if (typeof flightData === "string") { 3784 return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush); 3785 } 3786 // Remove cache.lazyData as it has been resolved at this point. 3787 cache.lazyData = null; 3788 let currentTree = state.tree; 3789 let currentCache = state.cache; 3790 for (const flightDataPath of flightData){ 3791 // FlightDataPath with more than two items means unexpected Flight data was returned 3792 if (flightDataPath.length !== 3) { 3793 // TODO-APP: handle this case better 3794 console.log("REFRESH FAILED"); 3795 return state; 3796 } 3797 // Given the path can only have two items the items are only the router state and rsc for the root. 3798 const [treePatch] = flightDataPath; 3799 const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)([ 3800 "" 3801 ], currentTree, treePatch); 3802 if (newTree === null) { 3803 throw new Error("SEGMENT MISMATCH"); 3804 } 3805 if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) { 3806 return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush); 3807 } 3808 const canonicalUrlOverrideHref = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : undefined; 3809 if (canonicalUrlOverride) { 3810 mutable.canonicalUrl = canonicalUrlOverrideHref; 3811 } 3812 const applied = (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath); 3813 if (applied) { 3814 mutable.cache = cache; 3815 currentCache = cache; 3816 } 3817 mutable.patchedTree = newTree; 3818 mutable.canonicalUrl = href; 3819 currentTree = newTree; 3820 } 3821 return (0, _handlemutable.handleMutable)(state, mutable); 3822 }, ()=>state); 3823} 3824function fastRefreshReducerNoop(state, _action) { 3825 return state; 3826} 3827const fastRefreshReducer = true ? fastRefreshReducerNoop : 0; 3828if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 3829 Object.defineProperty(exports.default, "__esModule", { 3830 value: true 3831 }); 3832 Object.assign(exports.default, exports); 3833 module.exports = exports.default; 3834} //# sourceMappingURL=fast-refresh-reducer.js.map 3835 3836 3837/***/ }), 3838 3839/***/ 8521: 3840/***/ (function(module, exports, __webpack_require__) { 3841 3842"use strict"; 3843 3844Object.defineProperty(exports, "__esModule", ({ 3845 value: true 3846})); 3847Object.defineProperty(exports, "findHeadInCache", ({ 3848 enumerable: true, 3849 get: function() { 3850 return findHeadInCache; 3851 } 3852})); 3853const _createroutercachekey = __webpack_require__(7310); 3854function findHeadInCache(cache, parallelRoutes) { 3855 const isLastItem = Object.keys(parallelRoutes).length === 0; 3856 if (isLastItem) { 3857 return cache.head; 3858 } 3859 for(const key in parallelRoutes){ 3860 const [segment, childParallelRoutes] = parallelRoutes[key]; 3861 const childSegmentMap = cache.parallelRoutes.get(key); 3862 if (!childSegmentMap) { 3863 continue; 3864 } 3865 const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment); 3866 const cacheNode = childSegmentMap.get(cacheKey); 3867 if (!cacheNode) { 3868 continue; 3869 } 3870 const item = findHeadInCache(cacheNode, childParallelRoutes); 3871 if (item) { 3872 return item; 3873 } 3874 } 3875 return undefined; 3876} 3877if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 3878 Object.defineProperty(exports.default, "__esModule", { 3879 value: true 3880 });
3881 Object.assign(exports.default, exports); 3882 module.exports = exports.default; 3883} //# sourceMappingURL=find-head-in-cache.js.map 3884 3885 3886/***/ }), 3887 3888/***/ 1846: 3889/***/ (function(module, exports) { 3890 3891"use strict"; 3892 3893Object.defineProperty(exports, "__esModule", ({ 3894 value: true 3895})); 3896Object.defineProperty(exports, "getSegmentValue", ({ 3897 enumerable: true, 3898 get: function() { 3899 return getSegmentValue; 3900 } 3901})); 3902function getSegmentValue(segment) { 3903 return Array.isArray(segment) ? segment[1] : segment; 3904} 3905if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 3906 Object.defineProperty(exports.default, "__esModule", { 3907 value: true 3908 }); 3909 Object.assign(exports.default, exports); 3910 module.exports = exports.default; 3911} //# sourceMappingURL=get-segment-value.js.map 3912 3913 3914/***/ }), 3915 3916/***/ 5556: 3917/***/ (function(module, exports, __webpack_require__) { 3918 3919"use strict"; 3920 3921Object.defineProperty(exports, "__esModule", ({ 3922 value: true 3923})); 39240 && (0); 3925function _export(target, all) { 3926 for(var name in all)Object.defineProperty(target, name, { 3927 enumerable: true, 3928 get: all[name] 3929 }); 3930} 3931_export(exports, { 3932 handleExternalUrl: function() { 3933 return handleExternalUrl; 3934 }, 3935 navigateReducer: function() { 3936 return navigateReducer; 3937 } 3938}); 3939const _fetchserverresponse = __webpack_require__(5501); 3940const _createhreffromurl = __webpack_require__(6690); 3941const _invalidatecachebelowflightsegmentpath = __webpack_require__(5284); 3942const _fillcachewithdataproperty = __webpack_require__(4005); 3943const _applyrouterstatepatchtotree = __webpack_require__(817); 3944const _shouldhardnavigate = __webpack_require__(7533); 3945const _isnavigatingtonewrootlayout = __webpack_require__(3828); 3946const _routerreducertypes = __webpack_require__(1606); 3947const _handlemutable = __webpack_require__(8056); 3948const _applyflightdata = __webpack_require__(2732); 3949const _getprefetchcacheentrystatus = __webpack_require__(450); 3950const _pruneprefetchcache = __webpack_require__(4626); 3951const _prefetchreducer = __webpack_require__(88); 3952const _approuter = __webpack_require__(9985); 3953const _segment = __webpack_require__(1956); 3954function handleExternalUrl(state, mutable, url, pendingPush) { 3955 mutable.mpaNavigation = true; 3956 mutable.canonicalUrl = url; 3957 mutable.pendingPush = pendingPush; 3958 mutable.scrollableSegments = undefined; 3959 return (0, _handlemutable.handleMutable)(state, mutable); 3960} 3961function generateSegmentsFromPatch(flightRouterPatch) { 3962 const segments = []; 3963 const [segment, parallelRoutes] = flightRouterPatch; 3964 if (Object.keys(parallelRoutes).length === 0) { 3965 return [ 3966 [ 3967 segment 3968 ] 3969 ]; 3970 } 3971 for (const [parallelRouteKey, parallelRoute] of Object.entries(parallelRoutes)){ 3972 for (const childSegment of generateSegmentsFromPatch(parallelRoute)){ 3973 // If the segment is empty, it means we are at the root of the tree 3974 if (segment === "") { 3975 segments.push([ 3976 parallelRouteKey, 3977 ...childSegment 3978 ]); 3979 } else { 3980 segments.push([ 3981 segment, 3982 parallelRouteKey, 3983 ...childSegment 3984 ]); 3985 } 3986 } 3987 } 3988 return segments; 3989} 3990function addRefetchToLeafSegments(newCache, currentCache, flightSegmentPath, treePatch, data) { 3991 let appliedPatch = false; 3992 newCache.rsc = currentCache.rsc; 3993 newCache.prefetchRsc = currentCache.prefetchRsc; 3994 newCache.parallelRoutes = new Map(currentCache.parallelRoutes); 3995 const segmentPathsToFill = generateSegmentsFromPatch(treePatch).map((segment)=>[ 3996 ...flightSegmentPath, 3997 ...segment 3998 ]); 3999 for (const segmentPaths of segmentPathsToFill){ 4000 (0, _fillcachewithdataproperty.fillCacheWithDataProperty)(newCache, currentCache, segmentPaths, data); 4001 appliedPatch = true; 4002 } 4003 return appliedPatch; 4004} 4005const navigateReducer = false ? 0 : navigateReducer_noPPR; 4006// This is the implementation when PPR is disabled. We can assume its behavior 4007// is relatively stable because it's been running in production for a while. 4008function navigateReducer_noPPR(state, action) { 4009 const { url, isExternalUrl, navigateType, shouldScroll } = action; 4010 const mutable = {}; 4011 const { hash } = url; 4012 const href = (0, _createhreffromurl.createHrefFromUrl)(url); 4013 const pendingPush = navigateType === "push";
4014 // we want to prune the prefetch cache on every navigation to avoid it growing too large 4015 (0, _pruneprefetchcache.prunePrefetchCache)(state.prefetchCache); 4016 mutable.preserveCustomHistoryState = false; 4017 if (isExternalUrl) { 4018 return handleExternalUrl(state, mutable, url.toString(), pendingPush); 4019 } 4020 let prefetchValues = state.prefetchCache.get((0, _createhreffromurl.createHrefFromUrl)(url, false)); 4021 // If we don't have a prefetch value, we need to create one 4022 if (!prefetchValues) { 4023 const data = (0, _fetchserverresponse.fetchServerResponse)(url, state.tree, state.nextUrl, state.buildId, // in order to simulate the behavior of the prefetch cache 4024 false ? 0 : undefined); 4025 const newPrefetchValue = { 4026 data, 4027 // this will make sure that the entry will be discarded after 30s 4028 kind: false ? 0 : _routerreducertypes.PrefetchKind.TEMPORARY, 4029 prefetchTime: Date.now(), 4030 treeAtTimeOfPrefetch: state.tree, 4031 lastUsedTime: null 4032 }; 4033 state.prefetchCache.set((0, _createhreffromurl.createHrefFromUrl)(url, false), newPrefetchValue); 4034 prefetchValues = newPrefetchValue; 4035 } 4036 const prefetchEntryCacheStatus = (0, _getprefetchcacheentrystatus.getPrefetchEntryCacheStatus)(prefetchValues); 4037 // The one before last item is the router state tree patch 4038 const { treeAtTimeOfPrefetch, data } = prefetchValues; 4039 _prefetchreducer.prefetchQueue.bump(data); 4040 return data.then((param)=>{ 4041 let [flightData, canonicalUrlOverride, postponed] = param; 4042 // we only want to mark this once 4043 if (prefetchValues && !prefetchValues.lastUsedTime) { 4044 // important: we should only mark the cache node as dirty after we unsuspend from the call above 4045 prefetchValues.lastUsedTime = Date.now(); 4046 } 4047 // Handle case when navigating to page in `pages` from `app` 4048 if (typeof flightData === "string") { 4049 return handleExternalUrl(state, mutable, flightData, pendingPush); 4050 } 4051 let currentTree = state.tree; 4052 let currentCache = state.cache; 4053 let scrollableSegments = []; 4054 for (const flightDataPath of flightData){ 4055 const flightSegmentPath = flightDataPath.slice(0, -4); 4056 // The one before last item is the router state tree patch 4057 const treePatch = flightDataPath.slice(-3)[0]; 4058 // TODO-APP: remove '' 4059 const flightSegmentPathWithLeadingEmpty = [ 4060 "", 4061 ...flightSegmentPath 4062 ]; 4063 // Create new tree based on the flightSegmentPath and router state patch 4064 let newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)(flightSegmentPathWithLeadingEmpty, currentTree, treePatch); 4065 // If the tree patch can't be applied to the current tree then we use the tree at time of prefetch 4066 // TODO-APP: This should instead fill in the missing pieces in `currentTree` with the data from `treeAtTimeOfPrefetch`, then apply the patch. 4067 if (newTree === null) { 4068 newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)(flightSegmentPathWithLeadingEmpty, treeAtTimeOfPrefetch, treePatch); 4069 } 4070 if (newTree !== null) { 4071 if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) { 4072 return handleExternalUrl(state, mutable, href, pendingPush); 4073 } 4074 const cache = (0, _approuter.createEmptyCacheNode)(); 4075 let applied = (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath, (prefetchValues == null ? void 0 : prefetchValues.kind) === "auto" && prefetchEntryCacheStatus === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.reusable); 4076 if (!applied && prefetchEntryCacheStatus === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.stale || // TODO-APP: If the prefetch was postponed, we don't want to apply it 4077 // until we land router changes to handle the postponed case. 4078 postponed) { 4079 applied = addRefetchToLeafSegments(cache, currentCache, flightSegmentPath, treePatch, ()=>(0, _fetchserverresponse.fetchServerResponse)(url, currentTree, state.nextUrl, state.buildId)); 4080 } 4081 const hardNavigate = (0, _shouldhardnavigate.shouldHardNavigate)(flightSegmentPathWithLeadingEmpty, currentTree); 4082 if (hardNavigate) { 4083 // Copy rsc for the root node of the cache. 4084 cache.rsc = currentCache.rsc; 4085 cache.prefetchRsc = currentCache.prefetchRsc; 4086 (0, _invalidatecachebelowflightsegmentpath.invalidateCacheBelowFlightSegmentPath)(cache, currentCache, flightSegmentPath); 4087 // Ensure the existing cache value is used when the cache was not invalidated. 4088 mutable.cache = cache; 4089 } else if (applied) { 4090 mutable.cache = cache; 4091 } 4092 currentCache = cache; 4093 currentTree = newTree; 4094 for (const subSegment of generateSegmentsFromPatch(treePatch)){ 4095 const scrollableSegmentPath = [ 4096 ...flightSegmentPath, 4097 ...subSegment 4098 ]; 4099 // Filter out the __DEFAULT__ paths as they shouldn't be scrolled to in this case. 4100 if (scrollableSegmentPath[scrollableSegmentPath.length - 1] !== _segment.DEFAULT_SEGMENT_KEY) { 4101 scrollableSegments.push(scrollableSegmentPath); 4102 } 4103 } 4104 } 4105 } 4106 mutable.patchedTree = currentTree; 4107 mutable.canonicalUrl = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : href; 4108 mutable.pendingPush = pendingPush; 4109 mutable.scrollableSegments = scrollableSegments; 4110 mutable.hashFragment = hash; 4111 mutable.shouldScroll = shouldScroll; 4112 return (0, _handlemutable.handleMutable)(state, mutable); 4113 }, ()=>state); 4114} 4115// This is the experimental PPR implementation. It's closer to the behavior we 4116// want, but is likelier to include accidental regressions because it rewrites 4117// existing functionality. 4118function navigateReducer_PPR(state, action) { 4119 const { url, isExternalUrl, navigateType, shouldScroll } = action; 4120 const mutable = {}; 4121 const { hash } = url; 4122 const href = (0, _createhreffromurl.createHrefFromUrl)(url); 4123 const pendingPush = navigateType === "push";
4124 // we want to prune the prefetch cache on every navigation to avoid it growing too large 4125 (0, _pruneprefetchcache.prunePrefetchCache)(state.prefetchCache); 4126 mutable.preserveCustomHistoryState = false; 4127 if (isExternalUrl) { 4128 return handleExternalUrl(state, mutable, url.toString(), pendingPush); 4129 } 4130 let prefetchValues = state.prefetchCache.get((0, _createhreffromurl.createHrefFromUrl)(url, false)); 4131 // If we don't have a prefetch value, we need to create one 4132 if (!prefetchValues) { 4133 const data = (0, _fetchserverresponse.fetchServerResponse)(url, state.tree, state.nextUrl, state.buildId, // in order to simulate the behavior of the prefetch cache 4134 false ? 0 : undefined); 4135 const newPrefetchValue = { 4136 data, 4137 // this will make sure that the entry will be discarded after 30s 4138 kind: false ? 0 : _routerreducertypes.PrefetchKind.TEMPORARY, 4139 prefetchTime: Date.now(), 4140 treeAtTimeOfPrefetch: state.tree, 4141 lastUsedTime: null 4142 }; 4143 state.prefetchCache.set((0, _createhreffromurl.createHrefFromUrl)(url, false), newPrefetchValue); 4144 prefetchValues = newPrefetchValue; 4145 } 4146 const prefetchEntryCacheStatus = (0, _getprefetchcacheentrystatus.getPrefetchEntryCacheStatus)(prefetchValues); 4147 // The one before last item is the router state tree patch 4148 const { treeAtTimeOfPrefetch, data } = prefetchValues; 4149 _prefetchreducer.prefetchQueue.bump(data); 4150 return data.then((param)=>{ 4151 let [flightData, canonicalUrlOverride, postponed] = param; 4152 // we only want to mark this once 4153 if (prefetchValues && !prefetchValues.lastUsedTime) { 4154 // important: we should only mark the cache node as dirty after we unsuspend from the call above 4155 prefetchValues.lastUsedTime = Date.now(); 4156 } 4157 // Handle case when navigating to page in `pages` from `app` 4158 if (typeof flightData === "string") { 4159 return handleExternalUrl(state, mutable, flightData, pendingPush); 4160 } 4161 let currentTree = state.tree; 4162 let currentCache = state.cache; 4163 let scrollableSegments = []; 4164 for (const flightDataPath of flightData){ 4165 const flightSegmentPath = flightDataPath.slice(0, -4); 4166 // The one before last item is the router state tree patch 4167 const treePatch = flightDataPath.slice(-3)[0]; 4168 // TODO-APP: remove '' 4169 const flightSegmentPathWithLeadingEmpty = [ 4170 "", 4171 ...flightSegmentPath 4172 ]; 4173 // Create new tree based on the flightSegmentPath and router state patch 4174 let newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)(flightSegmentPathWithLeadingEmpty, currentTree, treePatch); 4175 // If the tree patch can't be applied to the current tree then we use the tree at time of prefetch 4176 // TODO-APP: This should instead fill in the missing pieces in `currentTree` with the data from `treeAtTimeOfPrefetch`, then apply the patch. 4177 if (newTree === null) { 4178 newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)(flightSegmentPathWithLeadingEmpty, treeAtTimeOfPrefetch, treePatch); 4179 } 4180 if (newTree !== null) { 4181 if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) { 4182 return handleExternalUrl(state, mutable, href, pendingPush); 4183 } 4184 const cache = (0, _approuter.createEmptyCacheNode)(); 4185 let applied = (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath, (prefetchValues == null ? void 0 : prefetchValues.kind) === "auto" && prefetchEntryCacheStatus === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.reusable); 4186 if (!applied && prefetchEntryCacheStatus === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.stale || // TODO-APP: If the prefetch was postponed, we don't want to apply it 4187 // until we land router changes to handle the postponed case. 4188 postponed) { 4189 applied = addRefetchToLeafSegments(cache, currentCache, flightSegmentPath, treePatch, ()=>(0, _fetchserverresponse.fetchServerResponse)(url, currentTree, state.nextUrl, state.buildId)); 4190 } 4191 const hardNavigate = (0, _shouldhardnavigate.shouldHardNavigate)(flightSegmentPathWithLeadingEmpty, currentTree); 4192 if (hardNavigate) { 4193 // Copy rsc for the root node of the cache. 4194 cache.rsc = currentCache.rsc; 4195 cache.prefetchRsc = currentCache.prefetchRsc; 4196 (0, _invalidatecachebelowflightsegmentpath.invalidateCacheBelowFlightSegmentPath)(cache, currentCache, flightSegmentPath); 4197 // Ensure the existing cache value is used when the cache was not invalidated. 4198 mutable.cache = cache; 4199 } else if (applied) { 4200 mutable.cache = cache; 4201 } 4202 currentCache = cache; 4203 currentTree = newTree; 4204 for (const subSegment of generateSegmentsFromPatch(treePatch)){ 4205 const scrollableSegmentPath = [ 4206 ...flightSegmentPath, 4207 ...subSegment 4208 ]; 4209 // Filter out the __DEFAULT__ paths as they shouldn't be scrolled to in this case. 4210 if (scrollableSegmentPath[scrollableSegmentPath.length - 1] !== _segment.DEFAULT_SEGMENT_KEY) { 4211 scrollableSegments.push(scrollableSegmentPath); 4212 } 4213 } 4214 } 4215 } 4216 mutable.patchedTree = currentTree; 4217 mutable.canonicalUrl = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : href; 4218 mutable.pendingPush = pendingPush; 4219 mutable.scrollableSegments = scrollableSegments; 4220 mutable.hashFragment = hash; 4221 mutable.shouldScroll = shouldScroll; 4222 return (0, _handlemutable.handleMutable)(state, mutable); 4223 }, ()=>state); 4224} 4225if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 4226 Object.defineProperty(exports.default, "__esModule", { 4227 value: true 4228 });
4229 Object.assign(exports.default, exports); 4230 module.exports = exports.default; 4231} //# sourceMappingURL=navigate-reducer.js.map 4232 4233 4234/***/ }), 4235 4236/***/ 88: 4237/***/ (function(module, exports, __webpack_require__) { 4238 4239"use strict"; 4240 4241Object.defineProperty(exports, "__esModule", ({ 4242 value: true 4243})); 42440 && (0); 4245function _export(target, all) { 4246 for(var name in all)Object.defineProperty(target, name, { 4247 enumerable: true, 4248 get: all[name] 4249 }); 4250} 4251_export(exports, { 4252 prefetchQueue: function() { 4253 return prefetchQueue; 4254 }, 4255 prefetchReducer: function() { 4256 return prefetchReducer; 4257 } 4258}); 4259const _createhreffromurl = __webpack_require__(6690); 4260const _fetchserverresponse = __webpack_require__(5501); 4261const _routerreducertypes = __webpack_require__(1606); 4262const _pruneprefetchcache = __webpack_require__(4626); 4263const _approuterheaders = __webpack_require__(5767); 4264const _promisequeue = __webpack_require__(9236); 4265const prefetchQueue = new _promisequeue.PromiseQueue(5); 4266function prefetchReducer(state, action) { 4267 // let's prune the prefetch cache before we do anything else 4268 (0, _pruneprefetchcache.prunePrefetchCache)(state.prefetchCache); 4269 const { url } = action; 4270 url.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY); 4271 const href = (0, _createhreffromurl.createHrefFromUrl)(url, false); 4272 const cacheEntry = state.prefetchCache.get(href); 4273 if (cacheEntry) { 4274 /** 4275 * If the cache entry present was marked as temporary, it means that we prefetched it from the navigate reducer, 4276 * where we didn't have the prefetch intent. We want to update it to the new, more accurate, kind here. 4277 */ if (cacheEntry.kind === _routerreducertypes.PrefetchKind.TEMPORARY) { 4278 state.prefetchCache.set(href, { 4279 ...cacheEntry, 4280 kind: action.kind 4281 }); 4282 } 4283 /** 4284 * if the prefetch action was a full prefetch and that the current cache entry wasn't one, we want to re-prefetch, 4285 * otherwise we can re-use the current cache entry 4286 **/ if (!(cacheEntry.kind === _routerreducertypes.PrefetchKind.AUTO && action.kind === _routerreducertypes.PrefetchKind.FULL)) { 4287 return state; 4288 } 4289 } 4290 // fetchServerResponse is intentionally not awaited so that it can be unwrapped in the navigate-reducer 4291 const serverResponse = prefetchQueue.enqueue(()=>(0, _fetchserverresponse.fetchServerResponse)(url, state.tree, state.nextUrl, state.buildId, action.kind)); 4292 // Create new tree based on the flightSegmentPath and router state patch 4293 state.prefetchCache.set(href, { 4294 // Create new tree based on the flightSegmentPath and router state patch 4295 treeAtTimeOfPrefetch: state.tree, 4296 data: serverResponse, 4297 kind: action.kind, 4298 prefetchTime: Date.now(), 4299 lastUsedTime: null 4300 }); 4301 return state; 4302} 4303if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 4304 Object.defineProperty(exports.default, "__esModule", { 4305 value: true 4306 }); 4307 Object.assign(exports.default, exports); 4308 module.exports = exports.default; 4309} //# sourceMappingURL=prefetch-reducer.js.map 4310 4311 4312/***/ }), 4313 4314/***/ 4626: 4315/***/ (function(module, exports, __webpack_require__) { 4316 4317"use strict"; 4318 4319Object.defineProperty(exports, "__esModule", ({ 4320 value: true 4321})); 4322Object.defineProperty(exports, "prunePrefetchCache", ({ 4323 enumerable: true, 4324 get: function() { 4325 return prunePrefetchCache; 4326 } 4327})); 4328const _getprefetchcacheentrystatus = __webpack_require__(450); 4329function prunePrefetchCache(prefetchCache) { 4330 for (const [href, prefetchCacheEntry] of prefetchCache){ 4331 if ((0, _getprefetchcacheentrystatus.getPrefetchEntryCacheStatus)(prefetchCacheEntry) === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.expired) { 4332 prefetchCache.delete(href); 4333 } 4334 } 4335} 4336if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 4337 Object.defineProperty(exports.default, "__esModule", { 4338 value: true 4339 });
4340 Object.assign(exports.default, exports); 4341 module.exports = exports.default; 4342} //# sourceMappingURL=prune-prefetch-cache.js.map 4343 4344 4345/***/ }), 4346 4347/***/ 9266: 4348/***/ (function(module, exports, __webpack_require__) { 4349 4350"use strict"; 4351 4352Object.defineProperty(exports, "__esModule", ({ 4353 value: true 4354})); 4355Object.defineProperty(exports, "refreshReducer", ({ 4356 enumerable: true, 4357 get: function() { 4358 return refreshReducer; 4359 } 4360})); 4361const _fetchserverresponse = __webpack_require__(5501); 4362const _createhreffromurl = __webpack_require__(6690); 4363const _applyrouterstatepatchtotree = __webpack_require__(817); 4364const _isnavigatingtonewrootlayout = __webpack_require__(3828); 4365const _navigatereducer = __webpack_require__(5556); 4366const _handlemutable = __webpack_require__(8056); 4367const _filllazyitemstillleafwithhead = __webpack_require__(3866); 4368const _approuter = __webpack_require__(9985); 4369function refreshReducer(state, action) { 4370 const { origin } = action; 4371 const mutable = {}; 4372 const href = state.canonicalUrl; 4373 let currentTree = state.tree; 4374 mutable.preserveCustomHistoryState = false; 4375 const cache = (0, _approuter.createEmptyCacheNode)(); 4376 // TODO-APP: verify that `href` is not an external url. 4377 // Fetch data from the root of the tree. 4378 cache.lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(href, origin), [ 4379 currentTree[0], 4380 currentTree[1], 4381 currentTree[2], 4382 "refetch" 4383 ], state.nextUrl, state.buildId); 4384 return cache.lazyData.then((param)=>{ 4385 let [flightData, canonicalUrlOverride] = param; 4386 // Handle case when navigating to page in `pages` from `app` 4387 if (typeof flightData === "string") { 4388 return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush); 4389 } 4390 // Remove cache.lazyData as it has been resolved at this point. 4391 cache.lazyData = null; 4392 for (const flightDataPath of flightData){ 4393 // FlightDataPath with more than two items means unexpected Flight data was returned 4394 if (flightDataPath.length !== 3) { 4395 // TODO-APP: handle this case better 4396 console.log("REFRESH FAILED"); 4397 return state; 4398 } 4399 // Given the path can only have two items the items are only the router state and rsc for the root. 4400 const [treePatch] = flightDataPath; 4401 const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToFullTree)([ 4402 "" 4403 ], currentTree, treePatch); 4404 if (newTree === null) { 4405 throw new Error("SEGMENT MISMATCH"); 4406 } 4407 if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) { 4408 return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush); 4409 } 4410 const canonicalUrlOverrideHref = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : undefined; 4411 if (canonicalUrlOverride) { 4412 mutable.canonicalUrl = canonicalUrlOverrideHref; 4413 } 4414 // The one before last item is the router state tree patch 4415 const [cacheNodeSeedData, head] = flightDataPath.slice(-2); 4416 // Handles case where prefetch only returns the router tree patch without rendered components. 4417 if (cacheNodeSeedData !== null) {
4418 const rsc = cacheNodeSeedData[2]; 4419 cache.rsc = rsc; 4420 cache.prefetchRsc = null; 4421 (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, undefined, treePatch, cacheNodeSeedData, head); 4422 mutable.cache = cache; 4423 mutable.prefetchCache = new Map(); 4424 } 4425 mutable.patchedTree = newTree; 4426 mutable.canonicalUrl = href; 4427 currentTree = newTree; 4428 } 4429 return (0, _handlemutable.handleMutable)(state, mutable); 4430 }, ()=>state); 4431} 4432if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 4433 Object.defineProperty(exports.default, "__esModule", { 4434 value: true 4435 }); 4436 Object.assign(exports.default, exports); 4437 module.exports = exports.default; 4438} //# sourceMappingURL=refresh-reducer.js.map 4439 4440 4441/***/ }), 4442 4443/***/ 190: 4444/***/ (function(module, exports, __webpack_require__) { 4445 4446"use strict"; 4447 4448Object.defineProperty(exports, "__esModule", ({ 4449 value: true 4450})); 4451Object.defineProperty(exports, "restoreReducer", ({ 4452 enumerable: true, 4453 get: function() { 4454 return restoreReducer; 4455 } 4456})); 4457const _createhreffromurl = __webpack_require__(6690); 4458const _computechangedpath = __webpack_require__(9650); 4459function restoreReducer(state, action) { 4460 const { url, tree } = action; 4461 const href = (0, _createhreffromurl.createHrefFromUrl)(url); 4462 var _extractPathFromFlightRouterState; 4463 return { 4464 buildId: state.buildId, 4465 // Set canonical url 4466 canonicalUrl: href, 4467 pushRef: { 4468 pendingPush: false, 4469 mpaNavigation: false, 4470 // Ensures that the custom history state that was set is preserved when applying this update. 4471 preserveCustomHistoryState: true 4472 }, 4473 focusAndScrollRef: state.focusAndScrollRef, 4474 cache: state.cache, 4475 prefetchCache: state.prefetchCache, 4476 // Restore provided tree 4477 tree: tree, 4478 nextUrl: (_extractPathFromFlightRouterState = (0, _computechangedpath.extractPathFromFlightRouterState)(tree)) != null ? _extractPathFromFlightRouterState : url.pathname 4479 }; 4480} 4481if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 4482 Object.defineProperty(exports.default, "__esModule", { 4483 value: true 4484 }); 4485 Object.assign(exports.default, exports); 4486 module.exports = exports.default; 4487} //# sourceMappingURL=restore-reducer.js.map 4488 4489 4490/***/ }), 4491 4492/***/ 7216: 4493/***/ (function(module, exports, __webpack_require__) { 4494 4495"use strict"; 4496 4497Object.defineProperty(exports, "__esModule", ({ 4498 value: true 4499})); 4500Object.defineProperty(exports, "serverActionReducer", ({ 4501 enumerable: true, 4502 get: function() { 4503 return serverActionReducer; 4504 } 4505})); 4506const _appcallserver = __webpack_require__(714); 4507const _approuterheaders = __webpack_require__(5767); 4508const _addbasepath = __webpack_require__(5733); 4509const _createhreffromurl = __webpack_require__(6690); 4510const _navigatereducer = __webpack_require__(5556); 4511const _applyrouterstatepatchtotree = __webpack_require__(817); 4512const _isnavigatingtonewrootlayout = __webpack_require__(3828); 4513const _handlemutable = __webpack_require__(8056); 4514const _filllazyitemstillleafwithhead = __webpack_require__(3866); 4515const _approuter = __webpack_require__(9985); 4516const _computechangedpath = __webpack_require__(9650); 4517// // eslint-disable-next-line import/no-extraneous-dependencies 4518// import { createFromFetch } from 'react-server-dom-webpack/client' 4519// // eslint-disable-next-line import/no-extraneous-dependencies 4520// import { encodeReply } from 'react-server-dom-webpack/client' 4521const { createFromFetch, encodeReply } = false ? 0 : __webpack_require__(5552); 4522async function fetchServerAction(state, param) { 4523 let { actionId, actionArgs } = param; 4524 const body = await encodeReply(actionArgs); 4525 const newNextUrl = (0, _computechangedpath.extractPathFromFlightRouterState)(state.tree); 4526 // only pass along the `nextUrl` param (used for interception routes) if it exists and 4527 // if it's different from the current `nextUrl`. This indicates the route has already been intercepted,
4528 // and so the action should be as well. Otherwise the server action might be intercepted 4529 // with the wrong action id (ie, one that corresponds with the intercepted route) 4530 const includeNextUrl = state.nextUrl && state.nextUrl !== newNextUrl; 4531 const res = await fetch("", { 4532 method: "POST", 4533 headers: { 4534 Accept: _approuterheaders.RSC_CONTENT_TYPE_HEADER, 4535 [_approuterheaders.ACTION]: actionId, 4536 [_approuterheaders.NEXT_ROUTER_STATE_TREE]: encodeURIComponent(JSON.stringify(state.tree)), 4537 ... false ? 0 : {}, 4538 ...includeNextUrl ? { 4539 [_approuterheaders.NEXT_URL]: state.nextUrl 4540 } : {} 4541 }, 4542 body 4543 }); 4544 const location = res.headers.get("x-action-redirect"); 4545 let revalidatedParts; 4546 try { 4547 const revalidatedHeader = JSON.parse(res.headers.get("x-action-revalidated") || "[[],0,0]"); 4548 revalidatedParts = { 4549 paths: revalidatedHeader[0] || [], 4550 tag: !!revalidatedHeader[1], 4551 cookie: revalidatedHeader[2] 4552 }; 4553 } catch (e) { 4554 revalidatedParts = { 4555 paths: [], 4556 tag: false, 4557 cookie: false 4558 }; 4559 } 4560 const redirectLocation = location ? new URL((0, _addbasepath.addBasePath)(location), new URL(state.canonicalUrl, window.location.href)) : undefined; 4561 let isFlightResponse = res.headers.get("content-type") === _approuterheaders.RSC_CONTENT_TYPE_HEADER; 4562 if (isFlightResponse) { 4563 const response = await createFromFetch(Promise.resolve(res), { 4564 callServer: _appcallserver.callServer 4565 }); 4566 if (location) { 4567 // if it was a redirection, then result is just a regular RSC payload 4568 const [, actionFlightData] = response != null ? response : []; 4569 return { 4570 actionFlightData: actionFlightData, 4571 redirectLocation, 4572 revalidatedParts 4573 }; 4574 } 4575 // otherwise it's a tuple of [actionResult, actionFlightData] 4576 const [actionResult, [, actionFlightData]] = response != null ? response : []; 4577 return { 4578 actionResult, 4579 actionFlightData, 4580 redirectLocation, 4581 revalidatedParts 4582 }; 4583 } 4584 return { 4585 redirectLocation, 4586 revalidatedParts 4587 }; 4588} 4589function serverActionReducer(state, action) { 4590 const { resolve, reject } = action; 4591 const mutable = {}; 4592 const href = state.canonicalUrl; 4593 let currentTree = state.tree; 4594 mutable.preserveCustomHistoryState = false; 4595 mutable.inFlightServerAction = fetchServerAction(state, action); 4596 // suspends until the server action is resolved. 4597 return mutable.inFlightServerAction.then((param)=>{ 4598 let { actionResult, actionFlightData: flightData, redirectLocation } = param; 4599 // Make sure the redirection is a push instead of a replace. 4600 // Issue: https://github.com/vercel/next.js/issues/53911 4601 if (redirectLocation) { 4602 state.pushRef.pendingPush = true; 4603 mutable.pendingPush = true; 4604 } 4605 if (!flightData) { 4606 if (!mutable.actionResultResolved) { 4607 resolve(actionResult); 4608 mutable.actionResultResolved = true; 4609 } 4610 // If there is a redirect but no flight data we need to do a mpaNavigation. 4611 if (redirectLocation) { 4612 return (0, _navigatereducer.handleExternalUrl)(state, mutable, redirectLocation.href, state.pushRef.pendingPush); 4613 } 4614 return state; 4615 } 4616 if (typeof flightData === "string") { 4617 // Handle case when navigating to page in `pages` from `app` 4618 return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush); 4619 } 4620 // Remove cache.data as it has been resolved at this point. 4621 mutable.inFlightServerAction = null; 4622 for (const flightDataPath of flightData){ 4623 // FlightDataPath with more than two items means unexpected Flight data was returned 4624 if (flightDataPath.length !== 3) { 4625 // TODO-APP: handle this case better 4626 console.log("SERVER ACTION APPLY FAILED"); 4627 return state; 4628 }
4629 // Given the path can only have two items the items are only the router state and rsc for the root. 4630 const [treePatch] = flightDataPath; 4631 const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToFullTree)([ 4632 "" 4633 ], currentTree, treePatch); 4634 if (newTree === null) { 4635 throw new Error("SEGMENT MISMATCH"); 4636 } 4637 if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) { 4638 return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush); 4639 } 4640 // The one before last item is the router state tree patch 4641 const [cacheNodeSeedData, head] = flightDataPath.slice(-2); 4642 const rsc = cacheNodeSeedData !== null ? cacheNodeSeedData[2] : null; 4643 // Handles case where prefetch only returns the router tree patch without rendered components. 4644 if (rsc !== null) { 4645 const cache = (0, _approuter.createEmptyCacheNode)(); 4646 cache.rsc = rsc; 4647 cache.prefetchRsc = null; 4648 (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, undefined, treePatch, cacheNodeSeedData, head); 4649 mutable.cache = cache; 4650 mutable.prefetchCache = new Map(); 4651 } 4652 mutable.patchedTree = newTree; 4653 mutable.canonicalUrl = href; 4654 currentTree = newTree; 4655 } 4656 if (redirectLocation) { 4657 const newHref = (0, _createhreffromurl.createHrefFromUrl)(redirectLocation, false); 4658 mutable.canonicalUrl = newHref; 4659 } 4660 if (!mutable.actionResultResolved) { 4661 resolve(actionResult); 4662 mutable.actionResultResolved = true; 4663 } 4664 return (0, _handlemutable.handleMutable)(state, mutable); 4665 }, (e)=>{ 4666 if (e.status === "rejected") { 4667 if (!mutable.actionResultResolved) { 4668 reject(e.reason); 4669 mutable.actionResultResolved = true; 4670 } 4671 // When the server action is rejected we don't update the state and instead call the reject handler of the promise. 4672 return state; 4673 } 4674 throw e; 4675 }); 4676} 4677if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 4678 Object.defineProperty(exports.default, "__esModule", { 4679 value: true 4680 }); 4681 Object.assign(exports.default, exports); 4682 module.exports = exports.default; 4683} //# sourceMappingURL=server-action-reducer.js.map 4684 4685 4686/***/ }), 4687 4688/***/ 7723: 4689/***/ (function(module, exports, __webpack_require__) { 4690 4691"use strict"; 4692 4693Object.defineProperty(exports, "__esModule", ({ 4694 value: true 4695})); 4696Object.defineProperty(exports, "serverPatchReducer", ({ 4697 enumerable: true, 4698 get: function() { 4699 return serverPatchReducer; 4700 } 4701})); 4702const _createhreffromurl = __webpack_require__(6690); 4703const _applyrouterstatepatchtotree = __webpack_require__(817); 4704const _isnavigatingtonewrootlayout = __webpack_require__(3828); 4705const _navigatereducer = __webpack_require__(5556); 4706const _applyflightdata = __webpack_require__(2732); 4707const _handlemutable = __webpack_require__(8056); 4708const _approuter = __webpack_require__(9985); 4709function serverPatchReducer(state, action) { 4710 const { flightData, overrideCanonicalUrl } = action; 4711 const mutable = {}; 4712 mutable.preserveCustomHistoryState = false; 4713 // Handle case when navigating to page in `pages` from `app` 4714 if (typeof flightData === "string") { 4715 return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush); 4716 } 4717 let currentTree = state.tree; 4718 let currentCache = state.cache; 4719 for (const flightDataPath of flightData){ 4720 // Slices off the last segment (which is at -4) as it doesn't exist in the tree yet 4721 const flightSegmentPath = flightDataPath.slice(0, -4); 4722 const [treePatch] = flightDataPath.slice(-3, -2); 4723 const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)([ 4724 "", 4725 ...flightSegmentPath 4726 ], currentTree, treePatch); 4727 if (newTree === null) { 4728 throw new Error("SEGMENT MISMATCH"); 4729 }
4730 if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) { 4731 return (0, _navigatereducer.handleExternalUrl)(state, mutable, state.canonicalUrl, state.pushRef.pendingPush); 4732 } 4733 const canonicalUrlOverrideHref = overrideCanonicalUrl ? (0, _createhreffromurl.createHrefFromUrl)(overrideCanonicalUrl) : undefined; 4734 if (canonicalUrlOverrideHref) { 4735 mutable.canonicalUrl = canonicalUrlOverrideHref; 4736 } 4737 const cache = (0, _approuter.createEmptyCacheNode)(); 4738 (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath); 4739 mutable.patchedTree = newTree; 4740 mutable.cache = cache; 4741 currentCache = cache; 4742 currentTree = newTree; 4743 } 4744 return (0, _handlemutable.handleMutable)(state, mutable); 4745} 4746if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 4747 Object.defineProperty(exports.default, "__esModule", { 4748 value: true 4749 }); 4750 Object.assign(exports.default, exports); 4751 module.exports = exports.default; 4752} //# sourceMappingURL=server-patch-reducer.js.map 4753 4754 4755/***/ }), 4756 4757/***/ 1606: 4758/***/ (function(module, exports) { 4759 4760"use strict"; 4761 4762Object.defineProperty(exports, "__esModule", ({ 4763 value: true 4764})); 47650 && (0); 4766function _export(target, all) { 4767 for(var name in all)Object.defineProperty(target, name, { 4768 enumerable: true, 4769 get: all[name] 4770 }); 4771} 4772_export(exports, { 4773 PrefetchKind: function() { 4774 return PrefetchKind; 4775 }, 4776 ACTION_REFRESH: function() { 4777 return ACTION_REFRESH; 4778 }, 4779 ACTION_NAVIGATE: function() { 4780 return ACTION_NAVIGATE; 4781 }, 4782 ACTION_RESTORE: function() { 4783 return ACTION_RESTORE; 4784 }, 4785 ACTION_SERVER_PATCH: function() { 4786 return ACTION_SERVER_PATCH; 4787 }, 4788 ACTION_PREFETCH: function() { 4789 return ACTION_PREFETCH; 4790 }, 4791 ACTION_FAST_REFRESH: function() { 4792 return ACTION_FAST_REFRESH; 4793 }, 4794 ACTION_SERVER_ACTION: function() { 4795 return ACTION_SERVER_ACTION; 4796 }, 4797 isThenable: function() { 4798 return isThenable; 4799 } 4800}); 4801const ACTION_REFRESH = "refresh"; 4802const ACTION_NAVIGATE = "navigate"; 4803const ACTION_RESTORE = "restore"; 4804const ACTION_SERVER_PATCH = "server-patch"; 4805const ACTION_PREFETCH = "prefetch"; 4806const ACTION_FAST_REFRESH = "fast-refresh"; 4807const ACTION_SERVER_ACTION = "server-action"; 4808var PrefetchKind; 4809(function(PrefetchKind) { 4810 PrefetchKind["AUTO"] = "auto"; 4811 PrefetchKind["FULL"] = "full"; 4812 PrefetchKind["TEMPORARY"] = "temporary"; 4813})(PrefetchKind || (PrefetchKind = {})); 4814function isThenable(value) { 4815 // TODO: We don't gain anything from this abstraction. It's unsound, and only 4816 // makes sense in the specific places where we use it. So it's better to keep 4817 // the type coercion inline, instead of leaking this to other places in 4818 // the codebase. 4819 return value && (typeof value === "object" || typeof value === "function") && typeof value.then === "function"; 4820} 4821if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 4822 Object.defineProperty(exports.default, "__esModule", { 4823 value: true 4824 }); 4825 Object.assign(exports.default, exports); 4826 module.exports = exports.default; 4827} //# sourceMappingURL=router-reducer-types.js.map 4828 4829 4830/***/ }), 4831 4832/***/ 490: 4833/***/ (function(module, exports, __webpack_require__) { 4834 4835"use strict"; 4836 4837Object.defineProperty(exports, "__esModule", ({ 4838 value: true 4839})); 4840Object.defineProperty(exports, "reducer", ({ 4841 enumerable: true, 4842 get: function() { 4843 return reducer; 4844 } 4845})); 4846const _routerreducertypes = __webpack_require__(1606); 4847const _navigatereducer = __webpack_require__(5556); 4848const _serverpatchreducer = __webpack_require__(7723); 4849const _restorereducer = __webpack_require__(190); 4850const _refreshreducer = __webpack_require__(9266); 4851const _prefetchreducer = __webpack_require__(88); 4852const _fastrefreshreducer = __webpack_require__(1413); 4853const _serveractionreducer = __webpack_require__(7216); 4854/** 4855 * Reducer that handles the app-router state updates. 4856 */ function clientReducer(state, action) { 4857 switch(action.type){ 4858 case _routerreducertypes.ACTION_NAVIGATE: 4859 { 4860 return (0, _navigatereducer.navigateReducer)(state, action); 4861 } 4862 case _routerreducertypes.ACTION_SERVER_PATCH: 4863 { 4864 return (0, _serverpatchreducer.serverPatchReducer)(state, action); 4865 } 4866 case _routerreducertypes.ACTION_RESTORE: 4867 { 4868 return (0, _restorereducer.restoreReducer)(state, action); 4869 } 4870 case _routerreducertypes.ACTION_REFRESH: 4871 { 4872 return (0, _refreshreducer.refreshReducer)(state, action); 4873 } 4874 case _routerreducertypes.ACTION_FAST_REFRESH: 4875 { 4876 return (0, _fastrefreshreducer.fastRefreshReducer)(state, action); 4877 } 4878 case _routerreducertypes.ACTION_PREFETCH: 4879 { 4880 return (0, _prefetchreducer.prefetchReducer)(state, action); 4881 } 4882 case _routerreducertypes.ACTION_SERVER_ACTION: 4883 { 4884 return (0, _serveractionreducer.serverActionReducer)(state, action); 4885 } 4886 // This case should never be hit as dispatch is strongly typed. 4887 default: 4888 throw new Error("Unknown action"); 4889 } 4890} 4891function serverReducer(state, _action) { 4892 return state; 4893} 4894const reducer = false ? 0 : clientReducer; 4895if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 4896 Object.defineProperty(exports.default, "__esModule", { 4897 value: true 4898 });
4899 Object.assign(exports.default, exports); 4900 module.exports = exports.default; 4901} //# sourceMappingURL=router-reducer.js.map 4902 4903 4904/***/ }), 4905 4906/***/ 7533: 4907/***/ (function(module, exports, __webpack_require__) { 4908 4909"use strict"; 4910 4911Object.defineProperty(exports, "__esModule", ({ 4912 value: true 4913})); 4914Object.defineProperty(exports, "shouldHardNavigate", ({ 4915 enumerable: true, 4916 get: function() { 4917 return shouldHardNavigate; 4918 } 4919})); 4920const _matchsegments = __webpack_require__(1118); 4921function shouldHardNavigate(flightSegmentPath, flightRouterState) { 4922 const [segment, parallelRoutes] = flightRouterState; 4923 // TODO-APP: Check if `as` can be replaced. 4924 const [currentSegment, parallelRouteKey] = flightSegmentPath; 4925 // Check if current segment matches the existing segment. 4926 if (!(0, _matchsegments.matchSegment)(currentSegment, segment)) { 4927 // If dynamic parameter in tree doesn't match up with segment path a hard navigation is triggered. 4928 if (Array.isArray(currentSegment)) { 4929 return true; 4930 } 4931 // If the existing segment did not match soft navigation is triggered. 4932 return false; 4933 } 4934 const lastSegment = flightSegmentPath.length <= 2; 4935 if (lastSegment) { 4936 return false; 4937 } 4938 return shouldHardNavigate(flightSegmentPath.slice(2), parallelRoutes[parallelRouteKey]); 4939} 4940if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 4941 Object.defineProperty(exports.default, "__esModule", { 4942 value: true 4943 }); 4944 Object.assign(exports.default, exports); 4945 module.exports = exports.default; 4946} //# sourceMappingURL=should-hard-navigate.js.map 4947 4948 4949/***/ }), 4950 4951/***/ 8223: 4952/***/ (function(module, exports, __webpack_require__) { 4953 4954"use strict"; 4955 4956Object.defineProperty(exports, "__esModule", ({ 4957 value: true 4958})); 4959Object.defineProperty(exports, "createSearchParamsBailoutProxy", ({ 4960 enumerable: true, 4961 get: function() { 4962 return createSearchParamsBailoutProxy; 4963 } 4964})); 4965const _staticgenerationbailout = __webpack_require__(7433); 4966function createSearchParamsBailoutProxy() { 4967 return new Proxy({}, { 4968 get (_target, prop) { 4969 // React adds some properties on the object when serializing for client components 4970 if (typeof prop === "string") { 4971 (0, _staticgenerationbailout.staticGenerationBailout)("searchParams." + prop); 4972 } 4973 } 4974 }); 4975} 4976if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 4977 Object.defineProperty(exports.default, "__esModule", { 4978 value: true 4979 }); 4980 Object.assign(exports.default, exports); 4981 module.exports = exports.default; 4982} //# sourceMappingURL=searchparams-bailout-proxy.js.map 4983 4984 4985/***/ }), 4986 4987/***/ 5300: 4988/***/ (function(module, exports, __webpack_require__) { 4989 4990"use strict"; 4991 4992Object.defineProperty(exports, "__esModule", ({ 4993 value: true 4994})); 4995Object.defineProperty(exports, "staticGenerationAsyncStorage", ({ 4996 enumerable: true, 4997 get: function() { 4998 return staticGenerationAsyncStorage; 4999 } 5000})); 5001const _asynclocalstorage = __webpack_require__(2532); 5002const staticGenerationAsyncStorage = (0, _asynclocalstorage.createAsyncLocalStorage)(); 5003if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 5004 Object.defineProperty(exports.default, "__esModule", { 5005 value: true 5006 }); 5007 Object.assign(exports.default, exports); 5008 module.exports = exports.default; 5009} //# sourceMappingURL=static-generation-async-storage.external.js.map 5010 5011 5012/***/ }), 5013 5014/***/ 7433: 5015/***/ (function(module, exports, __webpack_require__) { 5016 5017"use strict"; 5018 5019Object.defineProperty(exports, "__esModule", ({ 5020 value: true 5021})); 5022Object.defineProperty(exports, "staticGenerationBailout", ({ 5023 enumerable: true, 5024 get: function() { 5025 return staticGenerationBailout; 5026 } 5027})); 5028const _hooksservercontext = __webpack_require__(3459); 5029const _staticgenerationasyncstorageexternal = __webpack_require__(5300);
5030class StaticGenBailoutError extends Error { 5031 constructor(...args){ 5032 super(...args); 5033 this.code = "NEXT_STATIC_GEN_BAILOUT"; 5034 } 5035} 5036function formatErrorMessage(reason, opts) { 5037 const { dynamic, link } = opts || {}; 5038 const suffix = link ? " See more info here: " + link : ""; 5039 return "Page" + (dynamic ? ' with `dynamic = "' + dynamic + '"`' : "") + " couldn't be rendered statically because it used `" + reason + "`." + suffix; 5040} 5041const staticGenerationBailout = (reason, param)=>{ 5042 let { dynamic, link } = param === void 0 ? {} : param; 5043 const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore(); 5044 if (!staticGenerationStore) return false; 5045 if (staticGenerationStore.forceStatic) { 5046 return true; 5047 } 5048 if (staticGenerationStore.dynamicShouldError) { 5049 throw new StaticGenBailoutError(formatErrorMessage(reason, { 5050 link, 5051 dynamic: dynamic != null ? dynamic : "error" 5052 })); 5053 } 5054 const message = formatErrorMessage(reason, { 5055 dynamic, 5056 // this error should be caught by Next to bail out of static generation 5057 // in case it's uncaught, this link provides some additional context as to why 5058 link: "https://nextjs.org/docs/messages/dynamic-server-error" 5059 }); 5060 // If postpone is available, we should postpone the render. 5061 staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, reason); 5062 // As this is a bailout, we don't want to revalidate, so set the revalidate 5063 // to 0. 5064 staticGenerationStore.revalidate = 0; 5065 if (staticGenerationStore.isStaticGeneration) { 5066 const err = new _hooksservercontext.DynamicServerError(message); 5067 staticGenerationStore.dynamicUsageDescription = reason; 5068 staticGenerationStore.dynamicUsageStack = err.stack; 5069 throw err; 5070 } 5071 return false; 5072}; 5073if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 5074 Object.defineProperty(exports.default, "__esModule", { 5075 value: true 5076 }); 5077 Object.assign(exports.default, exports); 5078 module.exports = exports.default; 5079} //# sourceMappingURL=static-generation-bailout.js.map 5080 5081 5082/***/ }), 5083 5084/***/ 3606: 5085/***/ (function(module, exports, __webpack_require__) { 5086 5087"use strict"; 5088/* __next_internal_client_entry_do_not_use__ cjs */ 5089Object.defineProperty(exports, "__esModule", ({ 5090 value: true 5091})); 5092Object.defineProperty(exports, "default", ({ 5093 enumerable: true, 5094 get: function() { 5095 return StaticGenerationSearchParamsBailoutProvider; 5096 } 5097})); 5098const _interop_require_default = __webpack_require__(7295); 5099const _jsxruntime = __webpack_require__(1411); 5100const _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(9988)); 5101const _searchparamsbailoutproxy = __webpack_require__(8223); 5102function StaticGenerationSearchParamsBailoutProvider(param) { 5103 let { Component, propsForComponent, isStaticGeneration } = param; 5104 if (isStaticGeneration) { 5105 const searchParams = (0, _searchparamsbailoutproxy.createSearchParamsBailoutProxy)(); 5106 return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, { 5107 searchParams: searchParams, 5108 ...propsForComponent 5109 }); 5110 } 5111 return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, { 5112 ...propsForComponent 5113 }); 5114} 5115if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 5116 Object.defineProperty(exports.default, "__esModule", { 5117 value: true 5118 }); 5119 Object.assign(exports.default, exports); 5120 module.exports = exports.default; 5121} //# sourceMappingURL=static-generation-searchparams-bailout-provider.js.map 5122 5123 5124/***/ }), 5125 5126/***/ 766: 5127/***/ (function(module, exports, __webpack_require__) { 5128 5129"use strict"; 5130 5131Object.defineProperty(exports, "__esModule", ({ 5132 value: true 5133})); 51340 && (0); 5135function _export(target, all) { 5136 for(var name in all)Object.defineProperty(target, name, { 5137 enumerable: true, 5138 get: all[name] 5139 }); 5140} 5141_export(exports, { 5142 useUnwrapState: function() { 5143 return useUnwrapState; 5144 }, 5145 useReducerWithReduxDevtools: function() { 5146 return useReducerWithReduxDevtools; 5147 } 5148}); 5149const _interop_require_wildcard = __webpack_require__(3589); 5150const _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(9988)); 5151const _routerreducertypes = __webpack_require__(1606); 5152const _actionqueue = __webpack_require__(8811); 5153function normalizeRouterState(val) { 5154 if (val instanceof Map) { 5155 const obj = {}; 5156 for (const [key, value] of val.entries()){ 5157 if (typeof value === "function") { 5158 obj[key] = "fn()"; 5159 continue; 5160 } 5161 if (typeof value === "object" && value !== null) { 5162 if (value.$$typeof) { 5163 obj[key] = value.$$typeof.toString(); 5164 continue; 5165 } 5166 if (value._bundlerConfig) { 5167 obj[key] = "FlightData"; 5168 continue; 5169 } 5170 } 5171 obj[key] = normalizeRouterState(value); 5172 } 5173 return obj; 5174 } 5175 if (typeof val === "object" && val !== null) { 5176 const obj = {}; 5177 for(const key in val){ 5178 const value = val[key]; 5179 if (typeof value === "function") { 5180 obj[key] = "fn()"; 5181 continue; 5182 } 5183 if (typeof value === "object" && value !== null) { 5184 if (value.$$typeof) { 5185 obj[key] = value.$$typeof.toString(); 5186 continue; 5187 } 5188 if (value.hasOwnProperty("_bundlerConfig")) { 5189 obj[key] = "FlightData"; 5190 continue; 5191 } 5192 } 5193 obj[key] = normalizeRouterState(value); 5194 } 5195 return obj; 5196 } 5197 if (Array.isArray(val)) { 5198 return val.map(normalizeRouterState); 5199 } 5200 return val; 5201} 5202function useUnwrapState(state) { 5203 // reducer actions can be async, so sometimes we need to suspend until the state is resolved 5204 if ((0, _routerreducertypes.isThenable)(state)) { 5205 const result = (0, _react.use)(state); 5206 return result; 5207 } 5208 return state; 5209} 5210function useReducerWithReduxDevtoolsNoop(initialState) { 5211 return [ 5212 initialState, 5213 ()=>{}, 5214 ()=>{} 5215 ]; 5216} 5217function useReducerWithReduxDevtoolsImpl(initialState) { 5218 const [state, setState] = _react.default.useState(initialState); 5219 const actionQueue = (0, _react.useContext)(_actionqueue.ActionQueueContext); 5220 if (!actionQueue) { 5221 throw new Error("Invariant: Missing ActionQueueContext"); 5222 } 5223 const devtoolsConnectionRef = (0, _react.useRef)(); 5224 const enabledRef = (0, _react.useRef)(); 5225 (0, _react.useEffect)(()=>{ 5226 if (devtoolsConnectionRef.current || enabledRef.current === false) { 5227 return; 5228 } 5229 if (enabledRef.current === undefined && typeof window.__REDUX_DEVTOOLS_EXTENSION__ === "undefined") { 5230 enabledRef.current = false;
5231 return; 5232 } 5233 devtoolsConnectionRef.current = window.__REDUX_DEVTOOLS_EXTENSION__.connect({ 5234 instanceId: 8000, 5235 name: "next-router" 5236 }); 5237 if (devtoolsConnectionRef.current) { 5238 devtoolsConnectionRef.current.init(normalizeRouterState(initialState)); 5239 if (actionQueue) { 5240 actionQueue.devToolsInstance = devtoolsConnectionRef.current; 5241 } 5242 } 5243 return ()=>{ 5244 devtoolsConnectionRef.current = undefined; 5245 }; 5246 }, [ 5247 initialState, 5248 actionQueue 5249 ]); 5250 const dispatch = (0, _react.useCallback)((action)=>{ 5251 if (!actionQueue.state) { 5252 // we lazy initialize the mutable action queue state since the data needed 5253 // to generate the state is not available when the actionQueue context is created 5254 actionQueue.state = initialState; 5255 } 5256 actionQueue.dispatch(action, setState); 5257 }, [ 5258 actionQueue, 5259 initialState 5260 ]); 5261 // Sync is called after a state update in the HistoryUpdater, 5262 // for debugging purposes. Since the reducer state may be a Promise, 5263 // we let the app router use() it and sync on the resolved value if 5264 // something changed. 5265 // Using the `state` here would be referentially unstable and cause 5266 // undesirable re-renders and history updates. 5267 const sync = (0, _react.useCallback)((resolvedState)=>{ 5268 if (devtoolsConnectionRef.current) { 5269 devtoolsConnectionRef.current.send({ 5270 type: "RENDER_SYNC" 5271 }, normalizeRouterState(resolvedState)); 5272 } 5273 }, []); 5274 return [ 5275 state, 5276 dispatch, 5277 sync 5278 ]; 5279} 5280const useReducerWithReduxDevtools = true ? useReducerWithReduxDevtoolsImpl : 0; 5281if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 5282 Object.defineProperty(exports.default, "__esModule", { 5283 value: true 5284 }); 5285 Object.assign(exports.default, exports); 5286 module.exports = exports.default; 5287} //# sourceMappingURL=use-reducer-with-devtools.js.map 5288 5289 5290/***/ }), 5291 5292/***/ 1152: 5293/***/ (function(module, exports, __webpack_require__) { 5294 5295"use strict"; 5296 5297Object.defineProperty(exports, "__esModule", ({ 5298 value: true 5299})); 5300Object.defineProperty(exports, "hasBasePath", ({ 5301 enumerable: true, 5302 get: function() { 5303 return hasBasePath; 5304 } 5305})); 5306const _pathhasprefix = __webpack_require__(1666); 5307const basePath = false || ""; 5308function hasBasePath(path) { 5309 return (0, _pathhasprefix.pathHasPrefix)(path, basePath); 5310} 5311if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 5312 Object.defineProperty(exports.default, "__esModule", { 5313 value: true 5314 }); 5315 Object.assign(exports.default, exports); 5316 module.exports = exports.default; 5317} //# sourceMappingURL=has-base-path.js.map 5318 5319 5320/***/ }), 5321 5322/***/ 9926: 5323/***/ (function(module, exports, __webpack_require__) { 5324 5325"use strict"; 5326 5327Object.defineProperty(exports, "__esModule", ({ 5328 value: true 5329})); 5330Object.defineProperty(exports, "normalizePathTrailingSlash", ({ 5331 enumerable: true, 5332 get: function() { 5333 return normalizePathTrailingSlash; 5334 } 5335})); 5336const _removetrailingslash = __webpack_require__(6632); 5337const _parsepath = __webpack_require__(5322); 5338const normalizePathTrailingSlash = (path)=>{ 5339 if (!path.startsWith("/") || undefined) { 5340 return path; 5341 } 5342 const { pathname, query, hash } = (0, _parsepath.parsePath)(path); 5343 if (false) {} 5344 return "" + (0, _removetrailingslash.removeTrailingSlash)(pathname) + query + hash; 5345}; 5346if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 5347 Object.defineProperty(exports.default, "__esModule", { 5348 value: true 5349 }); 5350 Object.assign(exports.default, exports); 5351 module.exports = exports.default; 5352} //# sourceMappingURL=normalize-trailing-slash.js.map 5353 5354 5355/***/ }), 5356 5357/***/ 8325: 5358/***/ (function(module, exports, __webpack_require__) { 5359 5360"use strict"; 5361 5362Object.defineProperty(exports, "__esModule", ({ 5363 value: true 5364})); 5365Object.defineProperty(exports, "default", ({ 5366 enumerable: true, 5367 get: function() { 5368 return onRecoverableError; 5369 } 5370})); 5371const _nossrerror = __webpack_require__(6103); 5372function onRecoverableError(err) { 5373 // Using default react onRecoverableError 5374 // x-ref: https://github.com/facebook/react/blob/d4bc16a7d69eb2ea38a88c8ac0b461d5f72cdcab/packages/react-dom/src/client/ReactDOMRoot.js#L83 5375 const defaultOnRecoverableError = typeof reportError === "function" ? reportError : (error)=>{ 5376 window.console.error(error); 5377 }; 5378 // Skip certain custom errors which are not expected to be reported on client 5379 if ((0, _nossrerror.isBailoutCSRError)(err)) return; 5380 defaultOnRecoverableError(err); 5381} 5382if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 5383 Object.defineProperty(exports.default, "__esModule", { 5384 value: true 5385 });
5386 Object.assign(exports.default, exports); 5387 module.exports = exports.default; 5388} //# sourceMappingURL=on-recoverable-error.js.map 5389 5390 5391/***/ }), 5392 5393/***/ 657: 5394/***/ (function(module, exports, __webpack_require__) { 5395 5396"use strict"; 5397 5398Object.defineProperty(exports, "__esModule", ({ 5399 value: true 5400})); 5401Object.defineProperty(exports, "removeBasePath", ({ 5402 enumerable: true, 5403 get: function() { 5404 return removeBasePath; 5405 } 5406})); 5407const _hasbasepath = __webpack_require__(1152); 5408const basePath = false || ""; 5409function removeBasePath(path) { 5410 if (false) {} 5411 // Can't trim the basePath if it has zero length! 5412 if (basePath.length === 0) return path; 5413 path = path.slice(basePath.length); 5414 if (!path.startsWith("/")) path = "/" + path; 5415 return path; 5416} 5417if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 5418 Object.defineProperty(exports.default, "__esModule", { 5419 value: true 5420 }); 5421 Object.assign(exports.default, exports); 5422 module.exports = exports.default; 5423} //# sourceMappingURL=remove-base-path.js.map 5424 5425 5426/***/ }), 5427 5428/***/ 1214: 5429/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 5430 5431"use strict"; 5432/* __next_internal_client_entry_do_not_use__ cjs */ 5433Object.defineProperty(exports, "__esModule", ({ 5434 value: true 5435})); 54360 && (0); 5437function _export(target, all) { 5438 for(var name in all)Object.defineProperty(target, name, { 5439 enumerable: true, 5440 get: all[name] 5441 }); 5442} 5443_export(exports, { 5444 AppRouterContext: function() { 5445 return AppRouterContext; 5446 }, 5447 LayoutRouterContext: function() { 5448 return LayoutRouterContext; 5449 }, 5450 GlobalLayoutRouterContext: function() { 5451 return GlobalLayoutRouterContext; 5452 }, 5453 TemplateContext: function() { 5454 return TemplateContext; 5455 } 5456}); 5457const _interop_require_default = __webpack_require__(7295); 5458const _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(9988)); 5459const AppRouterContext = _react.default.createContext(null); 5460const LayoutRouterContext = _react.default.createContext(null); 5461const GlobalLayoutRouterContext = _react.default.createContext(null); 5462const TemplateContext = _react.default.createContext(null); 5463if (false) {} //# sourceMappingURL=app-router-context.shared-runtime.js.map 5464 5465 5466/***/ }), 5467 5468/***/ 3178: 5469/***/ (function(__unused_webpack_module, exports) { 5470 5471"use strict";
5472// http://www.cse.yorku.ca/~oz/hash.html 5473// More specifically, 32-bit hash via djbxor 5474// (ref: https://gist.github.com/eplawless/52813b1d8ad9af510d85?permalink_comment_id=3367765#gistcomment-3367765) 5475// This is due to number type differences between rust for turbopack to js number types, 5476// where rust does not have easy way to repreesnt js's 53-bit float number type for the matching 5477// overflow behavior. This is more `correct` in terms of having canonical hash across different runtime / implementation 5478// as can gaurantee determinstic output from 32bit hash. 5479 5480Object.defineProperty(exports, "__esModule", ({ 5481 value: true 5482})); 54830 && (0); 5484function _export(target, all) { 5485 for(var name in all)Object.defineProperty(target, name, { 5486 enumerable: true, 5487 get: all[name] 5488 }); 5489} 5490_export(exports, { 5491 djb2Hash: function() { 5492 return djb2Hash; 5493 }, 5494 hexHash: function() { 5495 return hexHash; 5496 } 5497}); 5498function djb2Hash(str) { 5499 let hash = 5381; 5500 for(let i = 0; i < str.length; i++){ 5501 const char = str.charCodeAt(i); 5502 hash = (hash << 5) + hash + char & 0xffffffff; 5503 } 5504 return hash >>> 0; 5505} 5506function hexHash(str) { 5507 return djb2Hash(str).toString(36).slice(0, 5); 5508} //# sourceMappingURL=hash.js.map 5509 5510 5511/***/ }), 5512 5513/***/ 6061: 5514/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 5515 5516"use strict"; 5517 5518Object.defineProperty(exports, "__esModule", ({ 5519 value: true 5520})); 5521Object.defineProperty(exports, "HeadManagerContext", ({ 5522 enumerable: true, 5523 get: function() { 5524 return HeadManagerContext; 5525 } 5526})); 5527const _interop_require_default = __webpack_require__(7295); 5528const _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(9988)); 5529const HeadManagerContext = _react.default.createContext({}); 5530if (false) {} //# sourceMappingURL=head-manager-context.shared-runtime.js.map 5531 5532 5533/***/ }), 5534 5535/***/ 8581: 5536/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 5537 5538"use strict"; 5539/* __next_internal_client_entry_do_not_use__ cjs */ 5540Object.defineProperty(exports, "__esModule", ({ 5541 value: true 5542})); 55430 && (0); 5544function _export(target, all) { 5545 for(var name in all)Object.defineProperty(target, name, { 5546 enumerable: true, 5547 get: all[name] 5548 }); 5549} 5550_export(exports, { 5551 SearchParamsContext: function() { 5552 return SearchParamsContext; 5553 }, 5554 PathnameContext: function() { 5555 return PathnameContext; 5556 }, 5557 PathParamsContext: function() { 5558 return PathParamsContext; 5559 } 5560}); 5561const _react = __webpack_require__(9988); 5562const SearchParamsContext = (0, _react.createContext)(null); 5563const PathnameContext = (0, _react.createContext)(null); 5564const PathParamsContext = (0, _react.createContext)(null); 5565if (false) {} //# sourceMappingURL=hooks-client-context.shared-runtime.js.map 5566 5567 5568/***/ }), 5569 5570/***/ 6103: 5571/***/ (function(__unused_webpack_module, exports) { 5572 5573"use strict";
5574// This has to be a shared module which is shared between client component error boundary and dynamic component 5575 5576Object.defineProperty(exports, "__esModule", ({ 5577 value: true 5578})); 55790 && (0); 5580function _export(target, all) { 5581 for(var name in all)Object.defineProperty(target, name, { 5582 enumerable: true, 5583 get: all[name] 5584 }); 5585} 5586_export(exports, { 5587 NEXT_DYNAMIC_NO_SSR_CODE: function() { 5588 return NEXT_DYNAMIC_NO_SSR_CODE; 5589 }, 5590 throwWithNoSSR: function() { 5591 return throwWithNoSSR; 5592 }, 5593 isBailoutCSRError: function() { 5594 return isBailoutCSRError; 5595 } 5596}); 5597const NEXT_DYNAMIC_NO_SSR_CODE = "NEXT_DYNAMIC_NO_SSR_CODE"; 5598function throwWithNoSSR() { 5599 const error = new Error(NEXT_DYNAMIC_NO_SSR_CODE); 5600 error.digest = NEXT_DYNAMIC_NO_SSR_CODE; 5601 throw error; 5602} 5603function isBailoutCSRError(err) { 5604 return (err == null ? void 0 : err.digest) === NEXT_DYNAMIC_NO_SSR_CODE; 5605} //# sourceMappingURL=no-ssr-error.js.map 5606 5607 5608/***/ }), 5609 5610/***/ 18: 5611/***/ (function(__unused_webpack_module, exports) { 5612 5613"use strict"; 5614/** 5615 * For a given page path, this function ensures that there is a leading slash. 5616 * If there is not a leading slash, one is added, otherwise it is noop. 5617 */ 5618Object.defineProperty(exports, "__esModule", ({ 5619 value: true 5620})); 5621Object.defineProperty(exports, "ensureLeadingSlash", ({ 5622 enumerable: true, 5623 get: function() { 5624 return ensureLeadingSlash; 5625 } 5626})); 5627function ensureLeadingSlash(path) { 5628 return path.startsWith("/") ? path : "/" + path; 5629} //# sourceMappingURL=ensure-leading-slash.js.map 5630 5631 5632/***/ }), 5633 5634/***/ 8811: 5635/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 5636 5637"use strict"; 5638 5639Object.defineProperty(exports, "__esModule", ({ 5640 value: true 5641})); 56420 && (0); 5643function _export(target, all) { 5644 for(var name in all)Object.defineProperty(target, name, { 5645 enumerable: true, 5646 get: all[name] 5647 }); 5648} 5649_export(exports, { 5650 ActionQueueContext: function() { 5651 return ActionQueueContext; 5652 }, 5653 createMutableActionQueue: function() { 5654 return createMutableActionQueue; 5655 } 5656}); 5657const _interop_require_wildcard = __webpack_require__(3589); 5658const _routerreducertypes = __webpack_require__(1606); 5659const _routerreducer = __webpack_require__(490); 5660const _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(9988)); 5661const ActionQueueContext = _react.default.createContext(null); 5662function runRemainingActions(actionQueue, setState) { 5663 if (actionQueue.pending !== null) { 5664 actionQueue.pending = actionQueue.pending.next; 5665 if (actionQueue.pending !== null) { 5666 // eslint-disable-next-line @typescript-eslint/no-use-before-define 5667 runAction({ 5668 actionQueue, 5669 action: actionQueue.pending, 5670 setState 5671 }); 5672 } 5673 } 5674} 5675async function runAction(param) { 5676 let { actionQueue, action, setState } = param; 5677 const prevState = actionQueue.state; 5678 if (!prevState) { 5679 // This shouldn't happen as the state is initialized in the dispatcher if it's not set 5680 throw new Error("Invariant: Router state not initialized"); 5681 } 5682 actionQueue.pending = action; 5683 const payload = action.payload; 5684 const actionResult = actionQueue.action(prevState, payload); 5685 function handleResult(nextState) { 5686 // if we discarded this action, the state should also be discarded 5687 if (action.discarded) { 5688 // if a refresh is needed, we only want to trigger it once the action queue is empty 5689 if (actionQueue.needsRefresh && actionQueue.pending === null) { 5690 actionQueue.needsRefresh = false; 5691 actionQueue.dispatch({ 5692 type: _routerreducertypes.ACTION_REFRESH, 5693 origin: window.location.origin 5694 }, setState); 5695 } 5696 return; 5697 } 5698 actionQueue.state = nextState; 5699 if (actionQueue.devToolsInstance) { 5700 actionQueue.devToolsInstance.send(payload, nextState); 5701 }
5702 runRemainingActions(actionQueue, setState); 5703 action.resolve(nextState); 5704 } 5705 // if the action is a promise, set up a callback to resolve it 5706 if ((0, _routerreducertypes.isThenable)(actionResult)) { 5707 actionResult.then(handleResult, (err)=>{ 5708 runRemainingActions(actionQueue, setState); 5709 action.reject(err); 5710 }); 5711 } else { 5712 handleResult(actionResult); 5713 } 5714} 5715function dispatchAction(actionQueue, payload, setState) { 5716 let resolvers = { 5717 resolve: setState, 5718 reject: ()=>{} 5719 }; 5720 // most of the action types are async with the exception of restore 5721 // it's important that restore is handled quickly since it's fired on the popstate event 5722 // and we don't want to add any delay on a back/forward nav 5723 // this only creates a promise for the async actions 5724 if (payload.type !== _routerreducertypes.ACTION_RESTORE) { 5725 // Create the promise and assign the resolvers to the object. 5726 const deferredPromise = new Promise((resolve, reject)=>{ 5727 resolvers = { 5728 resolve, 5729 reject 5730 }; 5731 }); 5732 (0, _react.startTransition)(()=>{ 5733 // we immediately notify React of the pending promise -- the resolver is attached to the action node 5734 // and will be called when the associated action promise resolves 5735 setState(deferredPromise); 5736 }); 5737 } 5738 const newAction = { 5739 payload, 5740 next: null, 5741 resolve: resolvers.resolve, 5742 reject: resolvers.reject 5743 }; 5744 // Check if the queue is empty 5745 if (actionQueue.pending === null) { 5746 // The queue is empty, so add the action and start it immediately 5747 // Mark this action as the last in the queue 5748 actionQueue.last = newAction; 5749 runAction({ 5750 actionQueue, 5751 action: newAction, 5752 setState 5753 }); 5754 } else if (payload.type === _routerreducertypes.ACTION_NAVIGATE) { 5755 // Navigations take priority over any pending actions. 5756 // Mark the pending action as discarded (so the state is never applied) and start the navigation action immediately. 5757 actionQueue.pending.discarded = true; 5758 // Mark this action as the last in the queue 5759 actionQueue.last = newAction; 5760 // if the pending action was a server action, mark the queue as needing a refresh once events are processed 5761 if (actionQueue.pending.payload.type === _routerreducertypes.ACTION_SERVER_ACTION) { 5762 actionQueue.needsRefresh = true; 5763 } 5764 runAction({ 5765 actionQueue, 5766 action: newAction, 5767 setState 5768 }); 5769 } else { 5770 // The queue is not empty, so add the action to the end of the queue 5771 // It will be started by runRemainingActions after the previous action finishes 5772 if (actionQueue.last !== null) { 5773 actionQueue.last.next = newAction; 5774 } 5775 actionQueue.last = newAction; 5776 } 5777} 5778function createMutableActionQueue() { 5779 const actionQueue = { 5780 state: null, 5781 dispatch: (payload, setState)=>dispatchAction(actionQueue, payload, setState), 5782 action: async (state, action)=>{ 5783 if (state === null) { 5784 throw new Error("Invariant: Router state not initialized"); 5785 } 5786 const result = (0, _routerreducer.reducer)(state, action); 5787 return result; 5788 }, 5789 pending: null, 5790 last: null 5791 }; 5792 return actionQueue; 5793} //# sourceMappingURL=action-queue.js.map 5794 5795 5796/***/ }), 5797 5798/***/ 3952: 5799/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 5800 5801"use strict"; 5802 5803Object.defineProperty(exports, "__esModule", ({ 5804 value: true 5805})); 5806Object.defineProperty(exports, "addPathPrefix", ({ 5807 enumerable: true, 5808 get: function() { 5809 return addPathPrefix; 5810 } 5811})); 5812const _parsepath = __webpack_require__(5322); 5813function addPathPrefix(path, prefix) { 5814 if (!path.startsWith("/") || !prefix) { 5815 return path; 5816 } 5817 const { pathname, query, hash } = (0, _parsepath.parsePath)(path); 5818 return "" + prefix + pathname + query + hash; 5819} //# sourceMappingURL=add-path-prefix.js.map 5820 5821 5822/***/ }), 5823 5824/***/ 8640: 5825/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 5826 5827"use strict"; 5828 5829Object.defineProperty(exports, "__esModule", ({ 5830 value: true 5831})); 58320 && (0); 5833function _export(target, all) { 5834 for(var name in all)Object.defineProperty(target, name, { 5835 enumerable: true, 5836 get: all[name] 5837 }); 5838} 5839_export(exports, { 5840 normalizeAppPath: function() { 5841 return normalizeAppPath; 5842 }, 5843 normalizeRscURL: function() { 5844 return normalizeRscURL; 5845 } 5846}); 5847const _ensureleadingslash = __webpack_require__(18); 5848const _segment = __webpack_require__(1956); 5849function normalizeAppPath(route) { 5850 return (0, _ensureleadingslash.ensureLeadingSlash)(route.split("/").reduce((pathname, segment, index, segments)=>{ 5851 // Empty segments are ignored. 5852 if (!segment) { 5853 return pathname; 5854 } 5855 // Groups are ignored. 5856 if ((0, _segment.isGroupSegment)(segment)) { 5857 return pathname; 5858 } 5859 // Parallel segments are ignored. 5860 if (segment[0] === "@") { 5861 return pathname; 5862 } 5863 // The last segment (if it's a leaf) should be ignored. 5864 if ((segment === "page" || segment === "route") && index === segments.length - 1) { 5865 return pathname; 5866 } 5867 return pathname + "/" + segment; 5868 }, "")); 5869} 5870function normalizeRscURL(url) { 5871 return url.replace(/\.rsc($|\?)/, "$1"); 5872}
5872 //# sourceMappingURL=app-paths.js.map 5873 5874 5875/***/ }), 5876 5877/***/ 4875: 5878/***/ (function(__unused_webpack_module, exports) { 5879 5880"use strict"; 5881/** 5882 * Run function with `scroll-behavior: auto` applied to `<html/>`. 5883 * This css change will be reverted after the function finishes. 5884 */ 5885Object.defineProperty(exports, "__esModule", ({ 5886 value: true 5887})); 5888Object.defineProperty(exports, "handleSmoothScroll", ({ 5889 enumerable: true, 5890 get: function() { 5891 return handleSmoothScroll; 5892 } 5893})); 5894function handleSmoothScroll(fn, options) { 5895 if (options === void 0) options = {}; 5896 // if only the hash is changed, we don't need to disable smooth scrolling 5897 // we only care to prevent smooth scrolling when navigating to a new page to avoid jarring UX 5898 if (options.onlyHashChange) { 5899 fn(); 5900 return; 5901 } 5902 const htmlElement = document.documentElement; 5903 const existing = htmlElement.style.scrollBehavior; 5904 htmlElement.style.scrollBehavior = "auto"; 5905 if (!options.dontForceLayout) { 5906 // In Chrome-based browsers we need to force reflow before calling `scrollTo`. 5907 // Otherwise it will not pickup the change in scrollBehavior 5908 // More info here: https://github.com/vercel/next.js/issues/40719#issuecomment-1336248042 5909 htmlElement.getClientRects(); 5910 } 5911 fn(); 5912 htmlElement.style.scrollBehavior = existing; 5913} //# sourceMappingURL=handle-smooth-scroll.js.map 5914 5915 5916/***/ }), 5917 5918/***/ 1778: 5919/***/ (function(__unused_webpack_module, exports) { 5920 5921"use strict"; 5922 5923Object.defineProperty(exports, "__esModule", ({ 5924 value: true 5925})); 5926Object.defineProperty(exports, "isBot", ({ 5927 enumerable: true, 5928 get: function() { 5929 return isBot; 5930 } 5931})); 5932function isBot(userAgent) { 5933 return /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(userAgent); 5934} //# sourceMappingURL=is-bot.js.map 5935 5936 5937/***/ }), 5938 5939/***/ 5322: 5940/***/ (function(__unused_webpack_module, exports) { 5941 5942"use strict"; 5943/** 5944 * Given a path this function will find the pathname, query and hash and return 5945 * them. This is useful to parse full paths on the client side. 5946 * @param path A path to parse e.g. /foo/bar?id=1#hash 5947 */ 5948Object.defineProperty(exports, "__esModule", ({ 5949 value: true 5950})); 5951Object.defineProperty(exports, "parsePath", ({ 5952 enumerable: true, 5953 get: function() { 5954 return parsePath; 5955 } 5956})); 5957function parsePath(path) { 5958 const hashIndex = path.indexOf("#"); 5959 const queryIndex = path.indexOf("?"); 5960 const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex); 5961 if (hasQuery || hashIndex > -1) { 5962 return { 5963 pathname: path.substring(0, hasQuery ? queryIndex : hashIndex), 5964 query: hasQuery ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined) : "", 5965 hash: hashIndex > -1 ? path.slice(hashIndex) : "" 5966 }; 5967 } 5968 return { 5969 pathname: path, 5970 query: "", 5971 hash: "" 5972 }; 5973} //# sourceMappingURL=parse-path.js.map 5974 5975 5976/***/ }), 5977 5978/***/ 1666: 5979/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 5980 5981"use strict"; 5982 5983Object.defineProperty(exports, "__esModule", ({ 5984 value: true 5985})); 5986Object.defineProperty(exports, "pathHasPrefix", ({ 5987 enumerable: true, 5988 get: function() { 5989 return pathHasPrefix; 5990 } 5991})); 5992const _parsepath = __webpack_require__(5322); 5993function pathHasPrefix(path, prefix) { 5994 if (typeof path !== "string") { 5995 return false; 5996 } 5997 const { pathname } = (0, _parsepath.parsePath)(path); 5998 return pathname === prefix || pathname.startsWith(prefix + "/"); 5999} //# sourceMappingURL=path-has-prefix.js.map 6000 6001 6002/***/ }), 6003 6004/***/ 6632: 6005/***/ (function(__unused_webpack_module, exports) { 6006 6007"use strict"; 6008/** 6009 * Removes the trailing slash for a given route or page path. Preserves the 6010 * root page. Examples: 6011 * - `/foo/bar/` -> `/foo/bar` 6012 * - `/foo/bar` -> `/foo/bar` 6013 * - `/` -> `/` 6014 */ 6015Object.defineProperty(exports, "__esModule", ({ 6016 value: true 6017})); 6018Object.defineProperty(exports, "removeTrailingSlash", ({ 6019 enumerable: true, 6020 get: function() { 6021 return removeTrailingSlash; 6022 } 6023})); 6024function removeTrailingSlash(route) { 6025 return route.replace(/\/$/, "") || "/"; 6026} //# sourceMappingURL=remove-trailing-slash.js.map 6027 6028 6029/***/ }), 6030 6031/***/ 1956:
6032/***/ (function(__unused_webpack_module, exports) { 6033 6034"use strict"; 6035 6036Object.defineProperty(exports, "__esModule", ({ 6037 value: true 6038})); 60390 && (0); 6040function _export(target, all) { 6041 for(var name in all)Object.defineProperty(target, name, { 6042 enumerable: true, 6043 get: all[name] 6044 }); 6045} 6046_export(exports, { 6047 isGroupSegment: function() { 6048 return isGroupSegment; 6049 }, 6050 PAGE_SEGMENT_KEY: function() { 6051 return PAGE_SEGMENT_KEY; 6052 }, 6053 DEFAULT_SEGMENT_KEY: function() { 6054 return DEFAULT_SEGMENT_KEY; 6055 } 6056}); 6057function isGroupSegment(segment) { 6058 // Use array[0] for performant purpose 6059 return segment[0] === "(" && segment.endsWith(")"); 6060} 6061const PAGE_SEGMENT_KEY = "__PAGE__"; 6062const DEFAULT_SEGMENT_KEY = "__DEFAULT__"; //# sourceMappingURL=segment.js.map 6063 6064 6065/***/ }), 6066 6067/***/ 2342: 6068/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 6069 6070"use strict"; 6071/* __next_internal_client_entry_do_not_use__ cjs */ 6072Object.defineProperty(exports, "__esModule", ({ 6073 value: true 6074})); 60750 && (0); 6076function _export(target, all) { 6077 for(var name in all)Object.defineProperty(target, name, { 6078 enumerable: true, 6079 get: all[name] 6080 }); 6081} 6082_export(exports, { 6083 ServerInsertedHTMLContext: function() { 6084 return ServerInsertedHTMLContext; 6085 }, 6086 useServerInsertedHTML: function() { 6087 return useServerInsertedHTML; 6088 } 6089}); 6090const _interop_require_wildcard = __webpack_require__(3589); 6091const _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(9988)); 6092const ServerInsertedHTMLContext = /*#__PURE__*/ _react.default.createContext(null); 6093function useServerInsertedHTML(callback) { 6094 const addInsertedServerHTMLCallback = (0, _react.useContext)(ServerInsertedHTMLContext); 6095 // Should have no effects on client where there's no flush effects provider 6096 if (addInsertedServerHTMLCallback) { 6097 addInsertedServerHTMLCallback(callback); 6098 } 6099} //# sourceMappingURL=server-inserted-html.shared-runtime.js.map 6100 6101 6102/***/ }), 6103 6104/***/ 2532: 6105/***/ (function(module, exports) { 6106 6107"use strict"; 6108 6109Object.defineProperty(exports, "__esModule", ({ 6110 value: true 6111})); 6112Object.defineProperty(exports, "createAsyncLocalStorage", ({ 6113 enumerable: true, 6114 get: function() { 6115 return createAsyncLocalStorage; 6116 } 6117})); 6118const sharedAsyncLocalStorageNotAvailableError = new Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"); 6119class FakeAsyncLocalStorage { 6120 disable() { 6121 throw sharedAsyncLocalStorageNotAvailableError; 6122 } 6123 getStore() { 6124 // This fake implementation of AsyncLocalStorage always returns `undefined`. 6125 return undefined; 6126 } 6127 run() { 6128 throw sharedAsyncLocalStorageNotAvailableError; 6129 } 6130 exit() { 6131 throw sharedAsyncLocalStorageNotAvailableError; 6132 } 6133 enterWith() { 6134 throw sharedAsyncLocalStorageNotAvailableError; 6135 } 6136} 6137const maybeGlobalAsyncLocalStorage = globalThis.AsyncLocalStorage; 6138function createAsyncLocalStorage() { 6139 if (maybeGlobalAsyncLocalStorage) { 6140 return new maybeGlobalAsyncLocalStorage(); 6141 } 6142 return new FakeAsyncLocalStorage(); 6143} 6144if ((typeof exports.default === "function" || typeof exports.default === "object" && exports.default !== null) && typeof exports.default.__esModule === "undefined") { 6145 Object.defineProperty(exports.default, "__esModule", { 6146 value: true 6147 }); 6148 Object.assign(exports.default, exports); 6149 module.exports = exports.default; 6150} //# sourceMappingURL=async-local-storage.js.map 6151 6152 6153/***/ }), 6154 6155/***/ 1626: 6156/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 6157 6158"use strict"; 6159 6160 6161var m = __webpack_require__(7897); 6162if (true) { 6163 exports.createRoot = m.createRoot; 6164 exports.hydrateRoot = m.hydrateRoot; 6165} else { var i; } 6166 6167 6168/***/ }), 6169 6170/***/ 7897: 6171/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 6172 6173"use strict"; 6174 6175 6176function checkDCE() { 6177 /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */ 6178 if ( 6179 typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' || 6180 typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function' 6181 ) { 6182 return; 6183 } 6184 if (false) {} 6185 try { 6186 // Verify that the code above has been dead code eliminated (DCE'd). 6187 __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE); 6188 } catch (err) { 6189 // DevTools shouldn't crash React, no matter what. 6190 // We should still report in case we break this code. 6191 console.error(err); 6192 } 6193} 6194 6195if (true) {
6196 // DCE check should happen before ReactDOM bundle executes so that 6197 // DevTools can report bad minification during injection. 6198 checkDCE(); 6199 module.exports = __webpack_require__(7174); 6200} else {} 6201 6202 6203/***/ }), 6204 6205/***/ 2453: 6206/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 6207 6208"use strict"; 6209/* 6210 React 6211 react-server-dom-webpack-client.browser.production.min.js 6212 6213 Copyright (c) Meta Platforms, Inc. and affiliates. 6214 6215 This source code is licensed under the MIT license found in the 6216 LICENSE file in the root directory of this source tree. 6217*/ 6218var r=__webpack_require__(7897),t=__webpack_require__(9988),u={stream:!0};function v(a,b){if(a){var c=a[b[0]];if(a=c[b[2]])c=a.name;else{a=c["*"];if(!a)throw Error('Could not find the module "'+b[0]+'" in the React SSR Manifest. This is probably a bug in the React Server Components bundler.');c=b[2]}return 4===b.length?[a.id,a.chunks,c,1]:[a.id,a.chunks,c]}return b}var w=new Map; 6219function x(a){var b=__webpack_require__(a);if("function"!==typeof b.then||"fulfilled"===b.status)return null;b.then(function(c){b.status="fulfilled";b.value=c},function(c){b.status="rejected";b.reason=c});return b}function y(){} 6220function z(a){for(var b=a[1],c=[],e=0;e<b.length;){var l=b[e++],k=b[e++],n=w.get(l);void 0===n?(A.set(l,k),k=__webpack_require__.e(l),c.push(k),n=w.set.bind(w,l,null),k.then(n,y),w.set(l,k)):null!==n&&c.push(n)}return 4===a.length?0===c.length?x(a[0]):Promise.all(c).then(function(){return x(a[0])}):0<c.length?Promise.all(c):null}var A=new Map,B=__webpack_require__.u;__webpack_require__.u=function(a){var b=A.get(a);return void 0!==b?b:B(a)}; 6221var aa=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.Dispatcher,C=Symbol.for("react.element"),ba=Symbol.for("react.provider"),ca=Symbol.for("react.server_context"),da=Symbol.for("react.lazy"),E=Symbol.for("react.default_value"),F=Symbol.iterator;function ea(a){if(null===a||"object"!==typeof a)return null;a=F&&a[F]||a["@@iterator"];return"function"===typeof a?a:null}var fa=Array.isArray,G=Object.getPrototypeOf,ha=Object.prototype,I=new WeakMap; 6222function ia(a){return Number.isFinite(a)?0===a&&-Infinity===1/a?"$-0":a:Infinity===a?"$Infinity":-Infinity===a?"$-Infinity":"$NaN"} 6223function ja(a,b,c,e){function l(m,d){if(null===d)return null;if("object"===typeof d){if("function"===typeof d.then){null===g&&(g=new FormData);n++;var h=k++;d.then(function(p){p=JSON.stringify(p,l);var q=g;q.append(b+h,p);n--;0===n&&c(q)},function(p){e(p)});return"$@"+h.toString(16)}if(fa(d))return d;if(d instanceof FormData){null===g&&(g=new FormData);var f=g;m=k++;var D=b+m+"_";d.forEach(function(p,q){f.append(D+q,p)});return"$K"+m.toString(16)}if(d instanceof Map)return d=JSON.stringify(Array.from(d), 6224l),null===g&&(g=new FormData),m=k++,g.append(b+m,d),"$Q"+m.toString(16);if(d instanceof Set)return d=JSON.stringify(Array.from(d),l),null===g&&(g=new FormData),m=k++,g.append(b+m,d),"$W"+m.toString(16);if(ea(d))return Array.from(d);m=G(d);if(m!==ha&&(null===m||null!==G(m)))throw Error("Only plain objects, and a few built-ins, can be passed to Server Actions. Classes or null prototypes are not supported.");return d}if("string"===typeof d){if("Z"===d[d.length-1]&&this[m]instanceof Date)return"$D"+d; 6225d="$"===d[0]?"$"+d:d;return d}if("boolean"===typeof d)return d;if("number"===typeof d)return ia(d);if("undefined"===typeof d)return"$undefined";if("function"===typeof d){d=I.get(d);if(void 0!==d)return d=JSON.stringify(d,l),null===g&&(g=new FormData),m=k++,g.set(b+m,d),"$F"+m.toString(16);throw Error("Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again.");}if("symbol"===typeof d){m=d.description;if(Symbol.for(m)!==d)throw Error("Only global symbols received from Symbol.for(...) can be passed to Server Functions. The symbol Symbol.for("+ 6226(d.description+") cannot be found among global symbols."));return"$S"+m}if("bigint"===typeof d)return"$n"+d.toString(10);throw Error("Type "+typeof d+" is not supported as an argument to a Server Function.");}var k=1,n=0,g=null;a=JSON.stringify(a,l);null===g?c(a):(g.set(b+"0",a),0===n&&c(g))}function J(a,b){I.set(a,b)}
6226var K=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ContextRegistry;function L(a,b,c,e){this.status=a;this.value=b;this.reason=c;this._response=e}L.prototype=Object.create(Promise.prototype); 6227L.prototype.then=function(a,b){switch(this.status){case "resolved_model":M(this);break;case "resolved_module":N(this)}switch(this.status){case "fulfilled":a(this.value);break;case "pending":case "blocked":case "cyclic":a&&(null===this.value&&(this.value=[]),this.value.push(a));b&&(null===this.reason&&(this.reason=[]),this.reason.push(b));break;default:b(this.reason)}}; 6228function ka(a){switch(a.status){case "resolved_model":M(a);break;case "resolved_module":N(a)}switch(a.status){case "fulfilled":return a.value;case "pending":case "blocked":case "cyclic":throw a;default:throw a.reason;}}function O(a,b){for(var c=0;c<a.length;c++)(0,a[c])(b)}function P(a,b,c){switch(a.status){case "fulfilled":O(b,a.value);break;case "pending":case "blocked":case "cyclic":a.value=b;a.reason=c;break;case "rejected":c&&O(c,a.reason)}} 6229function Q(a,b){if("pending"===a.status||"blocked"===a.status){var c=a.reason;a.status="rejected";a.reason=b;null!==c&&O(c,b)}}function R(a,b){if("pending"===a.status||"blocked"===a.status){var c=a.value,e=a.reason;a.status="resolved_module";a.value=b;null!==c&&(N(a),P(a,c,e))}}var T=null,U=null; 6230function M(a){var b=T,c=U;T=a;U=null;var e=a.value;a.status="cyclic";a.value=null;a.reason=null;try{var l=JSON.parse(e,a._response._fromJSON);if(null!==U&&0<U.deps)U.value=l,a.status="blocked",a.value=null,a.reason=null;else{var k=a.value;a.status="fulfilled";a.value=l;null!==k&&O(k,l)}}catch(n){a.status="rejected",a.reason=n}finally{T=b,U=c}} 6231function N(a){try{var b=a.value,c=__webpack_require__(b[0]);if(4===b.length&&"function"===typeof c.then)if("fulfilled"===c.status)c=c.value;else throw c.reason;var e="*"===b[2]?c:""===b[2]?c.__esModule?c.default:c:c[b[2]];a.status="fulfilled";a.value=e}catch(l){a.status="rejected",a.reason=l}}function V(a,b){a._chunks.forEach(function(c){"pending"===c.status&&Q(c,b)})}function W(a,b){var c=a._chunks,e=c.get(b);e||(e=new L("pending",null,null,a),c.set(b,e));return e} 6232function la(a,b,c,e){if(U){var l=U;e||l.deps++}else l=U={deps:e?0:1,value:null};return function(k){b[c]=k;l.deps--;0===l.deps&&"blocked"===a.status&&(k=a.value,a.status="fulfilled",a.value=l.value,null!==k&&O(k,l.value))}}function ma(a){return function(b){return Q(a,b)}} 6233function na(a,b){function c(){var l=Array.prototype.slice.call(arguments),k=b.bound;return k?"fulfilled"===k.status?e(b.id,k.value.concat(l)):Promise.resolve(k).then(function(n){return e(b.id,n.concat(l))}):e(b.id,l)}var e=a._callServer;J(c,b);return c}function X(a,b){a=W(a,b);switch(a.status){case "resolved_model":M(a)}switch(a.status){case "fulfilled":return a.value;default:throw a.reason;}} 6234function oa(a,b,c,e){if("$"===e[0]){if("$"===e)return C;switch(e[1]){case "$":return e.slice(1);case "L":return b=parseInt(e.slice(2),16),a=W(a,b),{$$typeof:da,_payload:a,_init:ka};case "@":return b=parseInt(e.slice(2),16),W(a,b);case "S":return Symbol.for(e.slice(2));case "P":return a=e.slice(2),K[a]||(b={$$typeof:ca,_currentValue:E,_currentValue2:E,_defaultValue:E,_threadCount:0,Provider:null,Consumer:null,_globalName:a},b.Provider={$$typeof:ba,_context:b},K[a]=b),K[a].Provider;case "F":return b= 6235parseInt(e.slice(2),16),b=X(a,b),na(a,b);case "Q":return b=parseInt(e.slice(2),16),a=X(a,b),new Map(a);case "W":return b=parseInt(e.slice(2),16),a=X(a,b),new Set(a);case "I":return Infinity;case "-":return"$-0"===e?-0:-Infinity;case "N":return NaN;case "u":return;case "D":return new Date(Date.parse(e.slice(2)));case "n":return BigInt(e.slice(2));default:e=parseInt(e.slice(1),16);a=W(a,e);switch(a.status){case "resolved_model":M(a);break;case "resolved_module":N(a)}switch(a.status){case "fulfilled":return a.value; 6236case "pending":case "blocked":case "cyclic":return e=T,a.then(la(e,b,c,"cyclic"===a.status),ma(e)),null;default:throw a.reason;}}}return e}function pa(){throw Error('Trying to call a function from "use server" but the callServer option was not implemented in your router runtime.');} 6237function Y(a,b,c,e){var l=new Map;a={_bundlerConfig:a,_moduleLoading:b,_callServer:void 0!==c?c:pa,_nonce:e,_chunks:l,_stringDecoder:new TextDecoder,_fromJSON:null,_rowState:0,_rowID:0,_rowTag:0,_rowLength:0,_buffer:[]};a._fromJSON=qa(a);return a} 6238function ra(a,b,c){var e=a._chunks,l=e.get(b);c=JSON.parse(c,a._fromJSON);var k=v(a._bundlerConfig,c);if(c=z(k)){if(l){var n=l;n.status="blocked"}else n=new L("blocked",null,null,a),e.set(b,n);c.then(function(){return R(n,k)},function(g){return Q(n,g)})}else l?R(l,k):e.set(b,new L("resolved_module",k,null,a))} 6239function qa(a){return function(b,c){return"string"===typeof c?oa(a,this,b,c):"object"===typeof c&&null!==c?(b=c[0]===C?{$$typeof:C,type:c[1],key:c[2],ref:null,props:c[3],_owner:null}:c,b):c}} 6240function Z(a,b){function c(k){var n=k.value;if(k.done)V(a,Error("Connection closed."));else{var g=0,m=a._rowState,d=a._rowID,h=a._rowTag,f=a._rowLength;k=a._buffer;for(var D=n.length;g<D;){var p=-1;switch(m){case 0:p=n[g++];58===p?m=1:d=d<<4|(96<p?p-87:p-48);continue;case 1:m=n[g];84===m?(h=m,m=2,g++):64<m&&91>m?(h=m,m=3,g++):(h=0,m=3);continue;case 2:p=n[g++];44===p?m=4:f=f<<4|(96<p?p-87:p-48);continue;case 3:p=n.indexOf(10,g);break;case 4:p=g+f,p>n.length&&(p=-1)}var q=n.byteOffset+g;if(-1<p){g= 6241new Uint8Array(n.buffer,q,p-g);f=a;q=h;var S=f._stringDecoder;h="";for(var H=0;H<k.length;H++)h+=S.decode(k[H],u);h+=S.decode(g);switch(q){case 73:ra(f,d,h);break;case 72:d=h[0];h=h.slice(1);f=JSON.parse(h,f._fromJSON);if(h=aa.current)switch(d){case "D":h.prefetchDNS(f);break;case "C":"string"===typeof f?h.preconnect(f):h.preconnect(f[0],f[1]);break;case "L":d=f[0];g=f[1];3===f.length?h.preload(d,g,f[2]):h.preload(d,g);break;case "m":"string"===typeof f?h.preloadModule(f):h.preloadModule(f[0],f[1]); 6242break;case "S":"string"===typeof f?h.preinitStyle(f):h.preinitStyle(f[0],0===f[1]?void 0:f[1],3===f.length?f[2]:void 0);break;case "X":"string"===typeof f?h.preinitScript(f):h.preinitScript(f[0],f[1]);break;case "M":"string"===typeof f?h.preinitModuleScript(f):h.preinitModuleScript(f[0],f[1])}break;case 69:h=JSON.parse(h);g=h.digest;h=Error("An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error."); 6243h.stack="Error: "+h.message;h.digest=g;g=f._chunks;(q=g.get(d))?Q(q,h):g.set(d,new L("rejected",null,h,f));break;case 84:f._chunks.set(d,new L("fulfilled",h,null,f));break;default:g=f._chunks,(q=g.get(d))?(f=q,d=h,"pending"===f.status&&(h=f.value,g=f.reason,f.status="resolved_model",f.value=d,null!==h&&(M(f),P(f,h,g)))):g.set(d,new L("resolved_model",h,null,f))}g=p;3===m&&g++;f=d=h=m=0;k.length=0}else{n=new Uint8Array(n.buffer,q,n.byteLength-g);k.push(n);f-=n.byteLength;break}}a._rowState=m;a._rowID= 6244d;a._rowTag=h;a._rowLength=f;return l.read().then(c).catch(e)}}function e(k){V(a,k)}var l=b.getReader();l.read().then(c).catch(e)}exports.createFromFetch=function(a,b){var c=Y(null,null,b&&b.callServer?b.callServer:void 0,void 0);a.then(function(e){Z(c,e.body)},function(e){V(c,e)});return W(c,0)};exports.createFromReadableStream=function(a,b){b=Y(null,null,b&&b.callServer?b.callServer:void 0,void 0);Z(b,a);return W(b,0)}; 6245exports.createServerReference=function(a,b){function c(){var e=Array.prototype.slice.call(arguments);return b(a,e)}J(c,{id:a,bound:null});return c};exports.encodeReply=function(a){return new Promise(function(b,c){ja(a,"",b,c)})}; 6246 6247//# sourceMappingURL=react-server-dom-webpack-client.browser.production.min.js.map 6248 6249 6250/***/ }), 6251 6252/***/ 3413: 6253/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 6254 6255"use strict"; 6256 6257 6258if (true) { 6259 module.exports = __webpack_require__(2453); 6260} else {} 6261 6262 6263/***/ }), 6264 6265/***/ 5552: 6266/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 6267 6268"use strict"; 6269 6270 6271module.exports = __webpack_require__(3413); 6272 6273 6274/***/ }), 6275 6276/***/ 5627: 6277/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 6278 6279"use strict"; 6280/* 6281 React 6282 react-jsx-runtime.production.min.js 6283 6284 Copyright (c) Meta Platforms, Inc. and affiliates. 6285 6286 This source code is licensed under the MIT license found in the 6287 LICENSE file in the root directory of this source tree. 6288*/ 6289var f=__webpack_require__(9988),k=Symbol.for("react.element"),l=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INT
vendor: 4,822 bytes, lines 6289-6320
6289ERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0}; 6290function q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=""+g);void 0!==a.key&&(e=""+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q; 6291 6292//# sourceMappingURL=react-jsx-runtime.production.min.js.map 6293 6294 6295/***/ }), 6296 6297/***/ 6271: 6298/***/ (function(__unused_webpack_module, exports) { 6299 6300"use strict"; 6301/* 6302 React 6303 react.production.min.js 6304 6305 Copyright (c) Meta Platforms, Inc. and affiliates. 6306 6307 This source code is licensed under the MIT license found in the 6308 LICENSE file in the root directory of this source tree. 6309*/ 6310var l=Symbol.for("react.element"),n=Symbol.for("react.portal"),p=Symbol.for("react.fragment"),q=Symbol.for("react.strict_mode"),r=Symbol.for("react.profiler"),t=Symbol.for("react.provider"),u=Symbol.for("react.context"),v=Symbol.for("react.forward_ref"),w=Symbol.for("react.suspense"),x=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),z=Symbol.iterator;function A(a){if(null===a||"object"!==typeof a)return null;a=z&&a[z]||a["@@iterator"];return"function"===typeof a?a:null} 6311var B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,c){this.props=a;this.context=b;this.refs=D;this.updater=c||B}E.prototype.isReactComponent={}; 6312E.prototype.setState=function(a,b){if("object"!==typeof a&&"function"!==typeof a&&null!=a)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,a,b,"setState")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")};function F(){}F.prototype=E.prototype;function G(a,b,c){this.props=a;this.context=b;this.refs=D;this.updater=c||B}var H=G.prototype=new F; 6313H.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0}; 6314function M(a,b,c){var f,d={},e=null,g=null;if(null!=b)for(f in void 0!==b.ref&&(g=b.ref),void 0!==b.key&&(e=""+b.key),b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=b[f]);var h=arguments.length-2;if(1===h)d.children=c;else if(1<h){for(var k=Array(h),m=0;m<h;m++)k[m]=arguments[m+2];d.children=k}if(a&&a.defaultProps)for(f in h=a.defaultProps,h)void 0===d[f]&&(d[f]=h[f]);return{$$typeof:l,type:a,key:e,ref:g,props:d,_owner:K.current}} 6315function N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return"object"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={"=":"=0",":":"=2"};return"$"+a.replace(/[=:]/g,function(c){return b[c]})}var P=/\/+/g;function Q(a,b){return"object"===typeof a&&null!==a&&null!=a.key?escape(""+a.key):b.toString(36)} 6316function R(a,b,c,f,d){var e=typeof a;if("undefined"===e||"boolean"===e)a=null;var g=!1;if(null===a)g=!0;else switch(e){case "string":case "number":g=!0;break;case "object":switch(a.$$typeof){case l:case n:g=!0}}if(g)return g=a,d=d(g),a=""===f?"."+Q(g,0):f,I(d)?(c="",null!=a&&(c=a.replace(P,"$&/")+"/"),R(d,b,c,"",function(m){return m})):null!=d&&(O(d)&&(d=N(d,c+(!d.key||g&&g.key===d.key?"":(""+d.key).replace(P,"$&/")+"/")+a)),b.push(d)),1;g=0;f=""===f?".":f+":";if(I(a))for(var h=0;h<a.length;h++){e= 6317a[h];var k=f+Q(e,h);g+=R(e,b,c,k,d)}else if(k=A(a),"function"===typeof k)for(a=k.call(a),h=0;!(e=a.next()).done;)e=e.value,k=f+Q(e,h++),g+=R(e,b,c,k,d);else if("object"===e)throw b=String(a),Error("Objects are not valid as a React child (found: "+("[object Object]"===b?"object with keys {"+Object.keys(a).join(", ")+"}":b)+"). If you meant to render a collection of children, use an array instead.");return g} 6318function S(a,b,c){if(null==a)return a;var f=[],d=0;R(a,f,"","",function(e){return b.call(c,e,d++)});return f}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(c){if(0===a._status||-1===a._status)a._status=1,a._result=c},function(c){if(0===a._status||-1===a._status)a._status=2,a._result=c});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}var U={current:null};function V(){return new WeakMap} 6319function W(){return{s:0,v:void 0,o:null,p:null}}var X={current:null},Y={transition:null},Z={ReactCurrentDispatcher:X,ReactCurrentCache:U,ReactCurrentBatchConfig:Y,ReactCurrentOwner:K}; 6320exports.Children={map:S,forEach:function(a,b,c){S(a,function(){b.apply(this,arguments)},c)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(b){return b})||[]}
6320,only:function(a){if(!O(a))throw Error("React.Children.only expected to receive a single React element child.");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w; 6321exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Z; 6322exports.cache=function(a){return function(){var b=U.current;if(!b)return a.apply(null,arguments);var c=b.getCacheForType(V);b=c.get(a);void 0===b&&(b=W(),c.set(a,b));c=0;for(var f=arguments.length;c<f;c++){var d=arguments[c];if("function"===typeof d||"object"===typeof d&&null!==d){var e=b.o;null===e&&(b.o=e=new WeakMap);b=e.get(d);void 0===b&&(b=W(),e.set(d,b))}else e=b.p,null===e&&(b.p=e=new Map),b=e.get(d),void 0===b&&(b=W(),e.set(d,b))}if(1===b.s)return b.v;if(2===b.s)throw b.v;try{var g=a.apply(null, 6323arguments);c=b;c.s=1;return c.v=g}catch(h){throw g=b,g.s=2,g.v=h,h;}}}; 6324exports.cloneElement=function(a,b,c){if(null===a||void 0===a)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+a+".");var f=C({},a.props),d=a.key,e=a.ref,g=a._owner;if(null!=b){void 0!==b.ref&&(e=b.ref,g=K.current);void 0!==b.key&&(d=""+b.key);if(a.type&&a.type.defaultProps)var h=a.type.defaultProps;for(k in b)J.call(b,k)&&!L.hasOwnProperty(k)&&(f[k]=void 0===b[k]&&void 0!==h?h[k]:b[k])}var k=arguments.length-2;if(1===k)f.children=c;else if(1<k){h=Array(k); 6325for(var m=0;m<k;m++)h[m]=arguments[m+2];f.children=h}return{$$typeof:l,type:a.type,key:d,ref:e,props:f,_owner:g}};
6325exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}}; 6326exports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=Y.transition;Y.transition={};try{a()}finally{Y.transition=b}};exports.unstable_act=function(){throw Error("act(...) is not supported in production builds of React.");};exports.unstable_useCacheRefresh=function(){return X.current.useCacheRefresh()}; 6327exports.use=function(a){return X.current.use(a)};exports.useCallback=function(a,b){return X.current.useCallback(a,b)};exports.useContext=function(a){return X.current.useContext(a)};exports.useDebugValue=function(){};exports.useDeferredValue=function(a,b){return X.current.useDeferredValue(a,b)};exports.useEffect=function(a,b){return X.current.useEffect(a,b)};exports.useId=function(){return X.current.useId()};exports.useImperativeHandle=function(a,b,c){return X.current.useImperativeHandle(a,b,c)}; 6328exports.useInsertionEffect=function(a,b){return X.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return X.current.useLayoutEffect(a,b)};exports.useMemo=function(a,b){return X.current.useMemo(a,b)};exports.useOptimistic=function(a,b){return X.current.useOptimistic(a,b)};exports.useReducer=function(a,b,c){return X.current.useReducer(a,b,c)};exports.useRef=function(a){return X.current.useRef(a)};exports.useState=function(a){return X.current.useState(a)}; 6329exports.useSyncExternalStore=function(a,b,c){return X.current.useSyncExternalStore(a,b,c)};exports.useTransition=function(){return X.current.useTransition()};exports.version="18.3.0-canary-0cdfef19b-20231211"; 6330 6331//# sourceMappingURL=react.production.min.js.map 6332 6333 6334/***/ }), 6335 6336/***/ 9988: 6337/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 6338 6339"use strict"; 6340 6341 6342if (true) { 6343 module.exports = __webpack_require__(6271); 6344} else {} 6345 6346 6347/***/ }), 6348 6349/***/ 1411: 6350/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 6351 6352"use strict"; 6353 6354 6355if (true) { 6356 module.exports = __webpack_require__(5627); 6357} else {} 6358 6359 6360/***/ }), 6361 6362/***/ 5560: 6363/***/ (function(__unused_webpack_module, exports) { 6364 6365"use strict"; 6366/* 6367 React 6368 scheduler.production.min.js 6369 6370 Copyright (c) Meta Platforms, Inc. and affiliates. 6371 6372 This source code is licensed under the MIT license found in the 6373 LICENSE file in the root directory of this source tree. 6374*/ 6375function f(a,c){var b=a.length;a.push(c);a:for(;0<b;){var d=b-1>>>1,e=a[d];if(0<g(e,c))a[d]=c,a[b]=e,b=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var c=a[0],b=a.pop();if(b!==c){a[0]=b;a:for(var d=0,e=a.length,v=e>>>1;d<v;){var w=2*(d+1)-1,C=a[w],m=w+1,x=a[m];if(0>g(C,b))m<e&&0>g(x,C)?(a[d]=x,a[m]=b,d=m):(a[d]=C,a[w]=b,d=w);else if(m<e&&0>g(x,b))a[d]=x,a[m]=b,d=m;else break a}}return c} 6376function g(a,c){var b=a.sortIndex-c.sortIndex;return 0!==b?b:a.id-c.id}exports.unstable_now=void 0;if("object"===typeof performance&&"function"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var n=Date,p=n.now();exports.unstable_now=function(){return n.now()-p}} 6377var q=[],r=[],t=1,u=null,y=3,z=!1,A=!1,B=!1,D="function"===typeof setTimeout?setTimeout:null,E="function"===typeof clearTimeout?clearTimeout:null,F="undefined"!==typeof setImmediate?setImmediate:null;"undefined"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending?navigator.scheduling.isInputPending.bind(navigator.scheduling):null; 6378function G(a){for(var c=h(r);null!==c;){if(null===c.callback)k(r);else if(c.startTime<=a)k(r),c.sortIndex=c.expirationTime,f(q,c);else break;c=h(r)}}function H(a){B=!1;G(a);if(!A)if(null!==h(q))A=!0,I();else{var c=h(r);null!==c&&J(H,c.startTime-a)}}var K=!1,L=-1,M=5,N=-1;function O(){return exports.unstable_now()-N<M?!1:!0} 6379function P(){if(K){var a=exports.unstable_now();N=a;var c=!0;try{a:{A=!1;B&&(B=!1,E(L),L=-1);z=!0;var b=y;try{b:{G(a);for(u=h(q);null!==u&&!(u.expirationTime>a&&O());){var d=u.callback;if("function"===typeof d){u.callback=null;y=u.priorityLevel;var e=d(u.expirationTime<=a);a=exports.unstable_now();if("function"===typeof e){u.callback=e;G(a);c=!0;break b}u===h(q)&&k(q);G(a)}else k(q);u=h(q)}if(null!==u)c=!0;else{var v=h(r);null!==v&&J(H,v.startTime-a);c=!1}}break a}finally{u=null,y=b,z=!1}c=void 0}}finally{c? 6380Q():K=!1}}}var Q;if("function"===typeof F)Q=function(){F(P)};else if("undefined"!==typeof MessageChannel){var R=new MessageChannel,S=R.port2;R.port1.onmessage=P;Q=function(){S.postMessage(null)}}else Q=function(){D(P,0)};function I(){K||(K=!0,Q())}function J(a,c){L=D(function(){a(exports.unstable_now())},c)}exports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null; 6381exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I())};exports.unstable_forceFrameRate=function(a){0>a||125<a?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):M=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(q)}; 6382exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var c=3;break;default:c=y}var b=y;y=c;try{return a()}finally{y=b}};exports.unstable_pauseExecution=function(){};exports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,c){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var b=y;y=a;try{return c()}finally{y=b}}; 6383exports.unstable_scheduleCallback=function(a,c,b){var d=exports.unstable_now();"object"===typeof b&&null!==b?(b=b.delay,b="number"===typeof b&&0<b?d+b:d):b=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=b+e;a={id:t++,callback:c,priorityLevel:a,startTime:b,expirationTime:e,sortIndex:-1};b>d?(a.sortIndex=b,f(r,a),null===h(q)&&a===h(r)&&(B?(E(L),L=-1):B=!0,J(H,b-d))):(a.sortIndex=e,f(q,a),A||z||(A=!0,I()));return a}; 6384exports.unstable_shouldYield=O;exports.unstable_wrapCallback=function(a){var c=y;return function(){var b=y;y=c;try{return a.apply(this,arguments)}finally{y=b}}}; 6385 6386//# sourceMappingURL=scheduler.production.min.js.map 6387 6388 6389/***/ }), 6390 6391/***/ 1519: 6392/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 6393 6394"use strict"; 6395 6396 6397if (true) { 6398 module.exports = __webpack_require__(5560); 6399} else {} 6400 6401 6402/***/ }), 6403 6404/***/ 4758: 6405/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 6406 6407"use strict"; 6408 6409Object.defineProperty(exports, "__esModule", ({ 6410 value: true 6411})); 6412Object.defineProperty(exports, "getSegmentParam", ({ 6413 enumerable: true, 6414 get: function() { 6415 return getSegmentParam; 6416 } 6417})); 6418const _interceptionroutes = __webpack_require__(5859); 6419function getSegmentParam(segment) { 6420 const interceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((marker)=>segment.startsWith(marker)); 6421 // if an interception marker is part of the path segment, we need to jump ahead 6422 // to the relevant portion for param parsing 6423 if (interceptionMarker) { 6424 segment = segment.slice(interceptionMarker.length); 6425 } 6426 if (segment.startsWith("[[...") && segment.endsWith("]]")) { 6427 return { 6428 type: "optional-catchall", 6429 param: segment.slice(5, -2) 6430 }; 6431 } 6432 if (segment.startsWith("[...") && segment.endsWith("]")) { 6433 return { 6434 type: "catchall", 6435 param: segment.slice(4, -1) 6436 }; 6437 } 6438 if (segment.startsWith("[") && segment.endsWith("]")) { 6439 return { 6440 type: "dynamic", 6441 param: segment.slice(1, -1) 6442 }; 6443 } 6444 return null; 6445} 6446 6447//# sourceMappingURL=get-segment-param.js.map 6448 6449/***/ }), 6450 6451/***/ 5859: 6452/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 6453 6454"use strict"; 6455 6456Object.defineProperty(exports, "__esModule", ({ 6457 value: true 6458})); 64590 && (0); 6460function _export(target, all) { 6461 for(var name in all)Object.defineProperty(target, name, { 6462 enumerable: true, 6463 get: all[name] 6464 }); 6465} 6466_export(exports, { 6467 INTERCEPTION_ROUTE_MARKERS: function() { 6468 return INTERCEPTION_ROUTE_MARKERS; 6469 }, 6470 isInterceptionRouteAppPath: function() { 6471 return isInterceptionRouteAppPath; 6472 }, 6473 extractInterceptionRouteInformation: function() { 6474 return extractInterceptionRouteInformation; 6475 } 6476}); 6477const _apppaths = __webpack_require__(8640); 6478const INTERCEPTION_ROUTE_MARKERS = [ 6479 "(..)(..)", 6480 "(.)", 6481 "(..)", 6482 "(...)" 6483]; 6484function isInterceptionRouteAppPath(path) { 6485 // TODO-APP: add more serious validation 6486 return path.split("/").find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>
6486segment.startsWith(m))) !== undefined; 6487} 6488function extractInterceptionRouteInformation(path) { 6489 let interceptingRoute, marker, interceptedRoute; 6490 for (const segment of path.split("/")){ 6491 marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m)); 6492 if (marker) { 6493 [interceptingRoute, interceptedRoute] = path.split(marker, 2); 6494 break; 6495 } 6496 } 6497 if (!interceptingRoute || !marker || !interceptedRoute) { 6498 throw new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`); 6499 } 6500 interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed 6501 ; 6502 switch(marker){ 6503 case "(.)": 6504 // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route 6505 if (interceptingRoute === "/") { 6506 interceptedRoute = `/${interceptedRoute}`; 6507 } else { 6508 interceptedRoute = interceptingRoute + "/" + interceptedRoute; 6509 } 6510 break; 6511 case "(..)": 6512 // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route 6513 if (interceptingRoute === "/") { 6514 throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`); 6515 } 6516 interceptedRoute = interceptingRoute.split("/").slice(0, -1).concat(interceptedRoute).join("/"); 6517 break; 6518 case "(...)": 6519 // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route 6520 interceptedRoute = "/" + interceptedRoute; 6521 break; 6522 case "(..)(..)": 6523 // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route 6524 const splitInterceptingRoute = interceptingRoute.split("/"); 6525 if (splitInterceptingRoute.length <= 2) { 6526 throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`); 6527 } 6528 interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join("/"); 6529 break; 6530 default: 6531 throw new Error("Invariant: unexpected marker"); 6532 } 6533 return { 6534 interceptingRoute, 6535 interceptedRoute 6536 }; 6537} 6538 6539//# sourceMappingURL=interception-routes.js.map 6540 6541/***/ }), 6542 6543/***/ 9382: 6544/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 6545 6546"use strict"; 6547__webpack_require__.r(__webpack_exports__); 6548/* harmony export */ __webpack_require__.d(__webpack_exports__, { 6549/* harmony export */ _: function() { return /* binding */ _class_private_field_loose_base; }, 6550/* harmony export */ _class_private_field_loose_base: function() { return /* binding */ _class_private_field_loose_base; } 6551/* harmony export */ }); 6552function _class_private_field_loose_base(receiver, privateKey) { 6553 if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { 6554 throw new TypeError("attempted to use private field on non-instance"); 6555 } 6556 6557 return receiver; 6558} 6559 6560 6561 6562/***/ }), 6563 6564/***/ 7666: 6565/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 6566 6567"use strict"; 6568__webpack_require__.r(__webpack_exports__); 6569/* harmony export */ __webpack_require__.d(__webpack_exports__, { 6570/* harmony export */ _: function() { return /* binding */ _class_private_field_loose_key; }, 6571/* harmony export */ _class_private_field_loose_key: function() { return /* binding */ _class_private_field_loose_key; } 6572/* harmony export */ }); 6573var id = 0; 6574 6575function _class_private_field_loose_key(name) { 6576 return "__private_" + id++ + "_" + name; 6577} 6578 6579 6580 6581/***/ }), 6582 6583/***/ 7295: 6584/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 6585 6586"use strict"; 6587__webpack_require__.r(__webpack_exports__); 6588/* harmony export */ __webpack_require__.d(__webpack_exports__, { 6589/* harmony export */ _: function() { return /* binding */ _interop_require_default; }, 6590/* harmony export */ _interop_require_default: function() { return /* binding */ _interop_require_default; } 6591/* harmony export */ }); 6592function _interop_require_default(obj) { 6593 return obj && obj.__esModule ? obj : { default: obj }; 6594} 6595 6596 6597 6598/***/ }), 6599 6600/***/ 3589: 6601/***/ (function(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) { 6602 6603"use strict"; 6604__webpack_require__.r(__webpack_exports__); 6605/* harmony export */ __webpack_require__.d(__webpack_exports__, { 6606/* harmony export */ _: function() { return /* binding */ _interop_require_wildcard; }, 6607/* harmony export */ _interop_require_wildcard: function() { return /* binding */ _interop_require_wildcard; } 6608/* harmony export */ }); 6609function _getRequireWildcardCache(nodeInterop) { 6610 if (typeof WeakMap !== "function") return null; 6611 6612 var cacheBabelInterop = new WeakMap(); 6613 var cacheNodeInterop = new WeakMap(); 6614 6615 return (_getRequireWildcardCache = function(nodeInterop) { 6616 return nodeInterop ? cacheNodeInterop : cacheBabelInterop; 6617 })(nodeInterop); 6618} 6619function _interop_require_wildcard(obj, nodeInterop) { 6620 if (!nodeInterop && obj && obj.__esModule) return obj; 6621 if (obj === null || typeof obj !== "object" && typeof obj !== "function") return { default: obj }; 6622 6623 var cache = _getRequireWildcardCache(nodeInterop); 6624 6625 if (cache && cache.has(obj)) return cache.get(obj); 6626 6627 var newObj = {}; 6628 var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; 6629 6630 for (var key in obj) { 6631 if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { 6632 var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; 6633 if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc); 6634 else newObj[key] = obj[key]; 6635 } 6636 } 6637 6638 newObj.default = obj; 6639 6640 if (cache) cache.set(obj, newObj); 6641 6642 return newObj; 6643} 6644 6645 6646 6647/***/ }) 6648 6649}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.