\n}\n\nexport type DocumentType = NextComponentType<\n DocumentContext,\n DocumentInitialProps,\n DocumentProps\n>\n\nexport type AppType = NextComponentType<\n AppContextType,\n P,\n AppPropsType\n>\n\nexport type AppTreeType = ComponentType<\n AppInitialProps & { [name: string]: any }\n>\n\n/**\n * Web vitals provided to _app.reportWebVitals by Core Web Vitals plugin developed by Google Chrome team.\n * https://nextjs.org/blog/next-9-4#integrated-web-vitals-reporting\n */\nexport const WEB_VITALS = ['CLS', 'FCP', 'FID', 'INP', 'LCP', 'TTFB'] as const\nexport type NextWebVitalsMetric = {\n id: string\n startTime: number\n value: number\n attribution?: { [key: string]: unknown }\n} & (\n | {\n label: 'web-vital'\n name: (typeof WEB_VITALS)[number]\n }\n | {\n label: 'custom'\n name:\n | 'Next.js-hydration'\n | 'Next.js-route-change-to-render'\n | 'Next.js-render'\n }\n)\n\nexport type Enhancer = (Component: C) => C\n\nexport type ComponentsEnhancer =\n | {\n enhanceApp?: Enhancer\n enhanceComponent?: Enhancer\n }\n | Enhancer\n\nexport type RenderPageResult = {\n html: string\n head?: Array\n}\n\nexport type RenderPage = (\n options?: ComponentsEnhancer\n) => DocumentInitialProps | Promise\n\nexport type BaseContext = {\n res?: ServerResponse\n [k: string]: any\n}\n\nexport type NEXT_DATA = {\n props: Record\n page: string\n query: ParsedUrlQuery\n buildId: string\n assetPrefix?: string\n nextExport?: boolean\n autoExport?: boolean\n isFallback?: boolean\n isExperimentalCompile?: boolean\n dynamicIds?: (string | number)[]\n err?: Error & {\n statusCode?: number\n source?: typeof COMPILER_NAMES.server | typeof COMPILER_NAMES.edgeServer\n }\n gsp?: boolean\n gssp?: boolean\n customServer?: boolean\n gip?: boolean\n appGip?: boolean\n locale?: string\n locales?: readonly string[]\n defaultLocale?: string\n domainLocales?: readonly DomainLocale[]\n scriptLoader?: any[]\n isPreview?: boolean\n notFoundSrcPage?: string\n}\n\n/**\n * `Next` context\n */\nexport interface NextPageContext {\n /**\n * Error object if encountered during rendering\n */\n err?: (Error & { statusCode?: number }) | null\n /**\n * `HTTP` request object.\n */\n req?: IncomingMessage\n /**\n * `HTTP` response object.\n */\n res?: ServerResponse\n /**\n * Path section of `URL`.\n */\n pathname: string\n /**\n * Query string section of `URL` parsed as an object.\n */\n query: ParsedUrlQuery\n /**\n * `String` of the actual path including query.\n */\n asPath?: string\n /**\n * The currently active locale\n */\n locale?: string\n /**\n * All configured locales\n */\n locales?: readonly string[]\n /**\n * The configured default locale\n */\n defaultLocale?: string\n /**\n * `Component` the tree of the App to use if needing to render separately\n */\n AppTree: AppTreeType\n}\n\nexport type AppContextType = {\n Component: NextComponentType\n AppTree: AppTreeType\n ctx: NextPageContext\n router: Router\n}\n\nexport type AppInitialProps = {\n pageProps: PageProps\n}\n\nexport type AppPropsType<\n Router extends NextRouter = NextRouter,\n PageProps = {},\n> = AppInitialProps & {\n Component: NextComponentType\n router: Router\n __N_SSG?: boolean\n __N_SSP?: boolean\n}\n\nexport type DocumentContext = NextPageContext & {\n renderPage: RenderPage\n defaultGetInitialProps(\n ctx: DocumentContext,\n options?: { nonce?: string }\n ): Promise\n}\n\nexport type DocumentInitialProps = RenderPageResult & {\n styles?: React.ReactElement[] | Iterable | JSX.Element\n}\n\nexport type DocumentProps = DocumentInitialProps & HtmlProps\n\n/**\n * Next `API` route request\n */\nexport interface NextApiRequest extends IncomingMessage {\n /**\n * Object of `query` values from url\n */\n query: Partial<{\n [key: string]: string | string[]\n }>\n /**\n * Object of `cookies` from header\n */\n cookies: Partial<{\n [key: string]: string\n }>\n\n body: any\n\n env: Env\n\n draftMode?: boolean\n\n preview?: boolean\n /**\n * Preview data set on the request, if any\n * */\n previewData?: PreviewData\n}\n\n/**\n * Send body of response\n */\ntype Send = (body: T) => void\n\n/**\n * Next `API` route response\n */\nexport type NextApiResponse = ServerResponse & {\n /**\n * Send data `any` data in response\n */\n send: Send\n /**\n * Send data `json` data in response\n */\n json: Send\n status: (statusCode: number) => NextApiResponse\n redirect(url: string): NextApiResponse\n redirect(status: number, url: string): NextApiResponse\n\n /**\n * Set draft mode\n */\n setDraftMode: (options: { enable: boolean }) => NextApiResponse\n\n /**\n * Set preview data for Next.js' prerender mode\n */\n setPreviewData: (\n data: object | string,\n options?: {\n /**\n * Specifies the number (in seconds) for the preview session to last for.\n * The given number will be converted to an integer by rounding down.\n * By default, no maximum age is set and the preview session finishes\n * when the client shuts down (browser is closed).\n */\n maxAge?: number\n /**\n * Specifies the path for the preview session to work under. By default,\n * the path is considered the \"default path\", i.e., any pages under \"/\".\n */\n path?: string\n }\n ) => NextApiResponse\n\n /**\n * Clear preview data for Next.js' prerender mode\n */\n clearPreviewData: (options?: { path?: string }) => NextApiResponse\n\n /**\n * Revalidate a specific page and regenerate it using On-Demand Incremental\n * Static Regeneration.\n * The path should be an actual path, not a rewritten path. E.g. for\n * \"/blog/[slug]\" this should be \"/blog/post-1\".\n * @link https://nextjs.org/docs/app/building-your-application/data-fetching/incremental-static-regeneration#on-demand-revalidation-with-revalidatepath\n */\n revalidate: (\n urlPath: string,\n opts?: {\n unstable_onlyGenerated?: boolean\n }\n ) => Promise\n}\n\n/**\n * Next `API` route handler\n */\nexport type NextApiHandler = (\n req: NextApiRequest,\n res: NextApiResponse\n) => unknown | Promise\n\n/**\n * Utils\n */\nexport function execOnce ReturnType>(\n fn: T\n): T {\n let used = false\n let result: ReturnType\n\n return ((...args: any[]) => {\n if (!used) {\n used = true\n result = fn(...args)\n }\n return result\n }) as T\n}\n\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/\nexport const isAbsoluteUrl = (url: string) => ABSOLUTE_URL_REGEX.test(url)\n\nexport function getLocationOrigin() {\n const { protocol, hostname, port } = window.location\n return `${protocol}//${hostname}${port ? ':' + port : ''}`\n}\n\nexport function getURL() {\n const { href } = window.location\n const origin = getLocationOrigin()\n return href.substring(origin.length)\n}\n\nexport function getDisplayName(Component: ComponentType
) {\n return typeof Component === 'string'\n ? Component\n : Component.displayName || Component.name || 'Unknown'\n}\n\nexport function isResSent(res: ServerResponse) {\n return res.finished || res.headersSent\n}\n\nexport function normalizeRepeatedSlashes(url: string) {\n const urlParts = url.split('?')\n const urlNoQuery = urlParts[0]\n\n return (\n urlNoQuery\n // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, '/')\n .replace(/\\/\\/+/g, '/') +\n (urlParts[1] ? `?${urlParts.slice(1).join('?')}` : '')\n )\n}\n\nexport async function loadGetInitialProps<\n C extends BaseContext,\n IP = {},\n P = {},\n>(App: NextComponentType, ctx: C): Promise {\n if (process.env.NODE_ENV !== 'production') {\n if (App.prototype?.getInitialProps) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.`\n throw new Error(message)\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || (ctx.ctx && ctx.ctx.res)\n\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx),\n }\n }\n return {} as IP\n }\n\n const props = await App.getInitialProps(ctx)\n\n if (res && isResSent(res)) {\n return props\n }\n\n if (!props) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" should resolve to an object. But found \"${props}\" instead.`\n throw new Error(message)\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\n `${getDisplayName(\n App\n )} returned an empty object from \\`getInitialProps\\`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps`\n )\n }\n }\n\n return props\n}\n\nexport const SP = typeof performance !== 'undefined'\nexport const ST =\n SP &&\n (['mark', 'measure', 'getEntriesByName'] as const).every(\n (method) => typeof performance[method] === 'function'\n )\n\nexport class DecodeError extends Error {}\nexport class NormalizeError extends Error {}\nexport class PageNotFoundError extends Error {\n code: string\n\n constructor(page: string) {\n super()\n this.code = 'ENOENT'\n this.name = 'PageNotFoundError'\n this.message = `Cannot find module for page: ${page}`\n }\n}\n\nexport class MissingStaticPage extends Error {\n constructor(page: string, message: string) {\n super()\n this.message = `Failed to load static file for page: ${page} ${message}`\n }\n}\n\nexport class MiddlewareNotFoundError extends Error {\n code: string\n constructor() {\n super()\n this.code = 'ENOENT'\n this.message = `Cannot find the middleware module`\n }\n}\n\nexport interface CacheFs {\n existsSync: typeof fs.existsSync\n readFile: typeof fs.promises.readFile\n readFileSync: typeof fs.readFileSync\n writeFile(f: string, d: any): Promise\n mkdir(dir: string): Promise\n stat(f: string): Promise<{ mtime: Date }>\n}\n\nexport function stringifyError(error: Error) {\n return JSON.stringify({ message: error.message, stack: error.stack })\n}\n"],"names":["DecodeError","MiddlewareNotFoundError","MissingStaticPage","NormalizeError","PageNotFoundError","SP","ST","WEB_VITALS","execOnce","getDisplayName","getLocationOrigin","getURL","isAbsoluteUrl","isResSent","loadGetInitialProps","normalizeRepeatedSlashes","stringifyError","fn","used","result","args","ABSOLUTE_URL_REGEX","url","test","protocol","hostname","port","window","location","href","origin","substring","length","Component","displayName","name","res","finished","headersSent","urlParts","split","urlNoQuery","replace","slice","join","App","ctx","process","env","NODE_ENV","prototype","getInitialProps","message","Error","pageProps","props","Object","keys","console","warn","performance","every","method","constructor","page","code","error","JSON","stringify","stack"],"mappings":"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","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 1339, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/shared/lib/page-path/normalize-page-path.ts"],"sourcesContent":["import { ensureLeadingSlash } from './ensure-leading-slash'\nimport { isDynamicRoute } from '../router/utils'\nimport { NormalizeError } from '../utils'\n\n/**\n * Takes a page and transforms it into its file counterpart ensuring that the\n * output is normalized. Note this function is not idempotent because a page\n * `/index` can be referencing `/index/index.js` and `/index/index` could be\n * referencing `/index/index/index.js`. Examples:\n * - `/` -> `/index`\n * - `/index/foo` -> `/index/index/foo`\n * - `/index` -> `/index/index`\n */\nexport function normalizePagePath(page: string): string {\n const normalized =\n /^\\/index(\\/|$)/.test(page) && !isDynamicRoute(page)\n ? `/index${page}`\n : page === '/'\n ? '/index'\n : ensureLeadingSlash(page)\n\n if (process.env.NEXT_RUNTIME !== 'edge') {\n const { posix } = require('path') as typeof import('path')\n const resolvedPage = posix.normalize(normalized)\n if (resolvedPage !== normalized) {\n throw new NormalizeError(\n `Requested and resolved page mismatch: ${normalized} ${resolvedPage}`\n )\n }\n }\n\n return normalized\n}\n"],"names":["normalizePagePath","page","normalized","test","isDynamicRoute","ensureLeadingSlash","process","env","NEXT_RUNTIME","posix","require","resolvedPage","normalize","NormalizeError"],"mappings":";;;+BAagBA,qBAAAA;;;eAAAA;;;oCAbmB;uBACJ;wBACA;AAWxB,SAASA,kBAAkBC,IAAY;IAC5C,MAAMC,aACJ,iBAAiBC,IAAI,CAACF,SAAS,CAACG,CAAAA,GAAAA,OAAAA,cAAc,EAACH,QAC3C,CAAC,MAAM,EAAEA,MAAM,GACfA,SAAS,MACP,WACAI,CAAAA,GAAAA,oBAAAA,kBAAkB,EAACJ;IAE3B,IAAIK,QAAQC,GAAG,CAACC,YAAY,KAAK,OAAQ;QACvC,MAAM,EAAEC,KAAK,EAAE,GAAGC,QAAQ;QAC1B,MAAMC,eAAeF,MAAMG,SAAS,CAACV;QACrC,IAAIS,iBAAiBT,YAAY;YAC/B,MAAM,IAAIW,QAAAA,cAAc,CACtB,CAAC,sCAAsC,EAAEX,WAAW,CAAC,EAAES,cAAc;QAEzE;IACF;IAEA,OAAOT;AACT","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 1366, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/server/get-page-files.ts"],"sourcesContent":["import { denormalizePagePath } from '../shared/lib/page-path/denormalize-page-path'\nimport { normalizePagePath } from '../shared/lib/page-path/normalize-page-path'\n\nexport type BuildManifest = {\n devFiles: readonly string[]\n polyfillFiles: readonly string[]\n lowPriorityFiles: readonly string[]\n rootMainFiles: readonly string[]\n // this is a separate field for flying shuttle to allow\n // different root main files per entries/build (ideally temporary)\n // until we can stitch the runtime chunks together safely\n rootMainFilesTree: { [appRoute: string]: readonly string[] }\n pages: {\n '/_app': readonly string[]\n [page: string]: readonly string[]\n }\n}\n\nexport function getPageFiles(\n buildManifest: BuildManifest,\n page: string\n): readonly string[] {\n const normalizedPage = denormalizePagePath(normalizePagePath(page))\n let files = buildManifest.pages[normalizedPage]\n\n if (!files) {\n console.warn(\n `Could not find files for ${normalizedPage} in .next/build-manifest.json`\n )\n return []\n }\n\n return files\n}\n"],"names":["getPageFiles","buildManifest","page","normalizedPage","denormalizePagePath","normalizePagePath","files","pages","console","warn"],"mappings":";;;+BAkBgBA,gBAAAA;;;eAAAA;;;qCAlBoB;mCACF;AAiB3B,SAASA,aACdC,aAA4B,EAC5BC,IAAY;IAEZ,MAAMC,iBAAiBC,CAAAA,GAAAA,qBAAAA,mBAAmB,EAACC,CAAAA,GAAAA,mBAAAA,iBAAiB,EAACH;IAC7D,IAAII,QAAQL,cAAcM,KAAK,CAACJ,eAAe;IAE/C,IAAI,CAACG,OAAO;QACVE,QAAQC,IAAI,CACV,CAAC,yBAAyB,EAAEN,eAAe,6BAA6B,CAAC;QAE3E,OAAO,EAAE;IACX;IAEA,OAAOG;AACT","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 1390, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/server/htmlescape.ts"],"sourcesContent":["// This utility is based on https://github.com/zertosh/htmlescape\n// License: https://github.com/zertosh/htmlescape/blob/0527ca7156a524d256101bb310a9f970f63078ad/LICENSE\n\nconst ESCAPE_LOOKUP: { [match: string]: string } = {\n '&': '\\\\u0026',\n '>': '\\\\u003e',\n '<': '\\\\u003c',\n '\\u2028': '\\\\u2028',\n '\\u2029': '\\\\u2029',\n}\n\nexport const ESCAPE_REGEX = /[&><\\u2028\\u2029]/g\n\nexport function htmlEscapeJsonString(str: string): string {\n return str.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match])\n}\n"],"names":["ESCAPE_REGEX","htmlEscapeJsonString","ESCAPE_LOOKUP","str","replace","match"],"mappings":"AAAA,iEAAiE;AACjE,uGAAuG;;;;;;;;;;;;;;;IAU1FA,YAAY,EAAA;eAAZA;;IAEGC,oBAAoB,EAAA;eAApBA;;;AAVhB,MAAMC,gBAA6C;IACjD,KAAK;IACL,KAAK;IACL,KAAK;IACL,UAAU;IACV,UAAU;AACZ;AAEO,MAAMF,eAAe;AAErB,SAASC,qBAAqBE,GAAW;IAC9C,OAAOA,IAAIC,OAAO,CAACJ,cAAc,CAACK,QAAUH,aAAa,CAACG,MAAM;AAClE","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 1428, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/shared/lib/is-plain-object.ts"],"sourcesContent":["export function getObjectClassLabel(value: any): string {\n return Object.prototype.toString.call(value)\n}\n\nexport function isPlainObject(value: any): boolean {\n if (getObjectClassLabel(value) !== '[object Object]') {\n return false\n }\n\n const prototype = Object.getPrototypeOf(value)\n\n /**\n * this used to be previously:\n *\n * `return prototype === null || prototype === Object.prototype`\n *\n * but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail.\n *\n * It was changed to the current implementation since it's resilient to serialization.\n */\n return prototype === null || prototype.hasOwnProperty('isPrototypeOf')\n}\n"],"names":["getObjectClassLabel","isPlainObject","value","Object","prototype","toString","call","getPrototypeOf","hasOwnProperty"],"mappings":";;;;;;;;;;;;;;IAAgBA,mBAAmB,EAAA;eAAnBA;;IAIAC,aAAa,EAAA;eAAbA;;;AAJT,SAASD,oBAAoBE,KAAU;IAC5C,OAAOC,OAAOC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACJ;AACxC;AAEO,SAASD,cAAcC,KAAU;IACtC,IAAIF,oBAAoBE,WAAW,mBAAmB;QACpD,OAAO;IACT;IAEA,MAAME,YAAYD,OAAOI,cAAc,CAACL;IAExC;;;;;;;;GAQC,GACD,OAAOE,cAAc,QAAQA,UAAUI,cAAc,CAAC;AACxD","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 1470, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/compiled/safe-stable-stringify/index.js"],"sourcesContent":["(function(){\"use strict\";var e={879:function(e,t){const{hasOwnProperty:n}=Object.prototype;const r=configure();r.configure=configure;r.stringify=r;r.default=r;t.stringify=r;t.configure=configure;e.exports=r;const i=/[\\u0000-\\u001f\\u0022\\u005c\\ud800-\\udfff]/;function strEscape(e){if(e.length<5e3&&!i.test(e)){return`\"${e}\"`}return JSON.stringify(e)}function sort(e,t){if(e.length>200||t){return e.sort(t)}for(let t=1;tn){e[r]=e[r-1];r--}e[r]=n}return e}const f=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function isTypedArrayWithEntries(e){return f.call(e)!==undefined&&e.length!==0}function stringifyTypedArray(e,t,n){if(e.length= 1`)}}return r===undefined?Infinity:r}function getItemCount(e){if(e===1){return\"1 item\"}return`${e} items`}function getUniqueReplacerSet(e){const t=new Set;for(const n of e){if(typeof n===\"string\"||typeof n===\"number\"){t.add(String(n))}}return t}function getStrictOption(e){if(n.call(e,\"strict\")){const t=e.strict;if(typeof t!==\"boolean\"){throw new TypeError('The \"strict\" argument must be of type boolean')}if(t){return e=>{let t=`Object can not safely be stringified. Received type ${typeof e}`;if(typeof e!==\"function\")t+=` (${e.toString()})`;throw new Error(t)}}}}function configure(e){e={...e};const t=getStrictOption(e);if(t){if(e.bigint===undefined){e.bigint=false}if(!(\"circularValue\"in e)){e.circularValue=Error}}const n=getCircularValueOption(e);const r=getBooleanOption(e,\"bigint\");const i=getDeterministicOption(e);const f=typeof i===\"function\"?i:undefined;const u=getPositiveIntegerOption(e,\"maximumDepth\");const o=getPositiveIntegerOption(e,\"maximumBreadth\");function stringifyFnReplacer(e,s,l,c,a,g){let p=s[e];if(typeof p===\"object\"&&p!==null&&typeof p.toJSON===\"function\"){p=p.toJSON(e)}p=c.call(s,e,p);switch(typeof p){case\"string\":return strEscape(p);case\"object\":{if(p===null){return\"null\"}if(l.indexOf(p)!==-1){return n}let e=\"\";let t=\",\";const r=g;if(Array.isArray(p)){if(p.length===0){return\"[]\"}if(uo){const n=p.length-o-1;e+=`${t}\"... ${getItemCount(n)} not stringified\"`}if(a!==\"\"){e+=`\\n${r}`}l.pop();return`[${e}]`}let s=Object.keys(p);const y=s.length;if(y===0){return\"{}\"}if(uo){const n=y-o;e+=`${h}\"...\":${d}\"${getItemCount(n)} not stringified\"`;h=t}if(a!==\"\"&&h.length>1){e=`\\n${g}${e}\\n${r}`}l.pop();return`{${e}}`}case\"number\":return isFinite(p)?String(p):t?t(p):\"null\";case\"boolean\":return p===true?\"true\":\"false\";case\"undefined\":return undefined;case\"bigint\":if(r){return String(p)}default:return t?t(p):undefined}}function stringifyArrayReplacer(e,i,f,s,l,c){if(typeof i===\"object\"&&i!==null&&typeof i.toJSON===\"function\"){i=i.toJSON(e)}switch(typeof i){case\"string\":return strEscape(i);case\"object\":{if(i===null){return\"null\"}if(f.indexOf(i)!==-1){return n}const e=c;let t=\"\";let r=\",\";if(Array.isArray(i)){if(i.length===0){return\"[]\"}if(uo){const e=i.length-o-1;t+=`${r}\"... ${getItemCount(e)} not stringified\"`}if(l!==\"\"){t+=`\\n${e}`}f.pop();return`[${t}]`}f.push(i);let a=\"\";if(l!==\"\"){c+=l;r=`,\\n${c}`;a=\" \"}let g=\"\";for(const e of s){const n=stringifyArrayReplacer(e,i[e],f,s,l,c);if(n!==undefined){t+=`${g}${strEscape(e)}:${a}${n}`;g=r}}if(l!==\"\"&&g.length>1){t=`\\n${c}${t}\\n${e}`}f.pop();return`{${t}}`}case\"number\":return isFinite(i)?String(i):t?t(i):\"null\";case\"boolean\":return i===true?\"true\":\"false\";case\"undefined\":return undefined;case\"bigint\":if(r){return String(i)}default:return t?t(i):undefined}}function stringifyIndent(e,s,l,c,a){switch(typeof s){case\"string\":return strEscape(s);case\"object\":{if(s===null){return\"null\"}if(typeof s.toJSON===\"function\"){s=s.toJSON(e);if(typeof s!==\"object\"){return stringifyIndent(e,s,l,c,a)}if(s===null){return\"null\"}}if(l.indexOf(s)!==-1){return n}const t=a;if(Array.isArray(s)){if(s.length===0){return\"[]\"}if(uo){const t=s.length-o-1;e+=`${n}\"... ${getItemCount(t)} not stringified\"`}e+=`\\n${t}`;l.pop();return`[${e}]`}let r=Object.keys(s);const g=r.length;if(g===0){return\"{}\"}if(uo){const e=g-o;y+=`${d}\"...\": \"${getItemCount(e)} not stringified\"`;d=p}if(d!==\"\"){y=`\\n${a}${y}\\n${t}`}l.pop();return`{${y}}`}case\"number\":return isFinite(s)?String(s):t?t(s):\"null\";case\"boolean\":return s===true?\"true\":\"false\";case\"undefined\":return undefined;case\"bigint\":if(r){return String(s)}default:return t?t(s):undefined}}function stringifySimple(e,s,l){switch(typeof s){case\"string\":return strEscape(s);case\"object\":{if(s===null){return\"null\"}if(typeof s.toJSON===\"function\"){s=s.toJSON(e);if(typeof s!==\"object\"){return stringifySimple(e,s,l)}if(s===null){return\"null\"}}if(l.indexOf(s)!==-1){return n}let t=\"\";const r=s.length!==undefined;if(r&&Array.isArray(s)){if(s.length===0){return\"[]\"}if(uo){const e=s.length-o-1;t+=`,\"... ${getItemCount(e)} not stringified\"`}l.pop();return`[${t}]`}let c=Object.keys(s);const a=c.length;if(a===0){return\"{}\"}if(uo){const e=a-o;t+=`${g}\"...\":\"${getItemCount(e)} not stringified\"`}l.pop();return`{${t}}`}case\"number\":return isFinite(s)?String(s):t?t(s):\"null\";case\"boolean\":return s===true?\"true\":\"false\";case\"undefined\":return undefined;case\"bigint\":if(r){return String(s)}default:return t?t(s):undefined}}function stringify(e,t,n){if(arguments.length>1){let r=\"\";if(typeof n===\"number\"){r=\" \".repeat(Math.min(n,10))}else if(typeof n===\"string\"){r=n.slice(0,10)}if(t!=null){if(typeof t===\"function\"){return stringifyFnReplacer(\"\",{\"\":e},[],t,r,\"\")}if(Array.isArray(t)){return stringifyArrayReplacer(\"\",e,[],getUniqueReplacerSet(t),r,\"\")}}if(r.length!==0){return stringifyIndent(\"\",e,[],r,\"\")}}return stringifySimple(\"\",e,[])}return stringify}}};var t={};function __nccwpck_require__(n){var r=t[n];if(r!==undefined){return r.exports}var i=t[n]={exports:{}};var f=true;try{e[n](i,i.exports,__nccwpck_require__);f=false}finally{if(f)delete t[n]}return i.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var n=__nccwpck_require__(879);module.exports=n})();"],"names":[],"mappings":"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","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 2070, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/lib/is-error.ts"],"sourcesContent":["import { isPlainObject } from '../shared/lib/is-plain-object'\nimport safeStringify from 'next/dist/compiled/safe-stable-stringify'\n\n// We allow some additional attached properties for Next.js errors\nexport interface NextError extends Error {\n type?: string\n page?: string\n code?: string | number\n cancelled?: boolean\n digest?: number\n}\n\n/**\n * Checks whether the given value is a NextError.\n * This can be used to print a more detailed error message with properties like `code` & `digest`.\n */\nexport default function isError(err: unknown): err is NextError {\n return (\n typeof err === 'object' && err !== null && 'name' in err && 'message' in err\n )\n}\n\nexport function getProperError(err: unknown): Error {\n if (isError(err)) {\n return err\n }\n\n if (process.env.NODE_ENV === 'development') {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === 'undefined') {\n return new Error(\n 'An undefined error was thrown, ' +\n 'see here for more info: https://nextjs.org/docs/messages/threw-undefined'\n )\n }\n\n if (err === null) {\n return new Error(\n 'A null error was thrown, ' +\n 'see here for more info: https://nextjs.org/docs/messages/threw-undefined'\n )\n }\n }\n\n return new Error(isPlainObject(err) ? safeStringify(err) : err + '')\n}\n"],"names":["isError","getProperError","err","process","env","NODE_ENV","Error","isPlainObject","safeStringify"],"mappings":";;;;;;;;;;;;;;IAYA;;;CAGC,GACD,OAIC,EAAA;eAJuBA;;IAMRC,cAAc,EAAA;eAAdA;;;+BAtBc;4EACJ;;;;;;AAeX,SAASD,QAAQE,GAAY;IAC1C,OACE,OAAOA,QAAQ,YAAYA,QAAQ,QAAQ,UAAUA,OAAO,aAAaA;AAE7E;AAEO,SAASD,eAAeC,GAAY;IACzC,IAAIF,QAAQE,MAAM;QAChB,OAAOA;IACT;IAEA,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,WAAe;QAC1C,wDAAwD;QACxD,2BAA2B;QAC3B,IAAI,OAAOH,QAAQ,aAAa;YAC9B,OAAO,OAAA,cAGN,CAHM,IAAII,MACT,oCACE,6EAFG,qBAAA;uBAAA;4BAAA;8BAAA;YAGP;QACF;QAEA,IAAIJ,QAAQ,MAAM;YAChB,OAAO,OAAA,cAGN,CAHM,IAAII,MACT,8BACE,6EAFG,qBAAA;uBAAA;4BAAA;8BAAA;YAGP;QACF;IACF;IAEA,OAAO,OAAA,cAA6D,CAA7D,IAAIA,MAAMC,CAAAA,GAAAA,eAAAA,aAAa,EAACL,OAAOM,CAAAA,GAAAA,qBAAAA,OAAa,EAACN,OAAOA,MAAM,KAA1D,qBAAA;eAAA;oBAAA;sBAAA;IAA4D;AACrE","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 2136, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/server/route-modules/pages/module.compiled.js"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/pages/module.js')\n} else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/pages-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/pages.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/pages-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/pages.runtime.prod.js')\n }\n }\n}\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","NODE_ENV","TURBOPACK"],"mappings":"AAAA,IAAIA,QAAQC,GAAG,CAACC,YAAY,KAAK,QAAQ;;KAElC;IACL,IAAIF,QAAQC,GAAG,CAACK,QAAQ,KAAK,WAAe;QAC1C,IAAIN,QAAQC,GAAG,CAACM,SAAS,eAAE;YACzBJ,OAAOC,OAAO,GAAGC,QAAQ;QAC3B,OAAO;;IAGT,OAAO;;AAOT","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 2151, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/server/route-modules/pages/vendored/contexts/html-context.ts"],"sourcesContent":["module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HtmlContext\n"],"names":["module","exports","require","vendored","HtmlContext"],"mappings":"AAAAA,OAAOC,OAAO,GACZC,QAAQ,mIACRC,QAAQ,CAAC,WAAW,CAACC,WAAW","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 2156, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/shared/lib/encode-uri-path.ts"],"sourcesContent":["export function encodeURIPath(file: string) {\n return file\n .split('/')\n .map((p) => encodeURIComponent(p))\n .join('/')\n}\n"],"names":["encodeURIPath","file","split","map","p","encodeURIComponent","join"],"mappings":";;;+BAAgBA,iBAAAA;;;eAAAA;;;AAAT,SAASA,cAAcC,IAAY;IACxC,OAAOA,KACJC,KAAK,CAAC,KACNC,GAAG,CAAC,CAACC,IAAMC,mBAAmBD,IAC9BE,IAAI,CAAC;AACV","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 2172, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/server/lib/trace/constants.ts"],"sourcesContent":["/**\n * Contains predefined constants for the trace span name in next/server.\n *\n * Currently, next/server/tracer is internal implementation only for tracking\n * next.js's implementation only with known span names defined here.\n **/\n\n// eslint typescript has a bug with TS enums\n\nenum BaseServerSpan {\n handleRequest = 'BaseServer.handleRequest',\n run = 'BaseServer.run',\n pipe = 'BaseServer.pipe',\n getStaticHTML = 'BaseServer.getStaticHTML',\n render = 'BaseServer.render',\n renderToResponseWithComponents = 'BaseServer.renderToResponseWithComponents',\n renderToResponse = 'BaseServer.renderToResponse',\n renderToHTML = 'BaseServer.renderToHTML',\n renderError = 'BaseServer.renderError',\n renderErrorToResponse = 'BaseServer.renderErrorToResponse',\n renderErrorToHTML = 'BaseServer.renderErrorToHTML',\n render404 = 'BaseServer.render404',\n}\n\nenum LoadComponentsSpan {\n loadDefaultErrorComponents = 'LoadComponents.loadDefaultErrorComponents',\n loadComponents = 'LoadComponents.loadComponents',\n}\n\nenum NextServerSpan {\n getRequestHandler = 'NextServer.getRequestHandler',\n getRequestHandlerWithMetadata = 'NextServer.getRequestHandlerWithMetadata',\n getServer = 'NextServer.getServer',\n getServerRequestHandler = 'NextServer.getServerRequestHandler',\n createServer = 'createServer.createServer',\n}\n\nenum NextNodeServerSpan {\n compression = 'NextNodeServer.compression',\n getBuildId = 'NextNodeServer.getBuildId',\n createComponentTree = 'NextNodeServer.createComponentTree',\n clientComponentLoading = 'NextNodeServer.clientComponentLoading',\n getLayoutOrPageModule = 'NextNodeServer.getLayoutOrPageModule',\n generateStaticRoutes = 'NextNodeServer.generateStaticRoutes',\n generateFsStaticRoutes = 'NextNodeServer.generateFsStaticRoutes',\n generatePublicRoutes = 'NextNodeServer.generatePublicRoutes',\n generateImageRoutes = 'NextNodeServer.generateImageRoutes.route',\n sendRenderResult = 'NextNodeServer.sendRenderResult',\n proxyRequest = 'NextNodeServer.proxyRequest',\n runApi = 'NextNodeServer.runApi',\n render = 'NextNodeServer.render',\n renderHTML = 'NextNodeServer.renderHTML',\n imageOptimizer = 'NextNodeServer.imageOptimizer',\n getPagePath = 'NextNodeServer.getPagePath',\n getRoutesManifest = 'NextNodeServer.getRoutesManifest',\n findPageComponents = 'NextNodeServer.findPageComponents',\n getFontManifest = 'NextNodeServer.getFontManifest',\n getServerComponentManifest = 'NextNodeServer.getServerComponentManifest',\n getRequestHandler = 'NextNodeServer.getRequestHandler',\n renderToHTML = 'NextNodeServer.renderToHTML',\n renderError = 'NextNodeServer.renderError',\n renderErrorToHTML = 'NextNodeServer.renderErrorToHTML',\n render404 = 'NextNodeServer.render404',\n startResponse = 'NextNodeServer.startResponse',\n\n // nested inner span, does not require parent scope name\n route = 'route',\n onProxyReq = 'onProxyReq',\n apiResolver = 'apiResolver',\n internalFetch = 'internalFetch',\n}\n\nenum StartServerSpan {\n startServer = 'startServer.startServer',\n}\n\nenum RenderSpan {\n getServerSideProps = 'Render.getServerSideProps',\n getStaticProps = 'Render.getStaticProps',\n renderToString = 'Render.renderToString',\n renderDocument = 'Render.renderDocument',\n createBodyResult = 'Render.createBodyResult',\n}\n\nenum AppRenderSpan {\n renderToString = 'AppRender.renderToString',\n renderToReadableStream = 'AppRender.renderToReadableStream',\n getBodyResult = 'AppRender.getBodyResult',\n fetch = 'AppRender.fetch',\n}\n\nenum RouterSpan {\n executeRoute = 'Router.executeRoute',\n}\n\nenum NodeSpan {\n runHandler = 'Node.runHandler',\n}\n\nenum AppRouteRouteHandlersSpan {\n runHandler = 'AppRouteRouteHandlers.runHandler',\n}\n\nenum ResolveMetadataSpan {\n generateMetadata = 'ResolveMetadata.generateMetadata',\n generateViewport = 'ResolveMetadata.generateViewport',\n}\n\nenum MiddlewareSpan {\n execute = 'Middleware.execute',\n}\n\ntype SpanTypes =\n | `${BaseServerSpan}`\n | `${LoadComponentsSpan}`\n | `${NextServerSpan}`\n | `${StartServerSpan}`\n | `${NextNodeServerSpan}`\n | `${RenderSpan}`\n | `${RouterSpan}`\n | `${AppRenderSpan}`\n | `${NodeSpan}`\n | `${AppRouteRouteHandlersSpan}`\n | `${ResolveMetadataSpan}`\n | `${MiddlewareSpan}`\n\n// This list is used to filter out spans that are not relevant to the user\nexport const NextVanillaSpanAllowlist = [\n MiddlewareSpan.execute,\n BaseServerSpan.handleRequest,\n RenderSpan.getServerSideProps,\n RenderSpan.getStaticProps,\n AppRenderSpan.fetch,\n AppRenderSpan.getBodyResult,\n RenderSpan.renderDocument,\n NodeSpan.runHandler,\n AppRouteRouteHandlersSpan.runHandler,\n ResolveMetadataSpan.generateMetadata,\n ResolveMetadataSpan.generateViewport,\n NextNodeServerSpan.createComponentTree,\n NextNodeServerSpan.findPageComponents,\n NextNodeServerSpan.getLayoutOrPageModule,\n NextNodeServerSpan.startResponse,\n NextNodeServerSpan.clientComponentLoading,\n]\n\n// These Spans are allowed to be always logged\n// when the otel log prefix env is set\nexport const LogSpanAllowList = [\n NextNodeServerSpan.findPageComponents,\n NextNodeServerSpan.createComponentTree,\n NextNodeServerSpan.clientComponentLoading,\n]\n\nexport {\n BaseServerSpan,\n LoadComponentsSpan,\n NextServerSpan,\n NextNodeServerSpan,\n StartServerSpan,\n RenderSpan,\n RouterSpan,\n AppRenderSpan,\n NodeSpan,\n AppRouteRouteHandlersSpan,\n ResolveMetadataSpan,\n MiddlewareSpan,\n}\n\nexport type { SpanTypes }\n"],"names":["AppRenderSpan","AppRouteRouteHandlersSpan","BaseServerSpan","LoadComponentsSpan","LogSpanAllowList","MiddlewareSpan","NextNodeServerSpan","NextServerSpan","NextVanillaSpanAllowlist","NodeSpan","RenderSpan","ResolveMetadataSpan","RouterSpan","StartServerSpan"],"mappings":"AAAA;;;;;EAKE,GAEF,4CAA4C;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2J1CA,aAAa,EAAA;eAAbA;;IAEAC,yBAAyB,EAAA;eAAzBA;;IATAC,cAAc,EAAA;eAAdA;;IACAC,kBAAkB,EAAA;eAAlBA;;IARWC,gBAAgB,EAAA;eAAhBA;;IAkBXC,cAAc,EAAA;eAAdA;;IARAC,kBAAkB,EAAA;eAAlBA;;IADAC,cAAc,EAAA;eAAdA;;IA9BWC,wBAAwB,EAAA;eAAxBA;;IAoCXC,QAAQ,EAAA;eAARA;;IAHAC,UAAU,EAAA;eAAVA;;IAKAC,mBAAmB,EAAA;eAAnBA;;IAJAC,UAAU,EAAA;eAAVA;;IAFAC,eAAe,EAAA;eAAfA;;;AAtJF,IAAKX,iBAAAA,WAAAA,GAAAA,SAAAA,cAAAA;;;;;;;;;;;;;WAAAA;EAAAA,kBAAAA,CAAAA;AAeL,IAAKC,qBAAAA,WAAAA,GAAAA,SAAAA,kBAAAA;;;WAAAA;EAAAA,sBAAAA,CAAAA;AAKL,IAAKI,iBAAAA,WAAAA,GAAAA,SAAAA,cAAAA;;;;;;WAAAA;EAAAA,kBAAAA,CAAAA;AAQL,IAAKD,qBAAAA,WAAAA,GAAAA,SAAAA,kBAAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4BH,wDAAwD;;;;;WA5BrDA;EAAAA,sBAAAA,CAAAA;AAmCL,IAAKO,kBAAAA,WAAAA,GAAAA,SAAAA,eAAAA;;WAAAA;EAAAA,mBAAAA,CAAAA;AAIL,IAAKH,aAAAA,WAAAA,GAAAA,SAAAA,UAAAA;;;;;;WAAAA;EAAAA,cAAAA,CAAAA;AAQL,IAAKV,gBAAAA,WAAAA,GAAAA,SAAAA,aAAAA;;;;;WAAAA;EAAAA,iBAAAA,CAAAA;AAOL,IAAKY,aAAAA,WAAAA,GAAAA,SAAAA,UAAAA;;WAAAA;EAAAA,cAAAA,CAAAA;AAIL,IAAKH,WAAAA,WAAAA,GAAAA,SAAAA,QAAAA;;WAAAA;EAAAA,YAAAA,CAAAA;AAIL,IAAKR,4BAAAA,WAAAA,GAAAA,SAAAA,yBAAAA;;WAAAA;EAAAA,6BAAAA,CAAAA;AAIL,IAAKU,sBAAAA,WAAAA,GAAAA,SAAAA,mBAAAA;;;WAAAA;EAAAA,uBAAAA,CAAAA;AAKL,IAAKN,iBAAAA,WAAAA,GAAAA,SAAAA,cAAAA;;WAAAA;EAAAA,kBAAAA,CAAAA;AAmBE,MAAMG,2BAA2B;;;;;;;;;;;;;;;;;CAiBvC;AAIM,MAAMJ,mBAAmB;;;;CAI/B","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 2376, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/shared/lib/is-thenable.ts"],"sourcesContent":["/**\n * Check to see if a value is Thenable.\n *\n * @param promise the maybe-thenable value\n * @returns true if the value is thenable\n */\nexport function isThenable(\n promise: Promise | T\n): promise is Promise {\n return (\n promise !== null &&\n typeof promise === 'object' &&\n 'then' in promise &&\n typeof promise.then === 'function'\n )\n}\n"],"names":["isThenable","promise","then"],"mappings":"AAAA;;;;;CAKC;;;+BACeA,cAAAA;;;eAAAA;;;AAAT,SAASA,WACdC,OAAuB;IAEvB,OACEA,YAAY,QACZ,OAAOA,YAAY,YACnB,UAAUA,WACV,OAAOA,QAAQC,IAAI,KAAK;AAE5B","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 2396, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/compiled/%40opentelemetry/api/index.js"],"sourcesContent":["(()=>{\"use strict\";var e={491:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.ContextAPI=void 0;const n=r(223);const a=r(172);const o=r(930);const i=\"context\";const c=new n.NoopContextManager;class ContextAPI{constructor(){}static getInstance(){if(!this._instance){this._instance=new ContextAPI}return this._instance}setGlobalContextManager(e){return(0,a.registerGlobal)(i,e,o.DiagAPI.instance())}active(){return this._getContextManager().active()}with(e,t,r,...n){return this._getContextManager().with(e,t,r,...n)}bind(e,t){return this._getContextManager().bind(e,t)}_getContextManager(){return(0,a.getGlobal)(i)||c}disable(){this._getContextManager().disable();(0,a.unregisterGlobal)(i,o.DiagAPI.instance())}}t.ContextAPI=ContextAPI},930:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.DiagAPI=void 0;const n=r(56);const a=r(912);const o=r(957);const i=r(172);const c=\"diag\";class DiagAPI{constructor(){function _logProxy(e){return function(...t){const r=(0,i.getGlobal)(\"diag\");if(!r)return;return r[e](...t)}}const e=this;const setLogger=(t,r={logLevel:o.DiagLogLevel.INFO})=>{var n,c,s;if(t===e){const t=new Error(\"Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation\");e.error((n=t.stack)!==null&&n!==void 0?n:t.message);return false}if(typeof r===\"number\"){r={logLevel:r}}const u=(0,i.getGlobal)(\"diag\");const l=(0,a.createLogLevelDiagLogger)((c=r.logLevel)!==null&&c!==void 0?c:o.DiagLogLevel.INFO,t);if(u&&!r.suppressOverrideMessage){const e=(s=(new Error).stack)!==null&&s!==void 0?s:\"\";u.warn(`Current logger will be overwritten from ${e}`);l.warn(`Current logger will overwrite one already registered from ${e}`)}return(0,i.registerGlobal)(\"diag\",l,e,true)};e.setLogger=setLogger;e.disable=()=>{(0,i.unregisterGlobal)(c,e)};e.createComponentLogger=e=>new n.DiagComponentLogger(e);e.verbose=_logProxy(\"verbose\");e.debug=_logProxy(\"debug\");e.info=_logProxy(\"info\");e.warn=_logProxy(\"warn\");e.error=_logProxy(\"error\")}static instance(){if(!this._instance){this._instance=new DiagAPI}return this._instance}}t.DiagAPI=DiagAPI},653:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.MetricsAPI=void 0;const n=r(660);const a=r(172);const o=r(930);const i=\"metrics\";class MetricsAPI{constructor(){}static getInstance(){if(!this._instance){this._instance=new MetricsAPI}return this._instance}setGlobalMeterProvider(e){return(0,a.registerGlobal)(i,e,o.DiagAPI.instance())}getMeterProvider(){return(0,a.getGlobal)(i)||n.NOOP_METER_PROVIDER}getMeter(e,t,r){return this.getMeterProvider().getMeter(e,t,r)}disable(){(0,a.unregisterGlobal)(i,o.DiagAPI.instance())}}t.MetricsAPI=MetricsAPI},181:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.PropagationAPI=void 0;const n=r(172);const a=r(874);const o=r(194);const i=r(277);const c=r(369);const s=r(930);const u=\"propagation\";const l=new a.NoopTextMapPropagator;class PropagationAPI{constructor(){this.createBaggage=c.createBaggage;this.getBaggage=i.getBaggage;this.getActiveBaggage=i.getActiveBaggage;this.setBaggage=i.setBaggage;this.deleteBaggage=i.deleteBaggage}static getInstance(){if(!this._instance){this._instance=new PropagationAPI}return this._instance}setGlobalPropagator(e){return(0,n.registerGlobal)(u,e,s.DiagAPI.instance())}inject(e,t,r=o.defaultTextMapSetter){return this._getGlobalPropagator().inject(e,t,r)}extract(e,t,r=o.defaultTextMapGetter){return this._getGlobalPropagator().extract(e,t,r)}fields(){return this._getGlobalPropagator().fields()}disable(){(0,n.unregisterGlobal)(u,s.DiagAPI.instance())}_getGlobalPropagator(){return(0,n.getGlobal)(u)||l}}t.PropagationAPI=PropagationAPI},997:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.TraceAPI=void 0;const n=r(172);const a=r(846);const o=r(139);const i=r(607);const c=r(930);const s=\"trace\";class TraceAPI{constructor(){this._proxyTracerProvider=new a.ProxyTracerProvider;this.wrapSpanContext=o.wrapSpanContext;this.isSpanContextValid=o.isSpanContextValid;this.deleteSpan=i.deleteSpan;this.getSpan=i.getSpan;this.getActiveSpan=i.getActiveSpan;this.getSpanContext=i.getSpanContext;this.setSpan=i.setSpan;this.setSpanContext=i.setSpanContext}static getInstance(){if(!this._instance){this._instance=new TraceAPI}return this._instance}setGlobalTracerProvider(e){const t=(0,n.registerGlobal)(s,this._proxyTracerProvider,c.DiagAPI.instance());if(t){this._proxyTracerProvider.setDelegate(e)}return t}getTracerProvider(){return(0,n.getGlobal)(s)||this._proxyTracerProvider}getTracer(e,t){return this.getTracerProvider().getTracer(e,t)}disable(){(0,n.unregisterGlobal)(s,c.DiagAPI.instance());this._proxyTracerProvider=new a.ProxyTracerProvider}}t.TraceAPI=TraceAPI},277:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.deleteBaggage=t.setBaggage=t.getActiveBaggage=t.getBaggage=void 0;const n=r(491);const a=r(780);const o=(0,a.createContextKey)(\"OpenTelemetry Baggage Key\");function getBaggage(e){return e.getValue(o)||undefined}t.getBaggage=getBaggage;function getActiveBaggage(){return getBaggage(n.ContextAPI.getInstance().active())}t.getActiveBaggage=getActiveBaggage;function setBaggage(e,t){return e.setValue(o,t)}t.setBaggage=setBaggage;function deleteBaggage(e){return e.deleteValue(o)}t.deleteBaggage=deleteBaggage},993:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.BaggageImpl=void 0;class BaggageImpl{constructor(e){this._entries=e?new Map(e):new Map}getEntry(e){const t=this._entries.get(e);if(!t){return undefined}return Object.assign({},t)}getAllEntries(){return Array.from(this._entries.entries()).map((([e,t])=>[e,t]))}setEntry(e,t){const r=new BaggageImpl(this._entries);r._entries.set(e,t);return r}removeEntry(e){const t=new BaggageImpl(this._entries);t._entries.delete(e);return t}removeEntries(...e){const t=new BaggageImpl(this._entries);for(const r of e){t._entries.delete(r)}return t}clear(){return new BaggageImpl}}t.BaggageImpl=BaggageImpl},830:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.baggageEntryMetadataSymbol=void 0;t.baggageEntryMetadataSymbol=Symbol(\"BaggageEntryMetadata\")},369:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.baggageEntryMetadataFromString=t.createBaggage=void 0;const n=r(930);const a=r(993);const o=r(830);const i=n.DiagAPI.instance();function createBaggage(e={}){return new a.BaggageImpl(new Map(Object.entries(e)))}t.createBaggage=createBaggage;function baggageEntryMetadataFromString(e){if(typeof e!==\"string\"){i.error(`Cannot create baggage metadata from unknown type: ${typeof e}`);e=\"\"}return{__TYPE__:o.baggageEntryMetadataSymbol,toString(){return e}}}t.baggageEntryMetadataFromString=baggageEntryMetadataFromString},67:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.context=void 0;const n=r(491);t.context=n.ContextAPI.getInstance()},223:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NoopContextManager=void 0;const n=r(780);class NoopContextManager{active(){return n.ROOT_CONTEXT}with(e,t,r,...n){return t.call(r,...n)}bind(e,t){return t}enable(){return this}disable(){return this}}t.NoopContextManager=NoopContextManager},780:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.ROOT_CONTEXT=t.createContextKey=void 0;function createContextKey(e){return Symbol.for(e)}t.createContextKey=createContextKey;class BaseContext{constructor(e){const t=this;t._currentContext=e?new Map(e):new Map;t.getValue=e=>t._currentContext.get(e);t.setValue=(e,r)=>{const n=new BaseContext(t._currentContext);n._currentContext.set(e,r);return n};t.deleteValue=e=>{const r=new BaseContext(t._currentContext);r._currentContext.delete(e);return r}}}t.ROOT_CONTEXT=new BaseContext},506:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.diag=void 0;const n=r(930);t.diag=n.DiagAPI.instance()},56:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.DiagComponentLogger=void 0;const n=r(172);class DiagComponentLogger{constructor(e){this._namespace=e.namespace||\"DiagComponentLogger\"}debug(...e){return logProxy(\"debug\",this._namespace,e)}error(...e){return logProxy(\"error\",this._namespace,e)}info(...e){return logProxy(\"info\",this._namespace,e)}warn(...e){return logProxy(\"warn\",this._namespace,e)}verbose(...e){return logProxy(\"verbose\",this._namespace,e)}}t.DiagComponentLogger=DiagComponentLogger;function logProxy(e,t,r){const a=(0,n.getGlobal)(\"diag\");if(!a){return}r.unshift(t);return a[e](...r)}},972:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.DiagConsoleLogger=void 0;const r=[{n:\"error\",c:\"error\"},{n:\"warn\",c:\"warn\"},{n:\"info\",c:\"info\"},{n:\"debug\",c:\"debug\"},{n:\"verbose\",c:\"trace\"}];class DiagConsoleLogger{constructor(){function _consoleFunc(e){return function(...t){if(console){let r=console[e];if(typeof r!==\"function\"){r=console.log}if(typeof r===\"function\"){return r.apply(console,t)}}}}for(let e=0;e{Object.defineProperty(t,\"__esModule\",{value:true});t.createLogLevelDiagLogger=void 0;const n=r(957);function createLogLevelDiagLogger(e,t){if(en.DiagLogLevel.ALL){e=n.DiagLogLevel.ALL}t=t||{};function _filterFunc(r,n){const a=t[r];if(typeof a===\"function\"&&e>=n){return a.bind(t)}return function(){}}return{error:_filterFunc(\"error\",n.DiagLogLevel.ERROR),warn:_filterFunc(\"warn\",n.DiagLogLevel.WARN),info:_filterFunc(\"info\",n.DiagLogLevel.INFO),debug:_filterFunc(\"debug\",n.DiagLogLevel.DEBUG),verbose:_filterFunc(\"verbose\",n.DiagLogLevel.VERBOSE)}}t.createLogLevelDiagLogger=createLogLevelDiagLogger},957:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.DiagLogLevel=void 0;var r;(function(e){e[e[\"NONE\"]=0]=\"NONE\";e[e[\"ERROR\"]=30]=\"ERROR\";e[e[\"WARN\"]=50]=\"WARN\";e[e[\"INFO\"]=60]=\"INFO\";e[e[\"DEBUG\"]=70]=\"DEBUG\";e[e[\"VERBOSE\"]=80]=\"VERBOSE\";e[e[\"ALL\"]=9999]=\"ALL\"})(r=t.DiagLogLevel||(t.DiagLogLevel={}))},172:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.unregisterGlobal=t.getGlobal=t.registerGlobal=void 0;const n=r(200);const a=r(521);const o=r(130);const i=a.VERSION.split(\".\")[0];const c=Symbol.for(`opentelemetry.js.api.${i}`);const s=n._globalThis;function registerGlobal(e,t,r,n=false){var o;const i=s[c]=(o=s[c])!==null&&o!==void 0?o:{version:a.VERSION};if(!n&&i[e]){const t=new Error(`@opentelemetry/api: Attempted duplicate registration of API: ${e}`);r.error(t.stack||t.message);return false}if(i.version!==a.VERSION){const t=new Error(`@opentelemetry/api: Registration of version v${i.version} for ${e} does not match previously registered API v${a.VERSION}`);r.error(t.stack||t.message);return false}i[e]=t;r.debug(`@opentelemetry/api: Registered a global for ${e} v${a.VERSION}.`);return true}t.registerGlobal=registerGlobal;function getGlobal(e){var t,r;const n=(t=s[c])===null||t===void 0?void 0:t.version;if(!n||!(0,o.isCompatible)(n)){return}return(r=s[c])===null||r===void 0?void 0:r[e]}t.getGlobal=getGlobal;function unregisterGlobal(e,t){t.debug(`@opentelemetry/api: Unregistering a global for ${e} v${a.VERSION}.`);const r=s[c];if(r){delete r[e]}}t.unregisterGlobal=unregisterGlobal},130:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.isCompatible=t._makeCompatibilityCheck=void 0;const n=r(521);const a=/^(\\d+)\\.(\\d+)\\.(\\d+)(-(.+))?$/;function _makeCompatibilityCheck(e){const t=new Set([e]);const r=new Set;const n=e.match(a);if(!n){return()=>false}const o={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(o.prerelease!=null){return function isExactmatch(t){return t===e}}function _reject(e){r.add(e);return false}function _accept(e){t.add(e);return true}return function isCompatible(e){if(t.has(e)){return true}if(r.has(e)){return false}const n=e.match(a);if(!n){return _reject(e)}const i={major:+n[1],minor:+n[2],patch:+n[3],prerelease:n[4]};if(i.prerelease!=null){return _reject(e)}if(o.major!==i.major){return _reject(e)}if(o.major===0){if(o.minor===i.minor&&o.patch<=i.patch){return _accept(e)}return _reject(e)}if(o.minor<=i.minor){return _accept(e)}return _reject(e)}}t._makeCompatibilityCheck=_makeCompatibilityCheck;t.isCompatible=_makeCompatibilityCheck(n.VERSION)},886:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.metrics=void 0;const n=r(653);t.metrics=n.MetricsAPI.getInstance()},901:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.ValueType=void 0;var r;(function(e){e[e[\"INT\"]=0]=\"INT\";e[e[\"DOUBLE\"]=1]=\"DOUBLE\"})(r=t.ValueType||(t.ValueType={}))},102:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.createNoopMeter=t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=t.NOOP_OBSERVABLE_GAUGE_METRIC=t.NOOP_OBSERVABLE_COUNTER_METRIC=t.NOOP_UP_DOWN_COUNTER_METRIC=t.NOOP_HISTOGRAM_METRIC=t.NOOP_COUNTER_METRIC=t.NOOP_METER=t.NoopObservableUpDownCounterMetric=t.NoopObservableGaugeMetric=t.NoopObservableCounterMetric=t.NoopObservableMetric=t.NoopHistogramMetric=t.NoopUpDownCounterMetric=t.NoopCounterMetric=t.NoopMetric=t.NoopMeter=void 0;class NoopMeter{constructor(){}createHistogram(e,r){return t.NOOP_HISTOGRAM_METRIC}createCounter(e,r){return t.NOOP_COUNTER_METRIC}createUpDownCounter(e,r){return t.NOOP_UP_DOWN_COUNTER_METRIC}createObservableGauge(e,r){return t.NOOP_OBSERVABLE_GAUGE_METRIC}createObservableCounter(e,r){return t.NOOP_OBSERVABLE_COUNTER_METRIC}createObservableUpDownCounter(e,r){return t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC}addBatchObservableCallback(e,t){}removeBatchObservableCallback(e){}}t.NoopMeter=NoopMeter;class NoopMetric{}t.NoopMetric=NoopMetric;class NoopCounterMetric extends NoopMetric{add(e,t){}}t.NoopCounterMetric=NoopCounterMetric;class NoopUpDownCounterMetric extends NoopMetric{add(e,t){}}t.NoopUpDownCounterMetric=NoopUpDownCounterMetric;class NoopHistogramMetric extends NoopMetric{record(e,t){}}t.NoopHistogramMetric=NoopHistogramMetric;class NoopObservableMetric{addCallback(e){}removeCallback(e){}}t.NoopObservableMetric=NoopObservableMetric;class NoopObservableCounterMetric extends NoopObservableMetric{}t.NoopObservableCounterMetric=NoopObservableCounterMetric;class NoopObservableGaugeMetric extends NoopObservableMetric{}t.NoopObservableGaugeMetric=NoopObservableGaugeMetric;class NoopObservableUpDownCounterMetric extends NoopObservableMetric{}t.NoopObservableUpDownCounterMetric=NoopObservableUpDownCounterMetric;t.NOOP_METER=new NoopMeter;t.NOOP_COUNTER_METRIC=new NoopCounterMetric;t.NOOP_HISTOGRAM_METRIC=new NoopHistogramMetric;t.NOOP_UP_DOWN_COUNTER_METRIC=new NoopUpDownCounterMetric;t.NOOP_OBSERVABLE_COUNTER_METRIC=new NoopObservableCounterMetric;t.NOOP_OBSERVABLE_GAUGE_METRIC=new NoopObservableGaugeMetric;t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC=new NoopObservableUpDownCounterMetric;function createNoopMeter(){return t.NOOP_METER}t.createNoopMeter=createNoopMeter},660:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NOOP_METER_PROVIDER=t.NoopMeterProvider=void 0;const n=r(102);class NoopMeterProvider{getMeter(e,t,r){return n.NOOP_METER}}t.NoopMeterProvider=NoopMeterProvider;t.NOOP_METER_PROVIDER=new NoopMeterProvider},200:function(e,t,r){var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var a=this&&this.__exportStar||function(e,t){for(var r in e)if(r!==\"default\"&&!Object.prototype.hasOwnProperty.call(t,r))n(t,e,r)};Object.defineProperty(t,\"__esModule\",{value:true});a(r(46),t)},651:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t._globalThis=void 0;t._globalThis=typeof globalThis===\"object\"?globalThis:global},46:function(e,t,r){var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){if(n===undefined)n=r;Object.defineProperty(e,n,{enumerable:true,get:function(){return t[r]}})}:function(e,t,r,n){if(n===undefined)n=r;e[n]=t[r]});var a=this&&this.__exportStar||function(e,t){for(var r in e)if(r!==\"default\"&&!Object.prototype.hasOwnProperty.call(t,r))n(t,e,r)};Object.defineProperty(t,\"__esModule\",{value:true});a(r(651),t)},939:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.propagation=void 0;const n=r(181);t.propagation=n.PropagationAPI.getInstance()},874:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NoopTextMapPropagator=void 0;class NoopTextMapPropagator{inject(e,t){}extract(e,t){return e}fields(){return[]}}t.NoopTextMapPropagator=NoopTextMapPropagator},194:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.defaultTextMapSetter=t.defaultTextMapGetter=void 0;t.defaultTextMapGetter={get(e,t){if(e==null){return undefined}return e[t]},keys(e){if(e==null){return[]}return Object.keys(e)}};t.defaultTextMapSetter={set(e,t,r){if(e==null){return}e[t]=r}}},845:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.trace=void 0;const n=r(997);t.trace=n.TraceAPI.getInstance()},403:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NonRecordingSpan=void 0;const n=r(476);class NonRecordingSpan{constructor(e=n.INVALID_SPAN_CONTEXT){this._spanContext=e}spanContext(){return this._spanContext}setAttribute(e,t){return this}setAttributes(e){return this}addEvent(e,t){return this}setStatus(e){return this}updateName(e){return this}end(e){}isRecording(){return false}recordException(e,t){}}t.NonRecordingSpan=NonRecordingSpan},614:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NoopTracer=void 0;const n=r(491);const a=r(607);const o=r(403);const i=r(139);const c=n.ContextAPI.getInstance();class NoopTracer{startSpan(e,t,r=c.active()){const n=Boolean(t===null||t===void 0?void 0:t.root);if(n){return new o.NonRecordingSpan}const s=r&&(0,a.getSpanContext)(r);if(isSpanContext(s)&&(0,i.isSpanContextValid)(s)){return new o.NonRecordingSpan(s)}else{return new o.NonRecordingSpan}}startActiveSpan(e,t,r,n){let o;let i;let s;if(arguments.length<2){return}else if(arguments.length===2){s=t}else if(arguments.length===3){o=t;s=r}else{o=t;i=r;s=n}const u=i!==null&&i!==void 0?i:c.active();const l=this.startSpan(e,o,u);const g=(0,a.setSpan)(u,l);return c.with(g,s,undefined,l)}}t.NoopTracer=NoopTracer;function isSpanContext(e){return typeof e===\"object\"&&typeof e[\"spanId\"]===\"string\"&&typeof e[\"traceId\"]===\"string\"&&typeof e[\"traceFlags\"]===\"number\"}},124:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.NoopTracerProvider=void 0;const n=r(614);class NoopTracerProvider{getTracer(e,t,r){return new n.NoopTracer}}t.NoopTracerProvider=NoopTracerProvider},125:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.ProxyTracer=void 0;const n=r(614);const a=new n.NoopTracer;class ProxyTracer{constructor(e,t,r,n){this._provider=e;this.name=t;this.version=r;this.options=n}startSpan(e,t,r){return this._getTracer().startSpan(e,t,r)}startActiveSpan(e,t,r,n){const a=this._getTracer();return Reflect.apply(a.startActiveSpan,a,arguments)}_getTracer(){if(this._delegate){return this._delegate}const e=this._provider.getDelegateTracer(this.name,this.version,this.options);if(!e){return a}this._delegate=e;return this._delegate}}t.ProxyTracer=ProxyTracer},846:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.ProxyTracerProvider=void 0;const n=r(125);const a=r(124);const o=new a.NoopTracerProvider;class ProxyTracerProvider{getTracer(e,t,r){var a;return(a=this.getDelegateTracer(e,t,r))!==null&&a!==void 0?a:new n.ProxyTracer(this,e,t,r)}getDelegate(){var e;return(e=this._delegate)!==null&&e!==void 0?e:o}setDelegate(e){this._delegate=e}getDelegateTracer(e,t,r){var n;return(n=this._delegate)===null||n===void 0?void 0:n.getTracer(e,t,r)}}t.ProxyTracerProvider=ProxyTracerProvider},996:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.SamplingDecision=void 0;var r;(function(e){e[e[\"NOT_RECORD\"]=0]=\"NOT_RECORD\";e[e[\"RECORD\"]=1]=\"RECORD\";e[e[\"RECORD_AND_SAMPLED\"]=2]=\"RECORD_AND_SAMPLED\"})(r=t.SamplingDecision||(t.SamplingDecision={}))},607:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.getSpanContext=t.setSpanContext=t.deleteSpan=t.setSpan=t.getActiveSpan=t.getSpan=void 0;const n=r(780);const a=r(403);const o=r(491);const i=(0,n.createContextKey)(\"OpenTelemetry Context Key SPAN\");function getSpan(e){return e.getValue(i)||undefined}t.getSpan=getSpan;function getActiveSpan(){return getSpan(o.ContextAPI.getInstance().active())}t.getActiveSpan=getActiveSpan;function setSpan(e,t){return e.setValue(i,t)}t.setSpan=setSpan;function deleteSpan(e){return e.deleteValue(i)}t.deleteSpan=deleteSpan;function setSpanContext(e,t){return setSpan(e,new a.NonRecordingSpan(t))}t.setSpanContext=setSpanContext;function getSpanContext(e){var t;return(t=getSpan(e))===null||t===void 0?void 0:t.spanContext()}t.getSpanContext=getSpanContext},325:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.TraceStateImpl=void 0;const n=r(564);const a=32;const o=512;const i=\",\";const c=\"=\";class TraceStateImpl{constructor(e){this._internalState=new Map;if(e)this._parse(e)}set(e,t){const r=this._clone();if(r._internalState.has(e)){r._internalState.delete(e)}r._internalState.set(e,t);return r}unset(e){const t=this._clone();t._internalState.delete(e);return t}get(e){return this._internalState.get(e)}serialize(){return this._keys().reduce(((e,t)=>{e.push(t+c+this.get(t));return e}),[]).join(i)}_parse(e){if(e.length>o)return;this._internalState=e.split(i).reverse().reduce(((e,t)=>{const r=t.trim();const a=r.indexOf(c);if(a!==-1){const o=r.slice(0,a);const i=r.slice(a+1,t.length);if((0,n.validateKey)(o)&&(0,n.validateValue)(i)){e.set(o,i)}else{}}return e}),new Map);if(this._internalState.size>a){this._internalState=new Map(Array.from(this._internalState.entries()).reverse().slice(0,a))}}_keys(){return Array.from(this._internalState.keys()).reverse()}_clone(){const e=new TraceStateImpl;e._internalState=new Map(this._internalState);return e}}t.TraceStateImpl=TraceStateImpl},564:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.validateValue=t.validateKey=void 0;const r=\"[_0-9a-z-*/]\";const n=`[a-z]${r}{0,255}`;const a=`[a-z0-9]${r}{0,240}@[a-z]${r}{0,13}`;const o=new RegExp(`^(?:${n}|${a})$`);const i=/^[ -~]{0,255}[!-~]$/;const c=/,|=/;function validateKey(e){return o.test(e)}t.validateKey=validateKey;function validateValue(e){return i.test(e)&&!c.test(e)}t.validateValue=validateValue},98:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.createTraceState=void 0;const n=r(325);function createTraceState(e){return new n.TraceStateImpl(e)}t.createTraceState=createTraceState},476:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.INVALID_SPAN_CONTEXT=t.INVALID_TRACEID=t.INVALID_SPANID=void 0;const n=r(475);t.INVALID_SPANID=\"0000000000000000\";t.INVALID_TRACEID=\"00000000000000000000000000000000\";t.INVALID_SPAN_CONTEXT={traceId:t.INVALID_TRACEID,spanId:t.INVALID_SPANID,traceFlags:n.TraceFlags.NONE}},357:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.SpanKind=void 0;var r;(function(e){e[e[\"INTERNAL\"]=0]=\"INTERNAL\";e[e[\"SERVER\"]=1]=\"SERVER\";e[e[\"CLIENT\"]=2]=\"CLIENT\";e[e[\"PRODUCER\"]=3]=\"PRODUCER\";e[e[\"CONSUMER\"]=4]=\"CONSUMER\"})(r=t.SpanKind||(t.SpanKind={}))},139:(e,t,r)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.wrapSpanContext=t.isSpanContextValid=t.isValidSpanId=t.isValidTraceId=void 0;const n=r(476);const a=r(403);const o=/^([0-9a-f]{32})$/i;const i=/^[0-9a-f]{16}$/i;function isValidTraceId(e){return o.test(e)&&e!==n.INVALID_TRACEID}t.isValidTraceId=isValidTraceId;function isValidSpanId(e){return i.test(e)&&e!==n.INVALID_SPANID}t.isValidSpanId=isValidSpanId;function isSpanContextValid(e){return isValidTraceId(e.traceId)&&isValidSpanId(e.spanId)}t.isSpanContextValid=isSpanContextValid;function wrapSpanContext(e){return new a.NonRecordingSpan(e)}t.wrapSpanContext=wrapSpanContext},847:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.SpanStatusCode=void 0;var r;(function(e){e[e[\"UNSET\"]=0]=\"UNSET\";e[e[\"OK\"]=1]=\"OK\";e[e[\"ERROR\"]=2]=\"ERROR\"})(r=t.SpanStatusCode||(t.SpanStatusCode={}))},475:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.TraceFlags=void 0;var r;(function(e){e[e[\"NONE\"]=0]=\"NONE\";e[e[\"SAMPLED\"]=1]=\"SAMPLED\"})(r=t.TraceFlags||(t.TraceFlags={}))},521:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:true});t.VERSION=void 0;t.VERSION=\"1.6.0\"}};var t={};function __nccwpck_require__(r){var n=t[r];if(n!==undefined){return n.exports}var a=t[r]={exports:{}};var o=true;try{e[r].call(a.exports,a,a.exports,__nccwpck_require__);o=false}finally{if(o)delete t[r]}return a.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var r={};(()=>{var e=r;Object.defineProperty(e,\"__esModule\",{value:true});e.trace=e.propagation=e.metrics=e.diag=e.context=e.INVALID_SPAN_CONTEXT=e.INVALID_TRACEID=e.INVALID_SPANID=e.isValidSpanId=e.isValidTraceId=e.isSpanContextValid=e.createTraceState=e.TraceFlags=e.SpanStatusCode=e.SpanKind=e.SamplingDecision=e.ProxyTracerProvider=e.ProxyTracer=e.defaultTextMapSetter=e.defaultTextMapGetter=e.ValueType=e.createNoopMeter=e.DiagLogLevel=e.DiagConsoleLogger=e.ROOT_CONTEXT=e.createContextKey=e.baggageEntryMetadataFromString=void 0;var t=__nccwpck_require__(369);Object.defineProperty(e,\"baggageEntryMetadataFromString\",{enumerable:true,get:function(){return t.baggageEntryMetadataFromString}});var n=__nccwpck_require__(780);Object.defineProperty(e,\"createContextKey\",{enumerable:true,get:function(){return n.createContextKey}});Object.defineProperty(e,\"ROOT_CONTEXT\",{enumerable:true,get:function(){return n.ROOT_CONTEXT}});var a=__nccwpck_require__(972);Object.defineProperty(e,\"DiagConsoleLogger\",{enumerable:true,get:function(){return a.DiagConsoleLogger}});var o=__nccwpck_require__(957);Object.defineProperty(e,\"DiagLogLevel\",{enumerable:true,get:function(){return o.DiagLogLevel}});var i=__nccwpck_require__(102);Object.defineProperty(e,\"createNoopMeter\",{enumerable:true,get:function(){return i.createNoopMeter}});var c=__nccwpck_require__(901);Object.defineProperty(e,\"ValueType\",{enumerable:true,get:function(){return c.ValueType}});var s=__nccwpck_require__(194);Object.defineProperty(e,\"defaultTextMapGetter\",{enumerable:true,get:function(){return s.defaultTextMapGetter}});Object.defineProperty(e,\"defaultTextMapSetter\",{enumerable:true,get:function(){return s.defaultTextMapSetter}});var u=__nccwpck_require__(125);Object.defineProperty(e,\"ProxyTracer\",{enumerable:true,get:function(){return u.ProxyTracer}});var l=__nccwpck_require__(846);Object.defineProperty(e,\"ProxyTracerProvider\",{enumerable:true,get:function(){return l.ProxyTracerProvider}});var g=__nccwpck_require__(996);Object.defineProperty(e,\"SamplingDecision\",{enumerable:true,get:function(){return g.SamplingDecision}});var p=__nccwpck_require__(357);Object.defineProperty(e,\"SpanKind\",{enumerable:true,get:function(){return p.SpanKind}});var d=__nccwpck_require__(847);Object.defineProperty(e,\"SpanStatusCode\",{enumerable:true,get:function(){return d.SpanStatusCode}});var _=__nccwpck_require__(475);Object.defineProperty(e,\"TraceFlags\",{enumerable:true,get:function(){return _.TraceFlags}});var f=__nccwpck_require__(98);Object.defineProperty(e,\"createTraceState\",{enumerable:true,get:function(){return f.createTraceState}});var b=__nccwpck_require__(139);Object.defineProperty(e,\"isSpanContextValid\",{enumerable:true,get:function(){return b.isSpanContextValid}});Object.defineProperty(e,\"isValidTraceId\",{enumerable:true,get:function(){return b.isValidTraceId}});Object.defineProperty(e,\"isValidSpanId\",{enumerable:true,get:function(){return b.isValidSpanId}});var v=__nccwpck_require__(476);Object.defineProperty(e,\"INVALID_SPANID\",{enumerable:true,get:function(){return v.INVALID_SPANID}});Object.defineProperty(e,\"INVALID_TRACEID\",{enumerable:true,get:function(){return v.INVALID_TRACEID}});Object.defineProperty(e,\"INVALID_SPAN_CONTEXT\",{enumerable:true,get:function(){return v.INVALID_SPAN_CONTEXT}});const O=__nccwpck_require__(67);Object.defineProperty(e,\"context\",{enumerable:true,get:function(){return O.context}});const P=__nccwpck_require__(506);Object.defineProperty(e,\"diag\",{enumerable:true,get:function(){return P.diag}});const N=__nccwpck_require__(886);Object.defineProperty(e,\"metrics\",{enumerable:true,get:function(){return N.metrics}});const S=__nccwpck_require__(939);Object.defineProperty(e,\"propagation\",{enumerable:true,get:function(){return S.propagation}});const C=__nccwpck_require__(845);Object.defineProperty(e,\"trace\",{enumerable:true,get:function(){return C.trace}});e[\"default\"]={context:O.context,diag:P.diag,metrics:N.metrics,propagation:S.propagation,trace:C.trace}})();module.exports=r})();"],"names":[],"mappings":"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","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 3882, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/server/lib/trace/tracer.ts"],"sourcesContent":["import type { FetchEventResult } from '../../web/types'\nimport type { TextMapSetter } from '@opentelemetry/api'\nimport type { SpanTypes } from './constants'\nimport { LogSpanAllowList, NextVanillaSpanAllowlist } from './constants'\n\nimport type {\n ContextAPI,\n Span,\n SpanOptions,\n Tracer,\n AttributeValue,\n TextMapGetter,\n} from 'next/dist/compiled/@opentelemetry/api'\nimport { isThenable } from '../../../shared/lib/is-thenable'\n\nlet api: typeof import('next/dist/compiled/@opentelemetry/api')\n\n// we want to allow users to use their own version of @opentelemetry/api if they\n// want to, so we try to require it first, and if it fails we fall back to the\n// version that is bundled with Next.js\n// this is because @opentelemetry/api has to be synced with the version of\n// @opentelemetry/tracing that is used, and we don't want to force users to use\n// the version that is bundled with Next.js.\n// the API is ~stable, so this should be fine\nif (process.env.NEXT_RUNTIME === 'edge') {\n api = require('@opentelemetry/api') as typeof import('@opentelemetry/api')\n} else {\n try {\n api = require('@opentelemetry/api') as typeof import('@opentelemetry/api')\n } catch (err) {\n api =\n require('next/dist/compiled/@opentelemetry/api') as typeof import('next/dist/compiled/@opentelemetry/api')\n }\n}\n\nconst { context, propagation, trace, SpanStatusCode, SpanKind, ROOT_CONTEXT } =\n api\n\nexport class BubbledError extends Error {\n constructor(\n public readonly bubble?: boolean,\n public readonly result?: FetchEventResult\n ) {\n super()\n }\n}\n\nexport function isBubbledError(error: unknown): error is BubbledError {\n if (typeof error !== 'object' || error === null) return false\n return error instanceof BubbledError\n}\n\nconst closeSpanWithError = (span: Span, error?: Error) => {\n if (isBubbledError(error) && error.bubble) {\n span.setAttribute('next.bubble', true)\n } else {\n if (error) {\n span.recordException(error)\n span.setAttribute('error.type', error.name)\n }\n span.setStatus({ code: SpanStatusCode.ERROR, message: error?.message })\n }\n span.end()\n}\n\ntype TracerSpanOptions = Omit & {\n parentSpan?: Span\n spanName?: string\n attributes?: Partial>\n hideSpan?: boolean\n}\n\ninterface NextTracer {\n getContext(): ContextAPI\n\n /**\n * Instruments a function by automatically creating a span activated on its\n * scope.\n *\n * The span will automatically be finished when one of these conditions is\n * met:\n *\n * * The function returns a promise, in which case the span will finish when\n * the promise is resolved or rejected.\n * * The function takes a callback as its second parameter, in which case the\n * span will finish when that callback is called.\n * * The function doesn't accept a callback and doesn't return a promise, in\n * which case the span will finish at the end of the function execution.\n *\n */\n trace(\n type: SpanTypes,\n fn: (span?: Span, done?: (error?: Error) => any) => Promise\n ): Promise\n trace(\n type: SpanTypes,\n fn: (span?: Span, done?: (error?: Error) => any) => T\n ): T\n trace(\n type: SpanTypes,\n options: TracerSpanOptions,\n fn: (span?: Span, done?: (error?: Error) => any) => Promise\n ): Promise\n trace(\n type: SpanTypes,\n options: TracerSpanOptions,\n fn: (span?: Span, done?: (error?: Error) => any) => T\n ): T\n\n /**\n * Wrap a function to automatically create a span activated on its\n * scope when it's called.\n *\n * The span will automatically be finished when one of these conditions is\n * met:\n *\n * * The function returns a promise, in which case the span will finish when\n * the promise is resolved or rejected.\n * * The function takes a callback as its last parameter, in which case the\n * span will finish when that callback is called.\n * * The function doesn't accept a callback and doesn't return a promise, in\n * which case the span will finish at the end of the function execution.\n */\n wrap) => any>(type: SpanTypes, fn: T): T\n wrap) => any>(\n type: SpanTypes,\n options: TracerSpanOptions,\n fn: T\n ): T\n wrap) => any>(\n type: SpanTypes,\n options: (...args: any[]) => TracerSpanOptions,\n fn: T\n ): T\n\n /**\n * Starts and returns a new Span representing a logical unit of work.\n *\n * This method do NOT modify the current Context by default. In result, any inner span will not\n * automatically set its parent context to the span created by this method unless manually activate\n * context via `tracer.getContext().with`. `trace`, or `wrap` is generally recommended as it gracefully\n * handles context activation. (ref: https://github.com/open-telemetry/opentelemetry-js/issues/1923)\n */\n startSpan(type: SpanTypes): Span\n startSpan(type: SpanTypes, options: TracerSpanOptions): Span\n\n /**\n * Returns currently activated span if current context is in the scope of the span.\n * Returns undefined otherwise.\n */\n getActiveScopeSpan(): Span | undefined\n\n /**\n * Returns trace propagation data for the currently active context. The format is equal to data provided\n * through the OpenTelemetry propagator API.\n */\n getTracePropagationData(): ClientTraceDataEntry[]\n}\n\ntype NextAttributeNames =\n | 'next.route'\n | 'next.page'\n | 'next.rsc'\n | 'next.segment'\n | 'next.span_name'\n | 'next.span_type'\n | 'next.clientComponentLoadCount'\ntype OTELAttributeNames = `http.${string}` | `net.${string}`\ntype AttributeNames = NextAttributeNames | OTELAttributeNames\n\n/** we use this map to propagate attributes from nested spans to the top span */\nconst rootSpanAttributesStore = new Map<\n number,\n Map\n>()\nconst rootSpanIdKey = api.createContextKey('next.rootSpanId')\nlet lastSpanId = 0\nconst getSpanId = () => lastSpanId++\n\nexport interface ClientTraceDataEntry {\n key: string\n value: string\n}\n\nconst clientTraceDataSetter: TextMapSetter = {\n set(carrier, key, value) {\n carrier.push({\n key,\n value,\n })\n },\n}\n\nclass NextTracerImpl implements NextTracer {\n /**\n * Returns an instance to the trace with configured name.\n * Since wrap / trace can be defined in any place prior to actual trace subscriber initialization,\n * This should be lazily evaluated.\n */\n private getTracerInstance(): Tracer {\n return trace.getTracer('next.js', '0.0.1')\n }\n\n public getContext(): ContextAPI {\n return context\n }\n\n public getTracePropagationData(): ClientTraceDataEntry[] {\n const activeContext = context.active()\n const entries: ClientTraceDataEntry[] = []\n propagation.inject(activeContext, entries, clientTraceDataSetter)\n return entries\n }\n\n public getActiveScopeSpan(): Span | undefined {\n return trace.getSpan(context?.active())\n }\n\n public withPropagatedContext(\n carrier: C,\n fn: () => T,\n getter?: TextMapGetter\n ): T {\n const activeContext = context.active()\n if (trace.getSpanContext(activeContext)) {\n // Active span is already set, too late to propagate.\n return fn()\n }\n const remoteContext = propagation.extract(activeContext, carrier, getter)\n return context.with(remoteContext, fn)\n }\n\n // Trace, wrap implementation is inspired by datadog trace implementation\n // (https://datadoghq.dev/dd-trace-js/interfaces/tracer.html#trace).\n public trace(\n type: SpanTypes,\n fn: (span?: Span, done?: (error?: Error) => any) => Promise\n ): Promise\n public trace(\n type: SpanTypes,\n fn: (span?: Span, done?: (error?: Error) => any) => T\n ): T\n public trace(\n type: SpanTypes,\n options: TracerSpanOptions,\n fn: (span?: Span, done?: (error?: Error) => any) => Promise\n ): Promise\n public trace(\n type: SpanTypes,\n options: TracerSpanOptions,\n fn: (span?: Span, done?: (error?: Error) => any) => T\n ): T\n public trace(...args: Array) {\n const [type, fnOrOptions, fnOrEmpty] = args\n\n // coerce options form overload\n const {\n fn,\n options,\n }: {\n fn: (span?: Span, done?: (error?: Error) => any) => T | Promise\n options: TracerSpanOptions\n } =\n typeof fnOrOptions === 'function'\n ? {\n fn: fnOrOptions,\n options: {},\n }\n : {\n fn: fnOrEmpty,\n options: { ...fnOrOptions },\n }\n\n const spanName = options.spanName ?? type\n\n if (\n (!NextVanillaSpanAllowlist.includes(type) &&\n process.env.NEXT_OTEL_VERBOSE !== '1') ||\n options.hideSpan\n ) {\n return fn()\n }\n\n // Trying to get active scoped span to assign parent. If option specifies parent span manually, will try to use it.\n let spanContext = this.getSpanContext(\n options?.parentSpan ?? this.getActiveScopeSpan()\n )\n let isRootSpan = false\n\n if (!spanContext) {\n spanContext = context?.active() ?? ROOT_CONTEXT\n isRootSpan = true\n } else if (trace.getSpanContext(spanContext)?.isRemote) {\n isRootSpan = true\n }\n\n const spanId = getSpanId()\n\n options.attributes = {\n 'next.span_name': spanName,\n 'next.span_type': type,\n ...options.attributes,\n }\n\n return context.with(spanContext.setValue(rootSpanIdKey, spanId), () =>\n this.getTracerInstance().startActiveSpan(\n spanName,\n options,\n (span: Span) => {\n const startTime =\n 'performance' in globalThis && 'measure' in performance\n ? globalThis.performance.now()\n : undefined\n\n const onCleanup = () => {\n rootSpanAttributesStore.delete(spanId)\n if (\n startTime &&\n process.env.NEXT_OTEL_PERFORMANCE_PREFIX &&\n LogSpanAllowList.includes(type || ('' as any))\n ) {\n performance.measure(\n `${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-${(\n type.split('.').pop() || ''\n ).replace(\n /[A-Z]/g,\n (match: string) => '-' + match.toLowerCase()\n )}`,\n {\n start: startTime,\n end: performance.now(),\n }\n )\n }\n }\n\n if (isRootSpan) {\n rootSpanAttributesStore.set(\n spanId,\n new Map(\n Object.entries(options.attributes ?? {}) as [\n AttributeNames,\n AttributeValue | undefined,\n ][]\n )\n )\n }\n try {\n if (fn.length > 1) {\n return fn(span, (err) => closeSpanWithError(span, err))\n }\n\n const result = fn(span)\n if (isThenable(result)) {\n // If there's error make sure it throws\n return result\n .then((res) => {\n span.end()\n // Need to pass down the promise result,\n // it could be react stream response with error { error, stream }\n return res\n })\n .catch((err) => {\n closeSpanWithError(span, err)\n throw err\n })\n .finally(onCleanup)\n } else {\n span.end()\n onCleanup()\n }\n\n return result\n } catch (err: any) {\n closeSpanWithError(span, err)\n onCleanup()\n throw err\n }\n }\n )\n )\n }\n\n public wrap) => any>(type: SpanTypes, fn: T): T\n public wrap) => any>(\n type: SpanTypes,\n options: TracerSpanOptions,\n fn: T\n ): T\n public wrap) => any>(\n type: SpanTypes,\n options: (...args: any[]) => TracerSpanOptions,\n fn: T\n ): T\n public wrap(...args: Array) {\n const tracer = this\n const [name, options, fn] =\n args.length === 3 ? args : [args[0], {}, args[1]]\n\n if (\n !NextVanillaSpanAllowlist.includes(name) &&\n process.env.NEXT_OTEL_VERBOSE !== '1'\n ) {\n return fn\n }\n\n return function (this: any) {\n let optionsObj = options\n if (typeof optionsObj === 'function' && typeof fn === 'function') {\n optionsObj = optionsObj.apply(this, arguments)\n }\n\n const lastArgId = arguments.length - 1\n const cb = arguments[lastArgId]\n\n if (typeof cb === 'function') {\n const scopeBoundCb = tracer.getContext().bind(context.active(), cb)\n return tracer.trace(name, optionsObj, (_span, done) => {\n arguments[lastArgId] = function (err: any) {\n done?.(err)\n return scopeBoundCb.apply(this, arguments)\n }\n\n return fn.apply(this, arguments)\n })\n } else {\n return tracer.trace(name, optionsObj, () => fn.apply(this, arguments))\n }\n }\n }\n\n public startSpan(type: SpanTypes): Span\n public startSpan(type: SpanTypes, options: TracerSpanOptions): Span\n public startSpan(...args: Array): Span {\n const [type, options]: [string, TracerSpanOptions | undefined] = args as any\n\n const spanContext = this.getSpanContext(\n options?.parentSpan ?? this.getActiveScopeSpan()\n )\n return this.getTracerInstance().startSpan(type, options, spanContext)\n }\n\n private getSpanContext(parentSpan?: Span) {\n const spanContext = parentSpan\n ? trace.setSpan(context.active(), parentSpan)\n : undefined\n\n return spanContext\n }\n\n public getRootSpanAttributes() {\n const spanId = context.active().getValue(rootSpanIdKey) as number\n return rootSpanAttributesStore.get(spanId)\n }\n\n public setRootSpanAttribute(key: AttributeNames, value: AttributeValue) {\n const spanId = context.active().getValue(rootSpanIdKey) as number\n const attributes = rootSpanAttributesStore.get(spanId)\n if (attributes && !attributes.has(key)) {\n attributes.set(key, value)\n }\n }\n}\n\nconst getTracer = (() => {\n const tracer = new NextTracerImpl()\n\n return () => tracer\n})()\n\nexport { getTracer, SpanStatusCode, SpanKind }\nexport type { NextTracer, Span, SpanOptions, ContextAPI, TracerSpanOptions }\n"],"names":["BubbledError","SpanKind","SpanStatusCode","getTracer","isBubbledError","api","process","env","NEXT_RUNTIME","require","err","context","propagation","trace","ROOT_CONTEXT","Error","constructor","bubble","result","error","closeSpanWithError","span","setAttribute","recordException","name","setStatus","code","ERROR","message","end","rootSpanAttributesStore","Map","rootSpanIdKey","createContextKey","lastSpanId","getSpanId","clientTraceDataSetter","set","carrier","key","value","push","NextTracerImpl","getTracerInstance","getContext","getTracePropagationData","activeContext","active","entries","inject","getActiveScopeSpan","getSpan","withPropagatedContext","fn","getter","getSpanContext","remoteContext","extract","with","args","type","fnOrOptions","fnOrEmpty","options","spanName","NextVanillaSpanAllowlist","includes","NEXT_OTEL_VERBOSE","hideSpan","spanContext","parentSpan","isRootSpan","isRemote","spanId","attributes","setValue","startActiveSpan","startTime","globalThis","performance","now","undefined","onCleanup","delete","NEXT_OTEL_PERFORMANCE_PREFIX","LogSpanAllowList","measure","split","pop","replace","match","toLowerCase","start","Object","length","isThenable","then","res","catch","finally","wrap","tracer","optionsObj","apply","arguments","lastArgId","cb","scopeBoundCb","bind","_span","done","startSpan","setSpan","getRootSpanAttributes","getValue","get","setRootSpanAttribute","has"],"mappings":"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","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 4134, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/server/lib/trace/utils.ts"],"sourcesContent":["import type { ClientTraceDataEntry } from './tracer'\n\n/**\n * Takes OpenTelemetry client trace data and the `clientTraceMetadata` option configured in the Next.js config (currently\n * experimental) and returns a filtered/allowed list of client trace data entries.\n */\nexport function getTracedMetadata(\n traceData: ClientTraceDataEntry[],\n clientTraceMetadata: string[] | undefined\n): ClientTraceDataEntry[] | undefined {\n if (!clientTraceMetadata) return undefined\n return traceData.filter(({ key }) => clientTraceMetadata.includes(key))\n}\n"],"names":["getTracedMetadata","traceData","clientTraceMetadata","undefined","filter","key","includes"],"mappings":";;;+BAMgBA,qBAAAA;;;eAAAA;;;AAAT,SAASA,kBACdC,SAAiC,EACjCC,mBAAyC;IAEzC,IAAI,CAACA,qBAAqB,OAAOC;IACjC,OAAOF,UAAUG,MAAM,CAAC,CAAC,EAAEC,GAAG,EAAE,GAAKH,oBAAoBI,QAAQ,CAACD;AACpE","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 4151, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/lib/pretty-bytes.ts"],"sourcesContent":["/*\nMIT License\n\nCopyright (c) Sindre Sorhus (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/\n\nconst UNITS = ['B', 'kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']\n\n/*\nFormats the given number using `Number#toLocaleString`.\n- If locale is a string, the value is expected to be a locale-key (for example: `de`).\n- If locale is true, the system default locale is used for translation.\n- If no value for locale is specified, the number is returned unmodified.\n*/\nconst toLocaleString = (number: number, locale: any) => {\n let result: any = number\n if (typeof locale === 'string') {\n result = number.toLocaleString(locale)\n } else if (locale === true) {\n result = number.toLocaleString()\n }\n\n return result\n}\n\nexport default function prettyBytes(number: number, options?: any): string {\n if (!Number.isFinite(number)) {\n throw new TypeError(\n `Expected a finite number, got ${typeof number}: ${number}`\n )\n }\n\n options = Object.assign({}, options)\n\n if (options.signed && number === 0) {\n return ' 0 B'\n }\n\n const isNegative = number < 0\n const prefix = isNegative ? '-' : options.signed ? '+' : ''\n\n if (isNegative) {\n number = -number\n }\n\n if (number < 1) {\n const numberString = toLocaleString(number, options.locale)\n return prefix + numberString + ' B'\n }\n\n const exponent = Math.min(\n Math.floor(Math.log10(number) / 3),\n UNITS.length - 1\n )\n\n number = Number((number / Math.pow(1000, exponent)).toPrecision(3))\n const numberString = toLocaleString(number, options.locale)\n\n const unit = UNITS[exponent]\n\n return prefix + numberString + ' ' + unit\n}\n"],"names":["prettyBytes","UNITS","toLocaleString","number","locale","result","options","Number","isFinite","TypeError","Object","assign","signed","isNegative","prefix","numberString","exponent","Math","min","floor","log10","length","pow","toPrecision","unit"],"mappings":"AAAA;;;;;;;;;;AAUA;;;+BAqBA,WAAA;;;eAAwBA;;;AAnBxB,MAAMC,QAAQ;IAAC;IAAK;IAAM;IAAM;IAAM;IAAM;IAAM;IAAM;IAAM;CAAK;AAEnE;;;;;AAKA,GACA,MAAMC,iBAAiB,CAACC,QAAgBC;IACtC,IAAIC,SAAcF;IAClB,IAAI,OAAOC,WAAW,UAAU;QAC9BC,SAASF,OAAOD,cAAc,CAACE;IACjC,OAAO,IAAIA,WAAW,MAAM;QAC1BC,SAASF,OAAOD,cAAc;IAChC;IAEA,OAAOG;AACT;AAEe,SAASL,YAAYG,MAAc,EAAEG,OAAa;IAC/D,IAAI,CAACC,OAAOC,QAAQ,CAACL,SAAS;QAC5B,MAAM,OAAA,cAEL,CAFK,IAAIM,UACR,CAAC,8BAA8B,EAAE,OAAON,OAAO,EAAE,EAAEA,QAAQ,GADvD,qBAAA;mBAAA;wBAAA;0BAAA;QAEN;IACF;IAEAG,UAAUI,OAAOC,MAAM,CAAC,CAAC,GAAGL;IAE5B,IAAIA,QAAQM,MAAM,IAAIT,WAAW,GAAG;QAClC,OAAO;IACT;IAEA,MAAMU,aAAaV,SAAS;IAC5B,MAAMW,SAASD,aAAa,MAAMP,QAAQM,MAAM,GAAG,MAAM;IAEzD,IAAIC,YAAY;QACdV,SAAS,CAACA;IACZ;IAEA,IAAIA,SAAS,GAAG;QACd,MAAMY,eAAeb,eAAeC,QAAQG,QAAQF,MAAM;QAC1D,OAAOU,SAASC,eAAe;IACjC;IAEA,MAAMC,WAAWC,KAAKC,GAAG,CACvBD,KAAKE,KAAK,CAACF,KAAKG,KAAK,CAACjB,UAAU,IAChCF,MAAMoB,MAAM,GAAG;IAGjBlB,SAASI,OAAQJ,CAAAA,SAASc,KAAKK,GAAG,CAAC,MAAMN,SAAQ,EAAGO,WAAW,CAAC;IAChE,MAAMR,eAAeb,eAAeC,QAAQG,QAAQF,MAAM;IAE1D,MAAMoB,OAAOvB,KAAK,CAACe,SAAS;IAE5B,OAAOF,SAASC,eAAe,MAAMS;AACvC","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 4226, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/pages/_document.tsx"],"sourcesContent":["/// \n\nimport React, { type JSX } from 'react'\nimport { NEXT_BUILTIN_DOCUMENT } from '../shared/lib/constants'\nimport type {\n DocumentContext,\n DocumentInitialProps,\n DocumentProps,\n DocumentType,\n NEXT_DATA,\n} from '../shared/lib/utils'\nimport type { ScriptProps } from '../client/script'\nimport type { NextFontManifest } from '../build/webpack/plugins/next-font-manifest-plugin'\n\nimport { getPageFiles } from '../server/get-page-files'\nimport type { BuildManifest } from '../server/get-page-files'\nimport { htmlEscapeJsonString } from '../server/htmlescape'\nimport isError from '../lib/is-error'\n\nimport {\n HtmlContext,\n useHtmlContext,\n} from '../shared/lib/html-context.shared-runtime'\nimport type { HtmlProps } from '../shared/lib/html-context.shared-runtime'\nimport { encodeURIPath } from '../shared/lib/encode-uri-path'\nimport type { DeepReadonly } from '../shared/lib/deep-readonly'\nimport { getTracer } from '../server/lib/trace/tracer'\nimport { getTracedMetadata } from '../server/lib/trace/utils'\n\nexport type { DocumentContext, DocumentInitialProps, DocumentProps }\n\nexport type OriginProps = {\n nonce?: string\n crossOrigin?: 'anonymous' | 'use-credentials' | '' | undefined\n children?: React.ReactNode\n}\n\ntype DocumentFiles = {\n sharedFiles: readonly string[]\n pageFiles: readonly string[]\n allFiles: readonly string[]\n}\n\ntype HeadHTMLProps = React.DetailedHTMLProps<\n React.HTMLAttributes,\n HTMLHeadElement\n>\n\ntype HeadProps = OriginProps & HeadHTMLProps\n\n/** Set of pages that have triggered a large data warning on production mode. */\nconst largePageDataWarnings = new Set()\n\nfunction getDocumentFiles(\n buildManifest: BuildManifest,\n pathname: string\n): DocumentFiles {\n const sharedFiles: readonly string[] = getPageFiles(buildManifest, '/_app')\n const pageFiles: readonly string[] = getPageFiles(buildManifest, pathname)\n\n return {\n sharedFiles,\n pageFiles,\n allFiles: [...new Set([...sharedFiles, ...pageFiles])],\n }\n}\n\nfunction getPolyfillScripts(context: HtmlProps, props: OriginProps) {\n // polyfills.js has to be rendered as nomodule without async\n // It also has to be the first script to load\n const {\n assetPrefix,\n buildManifest,\n assetQueryString,\n disableOptimizedLoading,\n crossOrigin,\n } = context\n\n return buildManifest.polyfillFiles\n .filter(\n (polyfill) => polyfill.endsWith('.js') && !polyfill.endsWith('.module.js')\n )\n .map((polyfill) => (\n \n ))\n}\n\nfunction hasComponentProps(child: any): child is React.ReactElement {\n return !!child && !!child.props\n}\n\nfunction getDynamicChunks(\n context: HtmlProps,\n props: OriginProps,\n files: DocumentFiles\n) {\n const {\n dynamicImports,\n assetPrefix,\n isDevelopment,\n assetQueryString,\n disableOptimizedLoading,\n crossOrigin,\n } = context\n\n return dynamicImports.map((file) => {\n if (!file.endsWith('.js') || files.allFiles.includes(file)) return null\n\n return (\n \n )\n })\n}\n\nfunction getScripts(\n context: HtmlProps,\n props: OriginProps,\n files: DocumentFiles\n) {\n const {\n assetPrefix,\n buildManifest,\n isDevelopment,\n assetQueryString,\n disableOptimizedLoading,\n crossOrigin,\n } = context\n\n const normalScripts = files.allFiles.filter((file) => file.endsWith('.js'))\n const lowPriorityScripts = buildManifest.lowPriorityFiles?.filter((file) =>\n file.endsWith('.js')\n )\n\n return [...normalScripts, ...lowPriorityScripts].map((file) => {\n return (\n \n )\n })\n}\n\nfunction getPreNextWorkerScripts(context: HtmlProps, props: OriginProps) {\n const { assetPrefix, scriptLoader, crossOrigin, nextScriptWorkers } = context\n\n // disable `nextScriptWorkers` in edge runtime\n if (!nextScriptWorkers || process.env.NEXT_RUNTIME === 'edge') return null\n\n try {\n // @ts-expect-error: Prevent webpack from processing this require\n let { partytownSnippet } = __non_webpack_require__(\n '@builder.io/partytown/integration'!\n )\n\n const children = Array.isArray(props.children)\n ? props.children\n : [props.children]\n\n // Check to see if the user has defined their own Partytown configuration\n const userDefinedConfig = children.find(\n (child) =>\n hasComponentProps(child) &&\n child?.props?.dangerouslySetInnerHTML?.__html.length &&\n 'data-partytown-config' in child.props\n )\n\n return (\n <>\n {!userDefinedConfig && (\n \n )}\n \n {(scriptLoader.worker || []).map((file: ScriptProps, index: number) => {\n const {\n strategy,\n src,\n children: scriptChildren,\n dangerouslySetInnerHTML,\n ...scriptProps\n } = file\n\n let srcProps: {\n src?: string\n dangerouslySetInnerHTML?: ScriptProps['dangerouslySetInnerHTML']\n } = {}\n\n if (src) {\n // Use external src if provided\n srcProps.src = src\n } else if (\n dangerouslySetInnerHTML &&\n dangerouslySetInnerHTML.__html\n ) {\n // Embed inline script if provided with dangerouslySetInnerHTML\n srcProps.dangerouslySetInnerHTML = {\n __html: dangerouslySetInnerHTML.__html,\n }\n } else if (scriptChildren) {\n // Embed inline script if provided with children\n srcProps.dangerouslySetInnerHTML = {\n __html:\n typeof scriptChildren === 'string'\n ? scriptChildren\n : Array.isArray(scriptChildren)\n ? scriptChildren.join('')\n : '',\n }\n } else {\n throw new Error(\n 'Invalid usage of next/script. Did you forget to include a src attribute or an inline script? https://nextjs.org/docs/messages/invalid-script'\n )\n }\n\n return (\n \n )\n })}\n >\n )\n } catch (err) {\n if (isError(err) && err.code !== 'MODULE_NOT_FOUND') {\n console.warn(`Warning: ${err.message}`)\n }\n return null\n }\n}\n\nfunction getPreNextScripts(context: HtmlProps, props: OriginProps) {\n const { scriptLoader, disableOptimizedLoading, crossOrigin } = context\n\n const webWorkerScripts = getPreNextWorkerScripts(context, props)\n\n const beforeInteractiveScripts = (scriptLoader.beforeInteractive || [])\n .filter((script) => script.src)\n .map((file: ScriptProps, index: number) => {\n const { strategy, ...scriptProps } = file\n return (\n \n )\n })\n\n return (\n <>\n {webWorkerScripts}\n {beforeInteractiveScripts}\n >\n )\n}\n\nfunction getHeadHTMLProps(props: HeadProps) {\n const { crossOrigin, nonce, ...restProps } = props\n\n // This assignment is necessary for additional type checking to avoid unsupported attributes in \n const headProps: HeadHTMLProps & {\n [P in Exclude]?: never\n } = restProps\n\n return headProps\n}\n\nfunction getNextFontLinkTags(\n nextFontManifest: DeepReadonly | undefined,\n dangerousAsPath: string,\n assetPrefix: string = ''\n) {\n if (!nextFontManifest) {\n return {\n preconnect: null,\n preload: null,\n }\n }\n\n const appFontsEntry = nextFontManifest.pages['/_app']\n const pageFontsEntry = nextFontManifest.pages[dangerousAsPath]\n\n const preloadedFontFiles = Array.from(\n new Set([...(appFontsEntry ?? []), ...(pageFontsEntry ?? [])])\n )\n\n // If no font files should preload but there's an entry for the path, add a preconnect tag.\n const preconnectToSelf = !!(\n preloadedFontFiles.length === 0 &&\n (appFontsEntry || pageFontsEntry)\n )\n\n return {\n preconnect: preconnectToSelf ? (\n \n ) : null,\n preload: preloadedFontFiles\n ? preloadedFontFiles.map((fontFile) => {\n const ext = /\\.(woff|woff2|eot|ttf|otf)$/.exec(fontFile)![1]\n return (\n \n )\n })\n : null,\n }\n}\n\n// Use `React.Component` to avoid errors from the RSC checks because\n// it can't be imported directly in Server Components:\n//\n// import { Component } from 'react'\n//\n// More info: https://github.com/vercel/next.js/pull/40686\nexport class Head extends React.Component {\n static contextType = HtmlContext\n\n context!: HtmlProps\n\n getCssLinks(files: DocumentFiles): JSX.Element[] | null {\n const {\n assetPrefix,\n assetQueryString,\n dynamicImports,\n dynamicCssManifest,\n crossOrigin,\n optimizeCss,\n } = this.context\n const cssFiles = files.allFiles.filter((f) => f.endsWith('.css'))\n const sharedFiles: Set = new Set(files.sharedFiles)\n\n // Unmanaged files are CSS files that will be handled directly by the\n // webpack runtime (`mini-css-extract-plugin`).\n let unmanagedFiles: Set = new Set([])\n let localDynamicCssFiles = Array.from(\n new Set(dynamicImports.filter((file) => file.endsWith('.css')))\n )\n if (localDynamicCssFiles.length) {\n const existing = new Set(cssFiles)\n localDynamicCssFiles = localDynamicCssFiles.filter(\n (f) => !(existing.has(f) || sharedFiles.has(f))\n )\n unmanagedFiles = new Set(localDynamicCssFiles)\n cssFiles.push(...localDynamicCssFiles)\n }\n\n let cssLinkElements: JSX.Element[] = []\n cssFiles.forEach((file) => {\n const isSharedFile = sharedFiles.has(file)\n const isUnmanagedFile = unmanagedFiles.has(file)\n const isFileInDynamicCssManifest = dynamicCssManifest.has(file)\n\n if (!optimizeCss) {\n cssLinkElements.push(\n \n )\n }\n\n cssLinkElements.push(\n \n )\n })\n\n return cssLinkElements.length === 0 ? null : cssLinkElements\n }\n\n getPreloadDynamicChunks() {\n const { dynamicImports, assetPrefix, assetQueryString, crossOrigin } =\n this.context\n\n return (\n dynamicImports\n .map((file) => {\n if (!file.endsWith('.js')) {\n return null\n }\n\n return (\n \n )\n })\n // Filter out nulled scripts\n .filter(Boolean)\n )\n }\n\n getPreloadMainLinks(files: DocumentFiles): JSX.Element[] | null {\n const { assetPrefix, assetQueryString, scriptLoader, crossOrigin } =\n this.context\n const preloadFiles = files.allFiles.filter((file: string) => {\n return file.endsWith('.js')\n })\n\n return [\n ...(scriptLoader.beforeInteractive || []).map((file) => (\n \n )),\n ...preloadFiles.map((file: string) => (\n \n )),\n ]\n }\n\n getBeforeInteractiveInlineScripts() {\n const { scriptLoader } = this.context\n const { nonce, crossOrigin } = this.props\n\n return (scriptLoader.beforeInteractive || [])\n .filter(\n (script) =>\n !script.src && (script.dangerouslySetInnerHTML || script.children)\n )\n .map((file: ScriptProps, index: number) => {\n const {\n strategy,\n children,\n dangerouslySetInnerHTML,\n src,\n ...scriptProps\n } = file\n let html: NonNullable<\n ScriptProps['dangerouslySetInnerHTML']\n >['__html'] = ''\n\n if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n html = dangerouslySetInnerHTML.__html\n } else if (children) {\n html =\n typeof children === 'string'\n ? children\n : Array.isArray(children)\n ? children.join('')\n : ''\n }\n\n return (\n \n )\n })\n }\n\n getDynamicChunks(files: DocumentFiles) {\n return getDynamicChunks(this.context, this.props, files)\n }\n\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props)\n }\n\n getScripts(files: DocumentFiles) {\n return getScripts(this.context, this.props, files)\n }\n\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props)\n }\n\n render() {\n const {\n styles,\n __NEXT_DATA__,\n dangerousAsPath,\n headTags,\n unstable_runtimeJS,\n unstable_JsPreload,\n disableOptimizedLoading,\n optimizeCss,\n assetPrefix,\n nextFontManifest,\n } = this.context\n\n const disableRuntimeJS = unstable_runtimeJS === false\n const disableJsPreload =\n unstable_JsPreload === false || !disableOptimizedLoading\n\n this.context.docComponentsRendered.Head = true\n\n let { head } = this.context\n let cssPreloads: Array = []\n let otherHeadElements: Array = []\n if (head) {\n head.forEach((child) => {\n if (\n child &&\n child.type === 'link' &&\n child.props['rel'] === 'preload' &&\n child.props['as'] === 'style'\n ) {\n cssPreloads.push(child)\n } else {\n if (child) {\n otherHeadElements.push(\n React.cloneElement(child, { 'data-next-head': '' })\n )\n }\n }\n })\n head = cssPreloads.concat(otherHeadElements)\n }\n let children: React.ReactNode[] = React.Children.toArray(\n this.props.children\n ).filter(Boolean)\n // show a warning if Head contains (only in development)\n if (process.env.NODE_ENV !== 'production') {\n children = React.Children.map(children, (child: any) => {\n const isReactHelmet = child?.props?.['data-react-helmet']\n if (!isReactHelmet) {\n if (child?.type === 'title') {\n console.warn(\n \"Warning: should not be used in _document.js's . https://nextjs.org/docs/messages/no-document-title\"\n )\n } else if (\n child?.type === 'meta' &&\n child?.props?.name === 'viewport'\n ) {\n console.warn(\n \"Warning: viewport meta tags should not be used in _document.js's . https://nextjs.org/docs/messages/no-document-viewport-meta\"\n )\n }\n }\n return child\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n })!\n if (this.props.crossOrigin)\n console.warn(\n 'Warning: `Head` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated'\n )\n }\n\n const files: DocumentFiles = getDocumentFiles(\n this.context.buildManifest,\n this.context.__NEXT_DATA__.page\n )\n\n const nextFontLinkTags = getNextFontLinkTags(\n nextFontManifest,\n dangerousAsPath,\n assetPrefix\n )\n\n const tracingMetadata = getTracedMetadata(\n getTracer().getTracePropagationData(),\n this.context.experimentalClientTraceMetadata\n )\n\n const traceMetaTags = (tracingMetadata || []).map(\n ({ key, value }, index) => (\n \n )\n )\n\n return (\n \n {this.context.isDevelopment && (\n <>\n \n \n >\n )}\n {head}\n\n {children}\n\n {nextFontLinkTags.preconnect}\n {nextFontLinkTags.preload}\n\n {this.getBeforeInteractiveInlineScripts()}\n {!optimizeCss && this.getCssLinks(files)}\n {!optimizeCss && }\n\n {!disableRuntimeJS &&\n !disableJsPreload &&\n this.getPreloadDynamicChunks()}\n {!disableRuntimeJS &&\n !disableJsPreload &&\n this.getPreloadMainLinks(files)}\n\n {!disableOptimizedLoading &&\n !disableRuntimeJS &&\n this.getPolyfillScripts()}\n\n {!disableOptimizedLoading &&\n !disableRuntimeJS &&\n this.getPreNextScripts()}\n {!disableOptimizedLoading &&\n !disableRuntimeJS &&\n this.getDynamicChunks(files)}\n {!disableOptimizedLoading &&\n !disableRuntimeJS &&\n this.getScripts(files)}\n\n {optimizeCss && this.getCssLinks(files)}\n {optimizeCss && }\n {this.context.isDevelopment && (\n // this element is used to mount development styles so the\n // ordering matches production\n // (by default, style-loader injects at the bottom of )\n \n )}\n {traceMetaTags}\n {styles || null}\n\n {React.createElement(React.Fragment, {}, ...(headTags || []))}\n \n )\n }\n}\n\nfunction handleDocumentScriptLoaderItems(\n scriptLoader: { beforeInteractive?: any[] },\n __NEXT_DATA__: NEXT_DATA,\n props: any\n): void {\n if (!props.children) return\n\n const scriptLoaderItems: ScriptProps[] = []\n\n const children = Array.isArray(props.children)\n ? props.children\n : [props.children]\n\n const headChildren = children.find(\n (child: React.ReactElement) => child.type === Head\n )?.props?.children\n const bodyChildren = children.find(\n (child: React.ReactElement) => child.type === 'body'\n )?.props?.children\n\n // Scripts with beforeInteractive can be placed inside Head or so children of both needs to be traversed\n const combinedChildren = [\n ...(Array.isArray(headChildren) ? headChildren : [headChildren]),\n ...(Array.isArray(bodyChildren) ? bodyChildren : [bodyChildren]),\n ]\n\n React.Children.forEach(combinedChildren, (child: any) => {\n if (!child) return\n\n // When using the `next/script` component, register it in script loader.\n if (child.type?.__nextScript) {\n if (child.props.strategy === 'beforeInteractive') {\n scriptLoader.beforeInteractive = (\n scriptLoader.beforeInteractive || []\n ).concat([\n {\n ...child.props,\n },\n ])\n return\n } else if (\n ['lazyOnload', 'afterInteractive', 'worker'].includes(\n child.props.strategy\n )\n ) {\n scriptLoaderItems.push(child.props)\n return\n } else if (typeof child.props.strategy === 'undefined') {\n scriptLoaderItems.push({ ...child.props, strategy: 'afterInteractive' })\n return\n }\n }\n })\n\n __NEXT_DATA__.scriptLoader = scriptLoaderItems\n}\n\nexport class NextScript extends React.Component {\n static contextType = HtmlContext\n\n context!: HtmlProps\n\n getDynamicChunks(files: DocumentFiles) {\n return getDynamicChunks(this.context, this.props, files)\n }\n\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props)\n }\n\n getScripts(files: DocumentFiles) {\n return getScripts(this.context, this.props, files)\n }\n\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props)\n }\n\n static getInlineScriptSource(context: Readonly): string {\n const { __NEXT_DATA__, largePageDataBytes } = context\n try {\n const data = JSON.stringify(__NEXT_DATA__)\n\n if (largePageDataWarnings.has(__NEXT_DATA__.page)) {\n return htmlEscapeJsonString(data)\n }\n\n const bytes =\n process.env.NEXT_RUNTIME === 'edge'\n ? new TextEncoder().encode(data).buffer.byteLength\n : Buffer.from(data).byteLength\n const prettyBytes = (\n require('../lib/pretty-bytes') as typeof import('../lib/pretty-bytes')\n ).default\n\n if (largePageDataBytes && bytes > largePageDataBytes) {\n if (process.env.NODE_ENV === 'production') {\n largePageDataWarnings.add(__NEXT_DATA__.page)\n }\n\n console.warn(\n `Warning: data for page \"${__NEXT_DATA__.page}\"${\n __NEXT_DATA__.page === context.dangerousAsPath\n ? ''\n : ` (path \"${context.dangerousAsPath}\")`\n } is ${prettyBytes(\n bytes\n )} which exceeds the threshold of ${prettyBytes(\n largePageDataBytes\n )}, this amount of data can reduce performance.\\nSee more info here: https://nextjs.org/docs/messages/large-page-data`\n )\n }\n\n return htmlEscapeJsonString(data)\n } catch (err) {\n if (isError(err) && err.message.indexOf('circular structure') !== -1) {\n throw new Error(\n `Circular structure in \"getInitialProps\" result of page \"${__NEXT_DATA__.page}\". https://nextjs.org/docs/messages/circular-structure`\n )\n }\n throw err\n }\n }\n\n render() {\n const {\n assetPrefix,\n buildManifest,\n unstable_runtimeJS,\n docComponentsRendered,\n assetQueryString,\n disableOptimizedLoading,\n crossOrigin,\n } = this.context\n const disableRuntimeJS = unstable_runtimeJS === false\n\n docComponentsRendered.NextScript = true\n\n if (process.env.NODE_ENV !== 'production') {\n if (this.props.crossOrigin)\n console.warn(\n 'Warning: `NextScript` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated'\n )\n }\n\n const files: DocumentFiles = getDocumentFiles(\n this.context.buildManifest,\n this.context.__NEXT_DATA__.page\n )\n\n return (\n <>\n {!disableRuntimeJS && buildManifest.devFiles\n ? buildManifest.devFiles.map((file: string) => (\n \n ))\n : null}\n {disableRuntimeJS ? null : (\n \n )}\n {disableOptimizedLoading &&\n !disableRuntimeJS &&\n this.getPolyfillScripts()}\n {disableOptimizedLoading &&\n !disableRuntimeJS &&\n this.getPreNextScripts()}\n {disableOptimizedLoading &&\n !disableRuntimeJS &&\n this.getDynamicChunks(files)}\n {disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files)}\n >\n )\n }\n}\n\nexport function Html(\n props: React.DetailedHTMLProps<\n React.HtmlHTMLAttributes,\n HTMLHtmlElement\n >\n) {\n const { docComponentsRendered, locale, scriptLoader, __NEXT_DATA__ } =\n useHtmlContext()\n\n docComponentsRendered.Html = true\n handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props)\n\n return \n}\n\nexport function Main() {\n const { docComponentsRendered } = useHtmlContext()\n docComponentsRendered.Main = true\n // @ts-ignore\n return \n}\n\n/**\n * `Document` component handles the initial `document` markup and renders only on the server side.\n * Commonly used for implementing server side rendering for `css-in-js` libraries.\n */\nexport default class Document extends React.Component<\n DocumentProps & P\n> {\n /**\n * `getInitialProps` hook returns the context object with the addition of `renderPage`.\n * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers\n */\n static getInitialProps(ctx: DocumentContext): Promise {\n return ctx.defaultGetInitialProps(ctx)\n }\n\n render() {\n return (\n \n \n
\n \n \n \n \n )\n }\n}\n\n// Add a special property to the built-in `Document` component so later we can\n// identify if a user customized `Document` is used or not.\nconst InternalFunctionDocument: DocumentType =\n function InternalFunctionDocument() {\n return (\n \n \n \n \n \n \n \n )\n }\n;(Document as any)[NEXT_BUILTIN_DOCUMENT] = InternalFunctionDocument\n"],"names":["Head","Html","Main","NextScript","Document","largePageDataWarnings","Set","getDocumentFiles","buildManifest","pathname","sharedFiles","getPageFiles","pageFiles","allFiles","getPolyfillScripts","context","props","assetPrefix","assetQueryString","disableOptimizedLoading","crossOrigin","polyfillFiles","filter","polyfill","endsWith","map","script","defer","nonce","noModule","src","encodeURIPath","hasComponentProps","child","getDynamicChunks","files","dynamicImports","isDevelopment","file","includes","async","getScripts","normalScripts","lowPriorityScripts","lowPriorityFiles","getPreNextWorkerScripts","scriptLoader","nextScriptWorkers","process","env","NEXT_RUNTIME","partytownSnippet","__non_webpack_require__","children","Array","isArray","userDefinedConfig","find","dangerouslySetInnerHTML","__html","length","data-partytown-config","data-partytown","worker","index","strategy","scriptChildren","scriptProps","srcProps","join","Error","type","key","data-nscript","err","isError","code","console","warn","message","getPreNextScripts","webWorkerScripts","beforeInteractiveScripts","beforeInteractive","getHeadHTMLProps","restProps","headProps","getNextFontLinkTags","nextFontManifest","dangerousAsPath","preconnect","preload","appFontsEntry","pages","pageFontsEntry","preloadedFontFiles","from","preconnectToSelf","link","data-next-font","pagesUsingSizeAdjust","rel","href","fontFile","ext","exec","as","React","Component","contextType","HtmlContext","getCssLinks","dynamicCssManifest","optimizeCss","cssFiles","f","unmanagedFiles","localDynamicCssFiles","existing","has","push","cssLinkElements","forEach","isSharedFile","isUnmanagedFile","isFileInDynamicCssManifest","data-n-g","undefined","data-n-p","getPreloadDynamicChunks","Boolean","getPreloadMainLinks","preloadFiles","getBeforeInteractiveInlineScripts","html","id","__NEXT_CROSS_ORIGIN","render","styles","__NEXT_DATA__","headTags","unstable_runtimeJS","unstable_JsPreload","disableRuntimeJS","disableJsPreload","docComponentsRendered","head","cssPreloads","otherHeadElements","cloneElement","concat","Children","toArray","NODE_ENV","isReactHelmet","name","page","nextFontLinkTags","tracingMetadata","getTracedMetadata","getTracer","getTracePropagationData","experimentalClientTraceMetadata","traceMetaTags","value","meta","content","style","data-next-hide-fouc","noscript","data-n-css","createElement","Fragment","handleDocumentScriptLoaderItems","scriptLoaderItems","headChildren","bodyChildren","combinedChildren","__nextScript","getInlineScriptSource","largePageDataBytes","data","JSON","stringify","htmlEscapeJsonString","bytes","TextEncoder","encode","buffer","byteLength","Buffer","prettyBytes","require","default","add","indexOf","devFiles","locale","useHtmlContext","lang","next-js-internal-body-render-target","getInitialProps","ctx","defaultGetInitialProps","body","InternalFunctionDocument","NEXT_BUILTIN_DOCUMENT"],"mappings":"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","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 4911, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/document.js"],"sourcesContent":["module.exports = require('./dist/pages/_document')\n"],"names":[],"mappings":"AAAA,OAAO,OAAO","ignoreList":[0],"debugId":null}}]
+}
\ No newline at end of file
diff --git a/learn-next/01/.next/dev/server/chunks/ssr/7c014_9114d985._.js b/learn-next/01/.next/dev/server/chunks/ssr/7c014_9114d985._.js
new file mode 100644
index 00000000..70786bd5
--- /dev/null
+++ b/learn-next/01/.next/dev/server/chunks/ssr/7c014_9114d985._.js
@@ -0,0 +1,5845 @@
+module.exports = [
+"[project]/learn-next/01/node_modules/next/dist/esm/server/route-modules/pages/module.compiled.js [ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
+
+if ("TURBOPACK compile-time falsy", 0) //TURBOPACK unreachable
+;
+else {
+ if ("TURBOPACK compile-time truthy", 1) {
+ if ("TURBOPACK compile-time truthy", 1) {
+ module.exports = __turbopack_context__.r("[externals]/next/dist/compiled/next-server/pages-turbo.runtime.dev.js [external] (next/dist/compiled/next-server/pages-turbo.runtime.dev.js, cjs)");
+ } else //TURBOPACK unreachable
+ ;
+ } else //TURBOPACK unreachable
+ ;
+} //# sourceMappingURL=module.compiled.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/route-kind.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "RouteKind",
+ ()=>RouteKind
+]);
+var RouteKind = /*#__PURE__*/ function(RouteKind) {
+ /**
+ * `PAGES` represents all the React pages that are under `pages/`.
+ */ RouteKind["PAGES"] = "PAGES";
+ /**
+ * `PAGES_API` represents all the API routes under `pages/api/`.
+ */ RouteKind["PAGES_API"] = "PAGES_API";
+ /**
+ * `APP_PAGE` represents all the React pages that are under `app/` with the
+ * filename of `page.{j,t}s{,x}`.
+ */ RouteKind["APP_PAGE"] = "APP_PAGE";
+ /**
+ * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the
+ * filename of `route.{j,t}s{,x}`.
+ */ RouteKind["APP_ROUTE"] = "APP_ROUTE";
+ /**
+ * `IMAGE` represents all the images that are generated by `next/image`.
+ */ RouteKind["IMAGE"] = "IMAGE";
+ return RouteKind;
+}({}); //# sourceMappingURL=route-kind.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/build/templates/helpers.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+/**
+ * Hoists a name from a module or promised module.
+ *
+ * @param module the module to hoist the name from
+ * @param name the name to hoist
+ * @returns the value on the module (or promised module)
+ */ __turbopack_context__.s([
+ "hoist",
+ ()=>hoist
+]);
+function hoist(module, name) {
+ // If the name is available in the module, return it.
+ if (name in module) {
+ return module[name];
+ }
+ // If a property called `then` exists, assume it's a promise and
+ // return a promise that resolves to the name.
+ if ('then' in module && typeof module.then === 'function') {
+ return module.then((mod)=>hoist(mod, name));
+ }
+ // If we're trying to hoise the default export, and the module is a function,
+ // return the module itself.
+ if (typeof module === 'function' && name === 'default') {
+ return module;
+ }
+ // Otherwise, return undefined.
+ return undefined;
+} //# sourceMappingURL=helpers.js.map
+}),
+"[project]/learn-next/01/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs [ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
+"use strict";
+
+function _getRequireWildcardCache(nodeInterop) {
+ if (typeof WeakMap !== "function") return null;
+ var cacheBabelInterop = new WeakMap();
+ var cacheNodeInterop = new WeakMap();
+ return (_getRequireWildcardCache = function(nodeInterop) {
+ return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
+ })(nodeInterop);
+}
+function _interop_require_wildcard(obj, nodeInterop) {
+ if (!nodeInterop && obj && obj.__esModule) return obj;
+ if (obj === null || typeof obj !== "object" && typeof obj !== "function") return {
+ default: obj
+ };
+ var cache = _getRequireWildcardCache(nodeInterop);
+ if (cache && cache.has(obj)) return cache.get(obj);
+ var newObj = {
+ __proto__: null
+ };
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+ for(var key in obj){
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+ if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);
+ else newObj[key] = obj[key];
+ }
+ }
+ newObj.default = obj;
+ if (cache) cache.set(obj, newObj);
+ return newObj;
+}
+exports._ = _interop_require_wildcard;
+}),
+"[project]/learn-next/01/node_modules/next/dist/shared/lib/side-effect.js [ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "default", {
+ enumerable: true,
+ get: function() {
+ return SideEffect;
+ }
+});
+const _react = __turbopack_context__.r("[externals]/react [external] (react, cjs)");
+const isServer = ("TURBOPACK compile-time value", "undefined") === 'undefined';
+const useClientOnlyLayoutEffect = ("TURBOPACK compile-time truthy", 1) ? ()=>{} : "TURBOPACK unreachable";
+const useClientOnlyEffect = ("TURBOPACK compile-time truthy", 1) ? ()=>{} : "TURBOPACK unreachable";
+function SideEffect(props) {
+ const { headManager, reduceComponentsToState } = props;
+ function emitChange() {
+ if (headManager && headManager.mountedInstances) {
+ const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));
+ headManager.updateHead(reduceComponentsToState(headElements));
+ }
+ }
+ if ("TURBOPACK compile-time truthy", 1) {
+ headManager?.mountedInstances?.add(props.children);
+ emitChange();
+ }
+ useClientOnlyLayoutEffect(()=>{
+ headManager?.mountedInstances?.add(props.children);
+ return ()=>{
+ headManager?.mountedInstances?.delete(props.children);
+ };
+ });
+ // We need to call `updateHead` method whenever the `SideEffect` is trigger in all
+ // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s
+ // being rendered, we only trigger the method from the last one.
+ // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`
+ // singleton in the layout effect pass, and actually trigger it in the effect pass.
+ useClientOnlyLayoutEffect(()=>{
+ if (headManager) {
+ headManager._pendingUpdate = emitChange;
+ }
+ return ()=>{
+ if (headManager) {
+ headManager._pendingUpdate = emitChange;
+ }
+ };
+ });
+ useClientOnlyEffect(()=>{
+ if (headManager && headManager._pendingUpdate) {
+ headManager._pendingUpdate();
+ headManager._pendingUpdate = null;
+ }
+ return ()=>{
+ if (headManager && headManager._pendingUpdate) {
+ headManager._pendingUpdate();
+ headManager._pendingUpdate = null;
+ }
+ };
+ });
+ return null;
+} //# sourceMappingURL=side-effect.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js [ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
+"use strict";
+
+module.exports = __turbopack_context__.r("[project]/learn-next/01/node_modules/next/dist/server/route-modules/pages/module.compiled.js [ssr] (ecmascript)").vendored['contexts'].HeadManagerContext; //# sourceMappingURL=head-manager-context.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/shared/lib/utils/warn-once.js [ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+Object.defineProperty(exports, "warnOnce", {
+ enumerable: true,
+ get: function() {
+ return warnOnce;
+ }
+});
+let warnOnce = (_)=>{};
+if ("TURBOPACK compile-time truthy", 1) {
+ const warnings = new Set();
+ warnOnce = (msg)=>{
+ if (!warnings.has(msg)) {
+ console.warn(msg);
+ }
+ warnings.add(msg);
+ };
+} //# sourceMappingURL=warn-once.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/shared/lib/head.js [ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+0 && (module.exports = {
+ default: null,
+ defaultHead: null
+});
+function _export(target, all) {
+ for(var name in all)Object.defineProperty(target, name, {
+ enumerable: true,
+ get: all[name]
+ });
+}
+_export(exports, {
+ default: function() {
+ return _default;
+ },
+ defaultHead: function() {
+ return defaultHead;
+ }
+});
+const _interop_require_default = __turbopack_context__.r("[project]/learn-next/01/node_modules/@swc/helpers/cjs/_interop_require_default.cjs [ssr] (ecmascript)");
+const _interop_require_wildcard = __turbopack_context__.r("[project]/learn-next/01/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs [ssr] (ecmascript)");
+const _jsxruntime = __turbopack_context__.r("[externals]/react/jsx-runtime [external] (react/jsx-runtime, cjs)");
+const _react = /*#__PURE__*/ _interop_require_wildcard._(__turbopack_context__.r("[externals]/react [external] (react, cjs)"));
+const _sideeffect = /*#__PURE__*/ _interop_require_default._(__turbopack_context__.r("[project]/learn-next/01/node_modules/next/dist/shared/lib/side-effect.js [ssr] (ecmascript)"));
+const _headmanagercontextsharedruntime = __turbopack_context__.r("[project]/learn-next/01/node_modules/next/dist/server/route-modules/pages/vendored/contexts/head-manager-context.js [ssr] (ecmascript)");
+const _warnonce = __turbopack_context__.r("[project]/learn-next/01/node_modules/next/dist/shared/lib/utils/warn-once.js [ssr] (ecmascript)");
+function defaultHead() {
+ const head = [
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", {
+ charSet: "utf-8"
+ }, "charset"),
+ /*#__PURE__*/ (0, _jsxruntime.jsx)("meta", {
+ name: "viewport",
+ content: "width=device-width"
+ }, "viewport")
+ ];
+ return head;
+}
+function onlyReactElement(list, child) {
+ // React children can be "string" or "number" in this case we ignore them for backwards compat
+ if (typeof child === 'string' || typeof child === 'number') {
+ return list;
+ }
+ // Adds support for React.Fragment
+ if (child.type === _react.default.Fragment) {
+ return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{
+ if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {
+ return fragmentList;
+ }
+ return fragmentList.concat(fragmentChild);
+ }, []));
+ }
+ return list.concat(child);
+}
+const METATYPES = [
+ 'name',
+ 'httpEquiv',
+ 'charSet',
+ 'itemProp'
+];
+/*
+ returns a function for filtering head child elements
+ which shouldn't be duplicated, like
+ Also adds support for deduplicated `key` properties
+*/ function unique() {
+ const keys = new Set();
+ const tags = new Set();
+ const metaTypes = new Set();
+ const metaCategories = {};
+ return (h)=>{
+ let isUnique = true;
+ let hasKey = false;
+ if (h.key && typeof h.key !== 'number' && h.key.indexOf('$') > 0) {
+ hasKey = true;
+ const key = h.key.slice(h.key.indexOf('$') + 1);
+ if (keys.has(key)) {
+ isUnique = false;
+ } else {
+ keys.add(key);
+ }
+ }
+ // eslint-disable-next-line default-case
+ switch(h.type){
+ case 'title':
+ case 'base':
+ if (tags.has(h.type)) {
+ isUnique = false;
+ } else {
+ tags.add(h.type);
+ }
+ break;
+ case 'meta':
+ for(let i = 0, len = METATYPES.length; i < len; i++){
+ const metatype = METATYPES[i];
+ if (!h.props.hasOwnProperty(metatype)) continue;
+ if (metatype === 'charSet') {
+ if (metaTypes.has(metatype)) {
+ isUnique = false;
+ } else {
+ metaTypes.add(metatype);
+ }
+ } else {
+ const category = h.props[metatype];
+ const categories = metaCategories[metatype] || new Set();
+ if ((metatype !== 'name' || !hasKey) && categories.has(category)) {
+ isUnique = false;
+ } else {
+ categories.add(category);
+ metaCategories[metatype] = categories;
+ }
+ }
+ }
+ break;
+ }
+ return isUnique;
+ };
+}
+/**
+ *
+ * @param headChildrenElements List of children of
+ */ function reduceComponents(headChildrenElements) {
+ return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead().reverse()).filter(unique()).reverse().map((c, i)=>{
+ const key = c.key || i;
+ if ("TURBOPACK compile-time truthy", 1) {
+ // omit JSON-LD structured data snippets from the warning
+ if (c.type === 'script' && c.props['type'] !== 'application/ld+json') {
+ const srcMessage = c.props['src'] ? `
+ // output = [ ]
+ const insertedHeadContent = new Uint8Array(chunk.length + encodedInsertion.length);
+ // Append the first part of the chunk, before the head tag
+ insertedHeadContent.set(chunk.slice(0, index));
+ // Append the server inserted content
+ insertedHeadContent.set(encodedInsertion, index);
+ // Append the rest of the chunk
+ insertedHeadContent.set(chunk.slice(index), index + encodedInsertion.length);
+ controller.enqueue(insertedHeadContent);
+ } else {
+ controller.enqueue(chunk);
+ }
+ inserted = true;
+ } else {
+ // This will happens in PPR rendering during next start, when the page is partially rendered.
+ // When the page resumes, the head tag will be found in the middle of the chunk.
+ // Where we just need to append the insertion and chunk to the current stream.
+ // e.g.
+ // PPR-static: ... [ resume content ]
+ // PPR-resume: [ insertion ] [ rest content ]
+ if (insertion) {
+ controller.enqueue(encoder.encode(insertion));
+ }
+ controller.enqueue(chunk);
+ inserted = true;
+ }
+ }
+ },
+ async flush (controller) {
+ // Check before closing if there's anything remaining to insert.
+ if (hasBytes) {
+ const insertion = await insert();
+ if (insertion) {
+ controller.enqueue(encoder.encode(insertion));
+ }
+ }
+ }
+ });
+}
+function createClientResumeScriptInsertionTransformStream() {
+ const segmentPath = '/_full';
+ const cacheBustingHeader = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$cache$2d$busting$2d$search$2d$param$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["computeCacheBustingSearchParam"])('1', '/_full', undefined, undefined // headers[NEXT_URL]
+ );
+ const searchStr = `${__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$app$2d$router$2d$headers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["NEXT_RSC_UNION_QUERY"]}=${cacheBustingHeader}`;
+ const NEXT_CLIENT_RESUME_SCRIPT = ``;
+ let didAlreadyInsert = false;
+ return new TransformStream({
+ transform (chunk, controller) {
+ if (didAlreadyInsert) {
+ // Already inserted the script into the head. Pass through.
+ controller.enqueue(chunk);
+ return;
+ }
+ // TODO (@Ethan-Arrowood): Replace the generic `indexOfUint8Array` method with something finely tuned for the subset of things actually being checked for.
+ const headClosingTagIndex = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["indexOfUint8Array"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.HEAD);
+ if (headClosingTagIndex === -1) {
+ // In fully static rendering or non PPR rendering cases:
+ // `/head>` will always be found in the chunk in first chunk rendering.
+ controller.enqueue(chunk);
+ return;
+ }
+ const encodedInsertion = encoder.encode(NEXT_CLIENT_RESUME_SCRIPT);
+ // Get the total count of the bytes in the chunk and the insertion
+ // e.g.
+ // chunk =
+ // insertion =
+ // output = [ ]
+ const insertedHeadContent = new Uint8Array(chunk.length + encodedInsertion.length);
+ // Append the first part of the chunk, before the head tag
+ insertedHeadContent.set(chunk.slice(0, headClosingTagIndex));
+ // Append the server inserted content
+ insertedHeadContent.set(encodedInsertion, headClosingTagIndex);
+ // Append the rest of the chunk
+ insertedHeadContent.set(chunk.slice(headClosingTagIndex), headClosingTagIndex + encodedInsertion.length);
+ controller.enqueue(insertedHeadContent);
+ didAlreadyInsert = true;
+ }
+ });
+}
+// Suffix after main body content - scripts before ,
+// but wait for the major chunks to be enqueued.
+function createDeferredSuffixStream(suffix) {
+ let flushed = false;
+ let pending;
+ const flush = (controller)=>{
+ const detached = new __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$detached$2d$promise$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["DetachedPromise"]();
+ pending = detached;
+ (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["scheduleImmediate"])(()=>{
+ try {
+ controller.enqueue(encoder.encode(suffix));
+ } catch {
+ // If an error occurs while enqueuing it can't be due to this
+ // transformers fault. It's likely due to the controller being
+ // errored due to the stream being cancelled.
+ } finally{
+ pending = undefined;
+ detached.resolve();
+ }
+ });
+ };
+ return new TransformStream({
+ transform (chunk, controller) {
+ controller.enqueue(chunk);
+ // If we've already flushed, we're done.
+ if (flushed) return;
+ // Schedule the flush to happen.
+ flushed = true;
+ flush(controller);
+ },
+ flush (controller) {
+ if (pending) return pending.promise;
+ if (flushed) return;
+ // Flush now.
+ controller.enqueue(encoder.encode(suffix));
+ }
+ });
+}
+function createFlightDataInjectionTransformStream(stream, delayDataUntilFirstHtmlChunk) {
+ let htmlStreamFinished = false;
+ let pull = null;
+ let donePulling = false;
+ function startOrContinuePulling(controller) {
+ if (!pull) {
+ pull = startPulling(controller);
+ }
+ return pull;
+ }
+ async function startPulling(controller) {
+ const reader = stream.getReader();
+ if (delayDataUntilFirstHtmlChunk) {
+ // NOTE: streaming flush
+ // We are buffering here for the inlined data stream because the
+ // "shell" stream might be chunkenized again by the underlying stream
+ // implementation, e.g. with a specific high-water mark. To ensure it's
+ // the safe timing to pipe the data stream, this extra tick is
+ // necessary.
+ // We don't start reading until we've left the current Task to ensure
+ // that it's inserted after flushing the shell. Note that this implementation
+ // might get stale if impl details of Fizz change in the future.
+ await (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["atLeastOneTask"])();
+ }
+ try {
+ while(true){
+ const { done, value } = await reader.read();
+ if (done) {
+ donePulling = true;
+ return;
+ }
+ // We want to prioritize HTML over RSC data.
+ // The SSR render is based on the same RSC stream, so when we get a new RSC chunk,
+ // we're likely to produce an HTML chunk as well, so give it a chance to flush first.
+ if (!delayDataUntilFirstHtmlChunk && !htmlStreamFinished) {
+ await (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["atLeastOneTask"])();
+ }
+ controller.enqueue(value);
+ }
+ } catch (err) {
+ controller.error(err);
+ }
+ }
+ return new TransformStream({
+ start (controller) {
+ if (!delayDataUntilFirstHtmlChunk) {
+ startOrContinuePulling(controller);
+ }
+ },
+ transform (chunk, controller) {
+ controller.enqueue(chunk);
+ // Start the streaming if it hasn't already been started yet.
+ if (delayDataUntilFirstHtmlChunk) {
+ startOrContinuePulling(controller);
+ }
+ },
+ flush (controller) {
+ htmlStreamFinished = true;
+ if (donePulling) {
+ return;
+ }
+ return startOrContinuePulling(controller);
+ }
+ });
+}
+const CLOSE_TAG = '';
+/**
+ * This transform stream moves the suffix to the end of the stream, so results
+ * like `` will be transformed to
+ * ``.
+ */ function createMoveSuffixStream() {
+ let foundSuffix = false;
+ return new TransformStream({
+ transform (chunk, controller) {
+ if (foundSuffix) {
+ return controller.enqueue(chunk);
+ }
+ const index = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["indexOfUint8Array"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY_AND_HTML);
+ if (index > -1) {
+ foundSuffix = true;
+ // If the whole chunk is the suffix, then don't write anything, it will
+ // be written in the flush.
+ if (chunk.length === __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY_AND_HTML.length) {
+ return;
+ }
+ // Write out the part before the suffix.
+ const before = chunk.slice(0, index);
+ controller.enqueue(before);
+ // In the case where the suffix is in the middle of the chunk, we need
+ // to split the chunk into two parts.
+ if (chunk.length > __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY_AND_HTML.length + index) {
+ // Write out the part after the suffix.
+ const after = chunk.slice(index + __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY_AND_HTML.length);
+ controller.enqueue(after);
+ }
+ } else {
+ controller.enqueue(chunk);
+ }
+ },
+ flush (controller) {
+ // Even if we didn't find the suffix, the HTML is not valid if we don't
+ // add it, so insert it at the end.
+ controller.enqueue(__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY_AND_HTML);
+ }
+ });
+}
+function createStripDocumentClosingTagsTransform() {
+ return new TransformStream({
+ transform (chunk, controller) {
+ // We rely on the assumption that chunks will never break across a code unit.
+ // This is reasonable because we currently concat all of React's output from a single
+ // flush into one chunk before streaming it forward which means the chunk will represent
+ // a single coherent utf-8 string. This is not safe to use if we change our streaming to no
+ // longer do this large buffered chunk
+ if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["isEquivalentUint8Arrays"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY_AND_HTML) || (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["isEquivalentUint8Arrays"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY) || (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["isEquivalentUint8Arrays"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.HTML)) {
+ // the entire chunk is the closing tags; return without enqueueing anything.
+ return;
+ }
+ // We assume these tags will go at together at the end of the document and that
+ // they won't appear anywhere else in the document. This is not really a safe assumption
+ // but until we revamp our streaming infra this is a performant way to string the tags
+ chunk = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["removeFromUint8Array"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.BODY);
+ chunk = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["removeFromUint8Array"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].CLOSED.HTML);
+ controller.enqueue(chunk);
+ }
+ });
+}
+function createRootLayoutValidatorStream() {
+ let foundHtml = false;
+ let foundBody = false;
+ return new TransformStream({
+ async transform (chunk, controller) {
+ // Peek into the streamed chunk to see if the tags are present.
+ if (!foundHtml && (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["indexOfUint8Array"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].OPENING.HTML) > -1) {
+ foundHtml = true;
+ }
+ if (!foundBody && (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$uint8array$2d$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["indexOfUint8Array"])(chunk, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$encoded$2d$tags$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["ENCODED_TAGS"].OPENING.BODY) > -1) {
+ foundBody = true;
+ }
+ controller.enqueue(chunk);
+ },
+ flush (controller) {
+ const missingTags = [];
+ if (!foundHtml) missingTags.push('html');
+ if (!foundBody) missingTags.push('body');
+ if (!missingTags.length) return;
+ controller.enqueue(encoder.encode(`
+
+ `));
+ }
+ });
+}
+function chainTransformers(readable, transformers) {
+ let stream = readable;
+ for (const transformer of transformers){
+ if (!transformer) continue;
+ stream = stream.pipeThrough(transformer);
+ }
+ return stream;
+}
+async function continueFizzStream(renderStream, { suffix, inlinedDataStream, isStaticGeneration, isBuildTimePrerendering, buildId, getServerInsertedHTML, getServerInsertedMetadata, validateRootLayout }) {
+ // Suffix itself might contain close tags at the end, so we need to split it.
+ const suffixUnclosed = suffix ? suffix.split(CLOSE_TAG, 1)[0] : null;
+ // If we're generating static HTML we need to wait for it to resolve before continuing.
+ if (isStaticGeneration) {
+ await renderStream.allReady;
+ }
+ return chainTransformers(renderStream, [
+ // Buffer everything to avoid flushing too frequently
+ createBufferedTransformStream(),
+ // Add build id comment to start of the HTML document (in export mode)
+ createPrefetchCommentStream(isBuildTimePrerendering, buildId),
+ // Transform metadata
+ createMetadataTransformStream(getServerInsertedMetadata),
+ // Insert suffix content
+ suffixUnclosed != null && suffixUnclosed.length > 0 ? createDeferredSuffixStream(suffixUnclosed) : null,
+ // Insert the inlined data (Flight data, form state, etc.) stream into the HTML
+ inlinedDataStream ? createFlightDataInjectionTransformStream(inlinedDataStream, true) : null,
+ // Validate the root layout for missing html or body tags
+ validateRootLayout ? createRootLayoutValidatorStream() : null,
+ // Close tags should always be deferred to the end
+ createMoveSuffixStream(),
+ // Special head insertions
+ // TODO-APP: Insert server side html to end of head in app layout rendering, to avoid
+ // hydration errors. Remove this once it's ready to be handled by react itself.
+ createHeadInsertionTransformStream(getServerInsertedHTML)
+ ]);
+}
+async function continueDynamicPrerender(prerenderStream, { getServerInsertedHTML, getServerInsertedMetadata }) {
+ return prerenderStream // Buffer everything to avoid flushing too frequently
+ .pipeThrough(createBufferedTransformStream()).pipeThrough(createStripDocumentClosingTagsTransform()) // Insert generated tags to head
+ .pipeThrough(createHeadInsertionTransformStream(getServerInsertedHTML)) // Transform metadata
+ .pipeThrough(createMetadataTransformStream(getServerInsertedMetadata));
+}
+async function continueStaticPrerender(prerenderStream, { inlinedDataStream, getServerInsertedHTML, getServerInsertedMetadata, isBuildTimePrerendering, buildId }) {
+ return prerenderStream // Buffer everything to avoid flushing too frequently
+ .pipeThrough(createBufferedTransformStream()) // Add build id comment to start of the HTML document (in export mode)
+ .pipeThrough(createPrefetchCommentStream(isBuildTimePrerendering, buildId)) // Insert generated tags to head
+ .pipeThrough(createHeadInsertionTransformStream(getServerInsertedHTML)) // Transform metadata
+ .pipeThrough(createMetadataTransformStream(getServerInsertedMetadata)) // Insert the inlined data (Flight data, form state, etc.) stream into the HTML
+ .pipeThrough(createFlightDataInjectionTransformStream(inlinedDataStream, true)) // Close tags should always be deferred to the end
+ .pipeThrough(createMoveSuffixStream());
+}
+async function continueStaticFallbackPrerender(prerenderStream, { inlinedDataStream, getServerInsertedHTML, getServerInsertedMetadata, isBuildTimePrerendering, buildId }) {
+ // Same as `continueStaticPrerender`, but also inserts an additional script
+ // to instruct the client to start fetching the hydration data as early
+ // as possible.
+ return prerenderStream // Buffer everything to avoid flushing too frequently
+ .pipeThrough(createBufferedTransformStream()) // Add build id comment to start of the HTML document (in export mode)
+ .pipeThrough(createPrefetchCommentStream(isBuildTimePrerendering, buildId)) // Insert generated tags to head
+ .pipeThrough(createHeadInsertionTransformStream(getServerInsertedHTML)) // Insert the client resume script into the head
+ .pipeThrough(createClientResumeScriptInsertionTransformStream()) // Transform metadata
+ .pipeThrough(createMetadataTransformStream(getServerInsertedMetadata)) // Insert the inlined data (Flight data, form state, etc.) stream into the HTML
+ .pipeThrough(createFlightDataInjectionTransformStream(inlinedDataStream, true)) // Close tags should always be deferred to the end
+ .pipeThrough(createMoveSuffixStream());
+}
+async function continueDynamicHTMLResume(renderStream, { delayDataUntilFirstHtmlChunk, inlinedDataStream, getServerInsertedHTML, getServerInsertedMetadata }) {
+ return renderStream // Buffer everything to avoid flushing too frequently
+ .pipeThrough(createBufferedTransformStream()) // Insert generated tags to head
+ .pipeThrough(createHeadInsertionTransformStream(getServerInsertedHTML)) // Transform metadata
+ .pipeThrough(createMetadataTransformStream(getServerInsertedMetadata)) // Insert the inlined data (Flight data, form state, etc.) stream into the HTML
+ .pipeThrough(createFlightDataInjectionTransformStream(inlinedDataStream, delayDataUntilFirstHtmlChunk)) // Close tags should always be deferred to the end
+ .pipeThrough(createMoveSuffixStream());
+}
+function createDocumentClosingStream() {
+ return streamFromString(CLOSE_TAG);
+} //# sourceMappingURL=node-web-streams-helper.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/lib/constants.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "ACTION_SUFFIX",
+ ()=>ACTION_SUFFIX,
+ "APP_DIR_ALIAS",
+ ()=>APP_DIR_ALIAS,
+ "CACHE_ONE_YEAR",
+ ()=>CACHE_ONE_YEAR,
+ "DOT_NEXT_ALIAS",
+ ()=>DOT_NEXT_ALIAS,
+ "ESLINT_DEFAULT_DIRS",
+ ()=>ESLINT_DEFAULT_DIRS,
+ "GSP_NO_RETURNED_VALUE",
+ ()=>GSP_NO_RETURNED_VALUE,
+ "GSSP_COMPONENT_MEMBER_ERROR",
+ ()=>GSSP_COMPONENT_MEMBER_ERROR,
+ "GSSP_NO_RETURNED_VALUE",
+ ()=>GSSP_NO_RETURNED_VALUE,
+ "HTML_CONTENT_TYPE_HEADER",
+ ()=>HTML_CONTENT_TYPE_HEADER,
+ "INFINITE_CACHE",
+ ()=>INFINITE_CACHE,
+ "INSTRUMENTATION_HOOK_FILENAME",
+ ()=>INSTRUMENTATION_HOOK_FILENAME,
+ "JSON_CONTENT_TYPE_HEADER",
+ ()=>JSON_CONTENT_TYPE_HEADER,
+ "MATCHED_PATH_HEADER",
+ ()=>MATCHED_PATH_HEADER,
+ "MIDDLEWARE_FILENAME",
+ ()=>MIDDLEWARE_FILENAME,
+ "MIDDLEWARE_LOCATION_REGEXP",
+ ()=>MIDDLEWARE_LOCATION_REGEXP,
+ "NEXT_BODY_SUFFIX",
+ ()=>NEXT_BODY_SUFFIX,
+ "NEXT_CACHE_IMPLICIT_TAG_ID",
+ ()=>NEXT_CACHE_IMPLICIT_TAG_ID,
+ "NEXT_CACHE_REVALIDATED_TAGS_HEADER",
+ ()=>NEXT_CACHE_REVALIDATED_TAGS_HEADER,
+ "NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER",
+ ()=>NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER,
+ "NEXT_CACHE_SOFT_TAG_MAX_LENGTH",
+ ()=>NEXT_CACHE_SOFT_TAG_MAX_LENGTH,
+ "NEXT_CACHE_TAGS_HEADER",
+ ()=>NEXT_CACHE_TAGS_HEADER,
+ "NEXT_CACHE_TAG_MAX_ITEMS",
+ ()=>NEXT_CACHE_TAG_MAX_ITEMS,
+ "NEXT_CACHE_TAG_MAX_LENGTH",
+ ()=>NEXT_CACHE_TAG_MAX_LENGTH,
+ "NEXT_DATA_SUFFIX",
+ ()=>NEXT_DATA_SUFFIX,
+ "NEXT_INTERCEPTION_MARKER_PREFIX",
+ ()=>NEXT_INTERCEPTION_MARKER_PREFIX,
+ "NEXT_META_SUFFIX",
+ ()=>NEXT_META_SUFFIX,
+ "NEXT_QUERY_PARAM_PREFIX",
+ ()=>NEXT_QUERY_PARAM_PREFIX,
+ "NEXT_RESUME_HEADER",
+ ()=>NEXT_RESUME_HEADER,
+ "NON_STANDARD_NODE_ENV",
+ ()=>NON_STANDARD_NODE_ENV,
+ "PAGES_DIR_ALIAS",
+ ()=>PAGES_DIR_ALIAS,
+ "PRERENDER_REVALIDATE_HEADER",
+ ()=>PRERENDER_REVALIDATE_HEADER,
+ "PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER",
+ ()=>PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER,
+ "PROXY_FILENAME",
+ ()=>PROXY_FILENAME,
+ "PROXY_LOCATION_REGEXP",
+ ()=>PROXY_LOCATION_REGEXP,
+ "PUBLIC_DIR_MIDDLEWARE_CONFLICT",
+ ()=>PUBLIC_DIR_MIDDLEWARE_CONFLICT,
+ "ROOT_DIR_ALIAS",
+ ()=>ROOT_DIR_ALIAS,
+ "RSC_ACTION_CLIENT_WRAPPER_ALIAS",
+ ()=>RSC_ACTION_CLIENT_WRAPPER_ALIAS,
+ "RSC_ACTION_ENCRYPTION_ALIAS",
+ ()=>RSC_ACTION_ENCRYPTION_ALIAS,
+ "RSC_ACTION_PROXY_ALIAS",
+ ()=>RSC_ACTION_PROXY_ALIAS,
+ "RSC_ACTION_VALIDATE_ALIAS",
+ ()=>RSC_ACTION_VALIDATE_ALIAS,
+ "RSC_CACHE_WRAPPER_ALIAS",
+ ()=>RSC_CACHE_WRAPPER_ALIAS,
+ "RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS",
+ ()=>RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS,
+ "RSC_MOD_REF_PROXY_ALIAS",
+ ()=>RSC_MOD_REF_PROXY_ALIAS,
+ "RSC_PREFETCH_SUFFIX",
+ ()=>RSC_PREFETCH_SUFFIX,
+ "RSC_SEGMENTS_DIR_SUFFIX",
+ ()=>RSC_SEGMENTS_DIR_SUFFIX,
+ "RSC_SEGMENT_SUFFIX",
+ ()=>RSC_SEGMENT_SUFFIX,
+ "RSC_SUFFIX",
+ ()=>RSC_SUFFIX,
+ "SERVER_PROPS_EXPORT_ERROR",
+ ()=>SERVER_PROPS_EXPORT_ERROR,
+ "SERVER_PROPS_GET_INIT_PROPS_CONFLICT",
+ ()=>SERVER_PROPS_GET_INIT_PROPS_CONFLICT,
+ "SERVER_PROPS_SSG_CONFLICT",
+ ()=>SERVER_PROPS_SSG_CONFLICT,
+ "SERVER_RUNTIME",
+ ()=>SERVER_RUNTIME,
+ "SSG_FALLBACK_EXPORT_ERROR",
+ ()=>SSG_FALLBACK_EXPORT_ERROR,
+ "SSG_GET_INITIAL_PROPS_CONFLICT",
+ ()=>SSG_GET_INITIAL_PROPS_CONFLICT,
+ "STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR",
+ ()=>STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR,
+ "TEXT_PLAIN_CONTENT_TYPE_HEADER",
+ ()=>TEXT_PLAIN_CONTENT_TYPE_HEADER,
+ "UNSTABLE_REVALIDATE_RENAME_ERROR",
+ ()=>UNSTABLE_REVALIDATE_RENAME_ERROR,
+ "WEBPACK_LAYERS",
+ ()=>WEBPACK_LAYERS,
+ "WEBPACK_RESOURCE_QUERIES",
+ ()=>WEBPACK_RESOURCE_QUERIES,
+ "WEB_SOCKET_MAX_RECONNECTIONS",
+ ()=>WEB_SOCKET_MAX_RECONNECTIONS
+]);
+const TEXT_PLAIN_CONTENT_TYPE_HEADER = 'text/plain';
+const HTML_CONTENT_TYPE_HEADER = 'text/html; charset=utf-8';
+const JSON_CONTENT_TYPE_HEADER = 'application/json; charset=utf-8';
+const NEXT_QUERY_PARAM_PREFIX = 'nxtP';
+const NEXT_INTERCEPTION_MARKER_PREFIX = 'nxtI';
+const MATCHED_PATH_HEADER = 'x-matched-path';
+const PRERENDER_REVALIDATE_HEADER = 'x-prerender-revalidate';
+const PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER = 'x-prerender-revalidate-if-generated';
+const RSC_PREFETCH_SUFFIX = '.prefetch.rsc';
+const RSC_SEGMENTS_DIR_SUFFIX = '.segments';
+const RSC_SEGMENT_SUFFIX = '.segment.rsc';
+const RSC_SUFFIX = '.rsc';
+const ACTION_SUFFIX = '.action';
+const NEXT_DATA_SUFFIX = '.json';
+const NEXT_META_SUFFIX = '.meta';
+const NEXT_BODY_SUFFIX = '.body';
+const NEXT_CACHE_TAGS_HEADER = 'x-next-cache-tags';
+const NEXT_CACHE_REVALIDATED_TAGS_HEADER = 'x-next-revalidated-tags';
+const NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER = 'x-next-revalidate-tag-token';
+const NEXT_RESUME_HEADER = 'next-resume';
+const NEXT_CACHE_TAG_MAX_ITEMS = 128;
+const NEXT_CACHE_TAG_MAX_LENGTH = 256;
+const NEXT_CACHE_SOFT_TAG_MAX_LENGTH = 1024;
+const NEXT_CACHE_IMPLICIT_TAG_ID = '_N_T_';
+const CACHE_ONE_YEAR = 31536000;
+const INFINITE_CACHE = 0xfffffffe;
+const MIDDLEWARE_FILENAME = 'middleware';
+const MIDDLEWARE_LOCATION_REGEXP = `(?:src/)?${MIDDLEWARE_FILENAME}`;
+const PROXY_FILENAME = 'proxy';
+const PROXY_LOCATION_REGEXP = `(?:src/)?${PROXY_FILENAME}`;
+const INSTRUMENTATION_HOOK_FILENAME = 'instrumentation';
+const PAGES_DIR_ALIAS = 'private-next-pages';
+const DOT_NEXT_ALIAS = 'private-dot-next';
+const ROOT_DIR_ALIAS = 'private-next-root-dir';
+const APP_DIR_ALIAS = 'private-next-app-dir';
+const RSC_MOD_REF_PROXY_ALIAS = 'private-next-rsc-mod-ref-proxy';
+const RSC_ACTION_VALIDATE_ALIAS = 'private-next-rsc-action-validate';
+const RSC_ACTION_PROXY_ALIAS = 'private-next-rsc-server-reference';
+const RSC_CACHE_WRAPPER_ALIAS = 'private-next-rsc-cache-wrapper';
+const RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS = 'private-next-rsc-track-dynamic-import';
+const RSC_ACTION_ENCRYPTION_ALIAS = 'private-next-rsc-action-encryption';
+const RSC_ACTION_CLIENT_WRAPPER_ALIAS = 'private-next-rsc-action-client-wrapper';
+const PUBLIC_DIR_MIDDLEWARE_CONFLICT = `You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict`;
+const SSG_GET_INITIAL_PROPS_CONFLICT = `You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps`;
+const SERVER_PROPS_GET_INIT_PROPS_CONFLICT = `You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.`;
+const SERVER_PROPS_SSG_CONFLICT = `You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps`;
+const STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR = `can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props`;
+const SERVER_PROPS_EXPORT_ERROR = `pages with \`getServerSideProps\` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export`;
+const GSP_NO_RETURNED_VALUE = 'Your `getStaticProps` function did not return an object. Did you forget to add a `return`?';
+const GSSP_NO_RETURNED_VALUE = 'Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?';
+const UNSTABLE_REVALIDATE_RENAME_ERROR = 'The `unstable_revalidate` property is available for general use.\n' + 'Please use `revalidate` instead.';
+const GSSP_COMPONENT_MEMBER_ERROR = `can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member`;
+const NON_STANDARD_NODE_ENV = `You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env`;
+const SSG_FALLBACK_EXPORT_ERROR = `Pages with \`fallback\` enabled in \`getStaticPaths\` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export`;
+const ESLINT_DEFAULT_DIRS = [
+ 'app',
+ 'pages',
+ 'components',
+ 'lib',
+ 'src'
+];
+const SERVER_RUNTIME = {
+ edge: 'edge',
+ experimentalEdge: 'experimental-edge',
+ nodejs: 'nodejs'
+};
+const WEB_SOCKET_MAX_RECONNECTIONS = 12;
+/**
+ * The names of the webpack layers. These layers are the primitives for the
+ * webpack chunks.
+ */ const WEBPACK_LAYERS_NAMES = {
+ /**
+ * The layer for the shared code between the client and server bundles.
+ */ shared: 'shared',
+ /**
+ * The layer for server-only runtime and picking up `react-server` export conditions.
+ * Including app router RSC pages and app router custom routes and metadata routes.
+ */ reactServerComponents: 'rsc',
+ /**
+ * Server Side Rendering layer for app (ssr).
+ */ serverSideRendering: 'ssr',
+ /**
+ * The browser client bundle layer for actions.
+ */ actionBrowser: 'action-browser',
+ /**
+ * The Node.js bundle layer for the API routes.
+ */ apiNode: 'api-node',
+ /**
+ * The Edge Lite bundle layer for the API routes.
+ */ apiEdge: 'api-edge',
+ /**
+ * The layer for the middleware code.
+ */ middleware: 'middleware',
+ /**
+ * The layer for the instrumentation hooks.
+ */ instrument: 'instrument',
+ /**
+ * The layer for assets on the edge.
+ */ edgeAsset: 'edge-asset',
+ /**
+ * The browser client bundle layer for App directory.
+ */ appPagesBrowser: 'app-pages-browser',
+ /**
+ * The browser client bundle layer for Pages directory.
+ */ pagesDirBrowser: 'pages-dir-browser',
+ /**
+ * The Edge Lite bundle layer for Pages directory.
+ */ pagesDirEdge: 'pages-dir-edge',
+ /**
+ * The Node.js bundle layer for Pages directory.
+ */ pagesDirNode: 'pages-dir-node'
+};
+const WEBPACK_LAYERS = {
+ ...WEBPACK_LAYERS_NAMES,
+ GROUP: {
+ builtinReact: [
+ WEBPACK_LAYERS_NAMES.reactServerComponents,
+ WEBPACK_LAYERS_NAMES.actionBrowser
+ ],
+ serverOnly: [
+ WEBPACK_LAYERS_NAMES.reactServerComponents,
+ WEBPACK_LAYERS_NAMES.actionBrowser,
+ WEBPACK_LAYERS_NAMES.instrument,
+ WEBPACK_LAYERS_NAMES.middleware
+ ],
+ neutralTarget: [
+ // pages api
+ WEBPACK_LAYERS_NAMES.apiNode,
+ WEBPACK_LAYERS_NAMES.apiEdge
+ ],
+ clientOnly: [
+ WEBPACK_LAYERS_NAMES.serverSideRendering,
+ WEBPACK_LAYERS_NAMES.appPagesBrowser
+ ],
+ bundled: [
+ WEBPACK_LAYERS_NAMES.reactServerComponents,
+ WEBPACK_LAYERS_NAMES.actionBrowser,
+ WEBPACK_LAYERS_NAMES.serverSideRendering,
+ WEBPACK_LAYERS_NAMES.appPagesBrowser,
+ WEBPACK_LAYERS_NAMES.shared,
+ WEBPACK_LAYERS_NAMES.instrument,
+ WEBPACK_LAYERS_NAMES.middleware
+ ],
+ appPages: [
+ // app router pages and layouts
+ WEBPACK_LAYERS_NAMES.reactServerComponents,
+ WEBPACK_LAYERS_NAMES.serverSideRendering,
+ WEBPACK_LAYERS_NAMES.appPagesBrowser,
+ WEBPACK_LAYERS_NAMES.actionBrowser
+ ]
+ }
+};
+const WEBPACK_RESOURCE_QUERIES = {
+ edgeSSREntry: '__next_edge_ssr_entry__',
+ metadata: '__next_metadata__',
+ metadataRoute: '__next_metadata_route__',
+ metadataImageMeta: '__next_metadata_image_meta__'
+};
+;
+ //# sourceMappingURL=constants.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/web/utils.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "fromNodeOutgoingHttpHeaders",
+ ()=>fromNodeOutgoingHttpHeaders,
+ "normalizeNextQueryParam",
+ ()=>normalizeNextQueryParam,
+ "splitCookiesString",
+ ()=>splitCookiesString,
+ "toNodeOutgoingHttpHeaders",
+ ()=>toNodeOutgoingHttpHeaders,
+ "validateURL",
+ ()=>validateURL
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/lib/constants.js [ssr] (ecmascript)");
+;
+function fromNodeOutgoingHttpHeaders(nodeHeaders) {
+ const headers = new Headers();
+ for (let [key, value] of Object.entries(nodeHeaders)){
+ const values = Array.isArray(value) ? value : [
+ value
+ ];
+ for (let v of values){
+ if (typeof v === 'undefined') continue;
+ if (typeof v === 'number') {
+ v = v.toString();
+ }
+ headers.append(key, v);
+ }
+ }
+ return headers;
+}
+function splitCookiesString(cookiesString) {
+ var cookiesStrings = [];
+ var pos = 0;
+ var start;
+ var ch;
+ var lastComma;
+ var nextStart;
+ var cookiesSeparatorFound;
+ function skipWhitespace() {
+ while(pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))){
+ pos += 1;
+ }
+ return pos < cookiesString.length;
+ }
+ function notSpecialChar() {
+ ch = cookiesString.charAt(pos);
+ return ch !== '=' && ch !== ';' && ch !== ',';
+ }
+ while(pos < cookiesString.length){
+ start = pos;
+ cookiesSeparatorFound = false;
+ while(skipWhitespace()){
+ ch = cookiesString.charAt(pos);
+ if (ch === ',') {
+ // ',' is a cookie separator if we have later first '=', not ';' or ','
+ lastComma = pos;
+ pos += 1;
+ skipWhitespace();
+ nextStart = pos;
+ while(pos < cookiesString.length && notSpecialChar()){
+ pos += 1;
+ }
+ // currently special character
+ if (pos < cookiesString.length && cookiesString.charAt(pos) === '=') {
+ // we found cookies separator
+ cookiesSeparatorFound = true;
+ // pos is inside the next cookie, so back up and return it.
+ pos = nextStart;
+ cookiesStrings.push(cookiesString.substring(start, lastComma));
+ start = pos;
+ } else {
+ // in param ',' or param separator ';',
+ // we continue from that comma
+ pos = lastComma + 1;
+ }
+ } else {
+ pos += 1;
+ }
+ }
+ if (!cookiesSeparatorFound || pos >= cookiesString.length) {
+ cookiesStrings.push(cookiesString.substring(start, cookiesString.length));
+ }
+ }
+ return cookiesStrings;
+}
+function toNodeOutgoingHttpHeaders(headers) {
+ const nodeHeaders = {};
+ const cookies = [];
+ if (headers) {
+ for (const [key, value] of headers.entries()){
+ if (key.toLowerCase() === 'set-cookie') {
+ // We may have gotten a comma joined string of cookies, or multiple
+ // set-cookie headers. We need to merge them into one header array
+ // to represent all the cookies.
+ cookies.push(...splitCookiesString(value));
+ nodeHeaders[key] = cookies.length === 1 ? cookies[0] : cookies;
+ } else {
+ nodeHeaders[key] = value;
+ }
+ }
+ }
+ return nodeHeaders;
+}
+function validateURL(url) {
+ try {
+ return String(new URL(String(url)));
+ } catch (error) {
+ throw Object.defineProperty(new Error(`URL is malformed "${String(url)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`, {
+ cause: error
+ }), "__NEXT_ERROR_CODE", {
+ value: "E61",
+ enumerable: false,
+ configurable: true
+ });
+ }
+}
+function normalizeNextQueryParam(key) {
+ const prefixes = [
+ __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["NEXT_QUERY_PARAM_PREFIX"],
+ __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["NEXT_INTERCEPTION_MARKER_PREFIX"]
+ ];
+ for (const prefix of prefixes){
+ if (key !== prefix && key.startsWith(prefix)) {
+ return key.substring(prefix.length);
+ }
+ }
+ return null;
+} //# sourceMappingURL=utils.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/i18n/detect-domain-locale.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "detectDomainLocale",
+ ()=>detectDomainLocale
+]);
+function detectDomainLocale(domainItems, hostname, detectedLocale) {
+ if (!domainItems) return;
+ if (detectedLocale) {
+ detectedLocale = detectedLocale.toLowerCase();
+ }
+ for (const item of domainItems){
+ // remove port if present
+ const domainHostname = item.domain?.split(':', 1)[0].toLowerCase();
+ if (hostname === domainHostname || detectedLocale === item.defaultLocale.toLowerCase() || item.locales?.some((locale)=>locale.toLowerCase() === detectedLocale)) {
+ return item;
+ }
+ }
+} //# sourceMappingURL=detect-domain-locale.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/remove-trailing-slash.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+/**
+ * Removes the trailing slash for a given route or page path. Preserves the
+ * root page. Examples:
+ * - `/foo/bar/` -> `/foo/bar`
+ * - `/foo/bar` -> `/foo/bar`
+ * - `/` -> `/`
+ */ __turbopack_context__.s([
+ "removeTrailingSlash",
+ ()=>removeTrailingSlash
+]);
+function removeTrailingSlash(route) {
+ return route.replace(/\/$/, '') || '/';
+} //# sourceMappingURL=remove-trailing-slash.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/add-path-prefix.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "addPathPrefix",
+ ()=>addPathPrefix
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$path$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/parse-path.js [ssr] (ecmascript)");
+;
+function addPathPrefix(path, prefix) {
+ if (!path.startsWith('/') || !prefix) {
+ return path;
+ }
+ const { pathname, query, hash } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$path$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["parsePath"])(path);
+ return `${prefix}${pathname}${query}${hash}`;
+} //# sourceMappingURL=add-path-prefix.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/add-path-suffix.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "addPathSuffix",
+ ()=>addPathSuffix
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$path$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/parse-path.js [ssr] (ecmascript)");
+;
+function addPathSuffix(path, suffix) {
+ if (!path.startsWith('/') || !suffix) {
+ return path;
+ }
+ const { pathname, query, hash } = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$parse$2d$path$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["parsePath"])(path);
+ return `${pathname}${suffix}${query}${hash}`;
+} //# sourceMappingURL=add-path-suffix.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/add-locale.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "addLocale",
+ ()=>addLocale
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/add-path-prefix.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/path-has-prefix.js [ssr] (ecmascript)");
+;
+;
+function addLocale(path, locale, defaultLocale, ignorePrefix) {
+ // If no locale was given or the locale is the default locale, we don't need
+ // to prefix the path.
+ if (!locale || locale === defaultLocale) return path;
+ const lower = path.toLowerCase();
+ // If the path is an API path or the path already has the locale prefix, we
+ // don't need to prefix the path.
+ if (!ignorePrefix) {
+ if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["pathHasPrefix"])(lower, '/api')) return path;
+ if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["pathHasPrefix"])(lower, `/${locale.toLowerCase()}`)) return path;
+ }
+ // Add the locale prefix to the path.
+ return (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["addPathPrefix"])(path, `/${locale}`);
+} //# sourceMappingURL=add-locale.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/format-next-pathname-info.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "formatNextPathnameInfo",
+ ()=>formatNextPathnameInfo
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$trailing$2d$slash$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/remove-trailing-slash.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/add-path-prefix.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$suffix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/add-path-suffix.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$locale$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/add-locale.js [ssr] (ecmascript)");
+;
+;
+;
+;
+function formatNextPathnameInfo(info) {
+ let pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$locale$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["addLocale"])(info.pathname, info.locale, info.buildId ? undefined : info.defaultLocale, info.ignorePrefix);
+ if (info.buildId || !info.trailingSlash) {
+ pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$trailing$2d$slash$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["removeTrailingSlash"])(pathname);
+ }
+ if (info.buildId) {
+ pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$suffix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["addPathSuffix"])((0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["addPathPrefix"])(pathname, `/_next/data/${info.buildId}`), info.pathname === '/' ? 'index.json' : '.json');
+ }
+ pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["addPathPrefix"])(pathname, info.basePath);
+ return !info.buildId && info.trailingSlash ? !pathname.endsWith('/') ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$suffix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["addPathSuffix"])(pathname, '/') : pathname : (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$trailing$2d$slash$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["removeTrailingSlash"])(pathname);
+} //# sourceMappingURL=format-next-pathname-info.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/get-hostname.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+/**
+ * Takes an object with a hostname property (like a parsed URL) and some
+ * headers that may contain Host and returns the preferred hostname.
+ * @param parsed An object containing a hostname property.
+ * @param headers A dictionary with headers containing a `host`.
+ */ __turbopack_context__.s([
+ "getHostname",
+ ()=>getHostname
+]);
+function getHostname(parsed, headers) {
+ // Get the hostname from the headers if it exists, otherwise use the parsed
+ // hostname.
+ let hostname;
+ if (headers?.host && !Array.isArray(headers.host)) {
+ hostname = headers.host.toString().split(':', 1)[0];
+ } else if (parsed.hostname) {
+ hostname = parsed.hostname;
+ } else return;
+ return hostname.toLowerCase();
+} //# sourceMappingURL=get-hostname.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/i18n/normalize-locale-path.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+/**
+ * A cache of lowercased locales for each list of locales. This is stored as a
+ * WeakMap so if the locales are garbage collected, the cache entry will be
+ * removed as well.
+ */ __turbopack_context__.s([
+ "normalizeLocalePath",
+ ()=>normalizeLocalePath
+]);
+const cache = new WeakMap();
+function normalizeLocalePath(pathname, locales) {
+ // If locales is undefined, return the pathname as is.
+ if (!locales) return {
+ pathname
+ };
+ // Get the cached lowercased locales or create a new cache entry.
+ let lowercasedLocales = cache.get(locales);
+ if (!lowercasedLocales) {
+ lowercasedLocales = locales.map((locale)=>locale.toLowerCase());
+ cache.set(locales, lowercasedLocales);
+ }
+ let detectedLocale;
+ // The first segment will be empty, because it has a leading `/`. If
+ // there is no further segment, there is no locale (or it's the default).
+ const segments = pathname.split('/', 2);
+ // If there's no second segment (ie, the pathname is just `/`), there's no
+ // locale.
+ if (!segments[1]) return {
+ pathname
+ };
+ // The second segment will contain the locale part if any.
+ const segment = segments[1].toLowerCase();
+ // See if the segment matches one of the locales. If it doesn't, there is
+ // no locale (or it's the default).
+ const index = lowercasedLocales.indexOf(segment);
+ if (index < 0) return {
+ pathname
+ };
+ // Return the case-sensitive locale.
+ detectedLocale = locales[index];
+ // Remove the `/${locale}` part of the pathname.
+ pathname = pathname.slice(detectedLocale.length + 1) || '/';
+ return {
+ pathname,
+ detectedLocale
+ };
+} //# sourceMappingURL=normalize-locale-path.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/remove-path-prefix.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "removePathPrefix",
+ ()=>removePathPrefix
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/path-has-prefix.js [ssr] (ecmascript)");
+;
+function removePathPrefix(path, prefix) {
+ // If the path doesn't start with the prefix we can return it as is. This
+ // protects us from situations where the prefix is a substring of the path
+ // prefix such as:
+ //
+ // For prefix: /blog
+ //
+ // /blog -> true
+ // /blog/ -> true
+ // /blog/1 -> true
+ // /blogging -> false
+ // /blogging/ -> false
+ // /blogging/1 -> false
+ if (!(0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["pathHasPrefix"])(path, prefix)) {
+ return path;
+ }
+ // Remove the prefix from the path via slicing.
+ const withoutPrefix = path.slice(prefix.length);
+ // If the path without the prefix starts with a `/` we can return it as is.
+ if (withoutPrefix.startsWith('/')) {
+ return withoutPrefix;
+ }
+ // If the path without the prefix doesn't start with a `/` we need to add it
+ // back to the path to make sure it's a valid path.
+ return `/${withoutPrefix}`;
+} //# sourceMappingURL=remove-path-prefix.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/get-next-pathname-info.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "getNextPathnameInfo",
+ ()=>getNextPathnameInfo
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$i18n$2f$normalize$2d$locale$2d$path$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/i18n/normalize-locale-path.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$path$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/remove-path-prefix.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/path-has-prefix.js [ssr] (ecmascript)");
+;
+;
+;
+function getNextPathnameInfo(pathname, options) {
+ const { basePath, i18n, trailingSlash } = options.nextConfig ?? {};
+ const info = {
+ pathname,
+ trailingSlash: pathname !== '/' ? pathname.endsWith('/') : trailingSlash
+ };
+ if (basePath && (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$path$2d$has$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["pathHasPrefix"])(info.pathname, basePath)) {
+ info.pathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$path$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["removePathPrefix"])(info.pathname, basePath);
+ info.basePath = basePath;
+ }
+ let pathnameNoDataPrefix = info.pathname;
+ if (info.pathname.startsWith('/_next/data/') && info.pathname.endsWith('.json')) {
+ const paths = info.pathname.replace(/^\/_next\/data\//, '').replace(/\.json$/, '').split('/');
+ const buildId = paths[0];
+ info.buildId = buildId;
+ pathnameNoDataPrefix = paths[1] !== 'index' ? `/${paths.slice(1).join('/')}` : '/';
+ // update pathname with normalized if enabled although
+ // we use normalized to populate locale info still
+ if (options.parseData === true) {
+ info.pathname = pathnameNoDataPrefix;
+ }
+ }
+ // If provided, use the locale route normalizer to detect the locale instead
+ // of the function below.
+ if (i18n) {
+ let result = options.i18nProvider ? options.i18nProvider.analyze(info.pathname) : (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$i18n$2f$normalize$2d$locale$2d$path$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["normalizeLocalePath"])(info.pathname, i18n.locales);
+ info.locale = result.detectedLocale;
+ info.pathname = result.pathname ?? info.pathname;
+ if (!result.detectedLocale && info.buildId) {
+ result = options.i18nProvider ? options.i18nProvider.analyze(pathnameNoDataPrefix) : (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$i18n$2f$normalize$2d$locale$2d$path$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["normalizeLocalePath"])(pathnameNoDataPrefix, i18n.locales);
+ if (result.detectedLocale) {
+ info.locale = result.detectedLocale;
+ }
+ }
+ }
+ return info;
+} //# sourceMappingURL=get-next-pathname-info.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/web/next-url.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "NextURL",
+ ()=>NextURL
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$i18n$2f$detect$2d$domain$2d$locale$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/i18n/detect-domain-locale.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$format$2d$next$2d$pathname$2d$info$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/format-next-pathname-info.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$get$2d$hostname$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/get-hostname.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$get$2d$next$2d$pathname$2d$info$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/get-next-pathname-info.js [ssr] (ecmascript)");
+;
+;
+;
+;
+const REGEX_LOCALHOST_HOSTNAME = /(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)/;
+function parseURL(url, base) {
+ return new URL(String(url).replace(REGEX_LOCALHOST_HOSTNAME, 'localhost'), base && String(base).replace(REGEX_LOCALHOST_HOSTNAME, 'localhost'));
+}
+const Internal = Symbol('NextURLInternal');
+class NextURL {
+ constructor(input, baseOrOpts, opts){
+ let base;
+ let options;
+ if (typeof baseOrOpts === 'object' && 'pathname' in baseOrOpts || typeof baseOrOpts === 'string') {
+ base = baseOrOpts;
+ options = opts || {};
+ } else {
+ options = opts || baseOrOpts || {};
+ }
+ this[Internal] = {
+ url: parseURL(input, base ?? options.base),
+ options: options,
+ basePath: ''
+ };
+ this.analyze();
+ }
+ analyze() {
+ var _this_Internal_options_nextConfig_i18n, _this_Internal_options_nextConfig, _this_Internal_domainLocale, _this_Internal_options_nextConfig_i18n1, _this_Internal_options_nextConfig1;
+ const info = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$get$2d$next$2d$pathname$2d$info$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getNextPathnameInfo"])(this[Internal].url.pathname, {
+ nextConfig: this[Internal].options.nextConfig,
+ parseData: !("TURBOPACK compile-time value", void 0),
+ i18nProvider: this[Internal].options.i18nProvider
+ });
+ const hostname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$get$2d$hostname$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getHostname"])(this[Internal].url, this[Internal].options.headers);
+ this[Internal].domainLocale = this[Internal].options.i18nProvider ? this[Internal].options.i18nProvider.detectDomainLocale(hostname) : (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$i18n$2f$detect$2d$domain$2d$locale$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["detectDomainLocale"])((_this_Internal_options_nextConfig = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n = _this_Internal_options_nextConfig.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n.domains, hostname);
+ const defaultLocale = ((_this_Internal_domainLocale = this[Internal].domainLocale) == null ? void 0 : _this_Internal_domainLocale.defaultLocale) || ((_this_Internal_options_nextConfig1 = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n1 = _this_Internal_options_nextConfig1.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n1.defaultLocale);
+ this[Internal].url.pathname = info.pathname;
+ this[Internal].defaultLocale = defaultLocale;
+ this[Internal].basePath = info.basePath ?? '';
+ this[Internal].buildId = info.buildId;
+ this[Internal].locale = info.locale ?? defaultLocale;
+ this[Internal].trailingSlash = info.trailingSlash;
+ }
+ formatPathname() {
+ return (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$format$2d$next$2d$pathname$2d$info$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["formatNextPathnameInfo"])({
+ basePath: this[Internal].basePath,
+ buildId: this[Internal].buildId,
+ defaultLocale: !this[Internal].options.forceLocale ? this[Internal].defaultLocale : undefined,
+ locale: this[Internal].locale,
+ pathname: this[Internal].url.pathname,
+ trailingSlash: this[Internal].trailingSlash
+ });
+ }
+ formatSearch() {
+ return this[Internal].url.search;
+ }
+ get buildId() {
+ return this[Internal].buildId;
+ }
+ set buildId(buildId) {
+ this[Internal].buildId = buildId;
+ }
+ get locale() {
+ return this[Internal].locale ?? '';
+ }
+ set locale(locale) {
+ var _this_Internal_options_nextConfig_i18n, _this_Internal_options_nextConfig;
+ if (!this[Internal].locale || !((_this_Internal_options_nextConfig = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n = _this_Internal_options_nextConfig.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n.locales.includes(locale))) {
+ throw Object.defineProperty(new TypeError(`The NextURL configuration includes no locale "${locale}"`), "__NEXT_ERROR_CODE", {
+ value: "E597",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ this[Internal].locale = locale;
+ }
+ get defaultLocale() {
+ return this[Internal].defaultLocale;
+ }
+ get domainLocale() {
+ return this[Internal].domainLocale;
+ }
+ get searchParams() {
+ return this[Internal].url.searchParams;
+ }
+ get host() {
+ return this[Internal].url.host;
+ }
+ set host(value) {
+ this[Internal].url.host = value;
+ }
+ get hostname() {
+ return this[Internal].url.hostname;
+ }
+ set hostname(value) {
+ this[Internal].url.hostname = value;
+ }
+ get port() {
+ return this[Internal].url.port;
+ }
+ set port(value) {
+ this[Internal].url.port = value;
+ }
+ get protocol() {
+ return this[Internal].url.protocol;
+ }
+ set protocol(value) {
+ this[Internal].url.protocol = value;
+ }
+ get href() {
+ const pathname = this.formatPathname();
+ const search = this.formatSearch();
+ return `${this.protocol}//${this.host}${pathname}${search}${this.hash}`;
+ }
+ set href(url) {
+ this[Internal].url = parseURL(url);
+ this.analyze();
+ }
+ get origin() {
+ return this[Internal].url.origin;
+ }
+ get pathname() {
+ return this[Internal].url.pathname;
+ }
+ set pathname(value) {
+ this[Internal].url.pathname = value;
+ }
+ get hash() {
+ return this[Internal].url.hash;
+ }
+ set hash(value) {
+ this[Internal].url.hash = value;
+ }
+ get search() {
+ return this[Internal].url.search;
+ }
+ set search(value) {
+ this[Internal].url.search = value;
+ }
+ get password() {
+ return this[Internal].url.password;
+ }
+ set password(value) {
+ this[Internal].url.password = value;
+ }
+ get username() {
+ return this[Internal].url.username;
+ }
+ set username(value) {
+ this[Internal].url.username = value;
+ }
+ get basePath() {
+ return this[Internal].basePath;
+ }
+ set basePath(value) {
+ this[Internal].basePath = value.startsWith('/') ? value : `/${value}`;
+ }
+ toString() {
+ return this.href;
+ }
+ toJSON() {
+ return this.href;
+ }
+ [Symbol.for('edge-runtime.inspect.custom')]() {
+ return {
+ href: this.href,
+ origin: this.origin,
+ protocol: this.protocol,
+ username: this.username,
+ password: this.password,
+ host: this.host,
+ hostname: this.hostname,
+ port: this.port,
+ pathname: this.pathname,
+ search: this.search,
+ searchParams: this.searchParams,
+ hash: this.hash
+ };
+ }
+ clone() {
+ return new NextURL(String(this), this[Internal].options);
+ }
+} //# sourceMappingURL=next-url.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/web/error.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "PageSignatureError",
+ ()=>PageSignatureError,
+ "RemovedPageError",
+ ()=>RemovedPageError,
+ "RemovedUAError",
+ ()=>RemovedUAError
+]);
+class PageSignatureError extends Error {
+ constructor({ page }){
+ super(`The middleware "${page}" accepts an async API directly with the form:
+
+ export function middleware(request, event) {
+ return NextResponse.redirect('/new-location')
+ }
+
+ Read more: https://nextjs.org/docs/messages/middleware-new-signature
+ `);
+ }
+}
+class RemovedPageError extends Error {
+ constructor(){
+ super(`The request.page has been deprecated in favour of \`URLPattern\`.
+ Read more: https://nextjs.org/docs/messages/middleware-request-page
+ `);
+ }
+}
+class RemovedUAError extends Error {
+ constructor(){
+ super(`The request.ua has been removed in favour of \`userAgent\` function.
+ Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent
+ `);
+ }
+} //# sourceMappingURL=error.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js [ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
+"use strict";
+
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all)=>{
+ for(var name in all)__defProp(target, name, {
+ get: all[name],
+ enumerable: true
+ });
+};
+var __copyProps = (to, from, except, desc)=>{
+ if (from && typeof from === "object" || typeof from === "function") {
+ for (let key of __getOwnPropNames(from))if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
+ get: ()=>from[key],
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
+ });
+ }
+ return to;
+};
+var __toCommonJS = (mod)=>__copyProps(__defProp({}, "__esModule", {
+ value: true
+ }), mod);
+// src/index.ts
+var src_exports = {};
+__export(src_exports, {
+ RequestCookies: ()=>RequestCookies,
+ ResponseCookies: ()=>ResponseCookies,
+ parseCookie: ()=>parseCookie,
+ parseSetCookie: ()=>parseSetCookie,
+ stringifyCookie: ()=>stringifyCookie
+});
+module.exports = __toCommonJS(src_exports);
+// src/serialize.ts
+function stringifyCookie(c) {
+ var _a;
+ const attrs = [
+ "path" in c && c.path && `Path=${c.path}`,
+ "expires" in c && (c.expires || c.expires === 0) && `Expires=${(typeof c.expires === "number" ? new Date(c.expires) : c.expires).toUTCString()}`,
+ "maxAge" in c && typeof c.maxAge === "number" && `Max-Age=${c.maxAge}`,
+ "domain" in c && c.domain && `Domain=${c.domain}`,
+ "secure" in c && c.secure && "Secure",
+ "httpOnly" in c && c.httpOnly && "HttpOnly",
+ "sameSite" in c && c.sameSite && `SameSite=${c.sameSite}`,
+ "partitioned" in c && c.partitioned && "Partitioned",
+ "priority" in c && c.priority && `Priority=${c.priority}`
+ ].filter(Boolean);
+ const stringified = `${c.name}=${encodeURIComponent((_a = c.value) != null ? _a : "")}`;
+ return attrs.length === 0 ? stringified : `${stringified}; ${attrs.join("; ")}`;
+}
+function parseCookie(cookie) {
+ const map = /* @__PURE__ */ new Map();
+ for (const pair of cookie.split(/; */)){
+ if (!pair) continue;
+ const splitAt = pair.indexOf("=");
+ if (splitAt === -1) {
+ map.set(pair, "true");
+ continue;
+ }
+ const [key, value] = [
+ pair.slice(0, splitAt),
+ pair.slice(splitAt + 1)
+ ];
+ try {
+ map.set(key, decodeURIComponent(value != null ? value : "true"));
+ } catch {}
+ }
+ return map;
+}
+function parseSetCookie(setCookie) {
+ if (!setCookie) {
+ return void 0;
+ }
+ const [[name, value], ...attributes] = parseCookie(setCookie);
+ const { domain, expires, httponly, maxage, path, samesite, secure, partitioned, priority } = Object.fromEntries(attributes.map(([key, value2])=>[
+ key.toLowerCase().replace(/-/g, ""),
+ value2
+ ]));
+ const cookie = {
+ name,
+ value: decodeURIComponent(value),
+ domain,
+ ...expires && {
+ expires: new Date(expires)
+ },
+ ...httponly && {
+ httpOnly: true
+ },
+ ...typeof maxage === "string" && {
+ maxAge: Number(maxage)
+ },
+ path,
+ ...samesite && {
+ sameSite: parseSameSite(samesite)
+ },
+ ...secure && {
+ secure: true
+ },
+ ...priority && {
+ priority: parsePriority(priority)
+ },
+ ...partitioned && {
+ partitioned: true
+ }
+ };
+ return compact(cookie);
+}
+function compact(t) {
+ const newT = {};
+ for(const key in t){
+ if (t[key]) {
+ newT[key] = t[key];
+ }
+ }
+ return newT;
+}
+var SAME_SITE = [
+ "strict",
+ "lax",
+ "none"
+];
+function parseSameSite(string) {
+ string = string.toLowerCase();
+ return SAME_SITE.includes(string) ? string : void 0;
+}
+var PRIORITY = [
+ "low",
+ "medium",
+ "high"
+];
+function parsePriority(string) {
+ string = string.toLowerCase();
+ return PRIORITY.includes(string) ? string : void 0;
+}
+function splitCookiesString(cookiesString) {
+ if (!cookiesString) return [];
+ var cookiesStrings = [];
+ var pos = 0;
+ var start;
+ var ch;
+ var lastComma;
+ var nextStart;
+ var cookiesSeparatorFound;
+ function skipWhitespace() {
+ while(pos < cookiesString.length && /\s/.test(cookiesString.charAt(pos))){
+ pos += 1;
+ }
+ return pos < cookiesString.length;
+ }
+ function notSpecialChar() {
+ ch = cookiesString.charAt(pos);
+ return ch !== "=" && ch !== ";" && ch !== ",";
+ }
+ while(pos < cookiesString.length){
+ start = pos;
+ cookiesSeparatorFound = false;
+ while(skipWhitespace()){
+ ch = cookiesString.charAt(pos);
+ if (ch === ",") {
+ lastComma = pos;
+ pos += 1;
+ skipWhitespace();
+ nextStart = pos;
+ while(pos < cookiesString.length && notSpecialChar()){
+ pos += 1;
+ }
+ if (pos < cookiesString.length && cookiesString.charAt(pos) === "=") {
+ cookiesSeparatorFound = true;
+ pos = nextStart;
+ cookiesStrings.push(cookiesString.substring(start, lastComma));
+ start = pos;
+ } else {
+ pos = lastComma + 1;
+ }
+ } else {
+ pos += 1;
+ }
+ }
+ if (!cookiesSeparatorFound || pos >= cookiesString.length) {
+ cookiesStrings.push(cookiesString.substring(start, cookiesString.length));
+ }
+ }
+ return cookiesStrings;
+}
+// src/request-cookies.ts
+var RequestCookies = class {
+ constructor(requestHeaders){
+ /** @internal */ this._parsed = /* @__PURE__ */ new Map();
+ this._headers = requestHeaders;
+ const header = requestHeaders.get("cookie");
+ if (header) {
+ const parsed = parseCookie(header);
+ for (const [name, value] of parsed){
+ this._parsed.set(name, {
+ name,
+ value
+ });
+ }
+ }
+ }
+ [Symbol.iterator]() {
+ return this._parsed[Symbol.iterator]();
+ }
+ /**
+ * The amount of cookies received from the client
+ */ get size() {
+ return this._parsed.size;
+ }
+ get(...args) {
+ const name = typeof args[0] === "string" ? args[0] : args[0].name;
+ return this._parsed.get(name);
+ }
+ getAll(...args) {
+ var _a;
+ const all = Array.from(this._parsed);
+ if (!args.length) {
+ return all.map(([_, value])=>value);
+ }
+ const name = typeof args[0] === "string" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;
+ return all.filter(([n])=>n === name).map(([_, value])=>value);
+ }
+ has(name) {
+ return this._parsed.has(name);
+ }
+ set(...args) {
+ const [name, value] = args.length === 1 ? [
+ args[0].name,
+ args[0].value
+ ] : args;
+ const map = this._parsed;
+ map.set(name, {
+ name,
+ value
+ });
+ this._headers.set("cookie", Array.from(map).map(([_, value2])=>stringifyCookie(value2)).join("; "));
+ return this;
+ }
+ /**
+ * Delete the cookies matching the passed name or names in the request.
+ */ delete(names) {
+ const map = this._parsed;
+ const result = !Array.isArray(names) ? map.delete(names) : names.map((name)=>map.delete(name));
+ this._headers.set("cookie", Array.from(map).map(([_, value])=>stringifyCookie(value)).join("; "));
+ return result;
+ }
+ /**
+ * Delete all the cookies in the cookies in the request.
+ */ clear() {
+ this.delete(Array.from(this._parsed.keys()));
+ return this;
+ }
+ /**
+ * Format the cookies in the request as a string for logging
+ */ [Symbol.for("edge-runtime.inspect.custom")]() {
+ return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;
+ }
+ toString() {
+ return [
+ ...this._parsed.values()
+ ].map((v)=>`${v.name}=${encodeURIComponent(v.value)}`).join("; ");
+ }
+};
+// src/response-cookies.ts
+var ResponseCookies = class {
+ constructor(responseHeaders){
+ /** @internal */ this._parsed = /* @__PURE__ */ new Map();
+ var _a, _b, _c;
+ this._headers = responseHeaders;
+ const setCookie = (_c = (_b = (_a = responseHeaders.getSetCookie) == null ? void 0 : _a.call(responseHeaders)) != null ? _b : responseHeaders.get("set-cookie")) != null ? _c : [];
+ const cookieStrings = Array.isArray(setCookie) ? setCookie : splitCookiesString(setCookie);
+ for (const cookieString of cookieStrings){
+ const parsed = parseSetCookie(cookieString);
+ if (parsed) this._parsed.set(parsed.name, parsed);
+ }
+ }
+ /**
+ * {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise.
+ */ get(...args) {
+ const key = typeof args[0] === "string" ? args[0] : args[0].name;
+ return this._parsed.get(key);
+ }
+ /**
+ * {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise.
+ */ getAll(...args) {
+ var _a;
+ const all = Array.from(this._parsed.values());
+ if (!args.length) {
+ return all;
+ }
+ const key = typeof args[0] === "string" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;
+ return all.filter((c)=>c.name === key);
+ }
+ has(name) {
+ return this._parsed.has(name);
+ }
+ /**
+ * {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise.
+ */ set(...args) {
+ const [name, value, cookie] = args.length === 1 ? [
+ args[0].name,
+ args[0].value,
+ args[0]
+ ] : args;
+ const map = this._parsed;
+ map.set(name, normalizeCookie({
+ name,
+ value,
+ ...cookie
+ }));
+ replace(map, this._headers);
+ return this;
+ }
+ /**
+ * {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise.
+ */ delete(...args) {
+ const [name, options] = typeof args[0] === "string" ? [
+ args[0]
+ ] : [
+ args[0].name,
+ args[0]
+ ];
+ return this.set({
+ ...options,
+ name,
+ value: "",
+ expires: /* @__PURE__ */ new Date(0)
+ });
+ }
+ [Symbol.for("edge-runtime.inspect.custom")]() {
+ return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;
+ }
+ toString() {
+ return [
+ ...this._parsed.values()
+ ].map(stringifyCookie).join("; ");
+ }
+};
+function replace(bag, headers) {
+ headers.delete("set-cookie");
+ for (const [, value] of bag){
+ const serialized = stringifyCookie(value);
+ headers.append("set-cookie", serialized);
+ }
+}
+function normalizeCookie(cookie = {
+ name: "",
+ value: ""
+}) {
+ if (typeof cookie.expires === "number") {
+ cookie.expires = new Date(cookie.expires);
+ }
+ if (cookie.maxAge) {
+ cookie.expires = new Date(Date.now() + cookie.maxAge * 1e3);
+ }
+ if (cookie.path === null || cookie.path === void 0) {
+ cookie.path = "/";
+ }
+ return cookie;
+}
+// Annotate the CommonJS export names for ESM import in node:
+0 && (module.exports = {
+ RequestCookies,
+ ResponseCookies,
+ parseCookie,
+ parseSetCookie,
+ stringifyCookie
+});
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/web/spec-extension/cookies.js [ssr] (ecmascript) ", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js [ssr] (ecmascript)"); //# sourceMappingURL=cookies.js.map
+;
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/web/spec-extension/request.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "INTERNALS",
+ ()=>INTERNALS,
+ "NextRequest",
+ ()=>NextRequest
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$next$2d$url$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/web/next-url.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/web/utils.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/web/error.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$cookies$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/web/spec-extension/cookies.js [ssr] (ecmascript) ");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/compiled/@edge-runtime/cookies/index.js [ssr] (ecmascript)");
+;
+;
+;
+;
+const INTERNALS = Symbol('internal request');
+class NextRequest extends Request {
+ constructor(input, init = {}){
+ const url = typeof input !== 'string' && 'url' in input ? input.url : String(input);
+ (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["validateURL"])(url);
+ // node Request instance requires duplex option when a body
+ // is present or it errors, we don't handle this for
+ // Request being passed in since it would have already
+ // errored if this wasn't configured
+ if ("TURBOPACK compile-time truthy", 1) {
+ if (init.body && init.duplex !== 'half') {
+ init.duplex = 'half';
+ }
+ }
+ if (input instanceof Request) super(input, init);
+ else super(url, init);
+ const nextUrl = new __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$next$2d$url$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["NextURL"](url, {
+ headers: (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["toNodeOutgoingHttpHeaders"])(this.headers),
+ nextConfig: init.nextConfig
+ });
+ this[INTERNALS] = {
+ cookies: new __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$compiled$2f40$edge$2d$runtime$2f$cookies$2f$index$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["RequestCookies"](this.headers),
+ nextUrl,
+ url: ("TURBOPACK compile-time falsy", 0) ? "TURBOPACK unreachable" : nextUrl.toString()
+ };
+ }
+ [Symbol.for('edge-runtime.inspect.custom')]() {
+ return {
+ cookies: this.cookies,
+ nextUrl: this.nextUrl,
+ url: this.url,
+ // rest of props come from Request
+ bodyUsed: this.bodyUsed,
+ cache: this.cache,
+ credentials: this.credentials,
+ destination: this.destination,
+ headers: Object.fromEntries(this.headers),
+ integrity: this.integrity,
+ keepalive: this.keepalive,
+ method: this.method,
+ mode: this.mode,
+ redirect: this.redirect,
+ referrer: this.referrer,
+ referrerPolicy: this.referrerPolicy,
+ signal: this.signal
+ };
+ }
+ get cookies() {
+ return this[INTERNALS].cookies;
+ }
+ get nextUrl() {
+ return this[INTERNALS].nextUrl;
+ }
+ /**
+ * @deprecated
+ * `page` has been deprecated in favour of `URLPattern`.
+ * Read more: https://nextjs.org/docs/messages/middleware-request-page
+ */ get page() {
+ throw new __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["RemovedPageError"]();
+ }
+ /**
+ * @deprecated
+ * `ua` has been removed in favour of \`userAgent\` function.
+ * Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent
+ */ get ua() {
+ throw new __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["RemovedUAError"]();
+ }
+ get url() {
+ return this[INTERNALS].url;
+ }
+} //# sourceMappingURL=request.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/base-http/helpers.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+/**
+ * This file provides some helpers that should be used in conjunction with
+ * explicit environment checks. When combined with the environment checks, it
+ * will ensure that the correct typings are used as well as enable code
+ * elimination.
+ */ /**
+ * Type guard to determine if a request is a WebNextRequest. This does not
+ * actually check the type of the request, but rather the runtime environment.
+ * It's expected that when the runtime environment is the edge runtime, that any
+ * base request is a WebNextRequest.
+ */ __turbopack_context__.s([
+ "isNodeNextRequest",
+ ()=>isNodeNextRequest,
+ "isNodeNextResponse",
+ ()=>isNodeNextResponse,
+ "isWebNextRequest",
+ ()=>isWebNextRequest,
+ "isWebNextResponse",
+ ()=>isWebNextResponse
+]);
+const isWebNextRequest = (req)=>("TURBOPACK compile-time value", "nodejs") === 'edge';
+const isWebNextResponse = (res)=>("TURBOPACK compile-time value", "nodejs") === 'edge';
+const isNodeNextRequest = (req)=>("TURBOPACK compile-time value", "nodejs") !== 'edge';
+const isNodeNextResponse = (res)=>("TURBOPACK compile-time value", "nodejs") !== 'edge'; //# sourceMappingURL=helpers.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/web/spec-extension/adapters/next-request.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "NextRequestAdapter",
+ ()=>NextRequestAdapter,
+ "ResponseAborted",
+ ()=>ResponseAborted,
+ "ResponseAbortedName",
+ ()=>ResponseAbortedName,
+ "createAbortController",
+ ()=>createAbortController,
+ "signalFromNodeResponse",
+ ()=>signalFromNodeResponse
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/request-meta.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/web/utils.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$request$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/web/spec-extension/request.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$base$2d$http$2f$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/base-http/helpers.js [ssr] (ecmascript)");
+;
+;
+;
+;
+const ResponseAbortedName = 'ResponseAborted';
+class ResponseAborted extends Error {
+ constructor(...args){
+ super(...args), this.name = ResponseAbortedName;
+ }
+}
+function createAbortController(response) {
+ const controller = new AbortController();
+ // If `finish` fires first, then `res.end()` has been called and the close is
+ // just us finishing the stream on our side. If `close` fires first, then we
+ // know the client disconnected before we finished.
+ response.once('close', ()=>{
+ if (response.writableFinished) return;
+ controller.abort(new ResponseAborted());
+ });
+ return controller;
+}
+function signalFromNodeResponse(response) {
+ const { errored, destroyed } = response;
+ if (errored || destroyed) {
+ return AbortSignal.abort(errored ?? new ResponseAborted());
+ }
+ const { signal } = createAbortController(response);
+ return signal;
+}
+class NextRequestAdapter {
+ static fromBaseNextRequest(request, signal) {
+ if (// environment variable check provides dead code elimination.
+ ("TURBOPACK compile-time value", "nodejs") === 'edge' && (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$base$2d$http$2f$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["isWebNextRequest"])(request)) //TURBOPACK unreachable
+ ;
+ else if (// environment variable check provides dead code elimination.
+ ("TURBOPACK compile-time value", "nodejs") !== 'edge' && (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$base$2d$http$2f$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["isNodeNextRequest"])(request)) {
+ return NextRequestAdapter.fromNodeNextRequest(request, signal);
+ } else {
+ throw Object.defineProperty(new Error('Invariant: Unsupported NextRequest type'), "__NEXT_ERROR_CODE", {
+ value: "E345",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ static fromNodeNextRequest(request, signal) {
+ // HEAD and GET requests can not have a body.
+ let body = null;
+ if (request.method !== 'GET' && request.method !== 'HEAD' && request.body) {
+ // @ts-expect-error - this is handled by undici, when streams/web land use it instead
+ body = request.body;
+ }
+ let url;
+ if (request.url.startsWith('http')) {
+ url = new URL(request.url);
+ } else {
+ // Grab the full URL from the request metadata.
+ const base = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getRequestMeta"])(request, 'initURL');
+ if (!base || !base.startsWith('http')) {
+ // Because the URL construction relies on the fact that the URL provided
+ // is absolute, we need to provide a base URL. We can't use the request
+ // URL because it's relative, so we use a dummy URL instead.
+ url = new URL(request.url, 'http://n');
+ } else {
+ url = new URL(request.url, base);
+ }
+ }
+ return new __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$request$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["NextRequest"](url, {
+ method: request.method,
+ headers: (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["fromNodeOutgoingHttpHeaders"])(request.headers),
+ duplex: 'half',
+ signal,
+ // geo
+ // ip
+ // nextConfig
+ // body can not be passed if request was aborted
+ // or we get a Request body was disturbed error
+ ...signal.aborted ? {} : {
+ body
+ }
+ });
+ }
+ static fromWebNextRequest(request) {
+ // HEAD and GET requests can not have a body.
+ let body = null;
+ if (request.method !== 'GET' && request.method !== 'HEAD') {
+ body = request.body;
+ }
+ return new __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$request$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["NextRequest"](request.url, {
+ method: request.method,
+ headers: (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["fromNodeOutgoingHttpHeaders"])(request.headers),
+ duplex: 'half',
+ signal: request.request.signal,
+ // geo
+ // ip
+ // nextConfig
+ // body can not be passed if request was aborted
+ // or we get a Request body was disturbed error
+ ...request.request.signal.aborted ? {} : {
+ body
+ }
+ });
+ }
+} //# sourceMappingURL=next-request.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/client-component-renderer-logger.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+// Combined load times for loading client components
+__turbopack_context__.s([
+ "getClientComponentLoaderMetrics",
+ ()=>getClientComponentLoaderMetrics,
+ "wrapClientComponentLoader",
+ ()=>wrapClientComponentLoader
+]);
+let clientComponentLoadStart = 0;
+let clientComponentLoadTimes = 0;
+let clientComponentLoadCount = 0;
+function wrapClientComponentLoader(ComponentMod) {
+ if (!('performance' in globalThis)) {
+ return ComponentMod.__next_app__;
+ }
+ return {
+ require: (...args)=>{
+ const startTime = performance.now();
+ if (clientComponentLoadStart === 0) {
+ clientComponentLoadStart = startTime;
+ }
+ try {
+ clientComponentLoadCount += 1;
+ return ComponentMod.__next_app__.require(...args);
+ } finally{
+ clientComponentLoadTimes += performance.now() - startTime;
+ }
+ },
+ loadChunk: (...args)=>{
+ const startTime = performance.now();
+ const result = ComponentMod.__next_app__.loadChunk(...args);
+ // Avoid wrapping `loadChunk`'s result in an extra promise in case something like React depends on its identity.
+ // We only need to know when it's settled.
+ result.finally(()=>{
+ clientComponentLoadTimes += performance.now() - startTime;
+ });
+ return result;
+ }
+ };
+}
+function getClientComponentLoaderMetrics(options = {}) {
+ const metrics = clientComponentLoadStart === 0 ? undefined : {
+ clientComponentLoadStart,
+ clientComponentLoadTimes,
+ clientComponentLoadCount
+ };
+ if (options.reset) {
+ clientComponentLoadStart = 0;
+ clientComponentLoadTimes = 0;
+ clientComponentLoadCount = 0;
+ }
+ return metrics;
+} //# sourceMappingURL=client-component-renderer-logger.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/pipe-readable.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "isAbortError",
+ ()=>isAbortError,
+ "pipeToNodeResponse",
+ ()=>pipeToNodeResponse
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$next$2d$request$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/web/spec-extension/adapters/next-request.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$detached$2d$promise$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/lib/detached-promise.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/lib/trace/tracer.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/lib/trace/constants.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$client$2d$component$2d$renderer$2d$logger$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/client-component-renderer-logger.js [ssr] (ecmascript)");
+;
+;
+;
+;
+;
+function isAbortError(e) {
+ return (e == null ? void 0 : e.name) === 'AbortError' || (e == null ? void 0 : e.name) === __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$next$2d$request$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["ResponseAbortedName"];
+}
+function createWriterFromResponse(res, waitUntilForEnd) {
+ let started = false;
+ // Create a promise that will resolve once the response has drained. See
+ // https://nodejs.org/api/stream.html#stream_event_drain
+ let drained = new __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$detached$2d$promise$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["DetachedPromise"]();
+ function onDrain() {
+ drained.resolve();
+ }
+ res.on('drain', onDrain);
+ // If the finish event fires, it means we shouldn't block and wait for the
+ // drain event.
+ res.once('close', ()=>{
+ res.off('drain', onDrain);
+ drained.resolve();
+ });
+ // Create a promise that will resolve once the response has finished. See
+ // https://nodejs.org/api/http.html#event-finish_1
+ const finished = new __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$detached$2d$promise$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["DetachedPromise"]();
+ res.once('finish', ()=>{
+ finished.resolve();
+ });
+ // Create a writable stream that will write to the response.
+ return new WritableStream({
+ write: async (chunk)=>{
+ // You'd think we'd want to use `start` instead of placing this in `write`
+ // but this ensures that we don't actually flush the headers until we've
+ // started writing chunks.
+ if (!started) {
+ started = true;
+ if ('performance' in globalThis && process.env.NEXT_OTEL_PERFORMANCE_PREFIX) {
+ const metrics = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$client$2d$component$2d$renderer$2d$logger$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getClientComponentLoaderMetrics"])();
+ if (metrics) {
+ performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`, {
+ start: metrics.clientComponentLoadStart,
+ end: metrics.clientComponentLoadStart + metrics.clientComponentLoadTimes
+ });
+ }
+ }
+ res.flushHeaders();
+ (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getTracer"])().trace(__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["NextNodeServerSpan"].startResponse, {
+ spanName: 'start response'
+ }, ()=>undefined);
+ }
+ try {
+ const ok = res.write(chunk);
+ // Added by the `compression` middleware, this is a function that will
+ // flush the partially-compressed response to the client.
+ if ('flush' in res && typeof res.flush === 'function') {
+ res.flush();
+ }
+ // If the write returns false, it means there's some backpressure, so
+ // wait until it's streamed before continuing.
+ if (!ok) {
+ await drained.promise;
+ // Reset the drained promise so that we can wait for the next drain event.
+ drained = new __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$detached$2d$promise$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["DetachedPromise"]();
+ }
+ } catch (err) {
+ res.end();
+ throw Object.defineProperty(new Error('failed to write chunk to response', {
+ cause: err
+ }), "__NEXT_ERROR_CODE", {
+ value: "E321",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ },
+ abort: (err)=>{
+ if (res.writableFinished) return;
+ res.destroy(err);
+ },
+ close: async ()=>{
+ // if a waitUntil promise was passed, wait for it to resolve before
+ // ending the response.
+ if (waitUntilForEnd) {
+ await waitUntilForEnd;
+ }
+ if (res.writableFinished) return;
+ res.end();
+ return finished.promise;
+ }
+ });
+}
+async function pipeToNodeResponse(readable, res, waitUntilForEnd) {
+ try {
+ // If the response has already errored, then just return now.
+ const { errored, destroyed } = res;
+ if (errored || destroyed) return;
+ // Create a new AbortController so that we can abort the readable if the
+ // client disconnects.
+ const controller = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$web$2f$spec$2d$extension$2f$adapters$2f$next$2d$request$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["createAbortController"])(res);
+ const writer = createWriterFromResponse(res, waitUntilForEnd);
+ await readable.pipeTo(writer, {
+ signal: controller.signal
+ });
+ } catch (err) {
+ // If this isn't related to an abort error, re-throw it.
+ if (isAbortError(err)) return;
+ throw Object.defineProperty(new Error('failed to pipe response', {
+ cause: err
+ }), "__NEXT_ERROR_CODE", {
+ value: "E180",
+ enumerable: false,
+ configurable: true
+ });
+ }
+} //# sourceMappingURL=pipe-readable.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/invariant-error.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "InvariantError",
+ ()=>InvariantError
+]);
+class InvariantError extends Error {
+ constructor(message, options){
+ super(`Invariant: ${message.endsWith('.') ? message : message + '.'} This is a bug in Next.js.`, options);
+ this.name = 'InvariantError';
+ }
+} //# sourceMappingURL=invariant-error.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/render-result.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "default",
+ ()=>RenderResult
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/stream-utils/node-web-streams-helper.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$pipe$2d$readable$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/pipe-readable.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/invariant-error.js [ssr] (ecmascript)");
+;
+;
+;
+class RenderResult {
+ static #_ = /**
+ * A render result that represents an empty response. This is used to
+ * represent a response that was not found or was already sent.
+ */ this.EMPTY = new RenderResult(null, {
+ metadata: {},
+ contentType: null
+ });
+ /**
+ * Creates a new RenderResult instance from a static response.
+ *
+ * @param value the static response value
+ * @param contentType the content type of the response
+ * @returns a new RenderResult instance
+ */ static fromStatic(value, contentType) {
+ return new RenderResult(value, {
+ metadata: {},
+ contentType
+ });
+ }
+ constructor(response, { contentType, waitUntil, metadata }){
+ this.response = response;
+ this.contentType = contentType;
+ this.metadata = metadata;
+ this.waitUntil = waitUntil;
+ }
+ assignMetadata(metadata) {
+ Object.assign(this.metadata, metadata);
+ }
+ /**
+ * Returns true if the response is null. It can be null if the response was
+ * not found or was already sent.
+ */ get isNull() {
+ return this.response === null;
+ }
+ /**
+ * Returns false if the response is a string. It can be a string if the page
+ * was prerendered. If it's not, then it was generated dynamically.
+ */ get isDynamic() {
+ return typeof this.response !== 'string';
+ }
+ toUnchunkedString(stream = false) {
+ if (this.response === null) {
+ // If the response is null, return an empty string. This behavior is
+ // intentional as we're now providing the `RenderResult.EMPTY` value.
+ return '';
+ }
+ if (typeof this.response !== 'string') {
+ if (!stream) {
+ throw Object.defineProperty(new __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$invariant$2d$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["InvariantError"]('dynamic responses cannot be unchunked. This is a bug in Next.js'), "__NEXT_ERROR_CODE", {
+ value: "E732",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ return (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["streamToString"])(this.readable);
+ }
+ return this.response;
+ }
+ /**
+ * Returns a readable stream of the response.
+ */ get readable() {
+ if (this.response === null) {
+ // If the response is null, return an empty stream. This behavior is
+ // intentional as we're now providing the `RenderResult.EMPTY` value.
+ return new ReadableStream({
+ start (controller) {
+ controller.close();
+ }
+ });
+ }
+ if (typeof this.response === 'string') {
+ return (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["streamFromString"])(this.response);
+ }
+ if (Buffer.isBuffer(this.response)) {
+ return (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["streamFromBuffer"])(this.response);
+ }
+ // If the response is an array of streams, then chain them together.
+ if (Array.isArray(this.response)) {
+ return (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["chainStreams"])(...this.response);
+ }
+ return this.response;
+ }
+ /**
+ * Coerces the response to an array of streams. This will convert the response
+ * to an array of streams if it is not already one.
+ *
+ * @returns An array of streams
+ */ coerce() {
+ if (this.response === null) {
+ // If the response is null, return an empty stream. This behavior is
+ // intentional as we're now providing the `RenderResult.EMPTY` value.
+ return [];
+ }
+ if (typeof this.response === 'string') {
+ return [
+ (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["streamFromString"])(this.response)
+ ];
+ } else if (Array.isArray(this.response)) {
+ return this.response;
+ } else if (Buffer.isBuffer(this.response)) {
+ return [
+ (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$stream$2d$utils$2f$node$2d$web$2d$streams$2d$helper$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["streamFromBuffer"])(this.response)
+ ];
+ } else {
+ return [
+ this.response
+ ];
+ }
+ }
+ /**
+ * Unshifts a new stream to the response. This will convert the response to an
+ * array of streams if it is not already one and will add the new stream to
+ * the start of the array. When this response is piped, all of the streams
+ * will be piped one after the other.
+ *
+ * @param readable The new stream to unshift
+ */ unshift(readable) {
+ // Coerce the response to an array of streams.
+ this.response = this.coerce();
+ // Add the new stream to the start of the array.
+ this.response.unshift(readable);
+ }
+ /**
+ * Chains a new stream to the response. This will convert the response to an
+ * array of streams if it is not already one and will add the new stream to
+ * the end. When this response is piped, all of the streams will be piped
+ * one after the other.
+ *
+ * @param readable The new stream to chain
+ */ push(readable) {
+ // Coerce the response to an array of streams.
+ this.response = this.coerce();
+ // Add the new stream to the end of the array.
+ this.response.push(readable);
+ }
+ /**
+ * Pipes the response to a writable stream. This will close/cancel the
+ * writable stream if an error is encountered. If this doesn't throw, then
+ * the writable stream will be closed or aborted.
+ *
+ * @param writable Writable stream to pipe the response to
+ */ async pipeTo(writable) {
+ try {
+ await this.readable.pipeTo(writable, {
+ // We want to close the writable stream ourselves so that we can wait
+ // for the waitUntil promise to resolve before closing it. If an error
+ // is encountered, we'll abort the writable stream if we swallowed the
+ // error.
+ preventClose: true
+ });
+ // If there is a waitUntil promise, wait for it to resolve before
+ // closing the writable stream.
+ if (this.waitUntil) await this.waitUntil;
+ // Close the writable stream.
+ await writable.close();
+ } catch (err) {
+ // If this is an abort error, we should abort the writable stream (as we
+ // took ownership of it when we started piping). We don't need to re-throw
+ // because we handled the error.
+ if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$pipe$2d$readable$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["isAbortError"])(err)) {
+ // Abort the writable stream if an error is encountered.
+ await writable.abort(err);
+ return;
+ }
+ // We're not aborting the writer here as when this method throws it's not
+ // clear as to how so the caller should assume it's their responsibility
+ // to clean up the writer.
+ throw err;
+ }
+ }
+ /**
+ * Pipes the response to a node response. This will close/cancel the node
+ * response if an error is encountered.
+ *
+ * @param res
+ */ async pipeToNodeResponse(res) {
+ await (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$pipe$2d$readable$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["pipeToNodeResponse"])(this.readable, res, this.waitUntil);
+ }
+} //# sourceMappingURL=render-result.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/response-cache/utils.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "fromResponseCacheEntry",
+ ()=>fromResponseCacheEntry,
+ "routeKindToIncrementalCacheKind",
+ ()=>routeKindToIncrementalCacheKind,
+ "toResponseCacheEntry",
+ ()=>toResponseCacheEntry
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/response-cache/types.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$render$2d$result$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/render-result.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/route-kind.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/lib/constants.js [ssr] (ecmascript)");
+;
+;
+;
+;
+async function fromResponseCacheEntry(cacheEntry) {
+ var _cacheEntry_value, _cacheEntry_value1;
+ return {
+ ...cacheEntry,
+ value: ((_cacheEntry_value = cacheEntry.value) == null ? void 0 : _cacheEntry_value.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES ? {
+ kind: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES,
+ html: await cacheEntry.value.html.toUnchunkedString(true),
+ pageData: cacheEntry.value.pageData,
+ headers: cacheEntry.value.headers,
+ status: cacheEntry.value.status
+ } : ((_cacheEntry_value1 = cacheEntry.value) == null ? void 0 : _cacheEntry_value1.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE ? {
+ kind: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE,
+ html: await cacheEntry.value.html.toUnchunkedString(true),
+ postponed: cacheEntry.value.postponed,
+ rscData: cacheEntry.value.rscData,
+ headers: cacheEntry.value.headers,
+ status: cacheEntry.value.status,
+ segmentData: cacheEntry.value.segmentData
+ } : cacheEntry.value
+ };
+}
+async function toResponseCacheEntry(response) {
+ var _response_value, _response_value1;
+ if (!response) return null;
+ return {
+ isMiss: response.isMiss,
+ isStale: response.isStale,
+ cacheControl: response.cacheControl,
+ value: ((_response_value = response.value) == null ? void 0 : _response_value.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES ? {
+ kind: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES,
+ html: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$render$2d$result$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["default"].fromStatic(response.value.html, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["HTML_CONTENT_TYPE_HEADER"]),
+ pageData: response.value.pageData,
+ headers: response.value.headers,
+ status: response.value.status
+ } : ((_response_value1 = response.value) == null ? void 0 : _response_value1.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE ? {
+ kind: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CachedRouteKind"].APP_PAGE,
+ html: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$render$2d$result$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["default"].fromStatic(response.value.html, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["HTML_CONTENT_TYPE_HEADER"]),
+ rscData: response.value.rscData,
+ headers: response.value.headers,
+ status: response.value.status,
+ postponed: response.value.postponed,
+ segmentData: response.value.segmentData
+ } : response.value
+ };
+}
+function routeKindToIncrementalCacheKind(routeKind) {
+ switch(routeKind){
+ case __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["RouteKind"].PAGES:
+ return __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].PAGES;
+ case __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["RouteKind"].APP_PAGE:
+ return __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_PAGE;
+ case __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["RouteKind"].IMAGE:
+ return __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].IMAGE;
+ case __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["RouteKind"].APP_ROUTE:
+ return __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["IncrementalCacheKind"].APP_ROUTE;
+ case __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["RouteKind"].PAGES_API:
+ // Pages Router API routes are not cached in the incremental cache.
+ throw Object.defineProperty(new Error(`Unexpected route kind ${routeKind}`), "__NEXT_ERROR_CODE", {
+ value: "E64",
+ enumerable: false,
+ configurable: true
+ });
+ default:
+ return routeKind;
+ }
+} //# sourceMappingURL=utils.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/response-cache/index.js [ssr] (ecmascript) ", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "default",
+ ()=>ResponseCache
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$batcher$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/lib/batcher.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/lib/scheduler.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/response-cache/utils.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/response-cache/types.js [ssr] (ecmascript)");
+;
+;
+;
+;
+class ResponseCache {
+ constructor(minimal_mode){
+ this.getBatcher = __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$batcher$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["Batcher"].create({
+ // Ensure on-demand revalidate doesn't block normal requests, it should be
+ // safe to run an on-demand revalidate for the same key as a normal request.
+ cacheKeyFn: ({ key, isOnDemandRevalidate })=>`${key}-${isOnDemandRevalidate ? '1' : '0'}`,
+ // We wait to do any async work until after we've added our promise to
+ // `pendingResponses` to ensure that any any other calls will reuse the
+ // same promise until we've fully finished our work.
+ schedulerFn: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["scheduleOnNextTick"]
+ });
+ this.revalidateBatcher = __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$batcher$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["Batcher"].create({
+ // We wait to do any async work until after we've added our promise to
+ // `pendingResponses` to ensure that any any other calls will reuse the
+ // same promise until we've fully finished our work.
+ schedulerFn: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$scheduler$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["scheduleOnNextTick"]
+ });
+ this.minimal_mode = minimal_mode;
+ }
+ /**
+ * Gets the response cache entry for the given key.
+ *
+ * @param key - The key to get the response cache entry for.
+ * @param responseGenerator - The response generator to use to generate the response cache entry.
+ * @param context - The context for the get request.
+ * @returns The response cache entry.
+ */ async get(key, responseGenerator, context) {
+ var _this_previousCacheItem;
+ // If there is no key for the cache, we can't possibly look this up in the
+ // cache so just return the result of the response generator.
+ if (!key) {
+ return responseGenerator({
+ hasResolved: false,
+ previousCacheEntry: null
+ });
+ }
+ // Check minimal mode cache before doing any other work
+ if (this.minimal_mode && ((_this_previousCacheItem = this.previousCacheItem) == null ? void 0 : _this_previousCacheItem.key) === key && this.previousCacheItem.expiresAt > Date.now()) {
+ return (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["toResponseCacheEntry"])(this.previousCacheItem.entry);
+ }
+ const { incrementalCache, isOnDemandRevalidate = false, isFallback = false, isRoutePPREnabled = false, isPrefetch = false, waitUntil, routeKind } = context;
+ const response = await this.getBatcher.batch({
+ key,
+ isOnDemandRevalidate
+ }, ({ resolve })=>{
+ const promise = this.handleGet(key, responseGenerator, {
+ incrementalCache,
+ isOnDemandRevalidate,
+ isFallback,
+ isRoutePPREnabled,
+ isPrefetch,
+ routeKind
+ }, resolve);
+ // We need to ensure background revalidates are passed to waitUntil.
+ if (waitUntil) waitUntil(promise);
+ return promise;
+ });
+ return (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["toResponseCacheEntry"])(response);
+ }
+ /**
+ * Handles the get request for the response cache.
+ *
+ * @param key - The key to get the response cache entry for.
+ * @param responseGenerator - The response generator to use to generate the response cache entry.
+ * @param context - The context for the get request.
+ * @param resolve - The resolve function to use to resolve the response cache entry.
+ * @returns The response cache entry.
+ */ async handleGet(key, responseGenerator, context, resolve) {
+ let previousIncrementalCacheEntry = null;
+ let resolved = false;
+ try {
+ // Get the previous cache entry if not in minimal mode
+ previousIncrementalCacheEntry = !this.minimal_mode ? await context.incrementalCache.get(key, {
+ kind: (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["routeKindToIncrementalCacheKind"])(context.routeKind),
+ isRoutePPREnabled: context.isRoutePPREnabled,
+ isFallback: context.isFallback
+ }) : null;
+ if (previousIncrementalCacheEntry && !context.isOnDemandRevalidate) {
+ resolve(previousIncrementalCacheEntry);
+ resolved = true;
+ if (!previousIncrementalCacheEntry.isStale || context.isPrefetch) {
+ // The cached value is still valid, so we don't need to update it yet.
+ return previousIncrementalCacheEntry;
+ }
+ }
+ // Revalidate the cache entry
+ const incrementalResponseCacheEntry = await this.revalidate(key, context.incrementalCache, context.isRoutePPREnabled, context.isFallback, responseGenerator, previousIncrementalCacheEntry, previousIncrementalCacheEntry !== null && !context.isOnDemandRevalidate);
+ // Handle null response
+ if (!incrementalResponseCacheEntry) {
+ // Unset the previous cache item if it was set so we don't use it again.
+ if (this.minimal_mode) this.previousCacheItem = undefined;
+ return null;
+ }
+ // Resolve for on-demand revalidation or if not already resolved
+ if (context.isOnDemandRevalidate && !resolved) {
+ return incrementalResponseCacheEntry;
+ }
+ return incrementalResponseCacheEntry;
+ } catch (err) {
+ // If we've already resolved the cache entry, we can't reject as we
+ // already resolved the cache entry so log the error here.
+ if (resolved) {
+ console.error(err);
+ return null;
+ }
+ throw err;
+ }
+ }
+ /**
+ * Revalidates the cache entry for the given key.
+ *
+ * @param key - The key to revalidate the cache entry for.
+ * @param incrementalCache - The incremental cache to use to revalidate the cache entry.
+ * @param isRoutePPREnabled - Whether the route is PPR enabled.
+ * @param isFallback - Whether the route is a fallback.
+ * @param responseGenerator - The response generator to use to generate the response cache entry.
+ * @param previousIncrementalCacheEntry - The previous cache entry to use to revalidate the cache entry.
+ * @param hasResolved - Whether the response has been resolved.
+ * @returns The revalidated cache entry.
+ */ async revalidate(key, incrementalCache, isRoutePPREnabled, isFallback, responseGenerator, previousIncrementalCacheEntry, hasResolved, waitUntil) {
+ return this.revalidateBatcher.batch(key, ()=>{
+ const promise = this.handleRevalidate(key, incrementalCache, isRoutePPREnabled, isFallback, responseGenerator, previousIncrementalCacheEntry, hasResolved);
+ // We need to ensure background revalidates are passed to waitUntil.
+ if (waitUntil) waitUntil(promise);
+ return promise;
+ });
+ }
+ async handleRevalidate(key, incrementalCache, isRoutePPREnabled, isFallback, responseGenerator, previousIncrementalCacheEntry, hasResolved) {
+ try {
+ // Generate the response cache entry using the response generator.
+ const responseCacheEntry = await responseGenerator({
+ hasResolved,
+ previousCacheEntry: previousIncrementalCacheEntry,
+ isRevalidating: true
+ });
+ if (!responseCacheEntry) {
+ return null;
+ }
+ // Convert the response cache entry to an incremental response cache entry.
+ const incrementalResponseCacheEntry = await (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["fromResponseCacheEntry"])({
+ ...responseCacheEntry,
+ isMiss: !previousIncrementalCacheEntry
+ });
+ // We want to persist the result only if it has a cache control value
+ // defined.
+ if (incrementalResponseCacheEntry.cacheControl) {
+ if (this.minimal_mode) {
+ this.previousCacheItem = {
+ key,
+ entry: incrementalResponseCacheEntry,
+ expiresAt: Date.now() + 1000
+ };
+ } else {
+ await incrementalCache.set(key, incrementalResponseCacheEntry.value, {
+ cacheControl: incrementalResponseCacheEntry.cacheControl,
+ isRoutePPREnabled,
+ isFallback
+ });
+ }
+ }
+ return incrementalResponseCacheEntry;
+ } catch (err) {
+ // When a path is erroring we automatically re-set the existing cache
+ // with new revalidate and expire times to prevent non-stop retrying.
+ if (previousIncrementalCacheEntry == null ? void 0 : previousIncrementalCacheEntry.cacheControl) {
+ const revalidate = Math.min(Math.max(previousIncrementalCacheEntry.cacheControl.revalidate || 3, 3), 30);
+ const expire = previousIncrementalCacheEntry.cacheControl.expire === undefined ? undefined : Math.max(revalidate + 3, previousIncrementalCacheEntry.cacheControl.expire);
+ await incrementalCache.set(key, previousIncrementalCacheEntry.value, {
+ cacheControl: {
+ revalidate: revalidate,
+ expire: expire
+ },
+ isRoutePPREnabled,
+ isFallback
+ });
+ }
+ // We haven't resolved yet, so let's throw to indicate an error.
+ throw err;
+ }
+ }
+} //# sourceMappingURL=index.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/lib/cache-control.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "getCacheControlHeader",
+ ()=>getCacheControlHeader
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/lib/constants.js [ssr] (ecmascript)");
+;
+function getCacheControlHeader({ revalidate, expire }) {
+ const swrHeader = typeof revalidate === 'number' && expire !== undefined && revalidate < expire ? `, stale-while-revalidate=${expire - revalidate}` : '';
+ if (revalidate === 0) {
+ return 'private, no-cache, no-store, max-age=0, must-revalidate';
+ } else if (typeof revalidate === 'number') {
+ return `s-maxage=${revalidate}${swrHeader}`;
+ }
+ return `s-maxage=${__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CACHE_ONE_YEAR"]}${swrHeader}`;
+} //# sourceMappingURL=cache-control.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/utils.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+/**
+ * Web vitals provided to _app.reportWebVitals by Core Web Vitals plugin developed by Google Chrome team.
+ * https://nextjs.org/blog/next-9-4#integrated-web-vitals-reporting
+ */ __turbopack_context__.s([
+ "DecodeError",
+ ()=>DecodeError,
+ "MiddlewareNotFoundError",
+ ()=>MiddlewareNotFoundError,
+ "MissingStaticPage",
+ ()=>MissingStaticPage,
+ "NormalizeError",
+ ()=>NormalizeError,
+ "PageNotFoundError",
+ ()=>PageNotFoundError,
+ "SP",
+ ()=>SP,
+ "ST",
+ ()=>ST,
+ "WEB_VITALS",
+ ()=>WEB_VITALS,
+ "execOnce",
+ ()=>execOnce,
+ "getDisplayName",
+ ()=>getDisplayName,
+ "getLocationOrigin",
+ ()=>getLocationOrigin,
+ "getURL",
+ ()=>getURL,
+ "isAbsoluteUrl",
+ ()=>isAbsoluteUrl,
+ "isResSent",
+ ()=>isResSent,
+ "loadGetInitialProps",
+ ()=>loadGetInitialProps,
+ "normalizeRepeatedSlashes",
+ ()=>normalizeRepeatedSlashes,
+ "stringifyError",
+ ()=>stringifyError
+]);
+const WEB_VITALS = [
+ 'CLS',
+ 'FCP',
+ 'FID',
+ 'INP',
+ 'LCP',
+ 'TTFB'
+];
+function execOnce(fn) {
+ let used = false;
+ let result;
+ return (...args)=>{
+ if (!used) {
+ used = true;
+ result = fn(...args);
+ }
+ return result;
+ };
+}
+// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1
+// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3
+const ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\d+\-.]*?:/;
+const isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);
+function getLocationOrigin() {
+ const { protocol, hostname, port } = window.location;
+ return `${protocol}//${hostname}${port ? ':' + port : ''}`;
+}
+function getURL() {
+ const { href } = window.location;
+ const origin = getLocationOrigin();
+ return href.substring(origin.length);
+}
+function getDisplayName(Component) {
+ return typeof Component === 'string' ? Component : Component.displayName || Component.name || 'Unknown';
+}
+function isResSent(res) {
+ return res.finished || res.headersSent;
+}
+function normalizeRepeatedSlashes(url) {
+ const urlParts = url.split('?');
+ const urlNoQuery = urlParts[0];
+ return urlNoQuery // first we replace any non-encoded backslashes with forward
+ // then normalize repeated forward slashes
+ .replace(/\\/g, '/').replace(/\/\/+/g, '/') + (urlParts[1] ? `?${urlParts.slice(1).join('?')}` : '');
+}
+async function loadGetInitialProps(App, ctx) {
+ if ("TURBOPACK compile-time truthy", 1) {
+ if (App.prototype?.getInitialProps) {
+ const message = `"${getDisplayName(App)}.getInitialProps()" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.`;
+ throw Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ }
+ // when called from _app `ctx` is nested in `ctx`
+ const res = ctx.res || ctx.ctx && ctx.ctx.res;
+ if (!App.getInitialProps) {
+ if (ctx.ctx && ctx.Component) {
+ // @ts-ignore pageProps default
+ return {
+ pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)
+ };
+ }
+ return {};
+ }
+ const props = await App.getInitialProps(ctx);
+ if (res && isResSent(res)) {
+ return props;
+ }
+ if (!props) {
+ const message = `"${getDisplayName(App)}.getInitialProps()" should resolve to an object. But found "${props}" instead.`;
+ throw Object.defineProperty(new Error(message), "__NEXT_ERROR_CODE", {
+ value: "E394",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ if ("TURBOPACK compile-time truthy", 1) {
+ if (Object.keys(props).length === 0 && !ctx.ctx) {
+ console.warn(`${getDisplayName(App)} returned an empty object from \`getInitialProps\`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps`);
+ }
+ }
+ return props;
+}
+const SP = typeof performance !== 'undefined';
+const ST = SP && [
+ 'mark',
+ 'measure',
+ 'getEntriesByName'
+].every((method)=>typeof performance[method] === 'function');
+class DecodeError extends Error {
+}
+class NormalizeError extends Error {
+}
+class PageNotFoundError extends Error {
+ constructor(page){
+ super();
+ this.code = 'ENOENT';
+ this.name = 'PageNotFoundError';
+ this.message = `Cannot find module for page: ${page}`;
+ }
+}
+class MissingStaticPage extends Error {
+ constructor(page, message){
+ super();
+ this.message = `Failed to load static file for page: ${page} ${message}`;
+ }
+}
+class MiddlewareNotFoundError extends Error {
+ constructor(){
+ super();
+ this.code = 'ENOENT';
+ this.message = `Cannot find the middleware module`;
+ }
+}
+function stringifyError(error) {
+ return JSON.stringify({
+ message: error.message,
+ stack: error.stack
+ });
+} //# sourceMappingURL=utils.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/client/components/redirect-status-code.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "RedirectStatusCode",
+ ()=>RedirectStatusCode
+]);
+var RedirectStatusCode = /*#__PURE__*/ function(RedirectStatusCode) {
+ RedirectStatusCode[RedirectStatusCode["SeeOther"] = 303] = "SeeOther";
+ RedirectStatusCode[RedirectStatusCode["TemporaryRedirect"] = 307] = "TemporaryRedirect";
+ RedirectStatusCode[RedirectStatusCode["PermanentRedirect"] = 308] = "PermanentRedirect";
+ return RedirectStatusCode;
+}({}); //# sourceMappingURL=redirect-status-code.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/lib/redirect-status.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "allowedStatusCodes",
+ ()=>allowedStatusCodes,
+ "getRedirectStatus",
+ ()=>getRedirectStatus,
+ "modifyRouteRegex",
+ ()=>modifyRouteRegex
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$redirect$2d$status$2d$code$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/client/components/redirect-status-code.js [ssr] (ecmascript)");
+;
+const allowedStatusCodes = new Set([
+ 301,
+ 302,
+ 303,
+ 307,
+ 308
+]);
+function getRedirectStatus(route) {
+ return route.statusCode || (route.permanent ? __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$redirect$2d$status$2d$code$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["RedirectStatusCode"].PermanentRedirect : __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$redirect$2d$status$2d$code$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["RedirectStatusCode"].TemporaryRedirect);
+}
+function modifyRouteRegex(regex, restrictedPaths) {
+ if (restrictedPaths) {
+ regex = regex.replace(/\^/, `^(?!${restrictedPaths.map((path)=>path.replace(/\//g, '\\/')).join('|')})`);
+ }
+ regex = regex.replace(/\$$/, '(?:\\/)?$');
+ return regex;
+} //# sourceMappingURL=redirect-status.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/lib/etag.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+/**
+ * FNV-1a Hash implementation
+ * @author Travis Webb (tjwebb)
+ *
+ * Ported from https://github.com/tjwebb/fnv-plus/blob/master/index.js
+ *
+ * Simplified, optimized and add modified for 52 bit, which provides a larger hash space
+ * and still making use of Javascript's 53-bit integer space.
+ */ __turbopack_context__.s([
+ "fnv1a52",
+ ()=>fnv1a52,
+ "generateETag",
+ ()=>generateETag
+]);
+const fnv1a52 = (str)=>{
+ const len = str.length;
+ let i = 0, t0 = 0, v0 = 0x2325, t1 = 0, v1 = 0x8422, t2 = 0, v2 = 0x9ce4, t3 = 0, v3 = 0xcbf2;
+ while(i < len){
+ v0 ^= str.charCodeAt(i++);
+ t0 = v0 * 435;
+ t1 = v1 * 435;
+ t2 = v2 * 435;
+ t3 = v3 * 435;
+ t2 += v0 << 8;
+ t3 += v1 << 8;
+ t1 += t0 >>> 16;
+ v0 = t0 & 65535;
+ t2 += t1 >>> 16;
+ v1 = t1 & 65535;
+ v3 = t3 + (t2 >>> 16) & 65535;
+ v2 = t2 & 65535;
+ }
+ return (v3 & 15) * 281474976710656 + v2 * 4294967296 + v1 * 65536 + (v0 ^ v3 >> 4);
+};
+const generateETag = (payload, weak = false)=>{
+ const prefix = weak ? 'W/"' : '"';
+ return prefix + fnv1a52(payload).toString(36) + payload.length.toString(36) + '"';
+}; //# sourceMappingURL=etag.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/compiled/fresh/index.js [ssr] (ecmascript)", ((__turbopack_context__, module, exports) => {
+
+(()=>{
+ "use strict";
+ var e = {
+ 695: (e)=>{
+ /*!
+ * fresh
+ * Copyright(c) 2012 TJ Holowaychuk
+ * Copyright(c) 2016-2017 Douglas Christopher Wilson
+ * MIT Licensed
+ */ var r = /(?:^|,)\s*?no-cache\s*?(?:,|$)/;
+ e.exports = fresh;
+ function fresh(e, a) {
+ var t = e["if-modified-since"];
+ var s = e["if-none-match"];
+ if (!t && !s) {
+ return false;
+ }
+ var i = e["cache-control"];
+ if (i && r.test(i)) {
+ return false;
+ }
+ if (s && s !== "*") {
+ var f = a["etag"];
+ if (!f) {
+ return false;
+ }
+ var n = true;
+ var u = parseTokenList(s);
+ for(var _ = 0; _ < u.length; _++){
+ var o = u[_];
+ if (o === f || o === "W/" + f || "W/" + o === f) {
+ n = false;
+ break;
+ }
+ }
+ if (n) {
+ return false;
+ }
+ }
+ if (t) {
+ var p = a["last-modified"];
+ var v = !p || !(parseHttpDate(p) <= parseHttpDate(t));
+ if (v) {
+ return false;
+ }
+ }
+ return true;
+ }
+ function parseHttpDate(e) {
+ var r = e && Date.parse(e);
+ return typeof r === "number" ? r : NaN;
+ }
+ function parseTokenList(e) {
+ var r = 0;
+ var a = [];
+ var t = 0;
+ for(var s = 0, i = e.length; s < i; s++){
+ switch(e.charCodeAt(s)){
+ case 32:
+ if (t === r) {
+ t = r = s + 1;
+ }
+ break;
+ case 44:
+ a.push(e.substring(t, r));
+ t = r = s + 1;
+ break;
+ default:
+ r = s + 1;
+ break;
+ }
+ }
+ a.push(e.substring(t, r));
+ return a;
+ }
+ }
+ };
+ var r = {};
+ function __nccwpck_require__(a) {
+ var t = r[a];
+ if (t !== undefined) {
+ return t.exports;
+ }
+ var s = r[a] = {
+ exports: {}
+ };
+ var i = true;
+ try {
+ e[a](s, s.exports, __nccwpck_require__);
+ i = false;
+ } finally{
+ if (i) delete r[a];
+ }
+ return s.exports;
+ }
+ if (typeof __nccwpck_require__ !== "undefined") __nccwpck_require__.ab = ("TURBOPACK compile-time value", "/ROOT/learn-next/01/node_modules/next/dist/compiled/fresh") + "/";
+ var a = __nccwpck_require__(695);
+ module.exports = a;
+})();
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/send-payload.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "sendEtagResponse",
+ ()=>sendEtagResponse,
+ "sendRenderResult",
+ ()=>sendRenderResult
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/utils.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$etag$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/lib/etag.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$fresh$2f$index$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/compiled/fresh/index.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$cache$2d$control$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/lib/cache-control.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/lib/constants.js [ssr] (ecmascript)");
+;
+;
+;
+;
+;
+function sendEtagResponse(req, res, etag) {
+ if (etag) {
+ /**
+ * The server generating a 304 response MUST generate any of the
+ * following header fields that would have been sent in a 200 (OK)
+ * response to the same request: Cache-Control, Content-Location, Date,
+ * ETag, Expires, and Vary. https://tools.ietf.org/html/rfc7232#section-4.1
+ */ res.setHeader('ETag', etag);
+ }
+ if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$compiled$2f$fresh$2f$index$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["default"])(req.headers, {
+ etag
+ })) {
+ res.statusCode = 304;
+ res.end();
+ return true;
+ }
+ return false;
+}
+async function sendRenderResult({ req, res, result, generateEtags, poweredByHeader, cacheControl }) {
+ if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["isResSent"])(res)) {
+ return;
+ }
+ if (poweredByHeader && result.contentType === __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["HTML_CONTENT_TYPE_HEADER"]) {
+ res.setHeader('X-Powered-By', 'Next.js');
+ }
+ // If cache control is already set on the response we don't
+ // override it to allow users to customize it via next.config
+ if (cacheControl && !res.getHeader('Cache-Control')) {
+ res.setHeader('Cache-Control', (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$cache$2d$control$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getCacheControlHeader"])(cacheControl));
+ }
+ const payload = result.isDynamic ? null : result.toUnchunkedString();
+ if (generateEtags && payload !== null) {
+ const etag = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$etag$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["generateETag"])(payload);
+ if (sendEtagResponse(req, res, etag)) {
+ return;
+ }
+ }
+ if (!res.getHeader('Content-Type') && result.contentType) {
+ res.setHeader('Content-Type', result.contentType);
+ }
+ if (payload) {
+ res.setHeader('Content-Length', Buffer.byteLength(payload));
+ }
+ if (req.method === 'HEAD') {
+ res.end(null);
+ return;
+ }
+ if (payload !== null) {
+ res.end(payload);
+ return;
+ }
+ // Pipe the render result to the response after we get a writer for it.
+ await result.pipeToNodeResponse(res);
+} //# sourceMappingURL=send-payload.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/html-bots.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+// This regex contains the bots that we need to do a blocking render for and can't safely stream the response
+// due to how they parse the DOM. For example, they might explicitly check for metadata in the `head` tag, so we can't stream metadata tags after the `head` was sent.
+// Note: The pattern [\w-]+-Google captures all Google crawlers with "-Google" suffix (e.g., Mediapartners-Google, AdsBot-Google, Storebot-Google)
+// as well as crawlers starting with "Google-" (e.g., Google-PageRenderer, Google-InspectionTool)
+__turbopack_context__.s([
+ "HTML_LIMITED_BOT_UA_RE",
+ ()=>HTML_LIMITED_BOT_UA_RE
+]);
+const HTML_LIMITED_BOT_UA_RE = /[\w-]+-Google|Google-[\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight/i; //# sourceMappingURL=html-bots.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/is-bot.js [ssr] (ecmascript) ", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "HTML_LIMITED_BOT_UA_RE_STRING",
+ ()=>HTML_LIMITED_BOT_UA_RE_STRING,
+ "getBotType",
+ ()=>getBotType,
+ "isBot",
+ ()=>isBot
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$html$2d$bots$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/html-bots.js [ssr] (ecmascript)");
+;
+// Bot crawler that will spin up a headless browser and execute JS.
+// Only the main Googlebot search crawler executes JavaScript, not other Google crawlers.
+// x-ref: https://developers.google.com/search/docs/crawling-indexing/google-common-crawlers
+// This regex specifically matches "Googlebot" but NOT "Mediapartners-Google", "AdsBot-Google", etc.
+const HEADLESS_BROWSER_BOT_UA_RE = /Googlebot(?!-)|Googlebot$/i;
+const HTML_LIMITED_BOT_UA_RE_STRING = __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$html$2d$bots$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["HTML_LIMITED_BOT_UA_RE"].source;
+;
+function isDomBotUA(userAgent) {
+ return HEADLESS_BROWSER_BOT_UA_RE.test(userAgent);
+}
+function isHtmlLimitedBotUA(userAgent) {
+ return __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$html$2d$bots$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["HTML_LIMITED_BOT_UA_RE"].test(userAgent);
+}
+function isBot(userAgent) {
+ return isDomBotUA(userAgent) || isHtmlLimitedBotUA(userAgent);
+}
+function getBotType(userAgent) {
+ if (isDomBotUA(userAgent)) {
+ return 'dom';
+ }
+ if (isHtmlLimitedBotUA(userAgent)) {
+ return 'html';
+ }
+ return undefined;
+} //# sourceMappingURL=is-bot.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/server/route-modules/pages/pages-handler.js [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "getHandler",
+ ()=>getHandler
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/route-kind.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/lib/trace/constants.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/lib/trace/tracer.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$format$2d$url$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/format-url.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/request-meta.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$interop$2d$default$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/app-render/interop-default.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$instrumentation$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/instrumentation/utils.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$page$2d$path$2f$normalize$2d$data$2d$path$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/page-path/normalize-data-path.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$index$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/response-cache/index.js [ssr] (ecmascript) ");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/response-cache/types.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$cache$2d$control$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/lib/cache-control.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/utils.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$redirect$2d$status$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/lib/redirect-status.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/lib/constants.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/path [external] (path, cjs)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$send$2d$payload$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/send-payload.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$render$2d$result$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/render-result.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/response-cache/utils.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$shared$2f$lib$2f$no$2d$fallback$2d$error$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$shared$2f$lib$2f$no$2d$fallback$2d$error$2e$external$2e$js$2c$__cjs$29$__ = __turbopack_context__.i("[externals]/next/dist/shared/lib/no-fallback-error.external.js [external] (next/dist/shared/lib/no-fallback-error.external.js, cjs)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$redirect$2d$status$2d$code$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/client/components/redirect-status-code.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$is$2d$bot$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__$3c$locals$3e$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/is-bot.js [ssr] (ecmascript) ");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/add-path-prefix.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$trailing$2d$slash$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/shared/lib/router/utils/remove-trailing-slash.js [ssr] (ecmascript)");
+;
+;
+;
+;
+;
+;
+;
+;
+;
+;
+;
+;
+;
+;
+;
+;
+;
+;
+;
+;
+;
+;
+const getHandler = ({ srcPage: originalSrcPage, config, userland, routeModule, isFallbackError, getStaticPaths, getStaticProps, getServerSideProps })=>{
+ return async function handler(req, res, ctx) {
+ var _serverFilesManifest_config_experimental, _serverFilesManifest_config;
+ if (routeModule.isDev) {
+ (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["addRequestMeta"])(req, 'devRequestTimingInternalsEnd', process.hrtime.bigint());
+ }
+ let srcPage = originalSrcPage;
+ // turbopack doesn't normalize `/index` in the page name
+ // so we need to to process dynamic routes properly
+ // TODO: fix turbopack providing differing value from webpack
+ if ("TURBOPACK compile-time truthy", 1) {
+ srcPage = srcPage.replace(/\/index$/, '') || '/';
+ } else if (srcPage === '/index') {
+ // we always normalize /index specifically
+ srcPage = '/';
+ }
+ const multiZoneDraftMode = ("TURBOPACK compile-time value", false);
+ const prepareResult = await routeModule.prepare(req, res, {
+ srcPage,
+ multiZoneDraftMode
+ });
+ if (!prepareResult) {
+ res.statusCode = 400;
+ res.end('Bad Request');
+ ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());
+ return;
+ }
+ const isMinimalMode = Boolean(("TURBOPACK compile-time value", false) || (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'minimalMode'));
+ const render404 = async ()=>{
+ // TODO: should route-module itself handle rendering the 404
+ if (routerServerContext == null ? void 0 : routerServerContext.render404) {
+ await routerServerContext.render404(req, res, parsedUrl, false);
+ } else {
+ res.end('This page could not be found');
+ }
+ };
+ const { buildId, query, params, parsedUrl, originalQuery, originalPathname, buildManifest, fallbackBuildManifest, nextFontManifest, serverFilesManifest, reactLoadableManifest, prerenderManifest, isDraftMode, isOnDemandRevalidate, revalidateOnlyGenerated, locale, locales, defaultLocale, routerServerContext, nextConfig, resolvedPathname, encodedResolvedPathname } = prepareResult;
+ const isExperimentalCompile = serverFilesManifest == null ? void 0 : (_serverFilesManifest_config = serverFilesManifest.config) == null ? void 0 : (_serverFilesManifest_config_experimental = _serverFilesManifest_config.experimental) == null ? void 0 : _serverFilesManifest_config_experimental.isExperimentalCompile;
+ const hasServerProps = Boolean(getServerSideProps);
+ const hasStaticProps = Boolean(getStaticProps);
+ const hasStaticPaths = Boolean(getStaticPaths);
+ const hasGetInitialProps = Boolean((userland.default || userland).getInitialProps);
+ let cacheKey = null;
+ let isIsrFallback = false;
+ let isNextDataRequest = prepareResult.isNextDataRequest && (hasStaticProps || hasServerProps);
+ const is404Page = srcPage === '/404';
+ const is500Page = srcPage === '/500';
+ const isErrorPage = srcPage === '/_error';
+ if (!routeModule.isDev && !isDraftMode && hasStaticProps) {
+ cacheKey = `${locale ? `/${locale}` : ''}${(srcPage === '/' || resolvedPathname === '/') && locale ? '' : resolvedPathname}`;
+ if (is404Page || is500Page || isErrorPage) {
+ cacheKey = `${locale ? `/${locale}` : ''}${srcPage}`;
+ }
+ // ensure /index and / is normalized to one key
+ cacheKey = cacheKey === '/index' ? '/' : cacheKey;
+ }
+ if (hasStaticPaths && !isDraftMode) {
+ const decodedPathname = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$trailing$2d$slash$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["removeTrailingSlash"])(locale ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$add$2d$path$2d$prefix$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["addPathPrefix"])(resolvedPathname, `/${locale}`) : resolvedPathname);
+ const isPrerendered = Boolean(prerenderManifest.routes[decodedPathname]) || prerenderManifest.notFoundRoutes.includes(decodedPathname);
+ const prerenderInfo = prerenderManifest.dynamicRoutes[srcPage];
+ if (prerenderInfo) {
+ if (prerenderInfo.fallback === false && !isPrerendered) {
+ if (nextConfig.experimental.adapterPath) {
+ return await render404();
+ }
+ throw new __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$shared$2f$lib$2f$no$2d$fallback$2d$error$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$shared$2f$lib$2f$no$2d$fallback$2d$error$2e$external$2e$js$2c$__cjs$29$__["NoFallbackError"]();
+ }
+ if (typeof prerenderInfo.fallback === 'string' && !isPrerendered && !isNextDataRequest) {
+ isIsrFallback = true;
+ }
+ }
+ }
+ // When serving a bot request, we want to serve a blocking render and not
+ // the prerendered page. This ensures that the correct content is served
+ // to the bot in the head.
+ if (isIsrFallback && (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$is$2d$bot$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__$3c$locals$3e$__["isBot"])(req.headers['user-agent'] || '') || isMinimalMode) {
+ isIsrFallback = false;
+ }
+ const tracer = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getTracer"])();
+ const activeSpan = tracer.getActiveScopeSpan();
+ try {
+ var _parsedUrl_pathname;
+ const method = req.method || 'GET';
+ const resolvedUrl = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$format$2d$url$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["formatUrl"])({
+ pathname: nextConfig.trailingSlash ? `${encodedResolvedPathname}${!encodedResolvedPathname.endsWith('/') && ((_parsedUrl_pathname = parsedUrl.pathname) == null ? void 0 : _parsedUrl_pathname.endsWith('/')) ? '/' : ''}` : (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$remove$2d$trailing$2d$slash$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["removeTrailingSlash"])(encodedResolvedPathname || '/'),
+ // make sure to only add query values from original URL
+ query: hasStaticProps ? {} : originalQuery
+ });
+ const handleResponse = async (span)=>{
+ const responseGenerator = async ({ previousCacheEntry })=>{
+ var _previousCacheEntry_value;
+ const doRender = async ()=>{
+ try {
+ var _nextConfig_i18n;
+ return await routeModule.render(req, res, {
+ query: hasStaticProps && !isExperimentalCompile ? {
+ ...params
+ } : {
+ ...query,
+ ...params
+ },
+ params,
+ page: srcPage,
+ renderContext: {
+ isDraftMode,
+ isFallback: isIsrFallback,
+ developmentNotFoundSourcePage: (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'developmentNotFoundSourcePage')
+ },
+ sharedContext: {
+ buildId,
+ customServer: Boolean(routerServerContext == null ? void 0 : routerServerContext.isCustomServer) || undefined,
+ deploymentId: ("TURBOPACK compile-time value", false)
+ },
+ renderOpts: {
+ params,
+ routeModule,
+ page: srcPage,
+ pageConfig: config || {},
+ Component: (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$app$2d$render$2f$interop$2d$default$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["interopDefault"])(userland),
+ ComponentMod: userland,
+ getStaticProps,
+ getStaticPaths,
+ getServerSideProps,
+ supportsDynamicResponse: !hasStaticProps,
+ buildManifest: isFallbackError ? fallbackBuildManifest : buildManifest,
+ nextFontManifest,
+ reactLoadableManifest,
+ assetPrefix: nextConfig.assetPrefix,
+ previewProps: prerenderManifest.preview,
+ images: nextConfig.images,
+ nextConfigOutput: nextConfig.output,
+ optimizeCss: Boolean(nextConfig.experimental.optimizeCss),
+ nextScriptWorkers: Boolean(nextConfig.experimental.nextScriptWorkers),
+ domainLocales: (_nextConfig_i18n = nextConfig.i18n) == null ? void 0 : _nextConfig_i18n.domains,
+ crossOrigin: nextConfig.crossOrigin,
+ multiZoneDraftMode,
+ basePath: nextConfig.basePath,
+ disableOptimizedLoading: nextConfig.experimental.disableOptimizedLoading,
+ largePageDataBytes: nextConfig.experimental.largePageDataBytes,
+ isExperimentalCompile,
+ experimental: {
+ clientTraceMetadata: nextConfig.experimental.clientTraceMetadata || []
+ },
+ locale,
+ locales,
+ defaultLocale,
+ setIsrStatus: routerServerContext == null ? void 0 : routerServerContext.setIsrStatus,
+ isNextDataRequest: isNextDataRequest && (hasServerProps || hasStaticProps),
+ resolvedUrl,
+ // For getServerSideProps and getInitialProps we need to ensure we use the original URL
+ // and not the resolved URL to prevent a hydration mismatch on
+ // asPath
+ resolvedAsPath: hasServerProps || hasGetInitialProps ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$router$2f$utils$2f$format$2d$url$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["formatUrl"])({
+ // we use the original URL pathname less the _next/data prefix if
+ // present
+ pathname: isNextDataRequest ? (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$page$2d$path$2f$normalize$2d$data$2d$path$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["normalizeDataPath"])(originalPathname) : originalPathname,
+ query: originalQuery
+ }) : resolvedUrl,
+ isOnDemandRevalidate,
+ ErrorDebug: (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'PagesErrorDebug'),
+ err: (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'invokeError'),
+ dev: routeModule.isDev,
+ // needed for experimental.optimizeCss feature
+ distDir: __TURBOPACK__imported__module__$5b$externals$5d2f$path__$5b$external$5d$__$28$path$2c$__cjs$29$__["default"].join(/* turbopackIgnore: true */ process.cwd(), routeModule.relativeProjectDir, routeModule.distDir)
+ }
+ }).then((renderResult)=>{
+ const { metadata } = renderResult;
+ let cacheControl = metadata.cacheControl;
+ if ('isNotFound' in metadata && metadata.isNotFound) {
+ return {
+ value: null,
+ cacheControl
+ };
+ }
+ // Handle `isRedirect`.
+ if (metadata.isRedirect) {
+ return {
+ value: {
+ kind: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CachedRouteKind"].REDIRECT,
+ props: metadata.pageData ?? metadata.flightData
+ },
+ cacheControl
+ };
+ }
+ return {
+ value: {
+ kind: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES,
+ html: renderResult,
+ pageData: renderResult.metadata.pageData,
+ headers: renderResult.metadata.headers,
+ status: renderResult.metadata.statusCode
+ },
+ cacheControl
+ };
+ }).finally(()=>{
+ if (!span) return;
+ span.setAttributes({
+ 'http.status_code': res.statusCode,
+ 'next.rsc': false
+ });
+ const rootSpanAttributes = tracer.getRootSpanAttributes();
+ // We were unable to get attributes, probably OTEL is not enabled
+ if (!rootSpanAttributes) {
+ return;
+ }
+ if (rootSpanAttributes.get('next.span_type') !== __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["BaseServerSpan"].handleRequest) {
+ console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);
+ return;
+ }
+ const route = rootSpanAttributes.get('next.route');
+ if (route) {
+ const name = `${method} ${route}`;
+ span.setAttributes({
+ 'next.route': route,
+ 'http.route': route,
+ 'next.span_name': name
+ });
+ span.updateName(name);
+ } else {
+ span.updateName(`${method} ${srcPage}`);
+ }
+ });
+ } catch (err) {
+ // if this is a background revalidate we need to report
+ // the request error here as it won't be bubbled
+ if (previousCacheEntry == null ? void 0 : previousCacheEntry.isStale) {
+ await routeModule.onRequestError(req, err, {
+ routerKind: 'Pages Router',
+ routePath: srcPage,
+ routeType: 'render',
+ revalidateReason: (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$instrumentation$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getRevalidateReason"])({
+ isStaticGeneration: hasStaticProps,
+ isOnDemandRevalidate
+ })
+ }, routerServerContext);
+ }
+ throw err;
+ }
+ };
+ // if we've already generated this page we no longer
+ // serve the fallback
+ if (previousCacheEntry) {
+ isIsrFallback = false;
+ }
+ if (isIsrFallback) {
+ const fallbackResponse = await routeModule.getResponseCache(req).get(routeModule.isDev ? null : locale ? `/${locale}${srcPage}` : srcPage, async ({ previousCacheEntry: previousFallbackCacheEntry = null })=>{
+ if (!routeModule.isDev) {
+ return (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["toResponseCacheEntry"])(previousFallbackCacheEntry);
+ }
+ return doRender();
+ }, {
+ routeKind: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["RouteKind"].PAGES,
+ isFallback: true,
+ isRoutePPREnabled: false,
+ isOnDemandRevalidate: false,
+ incrementalCache: await routeModule.getIncrementalCache(req, nextConfig, prerenderManifest, isMinimalMode),
+ waitUntil: ctx.waitUntil
+ });
+ if (fallbackResponse) {
+ // Remove the cache control from the response to prevent it from being
+ // used in the surrounding cache.
+ delete fallbackResponse.cacheControl;
+ fallbackResponse.isMiss = true;
+ return fallbackResponse;
+ }
+ }
+ if (!isMinimalMode && isOnDemandRevalidate && revalidateOnlyGenerated && !previousCacheEntry) {
+ res.statusCode = 404;
+ // on-demand revalidate always sets this header
+ res.setHeader('x-nextjs-cache', 'REVALIDATED');
+ res.end('This page could not be found');
+ return null;
+ }
+ if (isIsrFallback && (previousCacheEntry == null ? void 0 : (_previousCacheEntry_value = previousCacheEntry.value) == null ? void 0 : _previousCacheEntry_value.kind) === __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES) {
+ return {
+ value: {
+ kind: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES,
+ html: new __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$render$2d$result$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["default"](Buffer.from(previousCacheEntry.value.html), {
+ contentType: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["HTML_CONTENT_TYPE_HEADER"],
+ metadata: {
+ statusCode: previousCacheEntry.value.status,
+ headers: previousCacheEntry.value.headers
+ }
+ }),
+ pageData: {},
+ status: previousCacheEntry.value.status,
+ headers: previousCacheEntry.value.headers
+ },
+ cacheControl: {
+ revalidate: 0,
+ expire: undefined
+ }
+ };
+ }
+ return doRender();
+ };
+ const result = await routeModule.handleResponse({
+ cacheKey,
+ req,
+ nextConfig,
+ routeKind: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["RouteKind"].PAGES,
+ isOnDemandRevalidate,
+ revalidateOnlyGenerated,
+ waitUntil: ctx.waitUntil,
+ responseGenerator: responseGenerator,
+ prerenderManifest,
+ isMinimalMode
+ });
+ // if we got a cache hit this wasn't an ISR fallback
+ // but it wasn't generated during build so isn't in the
+ // prerender-manifest
+ if (isIsrFallback && !(result == null ? void 0 : result.isMiss)) {
+ isIsrFallback = false;
+ }
+ // response is finished is no cache entry
+ if (!result) {
+ return;
+ }
+ if (hasStaticProps && !isMinimalMode) {
+ res.setHeader('x-nextjs-cache', isOnDemandRevalidate ? 'REVALIDATED' : result.isMiss ? 'MISS' : result.isStale ? 'STALE' : 'HIT');
+ }
+ let cacheControl;
+ if (!hasStaticProps || isIsrFallback) {
+ if (!res.getHeader('Cache-Control')) {
+ cacheControl = {
+ revalidate: 0,
+ expire: undefined
+ };
+ }
+ } else if (is404Page) {
+ const notFoundRevalidate = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'notFoundRevalidate');
+ cacheControl = {
+ revalidate: typeof notFoundRevalidate === 'undefined' ? 0 : notFoundRevalidate,
+ expire: undefined
+ };
+ } else if (is500Page) {
+ cacheControl = {
+ revalidate: 0,
+ expire: undefined
+ };
+ } else if (result.cacheControl) {
+ // If the cache entry has a cache control with a revalidate value that's
+ // a number, use it.
+ if (typeof result.cacheControl.revalidate === 'number') {
+ var _result_cacheControl;
+ if (result.cacheControl.revalidate < 1) {
+ throw Object.defineProperty(new Error(`Invalid revalidate configuration provided: ${result.cacheControl.revalidate} < 1`), "__NEXT_ERROR_CODE", {
+ value: "E22",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ cacheControl = {
+ revalidate: result.cacheControl.revalidate,
+ expire: ((_result_cacheControl = result.cacheControl) == null ? void 0 : _result_cacheControl.expire) ?? nextConfig.expireTime
+ };
+ } else {
+ // revalidate: false
+ cacheControl = {
+ revalidate: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CACHE_ONE_YEAR"],
+ expire: undefined
+ };
+ }
+ }
+ // If cache control is already set on the response we don't
+ // override it to allow users to customize it via next.config
+ if (cacheControl && !res.getHeader('Cache-Control')) {
+ res.setHeader('Cache-Control', (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$cache$2d$control$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getCacheControlHeader"])(cacheControl));
+ }
+ // notFound: true case
+ if (!result.value) {
+ var _result_cacheControl1;
+ // add revalidate metadata before rendering 404 page
+ // so that we can use this as source of truth for the
+ // cache-control header instead of what the 404 page returns
+ // for the revalidate value
+ (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["addRequestMeta"])(req, 'notFoundRevalidate', (_result_cacheControl1 = result.cacheControl) == null ? void 0 : _result_cacheControl1.revalidate);
+ res.statusCode = 404;
+ if (isNextDataRequest) {
+ res.end('{"notFound":true}');
+ return;
+ }
+ return await render404();
+ }
+ if (result.value.kind === __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CachedRouteKind"].REDIRECT) {
+ if (isNextDataRequest) {
+ res.setHeader('content-type', __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["JSON_CONTENT_TYPE_HEADER"]);
+ res.end(JSON.stringify(result.value.props));
+ return;
+ } else {
+ const handleRedirect = (pageData)=>{
+ const redirect = {
+ destination: pageData.pageProps.__N_REDIRECT,
+ statusCode: pageData.pageProps.__N_REDIRECT_STATUS,
+ basePath: pageData.pageProps.__N_REDIRECT_BASE_PATH
+ };
+ const statusCode = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$redirect$2d$status$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getRedirectStatus"])(redirect);
+ const { basePath } = nextConfig;
+ if (basePath && redirect.basePath !== false && redirect.destination.startsWith('/')) {
+ redirect.destination = `${basePath}${redirect.destination}`;
+ }
+ if (redirect.destination.startsWith('/')) {
+ redirect.destination = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$shared$2f$lib$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["normalizeRepeatedSlashes"])(redirect.destination);
+ }
+ res.statusCode = statusCode;
+ res.setHeader('Location', redirect.destination);
+ if (statusCode === __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$client$2f$components$2f$redirect$2d$status$2d$code$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["RedirectStatusCode"].PermanentRedirect) {
+ res.setHeader('Refresh', `0;url=${redirect.destination}`);
+ }
+ res.end(redirect.destination);
+ };
+ await handleRedirect(result.value.props);
+ return null;
+ }
+ }
+ if (result.value.kind !== __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$response$2d$cache$2f$types$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["CachedRouteKind"].PAGES) {
+ throw Object.defineProperty(new Error(`Invariant: received non-pages cache entry in pages handler`), "__NEXT_ERROR_CODE", {
+ value: "E695",
+ enumerable: false,
+ configurable: true
+ });
+ }
+ // In dev, we should not cache pages for any reason.
+ if (routeModule.isDev) {
+ res.setHeader('Cache-Control', 'no-store, must-revalidate');
+ }
+ // Draft mode should never be cached
+ if (isDraftMode) {
+ res.setHeader('Cache-Control', 'private, no-cache, no-store, max-age=0, must-revalidate');
+ }
+ // when invoking _error before pages/500 we don't actually
+ // send the _error response
+ if ((0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$request$2d$meta$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getRequestMeta"])(req, 'customErrorRender') || isErrorPage && isMinimalMode && res.statusCode === 500) {
+ return null;
+ }
+ await (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$send$2d$payload$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["sendRenderResult"])({
+ req,
+ res,
+ // If we are rendering the error page it's not a data request
+ // anymore
+ result: isNextDataRequest && !isErrorPage && !is500Page ? new __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$render$2d$result$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["default"](Buffer.from(JSON.stringify(result.value.pageData)), {
+ contentType: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$lib$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["JSON_CONTENT_TYPE_HEADER"],
+ metadata: result.value.html.metadata
+ }) : result.value.html,
+ generateEtags: nextConfig.generateEtags,
+ poweredByHeader: nextConfig.poweredByHeader,
+ cacheControl: routeModule.isDev ? undefined : cacheControl
+ });
+ };
+ // TODO: activeSpan code path is for when wrapped by
+ // next-server can be removed when this is no longer used
+ if (activeSpan) {
+ await handleResponse();
+ } else {
+ await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$constants$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["BaseServerSpan"].handleRequest, {
+ spanName: `${method} ${srcPage}`,
+ kind: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$lib$2f$trace$2f$tracer$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["SpanKind"].SERVER,
+ attributes: {
+ 'http.method': method,
+ 'http.target': req.url
+ }
+ }, handleResponse));
+ }
+ } catch (err) {
+ if (!(err instanceof __TURBOPACK__imported__module__$5b$externals$5d2f$next$2f$dist$2f$shared$2f$lib$2f$no$2d$fallback$2d$error$2e$external$2e$js__$5b$external$5d$__$28$next$2f$dist$2f$shared$2f$lib$2f$no$2d$fallback$2d$error$2e$external$2e$js$2c$__cjs$29$__["NoFallbackError"])) {
+ await routeModule.onRequestError(req, err, {
+ routerKind: 'Pages Router',
+ routePath: srcPage,
+ routeType: 'render',
+ revalidateReason: (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$instrumentation$2f$utils$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getRevalidateReason"])({
+ isStaticGeneration: hasStaticProps,
+ isOnDemandRevalidate
+ })
+ }, routerServerContext);
+ }
+ // rethrow so that we can handle serving error page
+ throw err;
+ }
+ };
+}; //# sourceMappingURL=pages-handler.js.map
+}),
+"[project]/learn-next/01/node_modules/next/dist/esm/build/templates/pages.js { INNER_PAGE => \"[project]/learn-next/01/node_modules/next/error.js [ssr] (ecmascript)\", INNER_DOCUMENT => \"[project]/learn-next/01/node_modules/next/document.js [ssr] (ecmascript)\", INNER_APP => \"[project]/learn-next/01/node_modules/next/app.js [ssr] (ecmascript)\" } [ssr] (ecmascript)", ((__turbopack_context__) => {
+"use strict";
+
+__turbopack_context__.s([
+ "config",
+ ()=>config,
+ "default",
+ ()=>__TURBOPACK__default__export__,
+ "getServerSideProps",
+ ()=>getServerSideProps,
+ "getStaticPaths",
+ ()=>getStaticPaths,
+ "getStaticProps",
+ ()=>getStaticProps,
+ "handler",
+ ()=>handler,
+ "reportWebVitals",
+ ()=>reportWebVitals,
+ "routeModule",
+ ()=>routeModule,
+ "unstable_getServerProps",
+ ()=>unstable_getServerProps,
+ "unstable_getServerSideProps",
+ ()=>unstable_getServerSideProps,
+ "unstable_getStaticParams",
+ ()=>unstable_getStaticParams,
+ "unstable_getStaticPaths",
+ ()=>unstable_getStaticPaths,
+ "unstable_getStaticProps",
+ ()=>unstable_getStaticProps
+]);
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$modules$2f$pages$2f$module$2e$compiled$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/route-modules/pages/module.compiled.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/route-kind.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/build/templates/helpers.js [ssr] (ecmascript)");
+// Import the app and document modules.
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$document$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/document.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$app$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/app.js [ssr] (ecmascript)");
+// Import the userland code.
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/error.js [ssr] (ecmascript)");
+var __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$modules$2f$pages$2f$pages$2d$handler$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__ = __turbopack_context__.i("[project]/learn-next/01/node_modules/next/dist/esm/server/route-modules/pages/pages-handler.js [ssr] (ecmascript)");
+;
+;
+;
+;
+;
+;
+;
+const __TURBOPACK__default__export__ = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["hoist"])(__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__, 'default');
+const getStaticProps = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["hoist"])(__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__, 'getStaticProps');
+const getStaticPaths = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["hoist"])(__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__, 'getStaticPaths');
+const getServerSideProps = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["hoist"])(__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__, 'getServerSideProps');
+const config = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["hoist"])(__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__, 'config');
+const reportWebVitals = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["hoist"])(__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__, 'reportWebVitals');
+const unstable_getStaticProps = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["hoist"])(__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__, 'unstable_getStaticProps');
+const unstable_getStaticPaths = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["hoist"])(__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__, 'unstable_getStaticPaths');
+const unstable_getStaticParams = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["hoist"])(__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__, 'unstable_getStaticParams');
+const unstable_getServerProps = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["hoist"])(__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__, 'unstable_getServerProps');
+const unstable_getServerSideProps = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$build$2f$templates$2f$helpers$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["hoist"])(__TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__, 'unstable_getServerSideProps');
+const routeModule = new __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$modules$2f$pages$2f$module$2e$compiled$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["PagesRouteModule"]({
+ definition: {
+ kind: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$kind$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["RouteKind"].PAGES,
+ page: "/_error",
+ pathname: "/_error",
+ // The following aren't used in production.
+ bundlePath: '',
+ filename: ''
+ },
+ distDir: ("TURBOPACK compile-time value", ".next\\dev") || '',
+ relativeProjectDir: ("TURBOPACK compile-time value", "") || '',
+ components: {
+ // default export might not exist when optimized for data only
+ App: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$app$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["default"],
+ Document: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$document$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["default"]
+ },
+ userland: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__
+});
+const handler = (0, __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$dist$2f$esm$2f$server$2f$route$2d$modules$2f$pages$2f$pages$2d$handler$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__["getHandler"])({
+ srcPage: "/_error",
+ config,
+ userland: __TURBOPACK__imported__module__$5b$project$5d2f$learn$2d$next$2f$01$2f$node_modules$2f$next$2f$error$2e$js__$5b$ssr$5d$__$28$ecmascript$29$__,
+ routeModule,
+ getStaticPaths,
+ getStaticProps,
+ getServerSideProps
+}); //# sourceMappingURL=pages.js.map
+}),
+];
+
+//# sourceMappingURL=7c014_9114d985._.js.map
\ No newline at end of file
diff --git a/learn-next/01/.next/dev/server/chunks/ssr/7c014_9114d985._.js.map b/learn-next/01/.next/dev/server/chunks/ssr/7c014_9114d985._.js.map
new file mode 100644
index 00000000..2beff015
--- /dev/null
+++ b/learn-next/01/.next/dev/server/chunks/ssr/7c014_9114d985._.js.map
@@ -0,0 +1,75 @@
+{
+ "version": 3,
+ "sources": [],
+ "sections": [
+ {"offset": {"line": 3, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/route-modules/pages/module.compiled.js"],"sourcesContent":["if (process.env.NEXT_RUNTIME === 'edge') {\n module.exports = require('next/dist/server/route-modules/pages/module.js')\n} else {\n if (process.env.NODE_ENV === 'development') {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/pages-turbo.runtime.dev.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/pages.runtime.dev.js')\n }\n } else {\n if (process.env.TURBOPACK) {\n module.exports = require('next/dist/compiled/next-server/pages-turbo.runtime.prod.js')\n } else {\n module.exports = require('next/dist/compiled/next-server/pages.runtime.prod.js')\n }\n }\n}\n"],"names":["process","env","NEXT_RUNTIME","module","exports","require","NODE_ENV","TURBOPACK"],"mappings":"AAAA,IAAIA,QAAQC,GAAG,CAACC,YAAY,KAAK,QAAQ;;KAElC;IACL,IAAIF,QAAQC,GAAG,CAACK,QAAQ,KAAK,WAAe;QAC1C,IAAIN,QAAQC,GAAG,CAACM,SAAS,eAAE;YACzBJ,OAAOC,OAAO,GAAGC,QAAQ;QAC3B,OAAO;;IAGT,OAAO;;AAOT","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 18, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/route-kind.ts"],"sourcesContent":["export const enum RouteKind {\n /**\n * `PAGES` represents all the React pages that are under `pages/`.\n */\n PAGES = 'PAGES',\n /**\n * `PAGES_API` represents all the API routes under `pages/api/`.\n */\n PAGES_API = 'PAGES_API',\n /**\n * `APP_PAGE` represents all the React pages that are under `app/` with the\n * filename of `page.{j,t}s{,x}`.\n */\n APP_PAGE = 'APP_PAGE',\n /**\n * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the\n * filename of `route.{j,t}s{,x}`.\n */\n APP_ROUTE = 'APP_ROUTE',\n\n /**\n * `IMAGE` represents all the images that are generated by `next/image`.\n */\n IMAGE = 'IMAGE',\n}\n"],"names":["RouteKind"],"mappings":";;;;AAAO,IAAWA,YAAAA,WAAAA,GAAAA,SAAAA,SAAAA;IAChB;;GAEC,GAAA,SAAA,CAAA,QAAA,GAAA;IAED;;GAEC,GAAA,SAAA,CAAA,YAAA,GAAA;IAED;;;GAGC,GAAA,SAAA,CAAA,WAAA,GAAA;IAED;;;GAGC,GAAA,SAAA,CAAA,YAAA,GAAA;IAGD;;GAEC,GAAA,SAAA,CAAA,QAAA,GAAA;WAtBeA;MAwBjB","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 46, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/build/templates/helpers.ts"],"sourcesContent":["/**\n * Hoists a name from a module or promised module.\n *\n * @param module the module to hoist the name from\n * @param name the name to hoist\n * @returns the value on the module (or promised module)\n */\nexport function hoist(module: any, name: string) {\n // If the name is available in the module, return it.\n if (name in module) {\n return module[name]\n }\n\n // If a property called `then` exists, assume it's a promise and\n // return a promise that resolves to the name.\n if ('then' in module && typeof module.then === 'function') {\n return module.then((mod: any) => hoist(mod, name))\n }\n\n // If we're trying to hoise the default export, and the module is a function,\n // return the module itself.\n if (typeof module === 'function' && name === 'default') {\n return module\n }\n\n // Otherwise, return undefined.\n return undefined\n}\n"],"names":["hoist","module","name","then","mod","undefined"],"mappings":"AAAA;;;;;;CAMC,GACD;;;;AAAO,SAASA,MAAMC,MAAW,EAAEC,IAAY;IAC7C,qDAAqD;IACrD,IAAIA,QAAQD,QAAQ;QAClB,OAAOA,MAAM,CAACC,KAAK;IACrB;IAEA,gEAAgE;IAChE,8CAA8C;IAC9C,IAAI,UAAUD,UAAU,OAAOA,OAAOE,IAAI,KAAK,YAAY;QACzD,OAAOF,OAAOE,IAAI,CAAC,CAACC,MAAaJ,MAAMI,KAAKF;IAC9C;IAEA,6EAA6E;IAC7E,4BAA4B;IAC5B,IAAI,OAAOD,WAAW,cAAcC,SAAS,WAAW;QACtD,OAAOD;IACT;IAEA,+BAA+B;IAC/B,OAAOI;AACT","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 78, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/%40swc/helpers/cjs/_interop_require_wildcard.cjs"],"sourcesContent":["\"use strict\";\n\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\nexports._ = _interop_require_wildcard;\n"],"names":[],"mappings":"AAEA,SAAS,yBAAyB,WAAW;IACzC,IAAI,OAAO,YAAY,YAAY,OAAO;IAE1C,IAAI,oBAAoB,IAAI;IAC5B,IAAI,mBAAmB,IAAI;IAE3B,OAAO,CAAC,2BAA2B,SAAS,WAAW;QACnD,OAAO,cAAc,mBAAmB;IAC5C,CAAC,EAAE;AACP;AACA,SAAS,0BAA0B,GAAG,EAAE,WAAW;IAC/C,IAAI,CAAC,eAAe,OAAO,IAAI,UAAU,EAAE,OAAO;IAClD,IAAI,QAAQ,QAAQ,OAAO,QAAQ,YAAY,OAAO,QAAQ,YAAY,OAAO;QAAE,SAAS;IAAI;IAEhG,IAAI,QAAQ,yBAAyB;IAErC,IAAI,SAAS,MAAM,GAAG,CAAC,MAAM,OAAO,MAAM,GAAG,CAAC;IAE9C,IAAI,SAAS;QAAE,WAAW;IAAK;IAC/B,IAAI,wBAAwB,OAAO,cAAc,IAAI,OAAO,wBAAwB;IAEpF,IAAK,IAAI,OAAO,IAAK;QACjB,IAAI,QAAQ,aAAa,OAAO,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,MAAM;YACrE,IAAI,OAAO,wBAAwB,OAAO,wBAAwB,CAAC,KAAK,OAAO;YAC/E,IAAI,QAAQ,CAAC,KAAK,GAAG,IAAI,KAAK,GAAG,GAAG,OAAO,cAAc,CAAC,QAAQ,KAAK;iBAClE,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI;QAC/B;IACJ;IAEA,OAAO,OAAO,GAAG;IAEjB,IAAI,OAAO,MAAM,GAAG,CAAC,KAAK;IAE1B,OAAO;AACX;AACA,QAAQ,CAAC,GAAG","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 113, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/shared/lib/side-effect.tsx"],"sourcesContent":["import type React from 'react'\nimport { Children, useEffect, useLayoutEffect, type JSX } from 'react'\n\ntype State = JSX.Element[] | undefined\n\nexport type SideEffectProps = {\n reduceComponentsToState: (components: Array>) => State\n handleStateChange?: (state: State) => void\n headManager: any\n children: React.ReactNode\n}\n\nconst isServer = typeof window === 'undefined'\nconst useClientOnlyLayoutEffect = isServer ? () => {} : useLayoutEffect\nconst useClientOnlyEffect = isServer ? () => {} : useEffect\n\nexport default function SideEffect(props: SideEffectProps) {\n const { headManager, reduceComponentsToState } = props\n\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = Children.toArray(\n Array.from(headManager.mountedInstances as Set).filter(\n Boolean\n )\n ) as React.ReactElement[]\n headManager.updateHead(reduceComponentsToState(headElements))\n }\n }\n\n if (isServer) {\n headManager?.mountedInstances?.add(props.children)\n emitChange()\n }\n\n useClientOnlyLayoutEffect(() => {\n headManager?.mountedInstances?.add(props.children)\n return () => {\n headManager?.mountedInstances?.delete(props.children)\n }\n })\n\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(() => {\n if (headManager) {\n headManager._pendingUpdate = emitChange\n }\n return () => {\n if (headManager) {\n headManager._pendingUpdate = emitChange\n }\n }\n })\n\n useClientOnlyEffect(() => {\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate()\n headManager._pendingUpdate = null\n }\n return () => {\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate()\n headManager._pendingUpdate = null\n }\n }\n })\n\n return null\n}\n"],"names":["SideEffect","isServer","window","useClientOnlyLayoutEffect","useLayoutEffect","useClientOnlyEffect","useEffect","props","headManager","reduceComponentsToState","emitChange","mountedInstances","headElements","Children","toArray","Array","from","filter","Boolean","updateHead","add","children","delete","_pendingUpdate"],"mappings":";;;+BAgBA,WAAA;;;eAAwBA;;;uBAfuC;AAW/D,MAAMC,WAAW,OAAOC,2CAAW;AACnC,MAAMC,4BAA4BF,uCAAW,KAAO,IAAIG,sBAAe;AACvE,MAAMC,sBAAsBJ,uCAAW,KAAO,IAAIK,gBAAS;AAE5C,SAASN,WAAWO,KAAsB;IACvD,MAAM,EAAEC,WAAW,EAAEC,uBAAuB,EAAE,GAAGF;IAEjD,SAASG;QACP,IAAIF,eAAeA,YAAYG,gBAAgB,EAAE;YAC/C,MAAMC,eAAeC,OAAAA,QAAQ,CAACC,OAAO,CACnCC,MAAMC,IAAI,CAACR,YAAYG,gBAAgB,EAA0BM,MAAM,CACrEC;YAGJV,YAAYW,UAAU,CAACV,wBAAwBG;QACjD;IACF;IAEA,IAAIX,oCAAU;QACZO,aAAaG,kBAAkBS,IAAIb,MAAMc,QAAQ;QACjDX;IACF;IAEAP,0BAA0B;QACxBK,aAAaG,kBAAkBS,IAAIb,MAAMc,QAAQ;QACjD,OAAO;YACLb,aAAaG,kBAAkBW,OAAOf,MAAMc,QAAQ;QACtD;IACF;IAEA,kFAAkF;IAClF,oFAAoF;IACpF,gEAAgE;IAChE,qFAAqF;IACrF,mFAAmF;IACnFlB,0BAA0B;QACxB,IAAIK,aAAa;YACfA,YAAYe,cAAc,GAAGb;QAC/B;QACA,OAAO;YACL,IAAIF,aAAa;gBACfA,YAAYe,cAAc,GAAGb;YAC/B;QACF;IACF;IAEAL,oBAAoB;QAClB,IAAIG,eAAeA,YAAYe,cAAc,EAAE;YAC7Cf,YAAYe,cAAc;YAC1Bf,YAAYe,cAAc,GAAG;QAC/B;QACA,OAAO;YACL,IAAIf,eAAeA,YAAYe,cAAc,EAAE;gBAC7Cf,YAAYe,cAAc;gBAC1Bf,YAAYe,cAAc,GAAG;YAC/B;QACF;IACF;IAEA,OAAO;AACT","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 177, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/server/route-modules/pages/vendored/contexts/head-manager-context.ts"],"sourcesContent":["module.exports = (\n require('../../module.compiled') as typeof import('../../module.compiled')\n).vendored['contexts'].HeadManagerContext\n"],"names":["module","exports","require","vendored","HeadManagerContext"],"mappings":"AAAAA,OAAOC,OAAO,GACZC,QAAQ,mIACRC,QAAQ,CAAC,WAAW,CAACC,kBAAkB","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 182, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/shared/lib/utils/warn-once.ts"],"sourcesContent":["let warnOnce = (_: string) => {}\nif (process.env.NODE_ENV !== 'production') {\n const warnings = new Set()\n warnOnce = (msg: string) => {\n if (!warnings.has(msg)) {\n console.warn(msg)\n }\n warnings.add(msg)\n }\n}\n\nexport { warnOnce }\n"],"names":["warnOnce","_","process","env","NODE_ENV","warnings","Set","msg","has","console","warn","add"],"mappings":";;;+BAWSA,YAAAA;;;eAAAA;;;AAXT,IAAIA,WAAW,CAACC,KAAe;AAC/B,IAAIC,QAAQC,GAAG,CAACC,QAAQ,KAAK,WAAc;IACzC,MAAMC,WAAW,IAAIC;IACrBN,WAAW,CAACO;QACV,IAAI,CAACF,SAASG,GAAG,CAACD,MAAM;YACtBE,QAAQC,IAAI,CAACH;QACf;QACAF,SAASM,GAAG,CAACJ;IACf;AACF","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 205, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/src/shared/lib/head.tsx"],"sourcesContent":["'use client'\n\nimport React, { useContext, type JSX } from 'react'\nimport Effect from './side-effect'\nimport { HeadManagerContext } from './head-manager-context.shared-runtime'\nimport { warnOnce } from './utils/warn-once'\n\nexport function defaultHead(): JSX.Element[] {\n const head = [\n ,\n ,\n ]\n return head\n}\n\nfunction onlyReactElement(\n list: Array>,\n child: React.ReactElement | number | string\n): Array> {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === 'string' || typeof child === 'number') {\n return list\n }\n // Adds support for React.Fragment\n if (child.type === React.Fragment) {\n return list.concat(\n // @ts-expect-error @types/react does not remove fragments but this could also return ReactPortal[]\n React.Children.toArray(child.props.children).reduce(\n // @ts-expect-error @types/react does not remove fragments but this could also return ReactPortal[]\n (\n fragmentList: Array>,\n fragmentChild: React.ReactElement | number | string\n ): Array> => {\n if (\n typeof fragmentChild === 'string' ||\n typeof fragmentChild === 'number'\n ) {\n return fragmentList\n }\n return fragmentList.concat(fragmentChild)\n },\n []\n )\n )\n }\n return list.concat(child)\n}\n\nconst METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp']\n\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like \n Also adds support for deduplicated `key` properties\n*/\nfunction unique() {\n const keys = new Set()\n const tags = new Set()\n const metaTypes = new Set()\n const metaCategories: { [metatype: string]: Set } = {}\n\n return (h: React.ReactElement) => {\n let isUnique = true\n let hasKey = false\n\n if (h.key && typeof h.key !== 'number' && h.key.indexOf('$') > 0) {\n hasKey = true\n const key = h.key.slice(h.key.indexOf('$') + 1)\n if (keys.has(key)) {\n isUnique = false\n } else {\n keys.add(key)\n }\n }\n\n // eslint-disable-next-line default-case\n switch (h.type) {\n case 'title':\n case 'base':\n if (tags.has(h.type)) {\n isUnique = false\n } else {\n tags.add(h.type)\n }\n break\n case 'meta':\n for (let i = 0, len = METATYPES.length; i < len; i++) {\n const metatype = METATYPES[i]\n if (!h.props.hasOwnProperty(metatype)) continue\n\n if (metatype === 'charSet') {\n if (metaTypes.has(metatype)) {\n isUnique = false\n } else {\n metaTypes.add(metatype)\n }\n } else {\n const category = h.props[metatype]\n const categories = metaCategories[metatype] || new Set()\n if ((metatype !== 'name' || !hasKey) && categories.has(category)) {\n isUnique = false\n } else {\n categories.add(category)\n metaCategories[metatype] = categories\n }\n }\n }\n break\n }\n\n return isUnique\n }\n}\n\n/**\n *\n * @param headChildrenElements List of children of \n */\nfunction reduceComponents(\n headChildrenElements: Array>\n) {\n return headChildrenElements\n .reduce(onlyReactElement, [])\n .reverse()\n .concat(defaultHead().reverse())\n .filter(unique())\n .reverse()\n .map((c: React.ReactElement, i: number) => {\n const key = c.key || i\n if (process.env.NODE_ENV === 'development') {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === 'script' && c.props['type'] !== 'application/ld+json') {\n const srcMessage = c.props['src']\n ? `\n // output = [ ] \n const insertedHeadContent = new Uint8Array(\n chunk.length + encodedInsertion.length\n )\n // Append the first part of the chunk, before the head tag\n insertedHeadContent.set(chunk.slice(0, index))\n // Append the server inserted content\n insertedHeadContent.set(encodedInsertion, index)\n // Append the rest of the chunk\n insertedHeadContent.set(\n chunk.slice(index),\n index + encodedInsertion.length\n )\n controller.enqueue(insertedHeadContent)\n } else {\n controller.enqueue(chunk)\n }\n inserted = true\n } else {\n // This will happens in PPR rendering during next start, when the page is partially rendered.\n // When the page resumes, the head tag will be found in the middle of the chunk.\n // Where we just need to append the insertion and chunk to the current stream.\n // e.g.\n // PPR-static: ... [ resume content ] \n // PPR-resume: [ insertion ] [ rest content ]\n if (insertion) {\n controller.enqueue(encoder.encode(insertion))\n }\n controller.enqueue(chunk)\n inserted = true\n }\n }\n },\n async flush(controller) {\n // Check before closing if there's anything remaining to insert.\n if (hasBytes) {\n const insertion = await insert()\n if (insertion) {\n controller.enqueue(encoder.encode(insertion))\n }\n }\n },\n })\n}\n\nfunction createClientResumeScriptInsertionTransformStream(): TransformStream<\n Uint8Array,\n Uint8Array\n> {\n const segmentPath = '/_full'\n const cacheBustingHeader = computeCacheBustingSearchParam(\n '1', // headers[NEXT_ROUTER_PREFETCH_HEADER]\n '/_full', // headers[NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]\n undefined, // headers[NEXT_ROUTER_STATE_TREE_HEADER]\n undefined // headers[NEXT_URL]\n )\n const searchStr = `${NEXT_RSC_UNION_QUERY}=${cacheBustingHeader}`\n const NEXT_CLIENT_RESUME_SCRIPT = ``\n\n let didAlreadyInsert = false\n return new TransformStream({\n transform(chunk, controller) {\n if (didAlreadyInsert) {\n // Already inserted the script into the head. Pass through.\n controller.enqueue(chunk)\n return\n }\n // TODO (@Ethan-Arrowood): Replace the generic `indexOfUint8Array` method with something finely tuned for the subset of things actually being checked for.\n const headClosingTagIndex = indexOfUint8Array(\n chunk,\n ENCODED_TAGS.CLOSED.HEAD\n )\n\n if (headClosingTagIndex === -1) {\n // In fully static rendering or non PPR rendering cases:\n // `/head>` will always be found in the chunk in first chunk rendering.\n controller.enqueue(chunk)\n return\n }\n\n const encodedInsertion = encoder.encode(NEXT_CLIENT_RESUME_SCRIPT)\n // Get the total count of the bytes in the chunk and the insertion\n // e.g.\n // chunk = \n // insertion = \n // output = [ ] \n const insertedHeadContent = new Uint8Array(\n chunk.length + encodedInsertion.length\n )\n // Append the first part of the chunk, before the head tag\n insertedHeadContent.set(chunk.slice(0, headClosingTagIndex))\n // Append the server inserted content\n insertedHeadContent.set(encodedInsertion, headClosingTagIndex)\n // Append the rest of the chunk\n insertedHeadContent.set(\n chunk.slice(headClosingTagIndex),\n headClosingTagIndex + encodedInsertion.length\n )\n\n controller.enqueue(insertedHeadContent)\n didAlreadyInsert = true\n },\n })\n}\n\n// Suffix after main body content - scripts before ,\n// but wait for the major chunks to be enqueued.\nfunction createDeferredSuffixStream(\n suffix: string\n): TransformStream {\n let flushed = false\n let pending: DetachedPromise | undefined\n\n const flush = (controller: TransformStreamDefaultController) => {\n const detached = new DetachedPromise()\n pending = detached\n\n scheduleImmediate(() => {\n try {\n controller.enqueue(encoder.encode(suffix))\n } catch {\n // If an error occurs while enqueuing it can't be due to this\n // transformers fault. It's likely due to the controller being\n // errored due to the stream being cancelled.\n } finally {\n pending = undefined\n detached.resolve()\n }\n })\n }\n\n return new TransformStream({\n transform(chunk, controller) {\n controller.enqueue(chunk)\n\n // If we've already flushed, we're done.\n if (flushed) return\n\n // Schedule the flush to happen.\n flushed = true\n flush(controller)\n },\n flush(controller) {\n if (pending) return pending.promise\n if (flushed) return\n\n // Flush now.\n controller.enqueue(encoder.encode(suffix))\n },\n })\n}\n\nfunction createFlightDataInjectionTransformStream(\n stream: ReadableStream,\n delayDataUntilFirstHtmlChunk: boolean\n): TransformStream {\n let htmlStreamFinished = false\n\n let pull: Promise | null = null\n let donePulling = false\n\n function startOrContinuePulling(\n controller: TransformStreamDefaultController\n ) {\n if (!pull) {\n pull = startPulling(controller)\n }\n return pull\n }\n\n async function startPulling(controller: TransformStreamDefaultController) {\n const reader = stream.getReader()\n\n if (delayDataUntilFirstHtmlChunk) {\n // NOTE: streaming flush\n // We are buffering here for the inlined data stream because the\n // \"shell\" stream might be chunkenized again by the underlying stream\n // implementation, e.g. with a specific high-water mark. To ensure it's\n // the safe timing to pipe the data stream, this extra tick is\n // necessary.\n\n // We don't start reading until we've left the current Task to ensure\n // that it's inserted after flushing the shell. Note that this implementation\n // might get stale if impl details of Fizz change in the future.\n await atLeastOneTask()\n }\n\n try {\n while (true) {\n const { done, value } = await reader.read()\n if (done) {\n donePulling = true\n return\n }\n\n // We want to prioritize HTML over RSC data.\n // The SSR render is based on the same RSC stream, so when we get a new RSC chunk,\n // we're likely to produce an HTML chunk as well, so give it a chance to flush first.\n if (!delayDataUntilFirstHtmlChunk && !htmlStreamFinished) {\n await atLeastOneTask()\n }\n controller.enqueue(value)\n }\n } catch (err) {\n controller.error(err)\n }\n }\n\n return new TransformStream({\n start(controller) {\n if (!delayDataUntilFirstHtmlChunk) {\n startOrContinuePulling(controller)\n }\n },\n transform(chunk, controller) {\n controller.enqueue(chunk)\n\n // Start the streaming if it hasn't already been started yet.\n if (delayDataUntilFirstHtmlChunk) {\n startOrContinuePulling(controller)\n }\n },\n flush(controller) {\n htmlStreamFinished = true\n if (donePulling) {\n return\n }\n return startOrContinuePulling(controller)\n },\n })\n}\n\nconst CLOSE_TAG = ''\n\n/**\n * This transform stream moves the suffix to the end of the stream, so results\n * like `` will be transformed to\n * ``.\n */\nfunction createMoveSuffixStream(): TransformStream {\n let foundSuffix = false\n\n return new TransformStream({\n transform(chunk, controller) {\n if (foundSuffix) {\n return controller.enqueue(chunk)\n }\n\n const index = indexOfUint8Array(chunk, ENCODED_TAGS.CLOSED.BODY_AND_HTML)\n if (index > -1) {\n foundSuffix = true\n\n // If the whole chunk is the suffix, then don't write anything, it will\n // be written in the flush.\n if (chunk.length === ENCODED_TAGS.CLOSED.BODY_AND_HTML.length) {\n return\n }\n\n // Write out the part before the suffix.\n const before = chunk.slice(0, index)\n controller.enqueue(before)\n\n // In the case where the suffix is in the middle of the chunk, we need\n // to split the chunk into two parts.\n if (chunk.length > ENCODED_TAGS.CLOSED.BODY_AND_HTML.length + index) {\n // Write out the part after the suffix.\n const after = chunk.slice(\n index + ENCODED_TAGS.CLOSED.BODY_AND_HTML.length\n )\n controller.enqueue(after)\n }\n } else {\n controller.enqueue(chunk)\n }\n },\n flush(controller) {\n // Even if we didn't find the suffix, the HTML is not valid if we don't\n // add it, so insert it at the end.\n controller.enqueue(ENCODED_TAGS.CLOSED.BODY_AND_HTML)\n },\n })\n}\n\nfunction createStripDocumentClosingTagsTransform(): TransformStream<\n Uint8Array,\n Uint8Array\n> {\n return new TransformStream({\n transform(chunk, controller) {\n // We rely on the assumption that chunks will never break across a code unit.\n // This is reasonable because we currently concat all of React's output from a single\n // flush into one chunk before streaming it forward which means the chunk will represent\n // a single coherent utf-8 string. This is not safe to use if we change our streaming to no\n // longer do this large buffered chunk\n if (\n isEquivalentUint8Arrays(chunk, ENCODED_TAGS.CLOSED.BODY_AND_HTML) ||\n isEquivalentUint8Arrays(chunk, ENCODED_TAGS.CLOSED.BODY) ||\n isEquivalentUint8Arrays(chunk, ENCODED_TAGS.CLOSED.HTML)\n ) {\n // the entire chunk is the closing tags; return without enqueueing anything.\n return\n }\n\n // We assume these tags will go at together at the end of the document and that\n // they won't appear anywhere else in the document. This is not really a safe assumption\n // but until we revamp our streaming infra this is a performant way to string the tags\n chunk = removeFromUint8Array(chunk, ENCODED_TAGS.CLOSED.BODY)\n chunk = removeFromUint8Array(chunk, ENCODED_TAGS.CLOSED.HTML)\n\n controller.enqueue(chunk)\n },\n })\n}\n\n/*\n * Checks if the root layout is missing the html or body tags\n * and if so, it will inject a script tag to throw an error in the browser, showing the user\n * the error message in the error overlay.\n */\nexport function createRootLayoutValidatorStream(): TransformStream<\n Uint8Array,\n Uint8Array\n> {\n let foundHtml = false\n let foundBody = false\n return new TransformStream({\n async transform(chunk, controller) {\n // Peek into the streamed chunk to see if the tags are present.\n if (\n !foundHtml &&\n indexOfUint8Array(chunk, ENCODED_TAGS.OPENING.HTML) > -1\n ) {\n foundHtml = true\n }\n\n if (\n !foundBody &&\n indexOfUint8Array(chunk, ENCODED_TAGS.OPENING.BODY) > -1\n ) {\n foundBody = true\n }\n\n controller.enqueue(chunk)\n },\n flush(controller) {\n const missingTags: ('html' | 'body')[] = []\n if (!foundHtml) missingTags.push('html')\n if (!foundBody) missingTags.push('body')\n\n if (!missingTags.length) return\n\n controller.enqueue(\n encoder.encode(\n `\n `<${c}>`)\n .join(\n missingTags.length > 1 ? ' and ' : ''\n )} tags in the root layout.\\nRead more at https://nextjs.org/docs/messages/missing-root-layout-tags\"\n data-next-error-digest=\"${MISSING_ROOT_TAGS_ERROR}\"\n data-next-error-stack=\"\"\n >\n `\n )\n )\n },\n })\n}\n\nfunction chainTransformers(\n readable: ReadableStream,\n transformers: ReadonlyArray | null>\n): ReadableStream {\n let stream = readable\n for (const transformer of transformers) {\n if (!transformer) continue\n\n stream = stream.pipeThrough(transformer)\n }\n return stream\n}\n\nexport type ContinueStreamOptions = {\n inlinedDataStream: ReadableStream | undefined\n isStaticGeneration: boolean\n isBuildTimePrerendering: boolean\n buildId: string\n getServerInsertedHTML: () => Promise\n getServerInsertedMetadata: () => Promise\n validateRootLayout?: boolean\n /**\n * Suffix to inject after the buffered data, but before the close tags.\n */\n suffix?: string | undefined\n}\n\nexport async function continueFizzStream(\n renderStream: ReactDOMServerReadableStream,\n {\n suffix,\n inlinedDataStream,\n isStaticGeneration,\n isBuildTimePrerendering,\n buildId,\n getServerInsertedHTML,\n getServerInsertedMetadata,\n validateRootLayout,\n }: ContinueStreamOptions\n): Promise> {\n // Suffix itself might contain close tags at the end, so we need to split it.\n const suffixUnclosed = suffix ? suffix.split(CLOSE_TAG, 1)[0] : null\n\n // If we're generating static HTML we need to wait for it to resolve before continuing.\n if (isStaticGeneration) {\n await renderStream.allReady\n }\n\n return chainTransformers(renderStream, [\n // Buffer everything to avoid flushing too frequently\n createBufferedTransformStream(),\n\n // Add build id comment to start of the HTML document (in export mode)\n createPrefetchCommentStream(isBuildTimePrerendering, buildId),\n\n // Transform metadata\n createMetadataTransformStream(getServerInsertedMetadata),\n\n // Insert suffix content\n suffixUnclosed != null && suffixUnclosed.length > 0\n ? createDeferredSuffixStream(suffixUnclosed)\n : null,\n\n // Insert the inlined data (Flight data, form state, etc.) stream into the HTML\n inlinedDataStream\n ? createFlightDataInjectionTransformStream(inlinedDataStream, true)\n : null,\n\n // Validate the root layout for missing html or body tags\n validateRootLayout ? createRootLayoutValidatorStream() : null,\n\n // Close tags should always be deferred to the end\n createMoveSuffixStream(),\n\n // Special head insertions\n // TODO-APP: Insert server side html to end of head in app layout rendering, to avoid\n // hydration errors. Remove this once it's ready to be handled by react itself.\n createHeadInsertionTransformStream(getServerInsertedHTML),\n ])\n}\n\ntype ContinueDynamicPrerenderOptions = {\n getServerInsertedHTML: () => Promise\n getServerInsertedMetadata: () => Promise\n}\n\nexport async function continueDynamicPrerender(\n prerenderStream: ReadableStream,\n {\n getServerInsertedHTML,\n getServerInsertedMetadata,\n }: ContinueDynamicPrerenderOptions\n) {\n return (\n prerenderStream\n // Buffer everything to avoid flushing too frequently\n .pipeThrough(createBufferedTransformStream())\n .pipeThrough(createStripDocumentClosingTagsTransform())\n // Insert generated tags to head\n .pipeThrough(createHeadInsertionTransformStream(getServerInsertedHTML))\n // Transform metadata\n .pipeThrough(createMetadataTransformStream(getServerInsertedMetadata))\n )\n}\n\ntype ContinueStaticPrerenderOptions = {\n inlinedDataStream: ReadableStream\n getServerInsertedHTML: () => Promise\n getServerInsertedMetadata: () => Promise\n isBuildTimePrerendering: boolean\n buildId: string\n}\n\nexport async function continueStaticPrerender(\n prerenderStream: ReadableStream,\n {\n inlinedDataStream,\n getServerInsertedHTML,\n getServerInsertedMetadata,\n isBuildTimePrerendering,\n buildId,\n }: ContinueStaticPrerenderOptions\n) {\n return (\n prerenderStream\n // Buffer everything to avoid flushing too frequently\n .pipeThrough(createBufferedTransformStream())\n // Add build id comment to start of the HTML document (in export mode)\n .pipeThrough(\n createPrefetchCommentStream(isBuildTimePrerendering, buildId)\n )\n // Insert generated tags to head\n .pipeThrough(createHeadInsertionTransformStream(getServerInsertedHTML))\n // Transform metadata\n .pipeThrough(createMetadataTransformStream(getServerInsertedMetadata))\n // Insert the inlined data (Flight data, form state, etc.) stream into the HTML\n .pipeThrough(\n createFlightDataInjectionTransformStream(inlinedDataStream, true)\n )\n // Close tags should always be deferred to the end\n .pipeThrough(createMoveSuffixStream())\n )\n}\n\nexport async function continueStaticFallbackPrerender(\n prerenderStream: ReadableStream,\n {\n inlinedDataStream,\n getServerInsertedHTML,\n getServerInsertedMetadata,\n isBuildTimePrerendering,\n buildId,\n }: ContinueStaticPrerenderOptions\n) {\n // Same as `continueStaticPrerender`, but also inserts an additional script\n // to instruct the client to start fetching the hydration data as early\n // as possible.\n return (\n prerenderStream\n // Buffer everything to avoid flushing too frequently\n .pipeThrough(createBufferedTransformStream())\n // Add build id comment to start of the HTML document (in export mode)\n .pipeThrough(\n createPrefetchCommentStream(isBuildTimePrerendering, buildId)\n )\n // Insert generated tags to head\n .pipeThrough(createHeadInsertionTransformStream(getServerInsertedHTML))\n // Insert the client resume script into the head\n .pipeThrough(createClientResumeScriptInsertionTransformStream())\n // Transform metadata\n .pipeThrough(createMetadataTransformStream(getServerInsertedMetadata))\n // Insert the inlined data (Flight data, form state, etc.) stream into the HTML\n .pipeThrough(\n createFlightDataInjectionTransformStream(inlinedDataStream, true)\n )\n // Close tags should always be deferred to the end\n .pipeThrough(createMoveSuffixStream())\n )\n}\n\ntype ContinueResumeOptions = {\n inlinedDataStream: ReadableStream\n getServerInsertedHTML: () => Promise\n getServerInsertedMetadata: () => Promise\n delayDataUntilFirstHtmlChunk: boolean\n}\n\nexport async function continueDynamicHTMLResume(\n renderStream: ReadableStream,\n {\n delayDataUntilFirstHtmlChunk,\n inlinedDataStream,\n getServerInsertedHTML,\n getServerInsertedMetadata,\n }: ContinueResumeOptions\n) {\n return (\n renderStream\n // Buffer everything to avoid flushing too frequently\n .pipeThrough(createBufferedTransformStream())\n // Insert generated tags to head\n .pipeThrough(createHeadInsertionTransformStream(getServerInsertedHTML))\n // Transform metadata\n .pipeThrough(createMetadataTransformStream(getServerInsertedMetadata))\n // Insert the inlined data (Flight data, form state, etc.) stream into the HTML\n .pipeThrough(\n createFlightDataInjectionTransformStream(\n inlinedDataStream,\n delayDataUntilFirstHtmlChunk\n )\n )\n // Close tags should always be deferred to the end\n .pipeThrough(createMoveSuffixStream())\n )\n}\n\nexport function createDocumentClosingStream(): ReadableStream {\n return streamFromString(CLOSE_TAG)\n}\n"],"names":["getTracer","AppRenderSpan","DetachedPromise","scheduleImmediate","atLeastOneTask","ENCODED_TAGS","indexOfUint8Array","isEquivalentUint8Arrays","removeFromUint8Array","MISSING_ROOT_TAGS_ERROR","insertBuildIdComment","RSC_HEADER","NEXT_ROUTER_PREFETCH_HEADER","NEXT_ROUTER_SEGMENT_PREFETCH_HEADER","NEXT_RSC_UNION_QUERY","computeCacheBustingSearchParam","voidCatch","encoder","TextEncoder","chainStreams","streams","length","ReadableStream","start","controller","close","readable","writable","TransformStream","promise","pipeTo","preventClose","i","nextStream","then","lastStream","catch","streamFromString","str","enqueue","encode","streamFromBuffer","chunk","streamToBuffer","stream","reader","getReader","chunks","done","value","read","push","Buffer","concat","streamToString","signal","decoder","TextDecoder","fatal","string","aborted","decode","createBufferedTransformStream","options","maxBufferByteLength","Infinity","bufferedChunks","bufferByteLength","pending","flush","Uint8Array","copiedBytes","bufferedChunk","set","byteLength","scheduleFlush","detached","undefined","resolve","transform","createPrefetchCommentStream","isBuildTimePrerendering","buildId","didTransformFirstChunk","chunkStr","updatedChunkStr","renderToInitialFizzStream","ReactDOMServer","element","streamOptions","trace","renderToReadableStream","createMetadataTransformStream","insert","chunkIndex","isMarkRemoved","iconMarkIndex","closedHeadIndex","iconMarkLength","META","ICON_MARK","CLOSED","HEAD","replaced","subarray","insertion","encodedInsertion","insertionLength","createHeadInsertionTransformStream","inserted","hasBytes","index","insertedHeadContent","slice","createClientResumeScriptInsertionTransformStream","segmentPath","cacheBustingHeader","searchStr","NEXT_CLIENT_RESUME_SCRIPT","didAlreadyInsert","headClosingTagIndex","createDeferredSuffixStream","suffix","flushed","createFlightDataInjectionTransformStream","delayDataUntilFirstHtmlChunk","htmlStreamFinished","pull","donePulling","startOrContinuePulling","startPulling","err","error","CLOSE_TAG","createMoveSuffixStream","foundSuffix","BODY_AND_HTML","before","after","createStripDocumentClosingTagsTransform","BODY","HTML","createRootLayoutValidatorStream","foundHtml","foundBody","OPENING","missingTags","map","c","join","chainTransformers","transformers","transformer","pipeThrough","continueFizzStream","renderStream","inlinedDataStream","isStaticGeneration","getServerInsertedHTML","getServerInsertedMetadata","validateRootLayout","suffixUnclosed","split","allReady","continueDynamicPrerender","prerenderStream","continueStaticPrerender","continueStaticFallbackPrerender","continueDynamicHTMLResume","createDocumentClosingStream"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,SAASA,SAAS,QAAQ,sBAAqB;AAC/C,SAASC,aAAa,QAAQ,yBAAwB;AACtD,SAASC,eAAe,QAAQ,6BAA4B;AAC5D,SAASC,iBAAiB,EAAEC,cAAc,QAAQ,sBAAqB;AACvE,SAASC,YAAY,QAAQ,iBAAgB;AAC7C,SACEC,iBAAiB,EACjBC,uBAAuB,EACvBC,oBAAoB,QACf,uBAAsB;AAC7B,SAASC,uBAAuB,QAAQ,oCAAmC;AAC3E,SAASC,oBAAoB,QAAQ,iEAAgE;AACrG,SACEC,UAAU,EACVC,2BAA2B,EAC3BC,mCAAmC,EACnCC,oBAAoB,QACf,6CAA4C;AACnD,SAASC,8BAA8B,QAAQ,2DAA0D;;;;;;;;;;;AAEzG,SAASC;AACP,iFAAiF;AACjF,uFAAuF;AACvF,mBAAmB;AACrB;AAEA,oDAAoD;AACpD,uEAAuE;AACvE,+BAA+B;AAC/B,MAAMC,UAAU,IAAIC;AAEb,SAASC,aACd,GAAGC,OAA4B;IAE/B,kEAAkE;IAClE,qEAAqE;IACrE,IAAIA,QAAQC,MAAM,KAAK,GAAG;QACxB,OAAO,IAAIC,eAAkB;YAC3BC,OAAMC,UAAU;gBACdA,WAAWC,KAAK;YAClB;QACF;IACF;IAEA,yEAAyE;IACzE,IAAIL,QAAQC,MAAM,KAAK,GAAG;QACxB,OAAOD,OAAO,CAAC,EAAE;IACnB;IAEA,MAAM,EAAEM,QAAQ,EAAEC,QAAQ,EAAE,GAAG,IAAIC;IAEnC,4EAA4E;IAC5E,mEAAmE;IACnE,IAAIC,UAAUT,OAAO,CAAC,EAAE,CAACU,MAAM,CAACH,UAAU;QAAEI,cAAc;IAAK;IAE/D,IAAIC,IAAI;IACR,MAAOA,IAAIZ,QAAQC,MAAM,GAAG,GAAGW,IAAK;QAClC,MAAMC,aAAab,OAAO,CAACY,EAAE;QAC7BH,UAAUA,QAAQK,IAAI,CAAC,IACrBD,WAAWH,MAAM,CAACH,UAAU;gBAAEI,cAAc;YAAK;IAErD;IAEA,kFAAkF;IAClF,wEAAwE;IACxE,MAAMI,aAAaf,OAAO,CAACY,EAAE;IAC7BH,UAAUA,QAAQK,IAAI,CAAC,IAAMC,WAAWL,MAAM,CAACH;IAE/C,0EAA0E;IAC1E,gDAAgD;IAChDE,QAAQO,KAAK,CAACpB;IAEd,OAAOU;AACT;AAEO,SAASW,iBAAiBC,GAAW;IAC1C,OAAO,IAAIhB,eAAe;QACxBC,OAAMC,UAAU;YACdA,WAAWe,OAAO,CAACtB,QAAQuB,MAAM,CAACF;YAClCd,WAAWC,KAAK;QAClB;IACF;AACF;AAEO,SAASgB,iBAAiBC,KAAa;IAC5C,OAAO,IAAIpB,eAAe;QACxBC,OAAMC,UAAU;YACdA,WAAWe,OAAO,CAACG;YACnBlB,WAAWC,KAAK;QAClB;IACF;AACF;AAEO,eAAekB,eACpBC,MAAkC;IAElC,MAAMC,SAASD,OAAOE,SAAS;IAC/B,MAAMC,SAAuB,EAAE;IAE/B,MAAO,KAAM;QACX,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAE,GAAG,MAAMJ,OAAOK,IAAI;QACzC,IAAIF,MAAM;YACR;QACF;QAEAD,OAAOI,IAAI,CAACF;IACd;IAEA,OAAOG,OAAOC,MAAM,CAACN;AACvB;AAEO,eAAeO,eACpBV,MAAkC,EAClCW,MAAoB;IAEpB,MAAMC,UAAU,IAAIC,YAAY,SAAS;QAAEC,OAAO;IAAK;IACvD,IAAIC,SAAS;IAEb,WAAW,MAAMjB,SAASE,OAAQ;QAChC,IAAIW,UAAAA,OAAAA,KAAAA,IAAAA,OAAQK,OAAO,EAAE;YACnB,OAAOD;QACT;QAEAA,UAAUH,QAAQK,MAAM,CAACnB,OAAO;YAAEE,QAAQ;QAAK;IACjD;IAEAe,UAAUH,QAAQK,MAAM;IAExB,OAAOF;AACT;AASO,SAASG,8BACdC,UAAoC,CAAC,CAAC;IAEtC,MAAM,EAAEC,sBAAsBC,QAAQ,EAAE,GAAGF;IAE3C,IAAIG,iBAAoC,EAAE;IAC1C,IAAIC,mBAA2B;IAC/B,IAAIC;IAEJ,MAAMC,QAAQ,CAAC7C;QACb,IAAI;YACF,IAAI0C,eAAe7C,MAAM,KAAK,GAAG;gBAC/B;YACF;YAEA,MAAMqB,QAAQ,IAAI4B,WAAWH;YAC7B,IAAII,cAAc;YAElB,IAAK,IAAIvC,IAAI,GAAGA,IAAIkC,eAAe7C,MAAM,EAAEW,IAAK;gBAC9C,MAAMwC,gBAAgBN,cAAc,CAAClC,EAAE;gBACvCU,MAAM+B,GAAG,CAACD,eAAeD;gBACzBA,eAAeC,cAAcE,UAAU;YACzC;YACA,qFAAqF;YACrF,4EAA4E;YAC5ER,eAAe7C,MAAM,GAAG;YACxB8C,mBAAmB;YACnB3C,WAAWe,OAAO,CAACG;QACrB,EAAE,OAAM;QACN,8DAA8D;QAC9D,qEAAqE;QACrE,sDAAsD;QACxD;IACF;IAEA,MAAMiC,gBAAgB,CAACnD;QACrB,IAAI4C,SAAS;YACX;QACF;QAEA,MAAMQ,WAAW,IAAI1E,oMAAAA;QACrBkE,UAAUQ;YAEVzE,4LAAAA,EAAkB;YAChB,IAAI;gBACFkE,MAAM7C;YACR,SAAU;gBACR4C,UAAUS;gBACVD,SAASE,OAAO;YAClB;QACF;IACF;IAEA,OAAO,IAAIlD,gBAAgB;QACzBmD,WAAUrC,KAAK,EAAElB,UAAU;YACzB,kDAAkD;YAClD0C,eAAef,IAAI,CAACT;YACpByB,oBAAoBzB,MAAMgC,UAAU;YAEpC,IAAIP,oBAAoBH,qBAAqB;gBAC3CK,MAAM7C;YACR,OAAO;gBACLmD,cAAcnD;YAChB;QACF;QACA6C;YACE,OAAOD,WAAAA,OAAAA,KAAAA,IAAAA,QAASvC,OAAO;QACzB;IACF;AACF;AAEA,SAASmD,4BACPC,uBAAgC,EAChCC,OAAe;IAEf,2EAA2E;IAC3E,sDAAsD;IACtD,EAAE;IACF,6EAA6E;IAC7E,6CAA6C;IAC7C,IAAIC,yBAAyB;IAC7B,OAAO,IAAIvD,gBAAgB;QACzBmD,WAAUrC,KAAK,EAAElB,UAAU;YACzB,IAAIyD,2BAA2B,CAACE,wBAAwB;gBACtDA,yBAAyB;gBACzB,MAAM3B,UAAU,IAAIC,YAAY,SAAS;oBAAEC,OAAO;gBAAK;gBACvD,MAAM0B,WAAW5B,QAAQK,MAAM,CAACnB,OAAO;oBACrCE,QAAQ;gBACV;gBACA,MAAMyC,sBAAkB3E,4PAAAA,EAAqB0E,UAAUF;gBACvD1D,WAAWe,OAAO,CAACtB,QAAQuB,MAAM,CAAC6C;gBAClC;YACF;YACA7D,WAAWe,OAAO,CAACG;QACrB;IACF;AACF;AAEO,SAAS4C,0BAA0B,EACxCC,cAAc,EACdC,OAAO,EACPC,aAAa,EAOd;IACC,WAAOzF,oMAAAA,IAAY0F,KAAK,CAACzF,2MAAAA,CAAc0F,sBAAsB,EAAE,UAC7DJ,eAAeI,sBAAsB,CAACH,SAASC;AAEnD;AAEA,SAASG,8BACPC,MAAsC;IAEtC,IAAIC,aAAa,CAAC;IAClB,IAAIC,gBAAgB;IAEpB,OAAO,IAAInE,gBAAgB;QACzB,MAAMmD,WAAUrC,KAAK,EAAElB,UAAU;YAC/B,IAAIwE,gBAAgB,CAAC;YACrB,IAAIC,kBAAkB,CAAC;YACvBH;YAEA,IAAIC,eAAe;gBACjBvE,WAAWe,OAAO,CAACG;gBACnB;YACF;YACA,IAAIwD,iBAAiB;YACrB,2CAA2C;YAC3C,IAAIF,kBAAkB,CAAC,GAAG;gBACxBA,oBAAgB1F,8NAAAA,EAAkBoC,OAAOrC,mNAAAA,CAAa8F,IAAI,CAACC,SAAS;gBACpE,IAAIJ,kBAAkB,CAAC,GAAG;oBACxBxE,WAAWe,OAAO,CAACG;oBACnB;gBACF,OAAO;oBACL,4FAA4F;oBAC5F,mGAAmG;oBACnGwD,iBAAiB7F,mNAAAA,CAAa8F,IAAI,CAACC,SAAS,CAAC/E,MAAM;oBACnD,iDAAiD;oBACjD,IAAIqB,KAAK,CAACsD,gBAAgBE,eAAe,KAAK,IAAI;wBAChDA,kBAAkB;oBACpB,OAAO;wBACL,uBAAuB;wBACvBA;oBACF;gBACF;YACF;YAEA,8DAA8D;YAC9D,IAAIJ,eAAe,GAAG;gBACpBG,sBAAkB3F,8NAAAA,EAAkBoC,OAAOrC,mNAAAA,CAAagG,MAAM,CAACC,IAAI;gBACnE,IAAIN,kBAAkB,CAAC,GAAG;oBACxB,iEAAiE;oBACjE,iFAAiF;oBACjF,4CAA4C;oBAC5C,IAAIA,gBAAgBC,iBAAiB;wBACnC,MAAMM,WAAW,IAAIjC,WAAW5B,MAAMrB,MAAM,GAAG6E;wBAE/C,uCAAuC;wBACvCK,SAAS9B,GAAG,CAAC/B,MAAM8D,QAAQ,CAAC,GAAGR;wBAC/BO,SAAS9B,GAAG,CACV/B,MAAM8D,QAAQ,CAACR,gBAAgBE,iBAC/BF;wBAEFtD,QAAQ6D;oBACV,OAAO;wBACL,2FAA2F;wBAC3F,MAAME,YAAY,MAAMZ;wBACxB,MAAMa,mBAAmBzF,QAAQuB,MAAM,CAACiE;wBACxC,MAAME,kBAAkBD,iBAAiBrF,MAAM;wBAC/C,MAAMkF,WAAW,IAAIjC,WACnB5B,MAAMrB,MAAM,GAAG6E,iBAAiBS;wBAElCJ,SAAS9B,GAAG,CAAC/B,MAAM8D,QAAQ,CAAC,GAAGR;wBAC/BO,SAAS9B,GAAG,CAACiC,kBAAkBV;wBAC/BO,SAAS9B,GAAG,CACV/B,MAAM8D,QAAQ,CAACR,gBAAgBE,iBAC/BF,gBAAgBW;wBAElBjE,QAAQ6D;oBACV;oBACAR,gBAAgB;gBAClB;YACA,qGAAqG;YACvG,OAAO;gBACL,4DAA4D;gBAC5D,mEAAmE;gBACnE,MAAMU,YAAY,MAAMZ;gBACxB,MAAMa,mBAAmBzF,QAAQuB,MAAM,CAACiE;gBACxC,MAAME,kBAAkBD,iBAAiBrF,MAAM;gBAC/C,+DAA+D;gBAC/D,MAAMkF,WAAW,IAAIjC,WACnB5B,MAAMrB,MAAM,GAAG6E,iBAAiBS;gBAElC,yDAAyD;gBACzDJ,SAAS9B,GAAG,CAAC/B,MAAM8D,QAAQ,CAAC,GAAGR;gBAC/B,yCAAyC;gBACzCO,SAAS9B,GAAG,CAACiC,kBAAkBV;gBAE/B,iDAAiD;gBACjDO,SAAS9B,GAAG,CACV/B,MAAM8D,QAAQ,CAACR,gBAAgBE,iBAC/BF,gBAAgBW;gBAElBjE,QAAQ6D;gBACRR,gBAAgB;YAClB;YACAvE,WAAWe,OAAO,CAACG;QACrB;IACF;AACF;AAEA,SAASkE,mCACPf,MAA6B;IAE7B,IAAIgB,WAAW;IAEf,wEAAwE;IACxE,iDAAiD;IACjD,IAAIC,WAAW;IAEf,OAAO,IAAIlF,gBAAgB;QACzB,MAAMmD,WAAUrC,KAAK,EAAElB,UAAU;YAC/BsF,WAAW;YAEX,MAAML,YAAY,MAAMZ;YACxB,IAAIgB,UAAU;gBACZ,IAAIJ,WAAW;oBACb,MAAMC,mBAAmBzF,QAAQuB,MAAM,CAACiE;oBACxCjF,WAAWe,OAAO,CAACmE;gBACrB;gBACAlF,WAAWe,OAAO,CAACG;YACrB,OAAO;gBACL,0JAA0J;gBAC1J,MAAMqE,YAAQzG,8NAAAA,EAAkBoC,OAAOrC,mNAAAA,CAAagG,MAAM,CAACC,IAAI;gBAC/D,wDAAwD;gBACxD,uEAAuE;gBACvE,IAAIS,UAAU,CAAC,GAAG;oBAChB,IAAIN,WAAW;wBACb,MAAMC,mBAAmBzF,QAAQuB,MAAM,CAACiE;wBACxC,kEAAkE;wBAClE,OAAO;wBACP,8CAA8C;wBAC9C,mCAAmC;wBACnC,yEAAyE;wBACzE,MAAMO,sBAAsB,IAAI1C,WAC9B5B,MAAMrB,MAAM,GAAGqF,iBAAiBrF,MAAM;wBAExC,0DAA0D;wBAC1D2F,oBAAoBvC,GAAG,CAAC/B,MAAMuE,KAAK,CAAC,GAAGF;wBACvC,qCAAqC;wBACrCC,oBAAoBvC,GAAG,CAACiC,kBAAkBK;wBAC1C,+BAA+B;wBAC/BC,oBAAoBvC,GAAG,CACrB/B,MAAMuE,KAAK,CAACF,QACZA,QAAQL,iBAAiBrF,MAAM;wBAEjCG,WAAWe,OAAO,CAACyE;oBACrB,OAAO;wBACLxF,WAAWe,OAAO,CAACG;oBACrB;oBACAmE,WAAW;gBACb,OAAO;oBACL,6FAA6F;oBAC7F,gFAAgF;oBAChF,8EAA8E;oBAC9E,OAAO;oBACP,gEAAgE;oBAChE,6CAA6C;oBAC7C,IAAIJ,WAAW;wBACbjF,WAAWe,OAAO,CAACtB,QAAQuB,MAAM,CAACiE;oBACpC;oBACAjF,WAAWe,OAAO,CAACG;oBACnBmE,WAAW;gBACb;YACF;QACF;QACA,MAAMxC,OAAM7C,UAAU;YACpB,gEAAgE;YAChE,IAAIsF,UAAU;gBACZ,MAAML,YAAY,MAAMZ;gBACxB,IAAIY,WAAW;oBACbjF,WAAWe,OAAO,CAACtB,QAAQuB,MAAM,CAACiE;gBACpC;YACF;QACF;IACF;AACF;AAEA,SAASS;IAIP,MAAMC,cAAc;IACpB,MAAMC,yBAAqBrG,gQAAAA,EACzB,KACA,UACA8D,WACAA,UAAU,0BAA0B;;IAEtC,MAAMwC,YAAY,GAAGvG,+NAAAA,CAAqB,CAAC,EAAEsG,oBAAoB;IACjE,MAAME,4BAA4B,CAAC,uDAAuD,EAAED,UAAU,uCAAuC,EAAE1G,qNAAAA,CAAW,QAAQ,EAAEC,sOAAAA,CAA4B,QAAQ,EAAEC,8OAAAA,CAAoC,IAAI,EAAEsG,YAAY,aAAa,CAAC;IAE9Q,IAAII,mBAAmB;IACvB,OAAO,IAAI3F,gBAAgB;QACzBmD,WAAUrC,KAAK,EAAElB,UAAU;YACzB,IAAI+F,kBAAkB;gBACpB,2DAA2D;gBAC3D/F,WAAWe,OAAO,CAACG;gBACnB;YACF;YACA,0JAA0J;YAC1J,MAAM8E,0BAAsBlH,8NAAAA,EAC1BoC,OACArC,mNAAAA,CAAagG,MAAM,CAACC,IAAI;YAG1B,IAAIkB,wBAAwB,CAAC,GAAG;gBAC9B,wDAAwD;gBACxD,uEAAuE;gBACvEhG,WAAWe,OAAO,CAACG;gBACnB;YACF;YAEA,MAAMgE,mBAAmBzF,QAAQuB,MAAM,CAAC8E;YACxC,kEAAkE;YAClE,OAAO;YACP,8CAA8C;YAC9C,mCAAmC;YACnC,yEAAyE;YACzE,MAAMN,sBAAsB,IAAI1C,WAC9B5B,MAAMrB,MAAM,GAAGqF,iBAAiBrF,MAAM;YAExC,0DAA0D;YAC1D2F,oBAAoBvC,GAAG,CAAC/B,MAAMuE,KAAK,CAAC,GAAGO;YACvC,qCAAqC;YACrCR,oBAAoBvC,GAAG,CAACiC,kBAAkBc;YAC1C,+BAA+B;YAC/BR,oBAAoBvC,GAAG,CACrB/B,MAAMuE,KAAK,CAACO,sBACZA,sBAAsBd,iBAAiBrF,MAAM;YAG/CG,WAAWe,OAAO,CAACyE;YACnBO,mBAAmB;QACrB;IACF;AACF;AAEA,2DAA2D;AAC3D,gDAAgD;AAChD,SAASE,2BACPC,MAAc;IAEd,IAAIC,UAAU;IACd,IAAIvD;IAEJ,MAAMC,QAAQ,CAAC7C;QACb,MAAMoD,WAAW,IAAI1E,oMAAAA;QACrBkE,UAAUQ;YAEVzE,4LAAAA,EAAkB;YAChB,IAAI;gBACFqB,WAAWe,OAAO,CAACtB,QAAQuB,MAAM,CAACkF;YACpC,EAAE,OAAM;YACN,6DAA6D;YAC7D,8DAA8D;YAC9D,6CAA6C;YAC/C,SAAU;gBACRtD,UAAUS;gBACVD,SAASE,OAAO;YAClB;QACF;IACF;IAEA,OAAO,IAAIlD,gBAAgB;QACzBmD,WAAUrC,KAAK,EAAElB,UAAU;YACzBA,WAAWe,OAAO,CAACG;YAEnB,wCAAwC;YACxC,IAAIiF,SAAS;YAEb,gCAAgC;YAChCA,UAAU;YACVtD,MAAM7C;QACR;QACA6C,OAAM7C,UAAU;YACd,IAAI4C,SAAS,OAAOA,QAAQvC,OAAO;YACnC,IAAI8F,SAAS;YAEb,aAAa;YACbnG,WAAWe,OAAO,CAACtB,QAAQuB,MAAM,CAACkF;QACpC;IACF;AACF;AAEA,SAASE,yCACPhF,MAAkC,EAClCiF,4BAAqC;IAErC,IAAIC,qBAAqB;IAEzB,IAAIC,OAA6B;IACjC,IAAIC,cAAc;IAElB,SAASC,uBACPzG,UAA4C;QAE5C,IAAI,CAACuG,MAAM;YACTA,OAAOG,aAAa1G;QACtB;QACA,OAAOuG;IACT;IAEA,eAAeG,aAAa1G,UAA4C;QACtE,MAAMqB,SAASD,OAAOE,SAAS;QAE/B,IAAI+E,8BAA8B;YAChC,wBAAwB;YACxB,gEAAgE;YAChE,qEAAqE;YACrE,uEAAuE;YACvE,8DAA8D;YAC9D,aAAa;YAEb,qEAAqE;YACrE,6EAA6E;YAC7E,gEAAgE;YAChE,UAAMzH,yLAAAA;QACR;QAEA,IAAI;YACF,MAAO,KAAM;gBACX,MAAM,EAAE4C,IAAI,EAAEC,KAAK,EAAE,GAAG,MAAMJ,OAAOK,IAAI;gBACzC,IAAIF,MAAM;oBACRgF,cAAc;oBACd;gBACF;gBAEA,4CAA4C;gBAC5C,kFAAkF;gBAClF,qFAAqF;gBACrF,IAAI,CAACH,gCAAgC,CAACC,oBAAoB;oBACxD,UAAM1H,yLAAAA;gBACR;gBACAoB,WAAWe,OAAO,CAACU;YACrB;QACF,EAAE,OAAOkF,KAAK;YACZ3G,WAAW4G,KAAK,CAACD;QACnB;IACF;IAEA,OAAO,IAAIvG,gBAAgB;QACzBL,OAAMC,UAAU;YACd,IAAI,CAACqG,8BAA8B;gBACjCI,uBAAuBzG;YACzB;QACF;QACAuD,WAAUrC,KAAK,EAAElB,UAAU;YACzBA,WAAWe,OAAO,CAACG;YAEnB,6DAA6D;YAC7D,IAAImF,8BAA8B;gBAChCI,uBAAuBzG;YACzB;QACF;QACA6C,OAAM7C,UAAU;YACdsG,qBAAqB;YACrB,IAAIE,aAAa;gBACf;YACF;YACA,OAAOC,uBAAuBzG;QAChC;IACF;AACF;AAEA,MAAM6G,YAAY;AAElB;;;;CAIC,GACD,SAASC;IACP,IAAIC,cAAc;IAElB,OAAO,IAAI3G,gBAAgB;QACzBmD,WAAUrC,KAAK,EAAElB,UAAU;YACzB,IAAI+G,aAAa;gBACf,OAAO/G,WAAWe,OAAO,CAACG;YAC5B;YAEA,MAAMqE,YAAQzG,8NAAAA,EAAkBoC,OAAOrC,mNAAAA,CAAagG,MAAM,CAACmC,aAAa;YACxE,IAAIzB,QAAQ,CAAC,GAAG;gBACdwB,cAAc;gBAEd,uEAAuE;gBACvE,2BAA2B;gBAC3B,IAAI7F,MAAMrB,MAAM,KAAKhB,mNAAAA,CAAagG,MAAM,CAACmC,aAAa,CAACnH,MAAM,EAAE;oBAC7D;gBACF;gBAEA,wCAAwC;gBACxC,MAAMoH,SAAS/F,MAAMuE,KAAK,CAAC,GAAGF;gBAC9BvF,WAAWe,OAAO,CAACkG;gBAEnB,sEAAsE;gBACtE,qCAAqC;gBACrC,IAAI/F,MAAMrB,MAAM,GAAGhB,mNAAAA,CAAagG,MAAM,CAACmC,aAAa,CAACnH,MAAM,GAAG0F,OAAO;oBACnE,uCAAuC;oBACvC,MAAM2B,QAAQhG,MAAMuE,KAAK,CACvBF,QAAQ1G,mNAAAA,CAAagG,MAAM,CAACmC,aAAa,CAACnH,MAAM;oBAElDG,WAAWe,OAAO,CAACmG;gBACrB;YACF,OAAO;gBACLlH,WAAWe,OAAO,CAACG;YACrB;QACF;QACA2B,OAAM7C,UAAU;YACd,uEAAuE;YACvE,mCAAmC;YACnCA,WAAWe,OAAO,CAAClC,mNAAAA,CAAagG,MAAM,CAACmC,aAAa;QACtD;IACF;AACF;AAEA,SAASG;IAIP,OAAO,IAAI/G,gBAAgB;QACzBmD,WAAUrC,KAAK,EAAElB,UAAU;YACzB,6EAA6E;YAC7E,qFAAqF;YACrF,wFAAwF;YACxF,2FAA2F;YAC3F,sCAAsC;YACtC,QACEjB,oOAAAA,EAAwBmC,OAAOrC,mNAAAA,CAAagG,MAAM,CAACmC,aAAa,SAChEjI,oOAAAA,EAAwBmC,OAAOrC,mNAAAA,CAAagG,MAAM,CAACuC,IAAI,SACvDrI,oOAAAA,EAAwBmC,OAAOrC,mNAAAA,CAAagG,MAAM,CAACwC,IAAI,GACvD;gBACA,4EAA4E;gBAC5E;YACF;YAEA,+EAA+E;YAC/E,wFAAwF;YACxF,sFAAsF;YACtFnG,YAAQlC,iOAAAA,EAAqBkC,OAAOrC,mNAAAA,CAAagG,MAAM,CAACuC,IAAI;YAC5DlG,YAAQlC,iOAAAA,EAAqBkC,OAAOrC,mNAAAA,CAAagG,MAAM,CAACwC,IAAI;YAE5DrH,WAAWe,OAAO,CAACG;QACrB;IACF;AACF;AAOO,SAASoG;IAId,IAAIC,YAAY;IAChB,IAAIC,YAAY;IAChB,OAAO,IAAIpH,gBAAgB;QACzB,MAAMmD,WAAUrC,KAAK,EAAElB,UAAU;YAC/B,+DAA+D;YAC/D,IACE,CAACuH,iBACDzI,8NAAAA,EAAkBoC,OAAOrC,mNAAAA,CAAa4I,OAAO,CAACJ,IAAI,IAAI,CAAC,GACvD;gBACAE,YAAY;YACd;YAEA,IACE,CAACC,iBACD1I,8NAAAA,EAAkBoC,OAAOrC,mNAAAA,CAAa4I,OAAO,CAACL,IAAI,IAAI,CAAC,GACvD;gBACAI,YAAY;YACd;YAEAxH,WAAWe,OAAO,CAACG;QACrB;QACA2B,OAAM7C,UAAU;YACd,MAAM0H,cAAmC,EAAE;YAC3C,IAAI,CAACH,WAAWG,YAAY/F,IAAI,CAAC;YACjC,IAAI,CAAC6F,WAAWE,YAAY/F,IAAI,CAAC;YAEjC,IAAI,CAAC+F,YAAY7H,MAAM,EAAE;YAEzBG,WAAWe,OAAO,CAChBtB,QAAQuB,MAAM,CACZ,CAAC;;+CAEoC,EAAE0G,YAChCC,GAAG,CAAC,CAACC,IAAM,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAC,EACnBC,IAAI,CACHH,YAAY7H,MAAM,GAAG,IAAI,UAAU,IACnC;sCACoB,EAAEZ,sNAAAA,CAAwB;;;UAGtD,CAAC;QAGP;IACF;AACF;AAEA,SAAS6I,kBACP5H,QAA2B,EAC3B6H,YAAyD;IAEzD,IAAI3G,SAASlB;IACb,KAAK,MAAM8H,eAAeD,aAAc;QACtC,IAAI,CAACC,aAAa;QAElB5G,SAASA,OAAO6G,WAAW,CAACD;IAC9B;IACA,OAAO5G;AACT;AAgBO,eAAe8G,mBACpBC,YAA0C,EAC1C,EACEjC,MAAM,EACNkC,iBAAiB,EACjBC,kBAAkB,EAClB5E,uBAAuB,EACvBC,OAAO,EACP4E,qBAAqB,EACrBC,yBAAyB,EACzBC,kBAAkB,EACI;IAExB,6EAA6E;IAC7E,MAAMC,iBAAiBvC,SAASA,OAAOwC,KAAK,CAAC7B,WAAW,EAAE,CAAC,EAAE,GAAG;IAEhE,uFAAuF;IACvF,IAAIwB,oBAAoB;QACtB,MAAMF,aAAaQ,QAAQ;IAC7B;IAEA,OAAOb,kBAAkBK,cAAc;QACrC,qDAAqD;QACrD7F;QAEA,sEAAsE;QACtEkB,4BAA4BC,yBAAyBC;QAErD,qBAAqB;QACrBU,8BAA8BmE;QAE9B,wBAAwB;QACxBE,kBAAkB,QAAQA,eAAe5I,MAAM,GAAG,IAC9CoG,2BAA2BwC,kBAC3B;QAEJ,+EAA+E;QAC/EL,oBACIhC,yCAAyCgC,mBAAmB,QAC5D;QAEJ,yDAAyD;QACzDI,qBAAqBlB,oCAAoC;QAEzD,kDAAkD;QAClDR;QAEA,0BAA0B;QAC1B,qFAAqF;QACrF,+EAA+E;QAC/E1B,mCAAmCkD;KACpC;AACH;AAOO,eAAeM,yBACpBC,eAA2C,EAC3C,EACEP,qBAAqB,EACrBC,yBAAyB,EACO;IAElC,OACEM,gBACE,qDAAqD;KACpDZ,WAAW,CAAC3F,iCACZ2F,WAAW,CAACd,2CACb,gCAAgC;KAC/Bc,WAAW,CAAC7C,mCAAmCkD,wBAChD,qBAAqB;KACpBL,WAAW,CAAC7D,8BAA8BmE;AAEjD;AAUO,eAAeO,wBACpBD,eAA2C,EAC3C,EACET,iBAAiB,EACjBE,qBAAqB,EACrBC,yBAAyB,EACzB9E,uBAAuB,EACvBC,OAAO,EACwB;IAEjC,OACEmF,gBACE,qDAAqD;KACpDZ,WAAW,CAAC3F,iCACb,sEAAsE;KACrE2F,WAAW,CACVzE,4BAA4BC,yBAAyBC,UAEvD,gCAAgC;KAC/BuE,WAAW,CAAC7C,mCAAmCkD,wBAChD,qBAAqB;KACpBL,WAAW,CAAC7D,8BAA8BmE,4BAC3C,+EAA+E;KAC9EN,WAAW,CACV7B,yCAAyCgC,mBAAmB,OAE9D,kDAAkD;KACjDH,WAAW,CAACnB;AAEnB;AAEO,eAAeiC,gCACpBF,eAA2C,EAC3C,EACET,iBAAiB,EACjBE,qBAAqB,EACrBC,yBAAyB,EACzB9E,uBAAuB,EACvBC,OAAO,EACwB;IAEjC,2EAA2E;IAC3E,uEAAuE;IACvE,eAAe;IACf,OACEmF,gBACE,qDAAqD;KACpDZ,WAAW,CAAC3F,iCACb,sEAAsE;KACrE2F,WAAW,CACVzE,4BAA4BC,yBAAyBC,UAEvD,gCAAgC;KAC/BuE,WAAW,CAAC7C,mCAAmCkD,wBAChD,gDAAgD;KAC/CL,WAAW,CAACvC,oDACb,qBAAqB;KACpBuC,WAAW,CAAC7D,8BAA8BmE,4BAC3C,+EAA+E;KAC9EN,WAAW,CACV7B,yCAAyCgC,mBAAmB,OAE9D,kDAAkD;KACjDH,WAAW,CAACnB;AAEnB;AASO,eAAekC,0BACpBb,YAAwC,EACxC,EACE9B,4BAA4B,EAC5B+B,iBAAiB,EACjBE,qBAAqB,EACrBC,yBAAyB,EACH;IAExB,OACEJ,aACE,qDAAqD;KACpDF,WAAW,CAAC3F,iCACb,gCAAgC;KAC/B2F,WAAW,CAAC7C,mCAAmCkD,wBAChD,qBAAqB;KACpBL,WAAW,CAAC7D,8BAA8BmE,4BAC3C,+EAA+E;KAC9EN,WAAW,CACV7B,yCACEgC,mBACA/B,+BAGJ,kDAAkD;KACjD4B,WAAW,CAACnB;AAEnB;AAEO,SAASmC;IACd,OAAOpI,iBAAiBgG;AAC1B","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 2494, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/lib/constants.ts"],"sourcesContent":["import type { ServerRuntime } from '../types'\n\nexport const TEXT_PLAIN_CONTENT_TYPE_HEADER = 'text/plain'\nexport const HTML_CONTENT_TYPE_HEADER = 'text/html; charset=utf-8'\nexport const JSON_CONTENT_TYPE_HEADER = 'application/json; charset=utf-8'\nexport const NEXT_QUERY_PARAM_PREFIX = 'nxtP'\nexport const NEXT_INTERCEPTION_MARKER_PREFIX = 'nxtI'\n\nexport const MATCHED_PATH_HEADER = 'x-matched-path'\nexport const PRERENDER_REVALIDATE_HEADER = 'x-prerender-revalidate'\nexport const PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER =\n 'x-prerender-revalidate-if-generated'\n\nexport const RSC_PREFETCH_SUFFIX = '.prefetch.rsc'\nexport const RSC_SEGMENTS_DIR_SUFFIX = '.segments'\nexport const RSC_SEGMENT_SUFFIX = '.segment.rsc'\nexport const RSC_SUFFIX = '.rsc'\nexport const ACTION_SUFFIX = '.action'\nexport const NEXT_DATA_SUFFIX = '.json'\nexport const NEXT_META_SUFFIX = '.meta'\nexport const NEXT_BODY_SUFFIX = '.body'\n\nexport const NEXT_CACHE_TAGS_HEADER = 'x-next-cache-tags'\nexport const NEXT_CACHE_REVALIDATED_TAGS_HEADER = 'x-next-revalidated-tags'\nexport const NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER =\n 'x-next-revalidate-tag-token'\n\nexport const NEXT_RESUME_HEADER = 'next-resume'\n\n// if these change make sure we update the related\n// documentation as well\nexport const NEXT_CACHE_TAG_MAX_ITEMS = 128\nexport const NEXT_CACHE_TAG_MAX_LENGTH = 256\nexport const NEXT_CACHE_SOFT_TAG_MAX_LENGTH = 1024\nexport const NEXT_CACHE_IMPLICIT_TAG_ID = '_N_T_'\n\n// in seconds\nexport const CACHE_ONE_YEAR = 31536000\n\n// in seconds, represents revalidate=false. I.e. never revaliate.\n// We use this value since it can be represented as a V8 SMI for optimal performance.\n// It can also be serialized as JSON if it ever leaks accidentally as an actual value.\nexport const INFINITE_CACHE = 0xfffffffe\n\n// Patterns to detect middleware files\nexport const MIDDLEWARE_FILENAME = 'middleware'\nexport const MIDDLEWARE_LOCATION_REGEXP = `(?:src/)?${MIDDLEWARE_FILENAME}`\n\n// Patterns to detect proxy files (replacement for middleware)\nexport const PROXY_FILENAME = 'proxy'\nexport const PROXY_LOCATION_REGEXP = `(?:src/)?${PROXY_FILENAME}`\n\n// Pattern to detect instrumentation hooks file\nexport const INSTRUMENTATION_HOOK_FILENAME = 'instrumentation'\n\n// Because on Windows absolute paths in the generated code can break because of numbers, eg 1 in the path,\n// we have to use a private alias\nexport const PAGES_DIR_ALIAS = 'private-next-pages'\nexport const DOT_NEXT_ALIAS = 'private-dot-next'\nexport const ROOT_DIR_ALIAS = 'private-next-root-dir'\nexport const APP_DIR_ALIAS = 'private-next-app-dir'\nexport const RSC_MOD_REF_PROXY_ALIAS = 'private-next-rsc-mod-ref-proxy'\nexport const RSC_ACTION_VALIDATE_ALIAS = 'private-next-rsc-action-validate'\nexport const RSC_ACTION_PROXY_ALIAS = 'private-next-rsc-server-reference'\nexport const RSC_CACHE_WRAPPER_ALIAS = 'private-next-rsc-cache-wrapper'\nexport const RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS =\n 'private-next-rsc-track-dynamic-import'\nexport const RSC_ACTION_ENCRYPTION_ALIAS = 'private-next-rsc-action-encryption'\nexport const RSC_ACTION_CLIENT_WRAPPER_ALIAS =\n 'private-next-rsc-action-client-wrapper'\n\nexport const PUBLIC_DIR_MIDDLEWARE_CONFLICT = `You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict`\n\nexport const SSG_GET_INITIAL_PROPS_CONFLICT = `You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps`\n\nexport const SERVER_PROPS_GET_INIT_PROPS_CONFLICT = `You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.`\n\nexport const SERVER_PROPS_SSG_CONFLICT = `You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps`\n\nexport const STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR = `can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props`\n\nexport const SERVER_PROPS_EXPORT_ERROR = `pages with \\`getServerSideProps\\` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export`\n\nexport const GSP_NO_RETURNED_VALUE =\n 'Your `getStaticProps` function did not return an object. Did you forget to add a `return`?'\nexport const GSSP_NO_RETURNED_VALUE =\n 'Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?'\n\nexport const UNSTABLE_REVALIDATE_RENAME_ERROR =\n 'The `unstable_revalidate` property is available for general use.\\n' +\n 'Please use `revalidate` instead.'\n\nexport const GSSP_COMPONENT_MEMBER_ERROR = `can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member`\n\nexport const NON_STANDARD_NODE_ENV = `You are using a non-standard \"NODE_ENV\" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env`\n\nexport const SSG_FALLBACK_EXPORT_ERROR = `Pages with \\`fallback\\` enabled in \\`getStaticPaths\\` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export`\n\nexport const ESLINT_DEFAULT_DIRS = ['app', 'pages', 'components', 'lib', 'src']\n\nexport const SERVER_RUNTIME: Record = {\n edge: 'edge',\n experimentalEdge: 'experimental-edge',\n nodejs: 'nodejs',\n}\n\nexport const WEB_SOCKET_MAX_RECONNECTIONS = 12\n\n/**\n * The names of the webpack layers. These layers are the primitives for the\n * webpack chunks.\n */\nconst WEBPACK_LAYERS_NAMES = {\n /**\n * The layer for the shared code between the client and server bundles.\n */\n shared: 'shared',\n /**\n * The layer for server-only runtime and picking up `react-server` export conditions.\n * Including app router RSC pages and app router custom routes and metadata routes.\n */\n reactServerComponents: 'rsc',\n /**\n * Server Side Rendering layer for app (ssr).\n */\n serverSideRendering: 'ssr',\n /**\n * The browser client bundle layer for actions.\n */\n actionBrowser: 'action-browser',\n /**\n * The Node.js bundle layer for the API routes.\n */\n apiNode: 'api-node',\n /**\n * The Edge Lite bundle layer for the API routes.\n */\n apiEdge: 'api-edge',\n /**\n * The layer for the middleware code.\n */\n middleware: 'middleware',\n /**\n * The layer for the instrumentation hooks.\n */\n instrument: 'instrument',\n /**\n * The layer for assets on the edge.\n */\n edgeAsset: 'edge-asset',\n /**\n * The browser client bundle layer for App directory.\n */\n appPagesBrowser: 'app-pages-browser',\n /**\n * The browser client bundle layer for Pages directory.\n */\n pagesDirBrowser: 'pages-dir-browser',\n /**\n * The Edge Lite bundle layer for Pages directory.\n */\n pagesDirEdge: 'pages-dir-edge',\n /**\n * The Node.js bundle layer for Pages directory.\n */\n pagesDirNode: 'pages-dir-node',\n} as const\n\nexport type WebpackLayerName =\n (typeof WEBPACK_LAYERS_NAMES)[keyof typeof WEBPACK_LAYERS_NAMES]\n\nconst WEBPACK_LAYERS = {\n ...WEBPACK_LAYERS_NAMES,\n GROUP: {\n builtinReact: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n ],\n serverOnly: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.instrument,\n WEBPACK_LAYERS_NAMES.middleware,\n ],\n neutralTarget: [\n // pages api\n WEBPACK_LAYERS_NAMES.apiNode,\n WEBPACK_LAYERS_NAMES.apiEdge,\n ],\n clientOnly: [\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser,\n ],\n bundled: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser,\n WEBPACK_LAYERS_NAMES.shared,\n WEBPACK_LAYERS_NAMES.instrument,\n WEBPACK_LAYERS_NAMES.middleware,\n ],\n appPages: [\n // app router pages and layouts\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n ],\n },\n}\n\nconst WEBPACK_RESOURCE_QUERIES = {\n edgeSSREntry: '__next_edge_ssr_entry__',\n metadata: '__next_metadata__',\n metadataRoute: '__next_metadata_route__',\n metadataImageMeta: '__next_metadata_image_meta__',\n}\n\nexport { WEBPACK_LAYERS, WEBPACK_RESOURCE_QUERIES }\n"],"names":["TEXT_PLAIN_CONTENT_TYPE_HEADER","HTML_CONTENT_TYPE_HEADER","JSON_CONTENT_TYPE_HEADER","NEXT_QUERY_PARAM_PREFIX","NEXT_INTERCEPTION_MARKER_PREFIX","MATCHED_PATH_HEADER","PRERENDER_REVALIDATE_HEADER","PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER","RSC_PREFETCH_SUFFIX","RSC_SEGMENTS_DIR_SUFFIX","RSC_SEGMENT_SUFFIX","RSC_SUFFIX","ACTION_SUFFIX","NEXT_DATA_SUFFIX","NEXT_META_SUFFIX","NEXT_BODY_SUFFIX","NEXT_CACHE_TAGS_HEADER","NEXT_CACHE_REVALIDATED_TAGS_HEADER","NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER","NEXT_RESUME_HEADER","NEXT_CACHE_TAG_MAX_ITEMS","NEXT_CACHE_TAG_MAX_LENGTH","NEXT_CACHE_SOFT_TAG_MAX_LENGTH","NEXT_CACHE_IMPLICIT_TAG_ID","CACHE_ONE_YEAR","INFINITE_CACHE","MIDDLEWARE_FILENAME","MIDDLEWARE_LOCATION_REGEXP","PROXY_FILENAME","PROXY_LOCATION_REGEXP","INSTRUMENTATION_HOOK_FILENAME","PAGES_DIR_ALIAS","DOT_NEXT_ALIAS","ROOT_DIR_ALIAS","APP_DIR_ALIAS","RSC_MOD_REF_PROXY_ALIAS","RSC_ACTION_VALIDATE_ALIAS","RSC_ACTION_PROXY_ALIAS","RSC_CACHE_WRAPPER_ALIAS","RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS","RSC_ACTION_ENCRYPTION_ALIAS","RSC_ACTION_CLIENT_WRAPPER_ALIAS","PUBLIC_DIR_MIDDLEWARE_CONFLICT","SSG_GET_INITIAL_PROPS_CONFLICT","SERVER_PROPS_GET_INIT_PROPS_CONFLICT","SERVER_PROPS_SSG_CONFLICT","STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR","SERVER_PROPS_EXPORT_ERROR","GSP_NO_RETURNED_VALUE","GSSP_NO_RETURNED_VALUE","UNSTABLE_REVALIDATE_RENAME_ERROR","GSSP_COMPONENT_MEMBER_ERROR","NON_STANDARD_NODE_ENV","SSG_FALLBACK_EXPORT_ERROR","ESLINT_DEFAULT_DIRS","SERVER_RUNTIME","edge","experimentalEdge","nodejs","WEB_SOCKET_MAX_RECONNECTIONS","WEBPACK_LAYERS_NAMES","shared","reactServerComponents","serverSideRendering","actionBrowser","apiNode","apiEdge","middleware","instrument","edgeAsset","appPagesBrowser","pagesDirBrowser","pagesDirEdge","pagesDirNode","WEBPACK_LAYERS","GROUP","builtinReact","serverOnly","neutralTarget","clientOnly","bundled","appPages","WEBPACK_RESOURCE_QUERIES","edgeSSREntry","metadata","metadataRoute","metadataImageMeta"],"mappings":"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","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 2778, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/web/utils.ts"],"sourcesContent":["import type { OutgoingHttpHeaders } from 'http'\nimport {\n NEXT_INTERCEPTION_MARKER_PREFIX,\n NEXT_QUERY_PARAM_PREFIX,\n} from '../../lib/constants'\n\n/**\n * Converts a Node.js IncomingHttpHeaders object to a Headers object. Any\n * headers with multiple values will be joined with a comma and space. Any\n * headers that have an undefined value will be ignored and others will be\n * coerced to strings.\n *\n * @param nodeHeaders the headers object to convert\n * @returns the converted headers object\n */\nexport function fromNodeOutgoingHttpHeaders(\n nodeHeaders: OutgoingHttpHeaders\n): Headers {\n const headers = new Headers()\n for (let [key, value] of Object.entries(nodeHeaders)) {\n const values = Array.isArray(value) ? value : [value]\n for (let v of values) {\n if (typeof v === 'undefined') continue\n if (typeof v === 'number') {\n v = v.toString()\n }\n\n headers.append(key, v)\n }\n }\n return headers\n}\n\n/*\n Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas\n that are within a single set-cookie field-value, such as in the Expires portion.\n This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2\n Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128\n React Native's fetch does this for *every* header, including set-cookie.\n \n Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25\n Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation\n*/\nexport function splitCookiesString(cookiesString: string) {\n var cookiesStrings = []\n var pos = 0\n var start\n var ch\n var lastComma\n var nextStart\n var cookiesSeparatorFound\n\n function skipWhitespace() {\n while (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) {\n pos += 1\n }\n return pos < cookiesString.length\n }\n\n function notSpecialChar() {\n ch = cookiesString.charAt(pos)\n\n return ch !== '=' && ch !== ';' && ch !== ','\n }\n\n while (pos < cookiesString.length) {\n start = pos\n cookiesSeparatorFound = false\n\n while (skipWhitespace()) {\n ch = cookiesString.charAt(pos)\n if (ch === ',') {\n // ',' is a cookie separator if we have later first '=', not ';' or ','\n lastComma = pos\n pos += 1\n\n skipWhitespace()\n nextStart = pos\n\n while (pos < cookiesString.length && notSpecialChar()) {\n pos += 1\n }\n\n // currently special character\n if (pos < cookiesString.length && cookiesString.charAt(pos) === '=') {\n // we found cookies separator\n cookiesSeparatorFound = true\n // pos is inside the next cookie, so back up and return it.\n pos = nextStart\n cookiesStrings.push(cookiesString.substring(start, lastComma))\n start = pos\n } else {\n // in param ',' or param separator ';',\n // we continue from that comma\n pos = lastComma + 1\n }\n } else {\n pos += 1\n }\n }\n\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length))\n }\n }\n\n return cookiesStrings\n}\n\n/**\n * Converts a Headers object to a Node.js OutgoingHttpHeaders object. This is\n * required to support the set-cookie header, which may have multiple values.\n *\n * @param headers the headers object to convert\n * @returns the converted headers object\n */\nexport function toNodeOutgoingHttpHeaders(\n headers: Headers\n): OutgoingHttpHeaders {\n const nodeHeaders: OutgoingHttpHeaders = {}\n const cookies: string[] = []\n if (headers) {\n for (const [key, value] of headers.entries()) {\n if (key.toLowerCase() === 'set-cookie') {\n // We may have gotten a comma joined string of cookies, or multiple\n // set-cookie headers. We need to merge them into one header array\n // to represent all the cookies.\n cookies.push(...splitCookiesString(value))\n nodeHeaders[key] = cookies.length === 1 ? cookies[0] : cookies\n } else {\n nodeHeaders[key] = value\n }\n }\n }\n return nodeHeaders\n}\n\n/**\n * Validate the correctness of a user-provided URL.\n */\nexport function validateURL(url: string | URL): string {\n try {\n return String(new URL(String(url)))\n } catch (error: any) {\n throw new Error(\n `URL is malformed \"${String(\n url\n )}\". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,\n { cause: error }\n )\n }\n}\n\n/**\n * Normalizes `nxtP` and `nxtI` query param values to remove the prefix.\n * This function does not mutate the input key.\n */\nexport function normalizeNextQueryParam(key: string): null | string {\n const prefixes = [NEXT_QUERY_PARAM_PREFIX, NEXT_INTERCEPTION_MARKER_PREFIX]\n for (const prefix of prefixes) {\n if (key !== prefix && key.startsWith(prefix)) {\n return key.substring(prefix.length)\n }\n }\n return null\n}\n"],"names":["NEXT_INTERCEPTION_MARKER_PREFIX","NEXT_QUERY_PARAM_PREFIX","fromNodeOutgoingHttpHeaders","nodeHeaders","headers","Headers","key","value","Object","entries","values","Array","isArray","v","toString","append","splitCookiesString","cookiesString","cookiesStrings","pos","start","ch","lastComma","nextStart","cookiesSeparatorFound","skipWhitespace","length","test","charAt","notSpecialChar","push","substring","toNodeOutgoingHttpHeaders","cookies","toLowerCase","validateURL","url","String","URL","error","Error","cause","normalizeNextQueryParam","prefixes","prefix","startsWith"],"mappings":"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","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 2910, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/shared/lib/i18n/detect-domain-locale.ts"],"sourcesContent":["import type { DomainLocale } from '../../../server/config-shared'\n\nexport function detectDomainLocale(\n domainItems?: readonly DomainLocale[],\n hostname?: string,\n detectedLocale?: string\n) {\n if (!domainItems) return\n\n if (detectedLocale) {\n detectedLocale = detectedLocale.toLowerCase()\n }\n\n for (const item of domainItems) {\n // remove port if present\n const domainHostname = item.domain?.split(':', 1)[0].toLowerCase()\n if (\n hostname === domainHostname ||\n detectedLocale === item.defaultLocale.toLowerCase() ||\n item.locales?.some((locale) => locale.toLowerCase() === detectedLocale)\n ) {\n return item\n }\n }\n}\n"],"names":["detectDomainLocale","domainItems","hostname","detectedLocale","toLowerCase","item","domainHostname","domain","split","defaultLocale","locales","some","locale"],"mappings":";;;;AAEO,SAASA,mBACdC,WAAqC,EACrCC,QAAiB,EACjBC,cAAuB;IAEvB,IAAI,CAACF,aAAa;IAElB,IAAIE,gBAAgB;QAClBA,iBAAiBA,eAAeC,WAAW;IAC7C;IAEA,KAAK,MAAMC,QAAQJ,YAAa;QAC9B,yBAAyB;QACzB,MAAMK,iBAAiBD,KAAKE,MAAM,EAAEC,MAAM,KAAK,EAAE,CAAC,EAAE,CAACJ;QACrD,IACEF,aAAaI,kBACbH,mBAAmBE,KAAKI,aAAa,CAACL,WAAW,MACjDC,KAAKK,OAAO,EAAEC,KAAK,CAACC,SAAWA,OAAOR,WAAW,OAAOD,iBACxD;YACA,OAAOE;QACT;IACF;AACF","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 2931, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/shared/lib/router/utils/remove-trailing-slash.ts"],"sourcesContent":["/**\n * Removes the trailing slash for a given route or page path. Preserves the\n * root page. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n * - `/` -> `/`\n */\nexport function removeTrailingSlash(route: string) {\n return route.replace(/\\/$/, '') || '/'\n}\n"],"names":["removeTrailingSlash","route","replace"],"mappings":"AAAA;;;;;;CAMC,GACD;;;;AAAO,SAASA,oBAAoBC,KAAa;IAC/C,OAAOA,MAAMC,OAAO,CAAC,OAAO,OAAO;AACrC","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 2948, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/shared/lib/router/utils/add-path-prefix.ts"],"sourcesContent":["import { parsePath } from './parse-path'\n\n/**\n * Adds the provided prefix to the given path. It first ensures that the path\n * is indeed starting with a slash.\n */\nexport function addPathPrefix(path: string, prefix?: string) {\n if (!path.startsWith('/') || !prefix) {\n return path\n }\n\n const { pathname, query, hash } = parsePath(path)\n return `${prefix}${pathname}${query}${hash}`\n}\n"],"names":["parsePath","addPathPrefix","path","prefix","startsWith","pathname","query","hash"],"mappings":";;;;AAAA,SAASA,SAAS,QAAQ,eAAc;;AAMjC,SAASC,cAAcC,IAAY,EAAEC,MAAe;IACzD,IAAI,CAACD,KAAKE,UAAU,CAAC,QAAQ,CAACD,QAAQ;QACpC,OAAOD;IACT;IAEA,MAAM,EAAEG,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAE,OAAGP,qNAAAA,EAAUE;IAC5C,OAAO,GAAGC,SAASE,WAAWC,QAAQC,MAAM;AAC9C","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 2965, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/shared/lib/router/utils/add-path-suffix.ts"],"sourcesContent":["import { parsePath } from './parse-path'\n\n/**\n * Similarly to `addPathPrefix`, this function adds a suffix at the end on the\n * provided path. It also works only for paths ensuring the argument starts\n * with a slash.\n */\nexport function addPathSuffix(path: string, suffix?: string) {\n if (!path.startsWith('/') || !suffix) {\n return path\n }\n\n const { pathname, query, hash } = parsePath(path)\n return `${pathname}${suffix}${query}${hash}`\n}\n"],"names":["parsePath","addPathSuffix","path","suffix","startsWith","pathname","query","hash"],"mappings":";;;;AAAA,SAASA,SAAS,QAAQ,eAAc;;AAOjC,SAASC,cAAcC,IAAY,EAAEC,MAAe;IACzD,IAAI,CAACD,KAAKE,UAAU,CAAC,QAAQ,CAACD,QAAQ;QACpC,OAAOD;IACT;IAEA,MAAM,EAAEG,QAAQ,EAAEC,KAAK,EAAEC,IAAI,EAAE,OAAGP,qNAAAA,EAAUE;IAC5C,OAAO,GAAGG,WAAWF,SAASG,QAAQC,MAAM;AAC9C","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 2982, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/shared/lib/router/utils/add-locale.ts"],"sourcesContent":["import { addPathPrefix } from './add-path-prefix'\nimport { pathHasPrefix } from './path-has-prefix'\n\n/**\n * For a given path and a locale, if the locale is given, it will prefix the\n * locale. The path shouldn't be an API path. If a default locale is given the\n * prefix will be omitted if the locale is already the default locale.\n */\nexport function addLocale(\n path: string,\n locale?: string | false,\n defaultLocale?: string,\n ignorePrefix?: boolean\n) {\n // If no locale was given or the locale is the default locale, we don't need\n // to prefix the path.\n if (!locale || locale === defaultLocale) return path\n\n const lower = path.toLowerCase()\n\n // If the path is an API path or the path already has the locale prefix, we\n // don't need to prefix the path.\n if (!ignorePrefix) {\n if (pathHasPrefix(lower, '/api')) return path\n if (pathHasPrefix(lower, `/${locale.toLowerCase()}`)) return path\n }\n\n // Add the locale prefix to the path.\n return addPathPrefix(path, `/${locale}`)\n}\n"],"names":["addPathPrefix","pathHasPrefix","addLocale","path","locale","defaultLocale","ignorePrefix","lower","toLowerCase"],"mappings":";;;;AAAA,SAASA,aAAa,QAAQ,oBAAmB;AACjD,SAASC,aAAa,QAAQ,oBAAmB;;;AAO1C,SAASC,UACdC,IAAY,EACZC,MAAuB,EACvBC,aAAsB,EACtBC,YAAsB;IAEtB,4EAA4E;IAC5E,sBAAsB;IACtB,IAAI,CAACF,UAAUA,WAAWC,eAAe,OAAOF;IAEhD,MAAMI,QAAQJ,KAAKK,WAAW;IAE9B,2EAA2E;IAC3E,iCAAiC;IACjC,IAAI,CAACF,cAAc;QACjB,QAAIL,iOAAAA,EAAcM,OAAO,SAAS,OAAOJ;QACzC,QAAIF,iOAAAA,EAAcM,OAAO,CAAC,CAAC,EAAEH,OAAOI,WAAW,IAAI,GAAG,OAAOL;IAC/D;IAEA,qCAAqC;IACrC,WAAOH,iOAAAA,EAAcG,MAAM,CAAC,CAAC,EAAEC,QAAQ;AACzC","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 3008, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/shared/lib/router/utils/format-next-pathname-info.ts"],"sourcesContent":["import type { NextPathnameInfo } from './get-next-pathname-info'\nimport { removeTrailingSlash } from './remove-trailing-slash'\nimport { addPathPrefix } from './add-path-prefix'\nimport { addPathSuffix } from './add-path-suffix'\nimport { addLocale } from './add-locale'\n\ninterface ExtendedInfo extends NextPathnameInfo {\n defaultLocale?: string\n ignorePrefix?: boolean\n}\n\nexport function formatNextPathnameInfo(info: ExtendedInfo) {\n let pathname = addLocale(\n info.pathname,\n info.locale,\n info.buildId ? undefined : info.defaultLocale,\n info.ignorePrefix\n )\n\n if (info.buildId || !info.trailingSlash) {\n pathname = removeTrailingSlash(pathname)\n }\n\n if (info.buildId) {\n pathname = addPathSuffix(\n addPathPrefix(pathname, `/_next/data/${info.buildId}`),\n info.pathname === '/' ? 'index.json' : '.json'\n )\n }\n\n pathname = addPathPrefix(pathname, info.basePath)\n return !info.buildId && info.trailingSlash\n ? !pathname.endsWith('/')\n ? addPathSuffix(pathname, '/')\n : pathname\n : removeTrailingSlash(pathname)\n}\n"],"names":["removeTrailingSlash","addPathPrefix","addPathSuffix","addLocale","formatNextPathnameInfo","info","pathname","locale","buildId","undefined","defaultLocale","ignorePrefix","trailingSlash","basePath","endsWith"],"mappings":";;;;AACA,SAASA,mBAAmB,QAAQ,0BAAyB;AAC7D,SAASC,aAAa,QAAQ,oBAAmB;AACjD,SAASC,aAAa,QAAQ,oBAAmB;AACjD,SAASC,SAAS,QAAQ,eAAc;;;;;AAOjC,SAASC,uBAAuBC,IAAkB;IACvD,IAAIC,eAAWH,qNAAAA,EACbE,KAAKC,QAAQ,EACbD,KAAKE,MAAM,EACXF,KAAKG,OAAO,GAAGC,YAAYJ,KAAKK,aAAa,EAC7CL,KAAKM,YAAY;IAGnB,IAAIN,KAAKG,OAAO,IAAI,CAACH,KAAKO,aAAa,EAAE;QACvCN,eAAWN,6OAAAA,EAAoBM;IACjC;IAEA,IAAID,KAAKG,OAAO,EAAE;QAChBF,eAAWJ,iOAAAA,MACTD,iOAAAA,EAAcK,UAAU,CAAC,YAAY,EAAED,KAAKG,OAAO,EAAE,GACrDH,KAAKC,QAAQ,KAAK,MAAM,eAAe;IAE3C;IAEAA,eAAWL,iOAAAA,EAAcK,UAAUD,KAAKQ,QAAQ;IAChD,OAAO,CAACR,KAAKG,OAAO,IAAIH,KAAKO,aAAa,GACtC,CAACN,SAASQ,QAAQ,CAAC,WACjBZ,iOAAAA,EAAcI,UAAU,OACxBA,eACFN,6OAAAA,EAAoBM;AAC1B","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 3035, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/shared/lib/get-hostname.ts"],"sourcesContent":["import type { OutgoingHttpHeaders } from 'http'\n\n/**\n * Takes an object with a hostname property (like a parsed URL) and some\n * headers that may contain Host and returns the preferred hostname.\n * @param parsed An object containing a hostname property.\n * @param headers A dictionary with headers containing a `host`.\n */\nexport function getHostname(\n parsed: { hostname?: string | null },\n headers?: OutgoingHttpHeaders\n): string | undefined {\n // Get the hostname from the headers if it exists, otherwise use the parsed\n // hostname.\n let hostname: string\n if (headers?.host && !Array.isArray(headers.host)) {\n hostname = headers.host.toString().split(':', 1)[0]\n } else if (parsed.hostname) {\n hostname = parsed.hostname\n } else return\n\n return hostname.toLowerCase()\n}\n"],"names":["getHostname","parsed","headers","hostname","host","Array","isArray","toString","split","toLowerCase"],"mappings":"AAEA;;;;;CAKC,GACD;;;;AAAO,SAASA,YACdC,MAAoC,EACpCC,OAA6B;IAE7B,2EAA2E;IAC3E,YAAY;IACZ,IAAIC;IACJ,IAAID,SAASE,QAAQ,CAACC,MAAMC,OAAO,CAACJ,QAAQE,IAAI,GAAG;QACjDD,WAAWD,QAAQE,IAAI,CAACG,QAAQ,GAAGC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE;IACrD,OAAO,IAAIP,OAAOE,QAAQ,EAAE;QAC1BA,WAAWF,OAAOE,QAAQ;IAC5B,OAAO;IAEP,OAAOA,SAASM,WAAW;AAC7B","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 3059, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/shared/lib/i18n/normalize-locale-path.ts"],"sourcesContent":["export interface PathLocale {\n detectedLocale?: string\n pathname: string\n}\n\n/**\n * A cache of lowercased locales for each list of locales. This is stored as a\n * WeakMap so if the locales are garbage collected, the cache entry will be\n * removed as well.\n */\nconst cache = new WeakMap()\n\n/**\n * For a pathname that may include a locale from a list of locales, it\n * removes the locale from the pathname returning it alongside with the\n * detected locale.\n *\n * @param pathname A pathname that may include a locale.\n * @param locales A list of locales.\n * @returns The detected locale and pathname without locale\n */\nexport function normalizeLocalePath(\n pathname: string,\n locales?: readonly string[]\n): PathLocale {\n // If locales is undefined, return the pathname as is.\n if (!locales) return { pathname }\n\n // Get the cached lowercased locales or create a new cache entry.\n let lowercasedLocales = cache.get(locales)\n if (!lowercasedLocales) {\n lowercasedLocales = locales.map((locale) => locale.toLowerCase())\n cache.set(locales, lowercasedLocales)\n }\n\n let detectedLocale: string | undefined\n\n // The first segment will be empty, because it has a leading `/`. If\n // there is no further segment, there is no locale (or it's the default).\n const segments = pathname.split('/', 2)\n\n // If there's no second segment (ie, the pathname is just `/`), there's no\n // locale.\n if (!segments[1]) return { pathname }\n\n // The second segment will contain the locale part if any.\n const segment = segments[1].toLowerCase()\n\n // See if the segment matches one of the locales. If it doesn't, there is\n // no locale (or it's the default).\n const index = lowercasedLocales.indexOf(segment)\n if (index < 0) return { pathname }\n\n // Return the case-sensitive locale.\n detectedLocale = locales[index]\n\n // Remove the `/${locale}` part of the pathname.\n pathname = pathname.slice(detectedLocale.length + 1) || '/'\n\n return { pathname, detectedLocale }\n}\n"],"names":["cache","WeakMap","normalizeLocalePath","pathname","locales","lowercasedLocales","get","map","locale","toLowerCase","set","detectedLocale","segments","split","segment","index","indexOf","slice","length"],"mappings":"AAKA;;;;CAIC;;;;AACD,MAAMA,QAAQ,IAAIC;AAWX,SAASC,oBACdC,QAAgB,EAChBC,OAA2B;IAE3B,sDAAsD;IACtD,IAAI,CAACA,SAAS,OAAO;QAAED;IAAS;IAEhC,iEAAiE;IACjE,IAAIE,oBAAoBL,MAAMM,GAAG,CAACF;IAClC,IAAI,CAACC,mBAAmB;QACtBA,oBAAoBD,QAAQG,GAAG,CAAC,CAACC,SAAWA,OAAOC,WAAW;QAC9DT,MAAMU,GAAG,CAACN,SAASC;IACrB;IAEA,IAAIM;IAEJ,oEAAoE;IACpE,yEAAyE;IACzE,MAAMC,WAAWT,SAASU,KAAK,CAAC,KAAK;IAErC,0EAA0E;IAC1E,UAAU;IACV,IAAI,CAACD,QAAQ,CAAC,EAAE,EAAE,OAAO;QAAET;IAAS;IAEpC,0DAA0D;IAC1D,MAAMW,UAAUF,QAAQ,CAAC,EAAE,CAACH,WAAW;IAEvC,yEAAyE;IACzE,mCAAmC;IACnC,MAAMM,QAAQV,kBAAkBW,OAAO,CAACF;IACxC,IAAIC,QAAQ,GAAG,OAAO;QAAEZ;IAAS;IAEjC,oCAAoC;IACpCQ,iBAAiBP,OAAO,CAACW,MAAM;IAE/B,gDAAgD;IAChDZ,WAAWA,SAASc,KAAK,CAACN,eAAeO,MAAM,GAAG,MAAM;IAExD,OAAO;QAAEf;QAAUQ;IAAe;AACpC","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 3109, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/shared/lib/router/utils/remove-path-prefix.ts"],"sourcesContent":["import { pathHasPrefix } from './path-has-prefix'\n\n/**\n * Given a path and a prefix it will remove the prefix when it exists in the\n * given path. It ensures it matches exactly without containing extra chars\n * and if the prefix is not there it will be noop.\n *\n * @param path The path to remove the prefix from.\n * @param prefix The prefix to be removed.\n */\nexport function removePathPrefix(path: string, prefix: string): string {\n // If the path doesn't start with the prefix we can return it as is. This\n // protects us from situations where the prefix is a substring of the path\n // prefix such as:\n //\n // For prefix: /blog\n //\n // /blog -> true\n // /blog/ -> true\n // /blog/1 -> true\n // /blogging -> false\n // /blogging/ -> false\n // /blogging/1 -> false\n if (!pathHasPrefix(path, prefix)) {\n return path\n }\n\n // Remove the prefix from the path via slicing.\n const withoutPrefix = path.slice(prefix.length)\n\n // If the path without the prefix starts with a `/` we can return it as is.\n if (withoutPrefix.startsWith('/')) {\n return withoutPrefix\n }\n\n // If the path without the prefix doesn't start with a `/` we need to add it\n // back to the path to make sure it's a valid path.\n return `/${withoutPrefix}`\n}\n"],"names":["pathHasPrefix","removePathPrefix","path","prefix","withoutPrefix","slice","length","startsWith"],"mappings":";;;;AAAA,SAASA,aAAa,QAAQ,oBAAmB;;AAU1C,SAASC,iBAAiBC,IAAY,EAAEC,MAAc;IAC3D,yEAAyE;IACzE,0EAA0E;IAC1E,kBAAkB;IAClB,EAAE;IACF,oBAAoB;IACpB,EAAE;IACF,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,uBAAuB;IACvB,wBAAwB;IACxB,yBAAyB;IACzB,IAAI,KAACH,iOAAAA,EAAcE,MAAMC,SAAS;QAChC,OAAOD;IACT;IAEA,+CAA+C;IAC/C,MAAME,gBAAgBF,KAAKG,KAAK,CAACF,OAAOG,MAAM;IAE9C,2EAA2E;IAC3E,IAAIF,cAAcG,UAAU,CAAC,MAAM;QACjC,OAAOH;IACT;IAEA,4EAA4E;IAC5E,mDAAmD;IACnD,OAAO,CAAC,CAAC,EAAEA,eAAe;AAC5B","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 3145, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/shared/lib/router/utils/get-next-pathname-info.ts"],"sourcesContent":["import { normalizeLocalePath } from '../../i18n/normalize-locale-path'\nimport { removePathPrefix } from './remove-path-prefix'\nimport { pathHasPrefix } from './path-has-prefix'\nimport type { I18NProvider } from '../../../../server/lib/i18n-provider'\n\nexport interface NextPathnameInfo {\n /**\n * The base path in case the pathname included it.\n */\n basePath?: string\n /**\n * The buildId for when the parsed URL is a data URL. Parsing it can be\n * disabled with the `parseData` option.\n */\n buildId?: string\n /**\n * If there was a locale in the pathname, this will hold its value.\n */\n locale?: string\n /**\n * The processed pathname without a base path, locale, or data URL elements\n * when parsing it is enabled.\n */\n pathname: string\n /**\n * A boolean telling if the pathname had a trailingSlash. This can be only\n * true if trailingSlash is enabled.\n */\n trailingSlash?: boolean\n}\n\ninterface Options {\n /**\n * When passed to true, this function will also parse Nextjs data URLs.\n */\n parseData?: boolean\n /**\n * A partial of the Next.js configuration to parse the URL.\n */\n nextConfig?: {\n basePath?: string\n i18n?: { locales?: readonly string[] } | null\n trailingSlash?: boolean\n }\n\n /**\n * If provided, this normalizer will be used to detect the locale instead of\n * the default locale detection.\n */\n i18nProvider?: I18NProvider\n}\n\nexport function getNextPathnameInfo(\n pathname: string,\n options: Options\n): NextPathnameInfo {\n const { basePath, i18n, trailingSlash } = options.nextConfig ?? {}\n const info: NextPathnameInfo = {\n pathname,\n trailingSlash: pathname !== '/' ? pathname.endsWith('/') : trailingSlash,\n }\n\n if (basePath && pathHasPrefix(info.pathname, basePath)) {\n info.pathname = removePathPrefix(info.pathname, basePath)\n info.basePath = basePath\n }\n let pathnameNoDataPrefix = info.pathname\n\n if (\n info.pathname.startsWith('/_next/data/') &&\n info.pathname.endsWith('.json')\n ) {\n const paths = info.pathname\n .replace(/^\\/_next\\/data\\//, '')\n .replace(/\\.json$/, '')\n .split('/')\n\n const buildId = paths[0]\n info.buildId = buildId\n pathnameNoDataPrefix =\n paths[1] !== 'index' ? `/${paths.slice(1).join('/')}` : '/'\n\n // update pathname with normalized if enabled although\n // we use normalized to populate locale info still\n if (options.parseData === true) {\n info.pathname = pathnameNoDataPrefix\n }\n }\n\n // If provided, use the locale route normalizer to detect the locale instead\n // of the function below.\n if (i18n) {\n let result = options.i18nProvider\n ? options.i18nProvider.analyze(info.pathname)\n : normalizeLocalePath(info.pathname, i18n.locales)\n\n info.locale = result.detectedLocale\n info.pathname = result.pathname ?? info.pathname\n\n if (!result.detectedLocale && info.buildId) {\n result = options.i18nProvider\n ? options.i18nProvider.analyze(pathnameNoDataPrefix)\n : normalizeLocalePath(pathnameNoDataPrefix, i18n.locales)\n\n if (result.detectedLocale) {\n info.locale = result.detectedLocale\n }\n }\n }\n return info\n}\n"],"names":["normalizeLocalePath","removePathPrefix","pathHasPrefix","getNextPathnameInfo","pathname","options","basePath","i18n","trailingSlash","nextConfig","info","endsWith","pathnameNoDataPrefix","startsWith","paths","replace","split","buildId","slice","join","parseData","result","i18nProvider","analyze","locales","locale","detectedLocale"],"mappings":";;;;AAAA,SAASA,mBAAmB,QAAQ,mCAAkC;AACtE,SAASC,gBAAgB,QAAQ,uBAAsB;AACvD,SAASC,aAAa,QAAQ,oBAAmB;;;;AAkD1C,SAASC,oBACdC,QAAgB,EAChBC,OAAgB;IAEhB,MAAM,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,aAAa,EAAE,GAAGH,QAAQI,UAAU,IAAI,CAAC;IACjE,MAAMC,OAAyB;QAC7BN;QACAI,eAAeJ,aAAa,MAAMA,SAASO,QAAQ,CAAC,OAAOH;IAC7D;IAEA,IAAIF,gBAAYJ,iOAAAA,EAAcQ,KAAKN,QAAQ,EAAEE,WAAW;QACtDI,KAAKN,QAAQ,OAAGH,uOAAAA,EAAiBS,KAAKN,QAAQ,EAAEE;QAChDI,KAAKJ,QAAQ,GAAGA;IAClB;IACA,IAAIM,uBAAuBF,KAAKN,QAAQ;IAExC,IACEM,KAAKN,QAAQ,CAACS,UAAU,CAAC,mBACzBH,KAAKN,QAAQ,CAACO,QAAQ,CAAC,UACvB;QACA,MAAMG,QAAQJ,KAAKN,QAAQ,CACxBW,OAAO,CAAC,oBAAoB,IAC5BA,OAAO,CAAC,WAAW,IACnBC,KAAK,CAAC;QAET,MAAMC,UAAUH,KAAK,CAAC,EAAE;QACxBJ,KAAKO,OAAO,GAAGA;QACfL,uBACEE,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,EAAEA,MAAMI,KAAK,CAAC,GAAGC,IAAI,CAAC,MAAM,GAAG;QAE1D,sDAAsD;QACtD,kDAAkD;QAClD,IAAId,QAAQe,SAAS,KAAK,MAAM;YAC9BV,KAAKN,QAAQ,GAAGQ;QAClB;IACF;IAEA,4EAA4E;IAC5E,yBAAyB;IACzB,IAAIL,MAAM;QACR,IAAIc,SAAShB,QAAQiB,YAAY,GAC7BjB,QAAQiB,YAAY,CAACC,OAAO,CAACb,KAAKN,QAAQ,QAC1CJ,kOAAAA,EAAoBU,KAAKN,QAAQ,EAAEG,KAAKiB,OAAO;QAEnDd,KAAKe,MAAM,GAAGJ,OAAOK,cAAc;QACnChB,KAAKN,QAAQ,GAAGiB,OAAOjB,QAAQ,IAAIM,KAAKN,QAAQ;QAEhD,IAAI,CAACiB,OAAOK,cAAc,IAAIhB,KAAKO,OAAO,EAAE;YAC1CI,SAAShB,QAAQiB,YAAY,GACzBjB,QAAQiB,YAAY,CAACC,OAAO,CAACX,4BAC7BZ,kOAAAA,EAAoBY,sBAAsBL,KAAKiB,OAAO;YAE1D,IAAIH,OAAOK,cAAc,EAAE;gBACzBhB,KAAKe,MAAM,GAAGJ,OAAOK,cAAc;YACrC;QACF;IACF;IACA,OAAOhB;AACT","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 3196, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/web/next-url.ts"],"sourcesContent":["import type { OutgoingHttpHeaders } from 'http'\nimport type { DomainLocale, I18NConfig } from '../config-shared'\nimport type { I18NProvider } from '../lib/i18n-provider'\n\nimport { detectDomainLocale } from '../../shared/lib/i18n/detect-domain-locale'\nimport { formatNextPathnameInfo } from '../../shared/lib/router/utils/format-next-pathname-info'\nimport { getHostname } from '../../shared/lib/get-hostname'\nimport { getNextPathnameInfo } from '../../shared/lib/router/utils/get-next-pathname-info'\n\ninterface Options {\n base?: string | URL\n headers?: OutgoingHttpHeaders\n forceLocale?: boolean\n nextConfig?: {\n basePath?: string\n i18n?: I18NConfig | null\n trailingSlash?: boolean\n }\n i18nProvider?: I18NProvider\n}\n\nconst REGEX_LOCALHOST_HOSTNAME =\n /(?!^https?:\\/\\/)(127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\\[::1\\]|localhost)/\n\nfunction parseURL(url: string | URL, base?: string | URL) {\n return new URL(\n String(url).replace(REGEX_LOCALHOST_HOSTNAME, 'localhost'),\n base && String(base).replace(REGEX_LOCALHOST_HOSTNAME, 'localhost')\n )\n}\n\nconst Internal = Symbol('NextURLInternal')\n\nexport class NextURL {\n private [Internal]: {\n basePath: string\n buildId?: string\n flightSearchParameters?: Record\n defaultLocale?: string\n domainLocale?: DomainLocale\n locale?: string\n options: Options\n trailingSlash?: boolean\n url: URL\n }\n\n constructor(input: string | URL, base?: string | URL, opts?: Options)\n constructor(input: string | URL, opts?: Options)\n constructor(\n input: string | URL,\n baseOrOpts?: string | URL | Options,\n opts?: Options\n ) {\n let base: undefined | string | URL\n let options: Options\n\n if (\n (typeof baseOrOpts === 'object' && 'pathname' in baseOrOpts) ||\n typeof baseOrOpts === 'string'\n ) {\n base = baseOrOpts\n options = opts || {}\n } else {\n options = opts || baseOrOpts || {}\n }\n\n this[Internal] = {\n url: parseURL(input, base ?? options.base),\n options: options,\n basePath: '',\n }\n\n this.analyze()\n }\n\n private analyze() {\n const info = getNextPathnameInfo(this[Internal].url.pathname, {\n nextConfig: this[Internal].options.nextConfig,\n parseData: !process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE,\n i18nProvider: this[Internal].options.i18nProvider,\n })\n\n const hostname = getHostname(\n this[Internal].url,\n this[Internal].options.headers\n )\n this[Internal].domainLocale = this[Internal].options.i18nProvider\n ? this[Internal].options.i18nProvider.detectDomainLocale(hostname)\n : detectDomainLocale(\n this[Internal].options.nextConfig?.i18n?.domains,\n hostname\n )\n\n const defaultLocale =\n this[Internal].domainLocale?.defaultLocale ||\n this[Internal].options.nextConfig?.i18n?.defaultLocale\n\n this[Internal].url.pathname = info.pathname\n this[Internal].defaultLocale = defaultLocale\n this[Internal].basePath = info.basePath ?? ''\n this[Internal].buildId = info.buildId\n this[Internal].locale = info.locale ?? defaultLocale\n this[Internal].trailingSlash = info.trailingSlash\n }\n\n private formatPathname() {\n return formatNextPathnameInfo({\n basePath: this[Internal].basePath,\n buildId: this[Internal].buildId,\n defaultLocale: !this[Internal].options.forceLocale\n ? this[Internal].defaultLocale\n : undefined,\n locale: this[Internal].locale,\n pathname: this[Internal].url.pathname,\n trailingSlash: this[Internal].trailingSlash,\n })\n }\n\n private formatSearch() {\n return this[Internal].url.search\n }\n\n public get buildId() {\n return this[Internal].buildId\n }\n\n public set buildId(buildId: string | undefined) {\n this[Internal].buildId = buildId\n }\n\n public get locale() {\n return this[Internal].locale ?? ''\n }\n\n public set locale(locale: string) {\n if (\n !this[Internal].locale ||\n !this[Internal].options.nextConfig?.i18n?.locales.includes(locale)\n ) {\n throw new TypeError(\n `The NextURL configuration includes no locale \"${locale}\"`\n )\n }\n\n this[Internal].locale = locale\n }\n\n get defaultLocale() {\n return this[Internal].defaultLocale\n }\n\n get domainLocale() {\n return this[Internal].domainLocale\n }\n\n get searchParams() {\n return this[Internal].url.searchParams\n }\n\n get host() {\n return this[Internal].url.host\n }\n\n set host(value: string) {\n this[Internal].url.host = value\n }\n\n get hostname() {\n return this[Internal].url.hostname\n }\n\n set hostname(value: string) {\n this[Internal].url.hostname = value\n }\n\n get port() {\n return this[Internal].url.port\n }\n\n set port(value: string) {\n this[Internal].url.port = value\n }\n\n get protocol() {\n return this[Internal].url.protocol\n }\n\n set protocol(value: string) {\n this[Internal].url.protocol = value\n }\n\n get href() {\n const pathname = this.formatPathname()\n const search = this.formatSearch()\n return `${this.protocol}//${this.host}${pathname}${search}${this.hash}`\n }\n\n set href(url: string) {\n this[Internal].url = parseURL(url)\n this.analyze()\n }\n\n get origin() {\n return this[Internal].url.origin\n }\n\n get pathname() {\n return this[Internal].url.pathname\n }\n\n set pathname(value: string) {\n this[Internal].url.pathname = value\n }\n\n get hash() {\n return this[Internal].url.hash\n }\n\n set hash(value: string) {\n this[Internal].url.hash = value\n }\n\n get search() {\n return this[Internal].url.search\n }\n\n set search(value: string) {\n this[Internal].url.search = value\n }\n\n get password() {\n return this[Internal].url.password\n }\n\n set password(value: string) {\n this[Internal].url.password = value\n }\n\n get username() {\n return this[Internal].url.username\n }\n\n set username(value: string) {\n this[Internal].url.username = value\n }\n\n get basePath() {\n return this[Internal].basePath\n }\n\n set basePath(value: string) {\n this[Internal].basePath = value.startsWith('/') ? value : `/${value}`\n }\n\n toString() {\n return this.href\n }\n\n toJSON() {\n return this.href\n }\n\n [Symbol.for('edge-runtime.inspect.custom')]() {\n return {\n href: this.href,\n origin: this.origin,\n protocol: this.protocol,\n username: this.username,\n password: this.password,\n host: this.host,\n hostname: this.hostname,\n port: this.port,\n pathname: this.pathname,\n search: this.search,\n searchParams: this.searchParams,\n hash: this.hash,\n }\n }\n\n clone() {\n return new NextURL(String(this), this[Internal].options)\n }\n}\n"],"names":["detectDomainLocale","formatNextPathnameInfo","getHostname","getNextPathnameInfo","REGEX_LOCALHOST_HOSTNAME","parseURL","url","base","URL","String","replace","Internal","Symbol","NextURL","constructor","input","baseOrOpts","opts","options","basePath","analyze","info","pathname","nextConfig","parseData","process","env","__NEXT_NO_MIDDLEWARE_URL_NORMALIZE","i18nProvider","hostname","headers","domainLocale","i18n","domains","defaultLocale","buildId","locale","trailingSlash","formatPathname","forceLocale","undefined","formatSearch","search","locales","includes","TypeError","searchParams","host","value","port","protocol","href","hash","origin","password","username","startsWith","toString","toJSON","for","clone"],"mappings":"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","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 3391, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/web/error.ts"],"sourcesContent":["export class PageSignatureError extends Error {\n constructor({ page }: { page: string }) {\n super(`The middleware \"${page}\" accepts an async API directly with the form:\n \n export function middleware(request, event) {\n return NextResponse.redirect('/new-location')\n }\n \n Read more: https://nextjs.org/docs/messages/middleware-new-signature\n `)\n }\n}\n\nexport class RemovedPageError extends Error {\n constructor() {\n super(`The request.page has been deprecated in favour of \\`URLPattern\\`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n `)\n }\n}\n\nexport class RemovedUAError extends Error {\n constructor() {\n super(`The request.ua has been removed in favour of \\`userAgent\\` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n `)\n }\n}\n"],"names":["PageSignatureError","Error","constructor","page","RemovedPageError","RemovedUAError"],"mappings":";;;;;;;;AAAO,MAAMA,2BAA2BC;IACtCC,YAAY,EAAEC,IAAI,EAAoB,CAAE;QACtC,KAAK,CAAC,CAAC,gBAAgB,EAAEA,KAAK;;;;;;;EAOhC,CAAC;IACD;AACF;AAEO,MAAMC,yBAAyBH;IACpCC,aAAc;QACZ,KAAK,CAAC,CAAC;;EAET,CAAC;IACD;AACF;AAEO,MAAMG,uBAAuBJ;IAClCC,aAAc;QACZ,KAAK,CAAC,CAAC;;EAET,CAAC;IACD;AACF","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 3429, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/compiled/%40edge-runtime/cookies/index.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n RequestCookies: () => RequestCookies,\n ResponseCookies: () => ResponseCookies,\n parseCookie: () => parseCookie,\n parseSetCookie: () => parseSetCookie,\n stringifyCookie: () => stringifyCookie\n});\nmodule.exports = __toCommonJS(src_exports);\n\n// src/serialize.ts\nfunction stringifyCookie(c) {\n var _a;\n const attrs = [\n \"path\" in c && c.path && `Path=${c.path}`,\n \"expires\" in c && (c.expires || c.expires === 0) && `Expires=${(typeof c.expires === \"number\" ? new Date(c.expires) : c.expires).toUTCString()}`,\n \"maxAge\" in c && typeof c.maxAge === \"number\" && `Max-Age=${c.maxAge}`,\n \"domain\" in c && c.domain && `Domain=${c.domain}`,\n \"secure\" in c && c.secure && \"Secure\",\n \"httpOnly\" in c && c.httpOnly && \"HttpOnly\",\n \"sameSite\" in c && c.sameSite && `SameSite=${c.sameSite}`,\n \"partitioned\" in c && c.partitioned && \"Partitioned\",\n \"priority\" in c && c.priority && `Priority=${c.priority}`\n ].filter(Boolean);\n const stringified = `${c.name}=${encodeURIComponent((_a = c.value) != null ? _a : \"\")}`;\n return attrs.length === 0 ? stringified : `${stringified}; ${attrs.join(\"; \")}`;\n}\nfunction parseCookie(cookie) {\n const map = /* @__PURE__ */ new Map();\n for (const pair of cookie.split(/; */)) {\n if (!pair)\n continue;\n const splitAt = pair.indexOf(\"=\");\n if (splitAt === -1) {\n map.set(pair, \"true\");\n continue;\n }\n const [key, value] = [pair.slice(0, splitAt), pair.slice(splitAt + 1)];\n try {\n map.set(key, decodeURIComponent(value != null ? value : \"true\"));\n } catch {\n }\n }\n return map;\n}\nfunction parseSetCookie(setCookie) {\n if (!setCookie) {\n return void 0;\n }\n const [[name, value], ...attributes] = parseCookie(setCookie);\n const {\n domain,\n expires,\n httponly,\n maxage,\n path,\n samesite,\n secure,\n partitioned,\n priority\n } = Object.fromEntries(\n attributes.map(([key, value2]) => [\n key.toLowerCase().replace(/-/g, \"\"),\n value2\n ])\n );\n const cookie = {\n name,\n value: decodeURIComponent(value),\n domain,\n ...expires && { expires: new Date(expires) },\n ...httponly && { httpOnly: true },\n ...typeof maxage === \"string\" && { maxAge: Number(maxage) },\n path,\n ...samesite && { sameSite: parseSameSite(samesite) },\n ...secure && { secure: true },\n ...priority && { priority: parsePriority(priority) },\n ...partitioned && { partitioned: true }\n };\n return compact(cookie);\n}\nfunction compact(t) {\n const newT = {};\n for (const key in t) {\n if (t[key]) {\n newT[key] = t[key];\n }\n }\n return newT;\n}\nvar SAME_SITE = [\"strict\", \"lax\", \"none\"];\nfunction parseSameSite(string) {\n string = string.toLowerCase();\n return SAME_SITE.includes(string) ? string : void 0;\n}\nvar PRIORITY = [\"low\", \"medium\", \"high\"];\nfunction parsePriority(string) {\n string = string.toLowerCase();\n return PRIORITY.includes(string) ? string : void 0;\n}\nfunction splitCookiesString(cookiesString) {\n if (!cookiesString)\n return [];\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n function skipWhitespace() {\n while (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) {\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n while (pos < cookiesString.length) {\n start = pos;\n cookiesSeparatorFound = false;\n while (skipWhitespace()) {\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n lastComma = pos;\n pos += 1;\n skipWhitespace();\n nextStart = pos;\n while (pos < cookiesString.length && notSpecialChar()) {\n pos += 1;\n }\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n cookiesSeparatorFound = true;\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n return cookiesStrings;\n}\n\n// src/request-cookies.ts\nvar RequestCookies = class {\n constructor(requestHeaders) {\n /** @internal */\n this._parsed = /* @__PURE__ */ new Map();\n this._headers = requestHeaders;\n const header = requestHeaders.get(\"cookie\");\n if (header) {\n const parsed = parseCookie(header);\n for (const [name, value] of parsed) {\n this._parsed.set(name, { name, value });\n }\n }\n }\n [Symbol.iterator]() {\n return this._parsed[Symbol.iterator]();\n }\n /**\n * The amount of cookies received from the client\n */\n get size() {\n return this._parsed.size;\n }\n get(...args) {\n const name = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(name);\n }\n getAll(...args) {\n var _a;\n const all = Array.from(this._parsed);\n if (!args.length) {\n return all.map(([_, value]) => value);\n }\n const name = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter(([n]) => n === name).map(([_, value]) => value);\n }\n has(name) {\n return this._parsed.has(name);\n }\n set(...args) {\n const [name, value] = args.length === 1 ? [args[0].name, args[0].value] : args;\n const map = this._parsed;\n map.set(name, { name, value });\n this._headers.set(\n \"cookie\",\n Array.from(map).map(([_, value2]) => stringifyCookie(value2)).join(\"; \")\n );\n return this;\n }\n /**\n * Delete the cookies matching the passed name or names in the request.\n */\n delete(names) {\n const map = this._parsed;\n const result = !Array.isArray(names) ? map.delete(names) : names.map((name) => map.delete(name));\n this._headers.set(\n \"cookie\",\n Array.from(map).map(([_, value]) => stringifyCookie(value)).join(\"; \")\n );\n return result;\n }\n /**\n * Delete all the cookies in the cookies in the request.\n */\n clear() {\n this.delete(Array.from(this._parsed.keys()));\n return this;\n }\n /**\n * Format the cookies in the request as a string for logging\n */\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [...this._parsed.values()].map((v) => `${v.name}=${encodeURIComponent(v.value)}`).join(\"; \");\n }\n};\n\n// src/response-cookies.ts\nvar ResponseCookies = class {\n constructor(responseHeaders) {\n /** @internal */\n this._parsed = /* @__PURE__ */ new Map();\n var _a, _b, _c;\n this._headers = responseHeaders;\n const setCookie = (_c = (_b = (_a = responseHeaders.getSetCookie) == null ? void 0 : _a.call(responseHeaders)) != null ? _b : responseHeaders.get(\"set-cookie\")) != null ? _c : [];\n const cookieStrings = Array.isArray(setCookie) ? setCookie : splitCookiesString(setCookie);\n for (const cookieString of cookieStrings) {\n const parsed = parseSetCookie(cookieString);\n if (parsed)\n this._parsed.set(parsed.name, parsed);\n }\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise.\n */\n get(...args) {\n const key = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(key);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise.\n */\n getAll(...args) {\n var _a;\n const all = Array.from(this._parsed.values());\n if (!args.length) {\n return all;\n }\n const key = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter((c) => c.name === key);\n }\n has(name) {\n return this._parsed.has(name);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise.\n */\n set(...args) {\n const [name, value, cookie] = args.length === 1 ? [args[0].name, args[0].value, args[0]] : args;\n const map = this._parsed;\n map.set(name, normalizeCookie({ name, value, ...cookie }));\n replace(map, this._headers);\n return this;\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise.\n */\n delete(...args) {\n const [name, options] = typeof args[0] === \"string\" ? [args[0]] : [args[0].name, args[0]];\n return this.set({ ...options, name, value: \"\", expires: /* @__PURE__ */ new Date(0) });\n }\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [...this._parsed.values()].map(stringifyCookie).join(\"; \");\n }\n};\nfunction replace(bag, headers) {\n headers.delete(\"set-cookie\");\n for (const [, value] of bag) {\n const serialized = stringifyCookie(value);\n headers.append(\"set-cookie\", serialized);\n }\n}\nfunction normalizeCookie(cookie = { name: \"\", value: \"\" }) {\n if (typeof cookie.expires === \"number\") {\n cookie.expires = new Date(cookie.expires);\n }\n if (cookie.maxAge) {\n cookie.expires = new Date(Date.now() + cookie.maxAge * 1e3);\n }\n if (cookie.path === null || cookie.path === void 0) {\n cookie.path = \"/\";\n }\n return cookie;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n RequestCookies,\n ResponseCookies,\n parseCookie,\n parseSetCookie,\n stringifyCookie\n});\n"],"names":[],"mappings":"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","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 3799, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/web/spec-extension/cookies.ts"],"sourcesContent":["export {\n RequestCookies,\n ResponseCookies,\n stringifyCookie,\n} from 'next/dist/compiled/@edge-runtime/cookies'\n"],"names":["RequestCookies","ResponseCookies","stringifyCookie"],"mappings":";AAAA,SACEA,cAAc,EACdC,eAAe,EACfC,eAAe,QACV,2CAA0C","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 3806, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/web/spec-extension/request.ts"],"sourcesContent":["import type { I18NConfig } from '../../config-shared'\nimport { NextURL } from '../next-url'\nimport { toNodeOutgoingHttpHeaders, validateURL } from '../utils'\nimport { RemovedUAError, RemovedPageError } from '../error'\nimport { RequestCookies } from './cookies'\n\nexport const INTERNALS = Symbol('internal request')\n\n/**\n * This class extends the [Web `Request` API](https://developer.mozilla.org/docs/Web/API/Request) with additional convenience methods.\n *\n * Read more: [Next.js Docs: `NextRequest`](https://nextjs.org/docs/app/api-reference/functions/next-request)\n */\nexport class NextRequest extends Request {\n /** @internal */\n [INTERNALS]: {\n cookies: RequestCookies\n url: string\n nextUrl: NextURL\n }\n\n constructor(input: URL | RequestInfo, init: RequestInit = {}) {\n const url =\n typeof input !== 'string' && 'url' in input ? input.url : String(input)\n\n validateURL(url)\n\n // node Request instance requires duplex option when a body\n // is present or it errors, we don't handle this for\n // Request being passed in since it would have already\n // errored if this wasn't configured\n if (process.env.NEXT_RUNTIME !== 'edge') {\n if (init.body && init.duplex !== 'half') {\n init.duplex = 'half'\n }\n }\n\n if (input instanceof Request) super(input, init)\n else super(url, init)\n\n const nextUrl = new NextURL(url, {\n headers: toNodeOutgoingHttpHeaders(this.headers),\n nextConfig: init.nextConfig,\n })\n this[INTERNALS] = {\n cookies: new RequestCookies(this.headers),\n nextUrl,\n url: process.env.__NEXT_NO_MIDDLEWARE_URL_NORMALIZE\n ? url\n : nextUrl.toString(),\n }\n }\n\n [Symbol.for('edge-runtime.inspect.custom')]() {\n return {\n cookies: this.cookies,\n nextUrl: this.nextUrl,\n url: this.url,\n // rest of props come from Request\n bodyUsed: this.bodyUsed,\n cache: this.cache,\n credentials: this.credentials,\n destination: this.destination,\n headers: Object.fromEntries(this.headers),\n integrity: this.integrity,\n keepalive: this.keepalive,\n method: this.method,\n mode: this.mode,\n redirect: this.redirect,\n referrer: this.referrer,\n referrerPolicy: this.referrerPolicy,\n signal: this.signal,\n }\n }\n\n public get cookies() {\n return this[INTERNALS].cookies\n }\n\n public get nextUrl() {\n return this[INTERNALS].nextUrl\n }\n\n /**\n * @deprecated\n * `page` has been deprecated in favour of `URLPattern`.\n * Read more: https://nextjs.org/docs/messages/middleware-request-page\n */\n public get page() {\n throw new RemovedPageError()\n }\n\n /**\n * @deprecated\n * `ua` has been removed in favour of \\`userAgent\\` function.\n * Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n */\n public get ua() {\n throw new RemovedUAError()\n }\n\n public get url() {\n return this[INTERNALS].url\n }\n}\n\nexport interface RequestInit extends globalThis.RequestInit {\n nextConfig?: {\n basePath?: string\n i18n?: I18NConfig | null\n trailingSlash?: boolean\n }\n signal?: AbortSignal\n // see https://github.com/whatwg/fetch/pull/1457\n duplex?: 'half'\n}\n"],"names":["NextURL","toNodeOutgoingHttpHeaders","validateURL","RemovedUAError","RemovedPageError","RequestCookies","INTERNALS","Symbol","NextRequest","Request","constructor","input","init","url","String","process","env","NEXT_RUNTIME","body","duplex","nextUrl","headers","nextConfig","cookies","__NEXT_NO_MIDDLEWARE_URL_NORMALIZE","toString","for","bodyUsed","cache","credentials","destination","Object","fromEntries","integrity","keepalive","method","mode","redirect","referrer","referrerPolicy","signal","page","ua"],"mappings":";;;;;;AACA,SAASA,OAAO,QAAQ,cAAa;AACrC,SAASC,yBAAyB,EAAEC,WAAW,QAAQ,WAAU;AACjE,SAASC,cAAc,EAAEC,gBAAgB,QAAQ,WAAU;;AAC3D,SAASC,cAAc,QAAQ,YAAW;;;;;AAEnC,MAAMC,YAAYC,OAAO,oBAAmB;AAO5C,MAAMC,oBAAoBC;IAQ/BC,YAAYC,KAAwB,EAAEC,OAAoB,CAAC,CAAC,CAAE;QAC5D,MAAMC,MACJ,OAAOF,UAAU,YAAY,SAASA,QAAQA,MAAME,GAAG,GAAGC,OAAOH;YAEnET,4LAAAA,EAAYW;QAEZ,2DAA2D;QAC3D,oDAAoD;QACpD,sDAAsD;QACtD,oCAAoC;QACpC,IAAIE,QAAQC,GAAG,CAACC,YAAY,KAAK,OAAQ;YACvC,IAAIL,KAAKM,IAAI,IAAIN,KAAKO,MAAM,KAAK,QAAQ;gBACvCP,KAAKO,MAAM,GAAG;YAChB;QACF;QAEA,IAAIR,iBAAiBF,SAAS,KAAK,CAACE,OAAOC;aACtC,KAAK,CAACC,KAAKD;QAEhB,MAAMQ,UAAU,IAAIpB,8LAAAA,CAAQa,KAAK;YAC/BQ,aAASpB,0MAAAA,EAA0B,IAAI,CAACoB,OAAO;YAC/CC,YAAYV,KAAKU,UAAU;QAC7B;QACA,IAAI,CAAChB,UAAU,GAAG;YAChBiB,SAAS,IAAIlB,mNAAAA,CAAe,IAAI,CAACgB,OAAO;YACxCD;YACAP,KAAKE,QAAQC,GAAG,CAACQ,0BACbX,QAD+C,kBAE/CO,QAAQK,QAAQ;QACtB;IACF;IAEA,CAAClB,OAAOmB,GAAG,CAAC,+BAA+B,GAAG;QAC5C,OAAO;YACLH,SAAS,IAAI,CAACA,OAAO;YACrBH,SAAS,IAAI,CAACA,OAAO;YACrBP,KAAK,IAAI,CAACA,GAAG;YACb,kCAAkC;YAClCc,UAAU,IAAI,CAACA,QAAQ;YACvBC,OAAO,IAAI,CAACA,KAAK;YACjBC,aAAa,IAAI,CAACA,WAAW;YAC7BC,aAAa,IAAI,CAACA,WAAW;YAC7BT,SAASU,OAAOC,WAAW,CAAC,IAAI,CAACX,OAAO;YACxCY,WAAW,IAAI,CAACA,SAAS;YACzBC,WAAW,IAAI,CAACA,SAAS;YACzBC,QAAQ,IAAI,CAACA,MAAM;YACnBC,MAAM,IAAI,CAACA,IAAI;YACfC,UAAU,IAAI,CAACA,QAAQ;YACvBC,UAAU,IAAI,CAACA,QAAQ;YACvBC,gBAAgB,IAAI,CAACA,cAAc;YACnCC,QAAQ,IAAI,CAACA,MAAM;QACrB;IACF;IAEA,IAAWjB,UAAU;QACnB,OAAO,IAAI,CAACjB,UAAU,CAACiB,OAAO;IAChC;IAEA,IAAWH,UAAU;QACnB,OAAO,IAAI,CAACd,UAAU,CAACc,OAAO;IAChC;IAEA;;;;GAIC,GACD,IAAWqB,OAAO;QAChB,MAAM,IAAIrC,iMAAAA;IACZ;IAEA;;;;GAIC,GACD,IAAWsC,KAAK;QACd,MAAM,IAAIvC,+LAAAA;IACZ;IAEA,IAAWU,MAAM;QACf,OAAO,IAAI,CAACP,UAAU,CAACO,GAAG;IAC5B;AACF","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 3896, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/base-http/helpers.ts"],"sourcesContent":["import type { BaseNextRequest, BaseNextResponse } from './'\nimport type { NodeNextRequest, NodeNextResponse } from './node'\nimport type { WebNextRequest, WebNextResponse } from './web'\n\n/**\n * This file provides some helpers that should be used in conjunction with\n * explicit environment checks. When combined with the environment checks, it\n * will ensure that the correct typings are used as well as enable code\n * elimination.\n */\n\n/**\n * Type guard to determine if a request is a WebNextRequest. This does not\n * actually check the type of the request, but rather the runtime environment.\n * It's expected that when the runtime environment is the edge runtime, that any\n * base request is a WebNextRequest.\n */\nexport const isWebNextRequest = (req: BaseNextRequest): req is WebNextRequest =>\n process.env.NEXT_RUNTIME === 'edge'\n\n/**\n * Type guard to determine if a response is a WebNextResponse. This does not\n * actually check the type of the response, but rather the runtime environment.\n * It's expected that when the runtime environment is the edge runtime, that any\n * base response is a WebNextResponse.\n */\nexport const isWebNextResponse = (\n res: BaseNextResponse\n): res is WebNextResponse => process.env.NEXT_RUNTIME === 'edge'\n\n/**\n * Type guard to determine if a request is a NodeNextRequest. This does not\n * actually check the type of the request, but rather the runtime environment.\n * It's expected that when the runtime environment is the node runtime, that any\n * base request is a NodeNextRequest.\n */\nexport const isNodeNextRequest = (\n req: BaseNextRequest\n): req is NodeNextRequest => process.env.NEXT_RUNTIME !== 'edge'\n\n/**\n * Type guard to determine if a response is a NodeNextResponse. This does not\n * actually check the type of the response, but rather the runtime environment.\n * It's expected that when the runtime environment is the node runtime, that any\n * base response is a NodeNextResponse.\n */\nexport const isNodeNextResponse = (\n res: BaseNextResponse\n): res is NodeNextResponse => process.env.NEXT_RUNTIME !== 'edge'\n"],"names":["isWebNextRequest","req","process","env","NEXT_RUNTIME","isWebNextResponse","res","isNodeNextRequest","isNodeNextResponse"],"mappings":"AAIA;;;;;CAKC,GAED;;;;;CAKC,GACD;;;;;;;;;;AAAO,MAAMA,mBAAmB,CAACC,MAC/BC,QAAQC,GAAG,CAACC,YAAY,uBAAK,OAAM;AAQ9B,MAAMC,oBAAoB,CAC/BC,MAC2BJ,QAAQC,GAAG,CAACC,YAAY,uBAAK,OAAM;AAQzD,MAAMG,oBAAoB,CAC/BN,MAC2BC,QAAQC,GAAG,CAACC,YAAY,uBAAK,OAAM;AAQzD,MAAMI,qBAAqB,CAChCF,MAC4BJ,QAAQC,GAAG,CAACC,YAAY,uBAAK,OAAM","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 3924, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/web/spec-extension/adapters/next-request.ts"],"sourcesContent":["import type { BaseNextRequest } from '../../../base-http'\nimport type { NodeNextRequest } from '../../../base-http/node'\nimport type { WebNextRequest } from '../../../base-http/web'\nimport type { Writable } from 'node:stream'\n\nimport { getRequestMeta } from '../../../request-meta'\nimport { fromNodeOutgoingHttpHeaders } from '../../utils'\nimport { NextRequest } from '../request'\nimport { isNodeNextRequest, isWebNextRequest } from '../../../base-http/helpers'\n\nexport const ResponseAbortedName = 'ResponseAborted'\nexport class ResponseAborted extends Error {\n public readonly name = ResponseAbortedName\n}\n\n/**\n * Creates an AbortController tied to the closing of a ServerResponse (or other\n * appropriate Writable).\n *\n * If the `close` event is fired before the `finish` event, then we'll send the\n * `abort` signal.\n */\nexport function createAbortController(response: Writable): AbortController {\n const controller = new AbortController()\n\n // If `finish` fires first, then `res.end()` has been called and the close is\n // just us finishing the stream on our side. If `close` fires first, then we\n // know the client disconnected before we finished.\n response.once('close', () => {\n if (response.writableFinished) return\n\n controller.abort(new ResponseAborted())\n })\n\n return controller\n}\n\n/**\n * Creates an AbortSignal tied to the closing of a ServerResponse (or other\n * appropriate Writable).\n *\n * This cannot be done with the request (IncomingMessage or Readable) because\n * the `abort` event will not fire if to data has been fully read (because that\n * will \"close\" the readable stream and nothing fires after that).\n */\nexport function signalFromNodeResponse(response: Writable): AbortSignal {\n const { errored, destroyed } = response\n if (errored || destroyed) {\n return AbortSignal.abort(errored ?? new ResponseAborted())\n }\n\n const { signal } = createAbortController(response)\n return signal\n}\n\nexport class NextRequestAdapter {\n public static fromBaseNextRequest(\n request: BaseNextRequest,\n signal: AbortSignal\n ): NextRequest {\n if (\n // The type check here ensures that `req` is correctly typed, and the\n // environment variable check provides dead code elimination.\n process.env.NEXT_RUNTIME === 'edge' &&\n isWebNextRequest(request)\n ) {\n return NextRequestAdapter.fromWebNextRequest(request)\n } else if (\n // The type check here ensures that `req` is correctly typed, and the\n // environment variable check provides dead code elimination.\n process.env.NEXT_RUNTIME !== 'edge' &&\n isNodeNextRequest(request)\n ) {\n return NextRequestAdapter.fromNodeNextRequest(request, signal)\n } else {\n throw new Error('Invariant: Unsupported NextRequest type')\n }\n }\n\n public static fromNodeNextRequest(\n request: NodeNextRequest,\n signal: AbortSignal\n ): NextRequest {\n // HEAD and GET requests can not have a body.\n let body: BodyInit | null = null\n if (request.method !== 'GET' && request.method !== 'HEAD' && request.body) {\n // @ts-expect-error - this is handled by undici, when streams/web land use it instead\n body = request.body\n }\n\n let url: URL\n if (request.url.startsWith('http')) {\n url = new URL(request.url)\n } else {\n // Grab the full URL from the request metadata.\n const base = getRequestMeta(request, 'initURL')\n if (!base || !base.startsWith('http')) {\n // Because the URL construction relies on the fact that the URL provided\n // is absolute, we need to provide a base URL. We can't use the request\n // URL because it's relative, so we use a dummy URL instead.\n url = new URL(request.url, 'http://n')\n } else {\n url = new URL(request.url, base)\n }\n }\n\n return new NextRequest(url, {\n method: request.method,\n headers: fromNodeOutgoingHttpHeaders(request.headers),\n duplex: 'half',\n signal,\n // geo\n // ip\n // nextConfig\n\n // body can not be passed if request was aborted\n // or we get a Request body was disturbed error\n ...(signal.aborted\n ? {}\n : {\n body,\n }),\n })\n }\n\n public static fromWebNextRequest(request: WebNextRequest): NextRequest {\n // HEAD and GET requests can not have a body.\n let body: ReadableStream | null = null\n if (request.method !== 'GET' && request.method !== 'HEAD') {\n body = request.body\n }\n\n return new NextRequest(request.url, {\n method: request.method,\n headers: fromNodeOutgoingHttpHeaders(request.headers),\n duplex: 'half',\n signal: request.request.signal,\n // geo\n // ip\n // nextConfig\n\n // body can not be passed if request was aborted\n // or we get a Request body was disturbed error\n ...(request.request.signal.aborted\n ? {}\n : {\n body,\n }),\n })\n }\n}\n"],"names":["getRequestMeta","fromNodeOutgoingHttpHeaders","NextRequest","isNodeNextRequest","isWebNextRequest","ResponseAbortedName","ResponseAborted","Error","name","createAbortController","response","controller","AbortController","once","writableFinished","abort","signalFromNodeResponse","errored","destroyed","AbortSignal","signal","NextRequestAdapter","fromBaseNextRequest","request","process","env","NEXT_RUNTIME","fromWebNextRequest","fromNodeNextRequest","body","method","url","startsWith","URL","base","headers","duplex","aborted"],"mappings":"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","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 4048, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/client-component-renderer-logger.ts"],"sourcesContent":["import type { AppPageModule } from './route-modules/app-page/module'\n\n// Combined load times for loading client components\nlet clientComponentLoadStart = 0\nlet clientComponentLoadTimes = 0\nlet clientComponentLoadCount = 0\n\nexport function wrapClientComponentLoader(\n ComponentMod: AppPageModule\n): AppPageModule['__next_app__'] {\n if (!('performance' in globalThis)) {\n return ComponentMod.__next_app__\n }\n\n return {\n require: (...args) => {\n const startTime = performance.now()\n\n if (clientComponentLoadStart === 0) {\n clientComponentLoadStart = startTime\n }\n\n try {\n clientComponentLoadCount += 1\n return ComponentMod.__next_app__.require(...args)\n } finally {\n clientComponentLoadTimes += performance.now() - startTime\n }\n },\n loadChunk: (...args) => {\n const startTime = performance.now()\n const result = ComponentMod.__next_app__.loadChunk(...args)\n // Avoid wrapping `loadChunk`'s result in an extra promise in case something like React depends on its identity.\n // We only need to know when it's settled.\n result.finally(() => {\n clientComponentLoadTimes += performance.now() - startTime\n })\n return result\n },\n }\n}\n\nexport function getClientComponentLoaderMetrics(\n options: { reset?: boolean } = {}\n) {\n const metrics =\n clientComponentLoadStart === 0\n ? undefined\n : {\n clientComponentLoadStart,\n clientComponentLoadTimes,\n clientComponentLoadCount,\n }\n\n if (options.reset) {\n clientComponentLoadStart = 0\n clientComponentLoadTimes = 0\n clientComponentLoadCount = 0\n }\n\n return metrics\n}\n"],"names":["clientComponentLoadStart","clientComponentLoadTimes","clientComponentLoadCount","wrapClientComponentLoader","ComponentMod","globalThis","__next_app__","require","args","startTime","performance","now","loadChunk","result","finally","getClientComponentLoaderMetrics","options","metrics","undefined","reset"],"mappings":"AAEA,oDAAoD;;;;;;;AACpD,IAAIA,2BAA2B;AAC/B,IAAIC,2BAA2B;AAC/B,IAAIC,2BAA2B;AAExB,SAASC,0BACdC,YAA2B;IAE3B,IAAI,CAAE,CAAA,iBAAiBC,UAAS,GAAI;QAClC,OAAOD,aAAaE,YAAY;IAClC;IAEA,OAAO;QACLC,SAAS,CAAC,GAAGC;YACX,MAAMC,YAAYC,YAAYC,GAAG;YAEjC,IAAIX,6BAA6B,GAAG;gBAClCA,2BAA2BS;YAC7B;YAEA,IAAI;gBACFP,4BAA4B;gBAC5B,OAAOE,aAAaE,YAAY,CAACC,OAAO,IAAIC;YAC9C,SAAU;gBACRP,4BAA4BS,YAAYC,GAAG,KAAKF;YAClD;QACF;QACAG,WAAW,CAAC,GAAGJ;YACb,MAAMC,YAAYC,YAAYC,GAAG;YACjC,MAAME,SAAST,aAAaE,YAAY,CAACM,SAAS,IAAIJ;YACtD,gHAAgH;YAChH,0CAA0C;YAC1CK,OAAOC,OAAO,CAAC;gBACbb,4BAA4BS,YAAYC,GAAG,KAAKF;YAClD;YACA,OAAOI;QACT;IACF;AACF;AAEO,SAASE,gCACdC,UAA+B,CAAC,CAAC;IAEjC,MAAMC,UACJjB,6BAA6B,IACzBkB,YACA;QACElB;QACAC;QACAC;IACF;IAEN,IAAIc,QAAQG,KAAK,EAAE;QACjBnB,2BAA2B;QAC3BC,2BAA2B;QAC3BC,2BAA2B;IAC7B;IAEA,OAAOe;AACT","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 4104, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/pipe-readable.ts"],"sourcesContent":["import type { ServerResponse } from 'node:http'\n\nimport {\n ResponseAbortedName,\n createAbortController,\n} from './web/spec-extension/adapters/next-request'\nimport { DetachedPromise } from '../lib/detached-promise'\nimport { getTracer } from './lib/trace/tracer'\nimport { NextNodeServerSpan } from './lib/trace/constants'\nimport { getClientComponentLoaderMetrics } from './client-component-renderer-logger'\n\nexport function isAbortError(e: any): e is Error & { name: 'AbortError' } {\n return e?.name === 'AbortError' || e?.name === ResponseAbortedName\n}\n\nfunction createWriterFromResponse(\n res: ServerResponse,\n waitUntilForEnd?: Promise\n): WritableStream {\n let started = false\n\n // Create a promise that will resolve once the response has drained. See\n // https://nodejs.org/api/stream.html#stream_event_drain\n let drained = new DetachedPromise()\n function onDrain() {\n drained.resolve()\n }\n res.on('drain', onDrain)\n\n // If the finish event fires, it means we shouldn't block and wait for the\n // drain event.\n res.once('close', () => {\n res.off('drain', onDrain)\n drained.resolve()\n })\n\n // Create a promise that will resolve once the response has finished. See\n // https://nodejs.org/api/http.html#event-finish_1\n const finished = new DetachedPromise()\n res.once('finish', () => {\n finished.resolve()\n })\n\n // Create a writable stream that will write to the response.\n return new WritableStream({\n write: async (chunk) => {\n // You'd think we'd want to use `start` instead of placing this in `write`\n // but this ensures that we don't actually flush the headers until we've\n // started writing chunks.\n if (!started) {\n started = true\n\n if (\n 'performance' in globalThis &&\n process.env.NEXT_OTEL_PERFORMANCE_PREFIX\n ) {\n const metrics = getClientComponentLoaderMetrics()\n if (metrics) {\n performance.measure(\n `${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,\n {\n start: metrics.clientComponentLoadStart,\n end:\n metrics.clientComponentLoadStart +\n metrics.clientComponentLoadTimes,\n }\n )\n }\n }\n\n res.flushHeaders()\n getTracer().trace(\n NextNodeServerSpan.startResponse,\n {\n spanName: 'start response',\n },\n () => undefined\n )\n }\n\n try {\n const ok = res.write(chunk)\n\n // Added by the `compression` middleware, this is a function that will\n // flush the partially-compressed response to the client.\n if ('flush' in res && typeof res.flush === 'function') {\n res.flush()\n }\n\n // If the write returns false, it means there's some backpressure, so\n // wait until it's streamed before continuing.\n if (!ok) {\n await drained.promise\n\n // Reset the drained promise so that we can wait for the next drain event.\n drained = new DetachedPromise()\n }\n } catch (err) {\n res.end()\n throw new Error('failed to write chunk to response', { cause: err })\n }\n },\n abort: (err) => {\n if (res.writableFinished) return\n\n res.destroy(err)\n },\n close: async () => {\n // if a waitUntil promise was passed, wait for it to resolve before\n // ending the response.\n if (waitUntilForEnd) {\n await waitUntilForEnd\n }\n\n if (res.writableFinished) return\n\n res.end()\n return finished.promise\n },\n })\n}\n\nexport async function pipeToNodeResponse(\n readable: ReadableStream,\n res: ServerResponse,\n waitUntilForEnd?: Promise\n) {\n try {\n // If the response has already errored, then just return now.\n const { errored, destroyed } = res\n if (errored || destroyed) return\n\n // Create a new AbortController so that we can abort the readable if the\n // client disconnects.\n const controller = createAbortController(res)\n\n const writer = createWriterFromResponse(res, waitUntilForEnd)\n\n await readable.pipeTo(writer, { signal: controller.signal })\n } catch (err: any) {\n // If this isn't related to an abort error, re-throw it.\n if (isAbortError(err)) return\n\n throw new Error('failed to pipe response', { cause: err })\n }\n}\n"],"names":["ResponseAbortedName","createAbortController","DetachedPromise","getTracer","NextNodeServerSpan","getClientComponentLoaderMetrics","isAbortError","e","name","createWriterFromResponse","res","waitUntilForEnd","started","drained","onDrain","resolve","on","once","off","finished","WritableStream","write","chunk","globalThis","process","env","NEXT_OTEL_PERFORMANCE_PREFIX","metrics","performance","measure","start","clientComponentLoadStart","end","clientComponentLoadTimes","flushHeaders","trace","startResponse","spanName","undefined","ok","flush","promise","err","Error","cause","abort","writableFinished","destroy","close","pipeToNodeResponse","readable","errored","destroyed","controller","writer","pipeTo","signal"],"mappings":"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","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 4235, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/shared/lib/invariant-error.ts"],"sourcesContent":["export class InvariantError extends Error {\n constructor(message: string, options?: ErrorOptions) {\n super(\n `Invariant: ${message.endsWith('.') ? message : message + '.'} This is a bug in Next.js.`,\n options\n )\n this.name = 'InvariantError'\n }\n}\n"],"names":["InvariantError","Error","constructor","message","options","endsWith","name"],"mappings":";;;;AAAO,MAAMA,uBAAuBC;IAClCC,YAAYC,OAAe,EAAEC,OAAsB,CAAE;QACnD,KAAK,CACH,CAAC,WAAW,EAAED,QAAQE,QAAQ,CAAC,OAAOF,UAAUA,UAAU,IAAI,0BAA0B,CAAC,EACzFC;QAEF,IAAI,CAACE,IAAI,GAAG;IACd;AACF","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 4249, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/render-result.ts"],"sourcesContent":["import type { OutgoingHttpHeaders, ServerResponse } from 'http'\nimport type { CacheControl } from './lib/cache-control'\nimport type { FetchMetrics } from './base-http'\n\nimport {\n chainStreams,\n streamFromBuffer,\n streamFromString,\n streamToString,\n} from './stream-utils/node-web-streams-helper'\nimport { isAbortError, pipeToNodeResponse } from './pipe-readable'\nimport type { RenderResumeDataCache } from './resume-data-cache/resume-data-cache'\nimport { InvariantError } from '../shared/lib/invariant-error'\nimport type {\n HTML_CONTENT_TYPE_HEADER,\n JSON_CONTENT_TYPE_HEADER,\n TEXT_PLAIN_CONTENT_TYPE_HEADER,\n} from '../lib/constants'\nimport type { RSC_CONTENT_TYPE_HEADER } from '../client/components/app-router-headers'\n\ntype ContentTypeOption =\n | typeof RSC_CONTENT_TYPE_HEADER // For App Page RSC responses\n | typeof HTML_CONTENT_TYPE_HEADER // For App Page, Pages HTML responses\n | typeof JSON_CONTENT_TYPE_HEADER // For API routes, Next.js data requests\n | typeof TEXT_PLAIN_CONTENT_TYPE_HEADER // For simplified errors\n\nexport type AppPageRenderResultMetadata = {\n flightData?: Buffer\n cacheControl?: CacheControl\n staticBailoutInfo?: {\n stack?: string\n description?: string\n }\n\n /**\n * The postponed state if the render had postponed and needs to be resumed.\n */\n postponed?: string\n\n /**\n * The headers to set on the response that were added by the render.\n */\n headers?: OutgoingHttpHeaders\n statusCode?: number\n fetchTags?: string\n fetchMetrics?: FetchMetrics\n\n segmentData?: Map\n\n /**\n * In development, the resume data cache is warmed up before the render. This\n * is attached to the metadata so that it can be used during the render. When\n * prerendering, the filled resume data cache is also attached to the metadata\n * so that it can be used when prerendering matching fallback shells.\n */\n renderResumeDataCache?: RenderResumeDataCache\n}\n\nexport type PagesRenderResultMetadata = {\n pageData?: any\n cacheControl?: CacheControl\n assetQueryString?: string\n isNotFound?: boolean\n isRedirect?: boolean\n}\n\nexport type StaticRenderResultMetadata = {}\n\nexport type RenderResultMetadata = AppPageRenderResultMetadata &\n PagesRenderResultMetadata &\n StaticRenderResultMetadata\n\nexport type RenderResultResponse =\n | ReadableStream[]\n | ReadableStream\n | string\n | Buffer\n | null\n\nexport type RenderResultOptions<\n Metadata extends RenderResultMetadata = RenderResultMetadata,\n> = {\n contentType: ContentTypeOption | null\n waitUntil?: Promise\n metadata: Metadata\n}\n\nexport default class RenderResult<\n Metadata extends RenderResultMetadata = RenderResultMetadata,\n> {\n /**\n * The detected content type for the response. This is used to set the\n * `Content-Type` header.\n */\n public readonly contentType: ContentTypeOption | null\n\n /**\n * The metadata for the response. This is used to set the revalidation times\n * and other metadata.\n */\n public readonly metadata: Readonly\n\n /**\n * The response itself. This can be a string, a stream, or null. If it's a\n * string, then it's a static response. If it's a stream, then it's a\n * dynamic response. If it's null, then the response was not found or was\n * already sent.\n */\n private response: RenderResultResponse\n\n /**\n * A render result that represents an empty response. This is used to\n * represent a response that was not found or was already sent.\n */\n public static readonly EMPTY = new RenderResult(\n null,\n { metadata: {}, contentType: null }\n )\n\n /**\n * Creates a new RenderResult instance from a static response.\n *\n * @param value the static response value\n * @param contentType the content type of the response\n * @returns a new RenderResult instance\n */\n public static fromStatic(\n value: string | Buffer,\n contentType: ContentTypeOption\n ) {\n return new RenderResult(value, {\n metadata: {},\n contentType,\n })\n }\n\n private readonly waitUntil?: Promise\n\n constructor(\n response: RenderResultResponse,\n { contentType, waitUntil, metadata }: RenderResultOptions\n ) {\n this.response = response\n this.contentType = contentType\n this.metadata = metadata\n this.waitUntil = waitUntil\n }\n\n public assignMetadata(metadata: Metadata) {\n Object.assign(this.metadata, metadata)\n }\n\n /**\n * Returns true if the response is null. It can be null if the response was\n * not found or was already sent.\n */\n public get isNull(): boolean {\n return this.response === null\n }\n\n /**\n * Returns false if the response is a string. It can be a string if the page\n * was prerendered. If it's not, then it was generated dynamically.\n */\n public get isDynamic(): boolean {\n return typeof this.response !== 'string'\n }\n\n /**\n * Returns the response if it is a string. If the page was dynamic, this will\n * return a promise if the `stream` option is true, or it will throw an error.\n *\n * @param stream Whether or not to return a promise if the response is dynamic\n * @returns The response as a string\n */\n public toUnchunkedString(stream?: false): string\n public toUnchunkedString(stream: true): Promise\n public toUnchunkedString(stream = false): Promise | string {\n if (this.response === null) {\n // If the response is null, return an empty string. This behavior is\n // intentional as we're now providing the `RenderResult.EMPTY` value.\n return ''\n }\n\n if (typeof this.response !== 'string') {\n if (!stream) {\n throw new InvariantError(\n 'dynamic responses cannot be unchunked. This is a bug in Next.js'\n )\n }\n\n return streamToString(this.readable)\n }\n\n return this.response\n }\n\n /**\n * Returns a readable stream of the response.\n */\n private get readable(): ReadableStream {\n if (this.response === null) {\n // If the response is null, return an empty stream. This behavior is\n // intentional as we're now providing the `RenderResult.EMPTY` value.\n return new ReadableStream({\n start(controller) {\n controller.close()\n },\n })\n }\n\n if (typeof this.response === 'string') {\n return streamFromString(this.response)\n }\n\n if (Buffer.isBuffer(this.response)) {\n return streamFromBuffer(this.response)\n }\n\n // If the response is an array of streams, then chain them together.\n if (Array.isArray(this.response)) {\n return chainStreams(...this.response)\n }\n\n return this.response\n }\n\n /**\n * Coerces the response to an array of streams. This will convert the response\n * to an array of streams if it is not already one.\n *\n * @returns An array of streams\n */\n private coerce(): ReadableStream[] {\n if (this.response === null) {\n // If the response is null, return an empty stream. This behavior is\n // intentional as we're now providing the `RenderResult.EMPTY` value.\n return []\n }\n\n if (typeof this.response === 'string') {\n return [streamFromString(this.response)]\n } else if (Array.isArray(this.response)) {\n return this.response\n } else if (Buffer.isBuffer(this.response)) {\n return [streamFromBuffer(this.response)]\n } else {\n return [this.response]\n }\n }\n\n /**\n * Unshifts a new stream to the response. This will convert the response to an\n * array of streams if it is not already one and will add the new stream to\n * the start of the array. When this response is piped, all of the streams\n * will be piped one after the other.\n *\n * @param readable The new stream to unshift\n */\n public unshift(readable: ReadableStream): void {\n // Coerce the response to an array of streams.\n this.response = this.coerce()\n\n // Add the new stream to the start of the array.\n this.response.unshift(readable)\n }\n\n /**\n * Chains a new stream to the response. This will convert the response to an\n * array of streams if it is not already one and will add the new stream to\n * the end. When this response is piped, all of the streams will be piped\n * one after the other.\n *\n * @param readable The new stream to chain\n */\n public push(readable: ReadableStream): void {\n // Coerce the response to an array of streams.\n this.response = this.coerce()\n\n // Add the new stream to the end of the array.\n this.response.push(readable)\n }\n\n /**\n * Pipes the response to a writable stream. This will close/cancel the\n * writable stream if an error is encountered. If this doesn't throw, then\n * the writable stream will be closed or aborted.\n *\n * @param writable Writable stream to pipe the response to\n */\n public async pipeTo(writable: WritableStream): Promise {\n try {\n await this.readable.pipeTo(writable, {\n // We want to close the writable stream ourselves so that we can wait\n // for the waitUntil promise to resolve before closing it. If an error\n // is encountered, we'll abort the writable stream if we swallowed the\n // error.\n preventClose: true,\n })\n\n // If there is a waitUntil promise, wait for it to resolve before\n // closing the writable stream.\n if (this.waitUntil) await this.waitUntil\n\n // Close the writable stream.\n await writable.close()\n } catch (err) {\n // If this is an abort error, we should abort the writable stream (as we\n // took ownership of it when we started piping). We don't need to re-throw\n // because we handled the error.\n if (isAbortError(err)) {\n // Abort the writable stream if an error is encountered.\n await writable.abort(err)\n\n return\n }\n\n // We're not aborting the writer here as when this method throws it's not\n // clear as to how so the caller should assume it's their responsibility\n // to clean up the writer.\n throw err\n }\n }\n\n /**\n * Pipes the response to a node response. This will close/cancel the node\n * response if an error is encountered.\n *\n * @param res\n */\n public async pipeToNodeResponse(res: ServerResponse) {\n await pipeToNodeResponse(this.readable, res, this.waitUntil)\n }\n}\n"],"names":["chainStreams","streamFromBuffer","streamFromString","streamToString","isAbortError","pipeToNodeResponse","InvariantError","RenderResult","EMPTY","metadata","contentType","fromStatic","value","constructor","response","waitUntil","assignMetadata","Object","assign","isNull","isDynamic","toUnchunkedString","stream","readable","ReadableStream","start","controller","close","Buffer","isBuffer","Array","isArray","coerce","unshift","push","pipeTo","writable","preventClose","err","abort","res"],"mappings":"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","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 4443, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/response-cache/utils.ts"],"sourcesContent":["import {\n CachedRouteKind,\n IncrementalCacheKind,\n type CachedAppPageValue,\n type CachedPageValue,\n type IncrementalResponseCacheEntry,\n type ResponseCacheEntry,\n} from './types'\n\nimport RenderResult from '../render-result'\nimport { RouteKind } from '../route-kind'\nimport { HTML_CONTENT_TYPE_HEADER } from '../../lib/constants'\n\nexport async function fromResponseCacheEntry(\n cacheEntry: ResponseCacheEntry\n): Promise {\n return {\n ...cacheEntry,\n value:\n cacheEntry.value?.kind === CachedRouteKind.PAGES\n ? {\n kind: CachedRouteKind.PAGES,\n html: await cacheEntry.value.html.toUnchunkedString(true),\n pageData: cacheEntry.value.pageData,\n headers: cacheEntry.value.headers,\n status: cacheEntry.value.status,\n }\n : cacheEntry.value?.kind === CachedRouteKind.APP_PAGE\n ? {\n kind: CachedRouteKind.APP_PAGE,\n html: await cacheEntry.value.html.toUnchunkedString(true),\n postponed: cacheEntry.value.postponed,\n rscData: cacheEntry.value.rscData,\n headers: cacheEntry.value.headers,\n status: cacheEntry.value.status,\n segmentData: cacheEntry.value.segmentData,\n }\n : cacheEntry.value,\n }\n}\n\nexport async function toResponseCacheEntry(\n response: IncrementalResponseCacheEntry | null\n): Promise {\n if (!response) return null\n\n return {\n isMiss: response.isMiss,\n isStale: response.isStale,\n cacheControl: response.cacheControl,\n value:\n response.value?.kind === CachedRouteKind.PAGES\n ? ({\n kind: CachedRouteKind.PAGES,\n html: RenderResult.fromStatic(\n response.value.html,\n HTML_CONTENT_TYPE_HEADER\n ),\n pageData: response.value.pageData,\n headers: response.value.headers,\n status: response.value.status,\n } satisfies CachedPageValue)\n : response.value?.kind === CachedRouteKind.APP_PAGE\n ? ({\n kind: CachedRouteKind.APP_PAGE,\n html: RenderResult.fromStatic(\n response.value.html,\n HTML_CONTENT_TYPE_HEADER\n ),\n rscData: response.value.rscData,\n headers: response.value.headers,\n status: response.value.status,\n postponed: response.value.postponed,\n segmentData: response.value.segmentData,\n } satisfies CachedAppPageValue)\n : response.value,\n }\n}\n\nexport function routeKindToIncrementalCacheKind(\n routeKind: RouteKind\n): Exclude {\n switch (routeKind) {\n case RouteKind.PAGES:\n return IncrementalCacheKind.PAGES\n case RouteKind.APP_PAGE:\n return IncrementalCacheKind.APP_PAGE\n case RouteKind.IMAGE:\n return IncrementalCacheKind.IMAGE\n case RouteKind.APP_ROUTE:\n return IncrementalCacheKind.APP_ROUTE\n case RouteKind.PAGES_API:\n // Pages Router API routes are not cached in the incremental cache.\n throw new Error(`Unexpected route kind ${routeKind}`)\n default:\n return routeKind satisfies never\n }\n}\n"],"names":["CachedRouteKind","IncrementalCacheKind","RenderResult","RouteKind","HTML_CONTENT_TYPE_HEADER","fromResponseCacheEntry","cacheEntry","value","kind","PAGES","html","toUnchunkedString","pageData","headers","status","APP_PAGE","postponed","rscData","segmentData","toResponseCacheEntry","response","isMiss","isStale","cacheControl","fromStatic","routeKindToIncrementalCacheKind","routeKind","IMAGE","APP_ROUTE","PAGES_API","Error"],"mappings":"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","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 4529, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/response-cache/index.ts"],"sourcesContent":["import type {\n ResponseCacheEntry,\n ResponseGenerator,\n ResponseCacheBase,\n IncrementalResponseCacheEntry,\n IncrementalResponseCache,\n} from './types'\n\nimport { Batcher } from '../../lib/batcher'\nimport { scheduleOnNextTick } from '../../lib/scheduler'\nimport {\n fromResponseCacheEntry,\n routeKindToIncrementalCacheKind,\n toResponseCacheEntry,\n} from './utils'\nimport type { RouteKind } from '../route-kind'\n\nexport * from './types'\n\nexport default class ResponseCache implements ResponseCacheBase {\n private readonly getBatcher = Batcher.create<\n { key: string; isOnDemandRevalidate: boolean },\n IncrementalResponseCacheEntry | null,\n string\n >({\n // Ensure on-demand revalidate doesn't block normal requests, it should be\n // safe to run an on-demand revalidate for the same key as a normal request.\n cacheKeyFn: ({ key, isOnDemandRevalidate }) =>\n `${key}-${isOnDemandRevalidate ? '1' : '0'}`,\n // We wait to do any async work until after we've added our promise to\n // `pendingResponses` to ensure that any any other calls will reuse the\n // same promise until we've fully finished our work.\n schedulerFn: scheduleOnNextTick,\n })\n\n private readonly revalidateBatcher = Batcher.create<\n string,\n IncrementalResponseCacheEntry | null\n >({\n // We wait to do any async work until after we've added our promise to\n // `pendingResponses` to ensure that any any other calls will reuse the\n // same promise until we've fully finished our work.\n schedulerFn: scheduleOnNextTick,\n })\n\n private previousCacheItem?: {\n key: string\n entry: IncrementalResponseCacheEntry | null\n expiresAt: number\n }\n\n // we don't use minimal_mode name here as this.minimal_mode is\n // statically replace for server runtimes but we need it to\n // be dynamic here\n private minimal_mode?: boolean\n\n constructor(minimal_mode: boolean) {\n this.minimal_mode = minimal_mode\n }\n\n /**\n * Gets the response cache entry for the given key.\n *\n * @param key - The key to get the response cache entry for.\n * @param responseGenerator - The response generator to use to generate the response cache entry.\n * @param context - The context for the get request.\n * @returns The response cache entry.\n */\n public async get(\n key: string | null,\n responseGenerator: ResponseGenerator,\n context: {\n routeKind: RouteKind\n isOnDemandRevalidate?: boolean\n isPrefetch?: boolean\n incrementalCache: IncrementalResponseCache\n isRoutePPREnabled?: boolean\n isFallback?: boolean\n waitUntil?: (prom: Promise) => void\n }\n ): Promise {\n // If there is no key for the cache, we can't possibly look this up in the\n // cache so just return the result of the response generator.\n if (!key) {\n return responseGenerator({\n hasResolved: false,\n previousCacheEntry: null,\n })\n }\n\n // Check minimal mode cache before doing any other work\n if (\n this.minimal_mode &&\n this.previousCacheItem?.key === key &&\n this.previousCacheItem.expiresAt > Date.now()\n ) {\n return toResponseCacheEntry(this.previousCacheItem.entry)\n }\n\n const {\n incrementalCache,\n isOnDemandRevalidate = false,\n isFallback = false,\n isRoutePPREnabled = false,\n isPrefetch = false,\n waitUntil,\n routeKind,\n } = context\n\n const response = await this.getBatcher.batch(\n { key, isOnDemandRevalidate },\n ({ resolve }) => {\n const promise = this.handleGet(\n key,\n responseGenerator,\n {\n incrementalCache,\n isOnDemandRevalidate,\n isFallback,\n isRoutePPREnabled,\n isPrefetch,\n routeKind,\n },\n resolve\n )\n\n // We need to ensure background revalidates are passed to waitUntil.\n if (waitUntil) waitUntil(promise)\n\n return promise\n }\n )\n\n return toResponseCacheEntry(response)\n }\n\n /**\n * Handles the get request for the response cache.\n *\n * @param key - The key to get the response cache entry for.\n * @param responseGenerator - The response generator to use to generate the response cache entry.\n * @param context - The context for the get request.\n * @param resolve - The resolve function to use to resolve the response cache entry.\n * @returns The response cache entry.\n */\n private async handleGet(\n key: string,\n responseGenerator: ResponseGenerator,\n context: {\n incrementalCache: IncrementalResponseCache\n isOnDemandRevalidate: boolean\n isFallback: boolean\n isRoutePPREnabled: boolean\n isPrefetch: boolean\n routeKind: RouteKind\n },\n resolve: (value: IncrementalResponseCacheEntry | null) => void\n ): Promise {\n let previousIncrementalCacheEntry: IncrementalResponseCacheEntry | null =\n null\n let resolved = false\n\n try {\n // Get the previous cache entry if not in minimal mode\n previousIncrementalCacheEntry = !this.minimal_mode\n ? await context.incrementalCache.get(key, {\n kind: routeKindToIncrementalCacheKind(context.routeKind),\n isRoutePPREnabled: context.isRoutePPREnabled,\n isFallback: context.isFallback,\n })\n : null\n\n if (previousIncrementalCacheEntry && !context.isOnDemandRevalidate) {\n resolve(previousIncrementalCacheEntry)\n resolved = true\n\n if (!previousIncrementalCacheEntry.isStale || context.isPrefetch) {\n // The cached value is still valid, so we don't need to update it yet.\n return previousIncrementalCacheEntry\n }\n }\n\n // Revalidate the cache entry\n const incrementalResponseCacheEntry = await this.revalidate(\n key,\n context.incrementalCache,\n context.isRoutePPREnabled,\n context.isFallback,\n responseGenerator,\n previousIncrementalCacheEntry,\n previousIncrementalCacheEntry !== null && !context.isOnDemandRevalidate\n )\n\n // Handle null response\n if (!incrementalResponseCacheEntry) {\n // Unset the previous cache item if it was set so we don't use it again.\n if (this.minimal_mode) this.previousCacheItem = undefined\n return null\n }\n\n // Resolve for on-demand revalidation or if not already resolved\n if (context.isOnDemandRevalidate && !resolved) {\n return incrementalResponseCacheEntry\n }\n\n return incrementalResponseCacheEntry\n } catch (err) {\n // If we've already resolved the cache entry, we can't reject as we\n // already resolved the cache entry so log the error here.\n if (resolved) {\n console.error(err)\n return null\n }\n\n throw err\n }\n }\n\n /**\n * Revalidates the cache entry for the given key.\n *\n * @param key - The key to revalidate the cache entry for.\n * @param incrementalCache - The incremental cache to use to revalidate the cache entry.\n * @param isRoutePPREnabled - Whether the route is PPR enabled.\n * @param isFallback - Whether the route is a fallback.\n * @param responseGenerator - The response generator to use to generate the response cache entry.\n * @param previousIncrementalCacheEntry - The previous cache entry to use to revalidate the cache entry.\n * @param hasResolved - Whether the response has been resolved.\n * @returns The revalidated cache entry.\n */\n public async revalidate(\n key: string,\n incrementalCache: IncrementalResponseCache,\n isRoutePPREnabled: boolean,\n isFallback: boolean,\n responseGenerator: ResponseGenerator,\n previousIncrementalCacheEntry: IncrementalResponseCacheEntry | null,\n hasResolved: boolean,\n waitUntil?: (prom: Promise) => void\n ) {\n return this.revalidateBatcher.batch(key, () => {\n const promise = this.handleRevalidate(\n key,\n incrementalCache,\n isRoutePPREnabled,\n isFallback,\n responseGenerator,\n previousIncrementalCacheEntry,\n hasResolved\n )\n\n // We need to ensure background revalidates are passed to waitUntil.\n if (waitUntil) waitUntil(promise)\n\n return promise\n })\n }\n\n private async handleRevalidate(\n key: string,\n incrementalCache: IncrementalResponseCache,\n isRoutePPREnabled: boolean,\n isFallback: boolean,\n responseGenerator: ResponseGenerator,\n previousIncrementalCacheEntry: IncrementalResponseCacheEntry | null,\n hasResolved: boolean\n ) {\n try {\n // Generate the response cache entry using the response generator.\n const responseCacheEntry = await responseGenerator({\n hasResolved,\n previousCacheEntry: previousIncrementalCacheEntry,\n isRevalidating: true,\n })\n if (!responseCacheEntry) {\n return null\n }\n\n // Convert the response cache entry to an incremental response cache entry.\n const incrementalResponseCacheEntry = await fromResponseCacheEntry({\n ...responseCacheEntry,\n isMiss: !previousIncrementalCacheEntry,\n })\n\n // We want to persist the result only if it has a cache control value\n // defined.\n if (incrementalResponseCacheEntry.cacheControl) {\n if (this.minimal_mode) {\n this.previousCacheItem = {\n key,\n entry: incrementalResponseCacheEntry,\n expiresAt: Date.now() + 1000,\n }\n } else {\n await incrementalCache.set(key, incrementalResponseCacheEntry.value, {\n cacheControl: incrementalResponseCacheEntry.cacheControl,\n isRoutePPREnabled,\n isFallback,\n })\n }\n }\n\n return incrementalResponseCacheEntry\n } catch (err) {\n // When a path is erroring we automatically re-set the existing cache\n // with new revalidate and expire times to prevent non-stop retrying.\n if (previousIncrementalCacheEntry?.cacheControl) {\n const revalidate = Math.min(\n Math.max(\n previousIncrementalCacheEntry.cacheControl.revalidate || 3,\n 3\n ),\n 30\n )\n const expire =\n previousIncrementalCacheEntry.cacheControl.expire === undefined\n ? undefined\n : Math.max(\n revalidate + 3,\n previousIncrementalCacheEntry.cacheControl.expire\n )\n\n await incrementalCache.set(key, previousIncrementalCacheEntry.value, {\n cacheControl: { revalidate: revalidate, expire: expire },\n isRoutePPREnabled,\n isFallback,\n })\n }\n\n // We haven't resolved yet, so let's throw to indicate an error.\n throw err\n }\n }\n}\n"],"names":["Batcher","scheduleOnNextTick","fromResponseCacheEntry","routeKindToIncrementalCacheKind","toResponseCacheEntry","ResponseCache","constructor","minimal_mode","getBatcher","create","cacheKeyFn","key","isOnDemandRevalidate","schedulerFn","revalidateBatcher","get","responseGenerator","context","hasResolved","previousCacheEntry","previousCacheItem","expiresAt","Date","now","entry","incrementalCache","isFallback","isRoutePPREnabled","isPrefetch","waitUntil","routeKind","response","batch","resolve","promise","handleGet","previousIncrementalCacheEntry","resolved","kind","isStale","incrementalResponseCacheEntry","revalidate","undefined","err","console","error","handleRevalidate","responseCacheEntry","isRevalidating","isMiss","cacheControl","set","value","Math","min","max","expire"],"mappings":";;;;AAQA,SAASA,OAAO,QAAQ,oBAAmB;AAC3C,SAASC,kBAAkB,QAAQ,sBAAqB;AACxD,SACEC,sBAAsB,EACtBC,+BAA+B,EAC/BC,oBAAoB,QACf,UAAS;AAGhB,cAAc,UAAS;;;;;AAER,MAAMC;IAqCnBC,YAAYC,YAAqB,CAAE;aApClBC,UAAAA,GAAaR,gLAAAA,CAAQS,MAAM,CAI1C;YACA,0EAA0E;YAC1E,4EAA4E;YAC5EC,YAAY,CAAC,EAAEC,GAAG,EAAEC,oBAAoB,EAAE,GACxC,GAAGD,IAAI,CAAC,EAAEC,uBAAuB,MAAM,KAAK;YAC9C,sEAAsE;YACtE,uEAAuE;YACvE,oDAAoD;YACpDC,aAAaZ,6LAAAA;QACf;aAEiBa,iBAAAA,GAAoBd,gLAAAA,CAAQS,MAAM,CAGjD;YACA,sEAAsE;YACtE,uEAAuE;YACvE,oDAAoD;YACpDI,aAAaZ,6LAAAA;QACf;QAcE,IAAI,CAACM,YAAY,GAAGA;IACtB;IAEA;;;;;;;GAOC,GACD,MAAaQ,IACXJ,GAAkB,EAClBK,iBAAoC,EACpCC,OAQC,EACmC;YAalC;QAZF,0EAA0E;QAC1E,6DAA6D;QAC7D,IAAI,CAACN,KAAK;YACR,OAAOK,kBAAkB;gBACvBE,aAAa;gBACbC,oBAAoB;YACtB;QACF;QAEA,uDAAuD;QACvD,IACE,IAAI,CAACZ,YAAY,IACjB,CAAA,CAAA,0BAAA,IAAI,CAACa,iBAAiB,KAAA,OAAA,KAAA,IAAtB,wBAAwBT,GAAG,MAAKA,OAChC,IAAI,CAACS,iBAAiB,CAACC,SAAS,GAAGC,KAAKC,GAAG,IAC3C;YACA,WAAOnB,mNAAAA,EAAqB,IAAI,CAACgB,iBAAiB,CAACI,KAAK;QAC1D;QAEA,MAAM,EACJC,gBAAgB,EAChBb,uBAAuB,KAAK,EAC5Bc,aAAa,KAAK,EAClBC,oBAAoB,KAAK,EACzBC,aAAa,KAAK,EAClBC,SAAS,EACTC,SAAS,EACV,GAAGb;QAEJ,MAAMc,WAAW,MAAM,IAAI,CAACvB,UAAU,CAACwB,KAAK,CAC1C;YAAErB;YAAKC;QAAqB,GAC5B,CAAC,EAAEqB,OAAO,EAAE;YACV,MAAMC,UAAU,IAAI,CAACC,SAAS,CAC5BxB,KACAK,mBACA;gBACES;gBACAb;gBACAc;gBACAC;gBACAC;gBACAE;YACF,GACAG;YAGF,oEAAoE;YACpE,IAAIJ,WAAWA,UAAUK;YAEzB,OAAOA;QACT;QAGF,WAAO9B,mNAAAA,EAAqB2B;IAC9B;IAEA;;;;;;;;GAQC,GACD,MAAcI,UACZxB,GAAW,EACXK,iBAAoC,EACpCC,OAOC,EACDgB,OAA8D,EACf;QAC/C,IAAIG,gCACF;QACF,IAAIC,WAAW;QAEf,IAAI;YACF,sDAAsD;YACtDD,gCAAgC,CAAC,IAAI,CAAC7B,YAAY,GAC9C,MAAMU,QAAQQ,gBAAgB,CAACV,GAAG,CAACJ,KAAK;gBACtC2B,UAAMnC,8NAAAA,EAAgCc,QAAQa,SAAS;gBACvDH,mBAAmBV,QAAQU,iBAAiB;gBAC5CD,YAAYT,QAAQS,UAAU;YAChC,KACA;YAEJ,IAAIU,iCAAiC,CAACnB,QAAQL,oBAAoB,EAAE;gBAClEqB,QAAQG;gBACRC,WAAW;gBAEX,IAAI,CAACD,8BAA8BG,OAAO,IAAItB,QAAQW,UAAU,EAAE;oBAChE,sEAAsE;oBACtE,OAAOQ;gBACT;YACF;YAEA,6BAA6B;YAC7B,MAAMI,gCAAgC,MAAM,IAAI,CAACC,UAAU,CACzD9B,KACAM,QAAQQ,gBAAgB,EACxBR,QAAQU,iBAAiB,EACzBV,QAAQS,UAAU,EAClBV,mBACAoB,+BACAA,kCAAkC,QAAQ,CAACnB,QAAQL,oBAAoB;YAGzE,uBAAuB;YACvB,IAAI,CAAC4B,+BAA+B;gBAClC,wEAAwE;gBACxE,IAAI,IAAI,CAACjC,YAAY,EAAE,IAAI,CAACa,iBAAiB,GAAGsB;gBAChD,OAAO;YACT;YAEA,gEAAgE;YAChE,IAAIzB,QAAQL,oBAAoB,IAAI,CAACyB,UAAU;gBAC7C,OAAOG;YACT;YAEA,OAAOA;QACT,EAAE,OAAOG,KAAK;YACZ,mEAAmE;YACnE,0DAA0D;YAC1D,IAAIN,UAAU;gBACZO,QAAQC,KAAK,CAACF;gBACd,OAAO;YACT;YAEA,MAAMA;QACR;IACF;IAEA;;;;;;;;;;;GAWC,GACD,MAAaF,WACX9B,GAAW,EACXc,gBAA0C,EAC1CE,iBAA0B,EAC1BD,UAAmB,EACnBV,iBAAoC,EACpCoB,6BAAmE,EACnElB,WAAoB,EACpBW,SAAwC,EACxC;QACA,OAAO,IAAI,CAACf,iBAAiB,CAACkB,KAAK,CAACrB,KAAK;YACvC,MAAMuB,UAAU,IAAI,CAACY,gBAAgB,CACnCnC,KACAc,kBACAE,mBACAD,YACAV,mBACAoB,+BACAlB;YAGF,oEAAoE;YACpE,IAAIW,WAAWA,UAAUK;YAEzB,OAAOA;QACT;IACF;IAEA,MAAcY,iBACZnC,GAAW,EACXc,gBAA0C,EAC1CE,iBAA0B,EAC1BD,UAAmB,EACnBV,iBAAoC,EACpCoB,6BAAmE,EACnElB,WAAoB,EACpB;QACA,IAAI;YACF,kEAAkE;YAClE,MAAM6B,qBAAqB,MAAM/B,kBAAkB;gBACjDE;gBACAC,oBAAoBiB;gBACpBY,gBAAgB;YAClB;YACA,IAAI,CAACD,oBAAoB;gBACvB,OAAO;YACT;YAEA,2EAA2E;YAC3E,MAAMP,gCAAgC,UAAMtC,qNAAAA,EAAuB;gBACjE,GAAG6C,kBAAkB;gBACrBE,QAAQ,CAACb;YACX;YAEA,qEAAqE;YACrE,WAAW;YACX,IAAII,8BAA8BU,YAAY,EAAE;gBAC9C,IAAI,IAAI,CAAC3C,YAAY,EAAE;oBACrB,IAAI,CAACa,iBAAiB,GAAG;wBACvBT;wBACAa,OAAOgB;wBACPnB,WAAWC,KAAKC,GAAG,KAAK;oBAC1B;gBACF,OAAO;oBACL,MAAME,iBAAiB0B,GAAG,CAACxC,KAAK6B,8BAA8BY,KAAK,EAAE;wBACnEF,cAAcV,8BAA8BU,YAAY;wBACxDvB;wBACAD;oBACF;gBACF;YACF;YAEA,OAAOc;QACT,EAAE,OAAOG,KAAK;YACZ,qEAAqE;YACrE,qEAAqE;YACrE,IAAIP,iCAAAA,OAAAA,KAAAA,IAAAA,8BAA+Bc,YAAY,EAAE;gBAC/C,MAAMT,aAAaY,KAAKC,GAAG,CACzBD,KAAKE,GAAG,CACNnB,8BAA8Bc,YAAY,CAACT,UAAU,IAAI,GACzD,IAEF;gBAEF,MAAMe,SACJpB,8BAA8Bc,YAAY,CAACM,MAAM,KAAKd,YAClDA,YACAW,KAAKE,GAAG,CACNd,aAAa,GACbL,8BAA8Bc,YAAY,CAACM,MAAM;gBAGzD,MAAM/B,iBAAiB0B,GAAG,CAACxC,KAAKyB,8BAA8BgB,KAAK,EAAE;oBACnEF,cAAc;wBAAET,YAAYA;wBAAYe,QAAQA;oBAAO;oBACvD7B;oBACAD;gBACF;YACF;YAEA,gEAAgE;YAChE,MAAMiB;QACR;IACF;AACF","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 4726, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/lib/cache-control.ts"],"sourcesContent":["import { CACHE_ONE_YEAR } from '../../lib/constants'\n\n/**\n * The revalidate option used internally for pages. A value of `false` means\n * that the page should not be revalidated. A number means that the page\n * should be revalidated after the given number of seconds (this also includes\n * `1` which means to revalidate after 1 second). A value of `0` is not a valid\n * value for this option.\n */\nexport type Revalidate = number | false\n\nexport interface CacheControl {\n revalidate: Revalidate\n expire: number | undefined\n}\n\nexport function getCacheControlHeader({\n revalidate,\n expire,\n}: CacheControl): string {\n const swrHeader =\n typeof revalidate === 'number' &&\n expire !== undefined &&\n revalidate < expire\n ? `, stale-while-revalidate=${expire - revalidate}`\n : ''\n\n if (revalidate === 0) {\n return 'private, no-cache, no-store, max-age=0, must-revalidate'\n } else if (typeof revalidate === 'number') {\n return `s-maxage=${revalidate}${swrHeader}`\n }\n\n return `s-maxage=${CACHE_ONE_YEAR}${swrHeader}`\n}\n"],"names":["CACHE_ONE_YEAR","getCacheControlHeader","revalidate","expire","swrHeader","undefined"],"mappings":";;;;AAAA,SAASA,cAAc,QAAQ,sBAAqB;;AAgB7C,SAASC,sBAAsB,EACpCC,UAAU,EACVC,MAAM,EACO;IACb,MAAMC,YACJ,OAAOF,eAAe,YACtBC,WAAWE,aACXH,aAAaC,SACT,CAAC,yBAAyB,EAAEA,SAASD,YAAY,GACjD;IAEN,IAAIA,eAAe,GAAG;QACpB,OAAO;IACT,OAAO,IAAI,OAAOA,eAAe,UAAU;QACzC,OAAO,CAAC,SAAS,EAAEA,aAAaE,WAAW;IAC7C;IAEA,OAAO,CAAC,SAAS,EAAEJ,yLAAAA,GAAiBI,WAAW;AACjD","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 4745, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/shared/lib/utils.ts"],"sourcesContent":["import type { HtmlProps } from './html-context.shared-runtime'\nimport type { ComponentType, JSX } from 'react'\nimport type { DomainLocale } from '../../server/config'\nimport type { Env } from '@next/env'\nimport type { IncomingMessage, ServerResponse } from 'http'\nimport type { NextRouter } from './router/router'\nimport type { ParsedUrlQuery } from 'querystring'\nimport type { PreviewData } from '../../types'\nimport type { COMPILER_NAMES } from './constants'\nimport type fs from 'fs'\n\nexport type NextComponentType<\n Context extends BaseContext = NextPageContext,\n InitialProps = {},\n Props = {},\n> = ComponentType & {\n /**\n * Used for initial page load data population. Data returned from `getInitialProps` is serialized when server rendered.\n * Make sure to return plain `Object` without using `Date`, `Map`, `Set`.\n * @param context Context of `page`\n */\n getInitialProps?(context: Context): InitialProps | Promise\n}\n\nexport type DocumentType = NextComponentType<\n DocumentContext,\n DocumentInitialProps,\n DocumentProps\n>\n\nexport type AppType = NextComponentType<\n AppContextType,\n P,\n AppPropsType\n>\n\nexport type AppTreeType = ComponentType<\n AppInitialProps & { [name: string]: any }\n>\n\n/**\n * Web vitals provided to _app.reportWebVitals by Core Web Vitals plugin developed by Google Chrome team.\n * https://nextjs.org/blog/next-9-4#integrated-web-vitals-reporting\n */\nexport const WEB_VITALS = ['CLS', 'FCP', 'FID', 'INP', 'LCP', 'TTFB'] as const\nexport type NextWebVitalsMetric = {\n id: string\n startTime: number\n value: number\n attribution?: { [key: string]: unknown }\n} & (\n | {\n label: 'web-vital'\n name: (typeof WEB_VITALS)[number]\n }\n | {\n label: 'custom'\n name:\n | 'Next.js-hydration'\n | 'Next.js-route-change-to-render'\n | 'Next.js-render'\n }\n)\n\nexport type Enhancer = (Component: C) => C\n\nexport type ComponentsEnhancer =\n | {\n enhanceApp?: Enhancer\n enhanceComponent?: Enhancer\n }\n | Enhancer\n\nexport type RenderPageResult = {\n html: string\n head?: Array\n}\n\nexport type RenderPage = (\n options?: ComponentsEnhancer\n) => DocumentInitialProps | Promise\n\nexport type BaseContext = {\n res?: ServerResponse\n [k: string]: any\n}\n\nexport type NEXT_DATA = {\n props: Record\n page: string\n query: ParsedUrlQuery\n buildId: string\n assetPrefix?: string\n nextExport?: boolean\n autoExport?: boolean\n isFallback?: boolean\n isExperimentalCompile?: boolean\n dynamicIds?: (string | number)[]\n err?: Error & {\n statusCode?: number\n source?: typeof COMPILER_NAMES.server | typeof COMPILER_NAMES.edgeServer\n }\n gsp?: boolean\n gssp?: boolean\n customServer?: boolean\n gip?: boolean\n appGip?: boolean\n locale?: string\n locales?: readonly string[]\n defaultLocale?: string\n domainLocales?: readonly DomainLocale[]\n scriptLoader?: any[]\n isPreview?: boolean\n notFoundSrcPage?: string\n}\n\n/**\n * `Next` context\n */\nexport interface NextPageContext {\n /**\n * Error object if encountered during rendering\n */\n err?: (Error & { statusCode?: number }) | null\n /**\n * `HTTP` request object.\n */\n req?: IncomingMessage\n /**\n * `HTTP` response object.\n */\n res?: ServerResponse\n /**\n * Path section of `URL`.\n */\n pathname: string\n /**\n * Query string section of `URL` parsed as an object.\n */\n query: ParsedUrlQuery\n /**\n * `String` of the actual path including query.\n */\n asPath?: string\n /**\n * The currently active locale\n */\n locale?: string\n /**\n * All configured locales\n */\n locales?: readonly string[]\n /**\n * The configured default locale\n */\n defaultLocale?: string\n /**\n * `Component` the tree of the App to use if needing to render separately\n */\n AppTree: AppTreeType\n}\n\nexport type AppContextType = {\n Component: NextComponentType\n AppTree: AppTreeType\n ctx: NextPageContext\n router: Router\n}\n\nexport type AppInitialProps = {\n pageProps: PageProps\n}\n\nexport type AppPropsType<\n Router extends NextRouter = NextRouter,\n PageProps = {},\n> = AppInitialProps & {\n Component: NextComponentType\n router: Router\n __N_SSG?: boolean\n __N_SSP?: boolean\n}\n\nexport type DocumentContext = NextPageContext & {\n renderPage: RenderPage\n defaultGetInitialProps(\n ctx: DocumentContext,\n options?: { nonce?: string }\n ): Promise\n}\n\nexport type DocumentInitialProps = RenderPageResult & {\n styles?: React.ReactElement[] | Iterable | JSX.Element\n}\n\nexport type DocumentProps = DocumentInitialProps & HtmlProps\n\n/**\n * Next `API` route request\n */\nexport interface NextApiRequest extends IncomingMessage {\n /**\n * Object of `query` values from url\n */\n query: Partial<{\n [key: string]: string | string[]\n }>\n /**\n * Object of `cookies` from header\n */\n cookies: Partial<{\n [key: string]: string\n }>\n\n body: any\n\n env: Env\n\n draftMode?: boolean\n\n preview?: boolean\n /**\n * Preview data set on the request, if any\n * */\n previewData?: PreviewData\n}\n\n/**\n * Send body of response\n */\ntype Send = (body: T) => void\n\n/**\n * Next `API` route response\n */\nexport type NextApiResponse = ServerResponse & {\n /**\n * Send data `any` data in response\n */\n send: Send\n /**\n * Send data `json` data in response\n */\n json: Send\n status: (statusCode: number) => NextApiResponse\n redirect(url: string): NextApiResponse\n redirect(status: number, url: string): NextApiResponse\n\n /**\n * Set draft mode\n */\n setDraftMode: (options: { enable: boolean }) => NextApiResponse\n\n /**\n * Set preview data for Next.js' prerender mode\n */\n setPreviewData: (\n data: object | string,\n options?: {\n /**\n * Specifies the number (in seconds) for the preview session to last for.\n * The given number will be converted to an integer by rounding down.\n * By default, no maximum age is set and the preview session finishes\n * when the client shuts down (browser is closed).\n */\n maxAge?: number\n /**\n * Specifies the path for the preview session to work under. By default,\n * the path is considered the \"default path\", i.e., any pages under \"/\".\n */\n path?: string\n }\n ) => NextApiResponse\n\n /**\n * Clear preview data for Next.js' prerender mode\n */\n clearPreviewData: (options?: { path?: string }) => NextApiResponse\n\n /**\n * Revalidate a specific page and regenerate it using On-Demand Incremental\n * Static Regeneration.\n * The path should be an actual path, not a rewritten path. E.g. for\n * \"/blog/[slug]\" this should be \"/blog/post-1\".\n * @link https://nextjs.org/docs/app/building-your-application/data-fetching/incremental-static-regeneration#on-demand-revalidation-with-revalidatepath\n */\n revalidate: (\n urlPath: string,\n opts?: {\n unstable_onlyGenerated?: boolean\n }\n ) => Promise\n}\n\n/**\n * Next `API` route handler\n */\nexport type NextApiHandler = (\n req: NextApiRequest,\n res: NextApiResponse\n) => unknown | Promise\n\n/**\n * Utils\n */\nexport function execOnce ReturnType>(\n fn: T\n): T {\n let used = false\n let result: ReturnType\n\n return ((...args: any[]) => {\n if (!used) {\n used = true\n result = fn(...args)\n }\n return result\n }) as T\n}\n\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/\nexport const isAbsoluteUrl = (url: string) => ABSOLUTE_URL_REGEX.test(url)\n\nexport function getLocationOrigin() {\n const { protocol, hostname, port } = window.location\n return `${protocol}//${hostname}${port ? ':' + port : ''}`\n}\n\nexport function getURL() {\n const { href } = window.location\n const origin = getLocationOrigin()\n return href.substring(origin.length)\n}\n\nexport function getDisplayName(Component: ComponentType
) {\n return typeof Component === 'string'\n ? Component\n : Component.displayName || Component.name || 'Unknown'\n}\n\nexport function isResSent(res: ServerResponse) {\n return res.finished || res.headersSent\n}\n\nexport function normalizeRepeatedSlashes(url: string) {\n const urlParts = url.split('?')\n const urlNoQuery = urlParts[0]\n\n return (\n urlNoQuery\n // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, '/')\n .replace(/\\/\\/+/g, '/') +\n (urlParts[1] ? `?${urlParts.slice(1).join('?')}` : '')\n )\n}\n\nexport async function loadGetInitialProps<\n C extends BaseContext,\n IP = {},\n P = {},\n>(App: NextComponentType, ctx: C): Promise {\n if (process.env.NODE_ENV !== 'production') {\n if (App.prototype?.getInitialProps) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.`\n throw new Error(message)\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || (ctx.ctx && ctx.ctx.res)\n\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx),\n }\n }\n return {} as IP\n }\n\n const props = await App.getInitialProps(ctx)\n\n if (res && isResSent(res)) {\n return props\n }\n\n if (!props) {\n const message = `\"${getDisplayName(\n App\n )}.getInitialProps()\" should resolve to an object. But found \"${props}\" instead.`\n throw new Error(message)\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\n `${getDisplayName(\n App\n )} returned an empty object from \\`getInitialProps\\`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps`\n )\n }\n }\n\n return props\n}\n\nexport const SP = typeof performance !== 'undefined'\nexport const ST =\n SP &&\n (['mark', 'measure', 'getEntriesByName'] as const).every(\n (method) => typeof performance[method] === 'function'\n )\n\nexport class DecodeError extends Error {}\nexport class NormalizeError extends Error {}\nexport class PageNotFoundError extends Error {\n code: string\n\n constructor(page: string) {\n super()\n this.code = 'ENOENT'\n this.name = 'PageNotFoundError'\n this.message = `Cannot find module for page: ${page}`\n }\n}\n\nexport class MissingStaticPage extends Error {\n constructor(page: string, message: string) {\n super()\n this.message = `Failed to load static file for page: ${page} ${message}`\n }\n}\n\nexport class MiddlewareNotFoundError extends Error {\n code: string\n constructor() {\n super()\n this.code = 'ENOENT'\n this.message = `Cannot find the middleware module`\n }\n}\n\nexport interface CacheFs {\n existsSync: typeof fs.existsSync\n readFile: typeof fs.promises.readFile\n readFileSync: typeof fs.readFileSync\n writeFile(f: string, d: any): Promise\n mkdir(dir: string): Promise\n stat(f: string): Promise<{ mtime: Date }>\n}\n\nexport function stringifyError(error: Error) {\n return JSON.stringify({ message: error.message, stack: error.stack })\n}\n"],"names":["WEB_VITALS","execOnce","fn","used","result","args","ABSOLUTE_URL_REGEX","isAbsoluteUrl","url","test","getLocationOrigin","protocol","hostname","port","window","location","getURL","href","origin","substring","length","getDisplayName","Component","displayName","name","isResSent","res","finished","headersSent","normalizeRepeatedSlashes","urlParts","split","urlNoQuery","replace","slice","join","loadGetInitialProps","App","ctx","process","env","NODE_ENV","prototype","getInitialProps","message","Error","pageProps","props","Object","keys","console","warn","SP","performance","ST","every","method","DecodeError","NormalizeError","PageNotFoundError","constructor","page","code","MissingStaticPage","MiddlewareNotFoundError","stringifyError","error","JSON","stringify","stack"],"mappings":"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","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 4911, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/client/components/redirect-status-code.ts"],"sourcesContent":["export enum RedirectStatusCode {\n SeeOther = 303,\n TemporaryRedirect = 307,\n PermanentRedirect = 308,\n}\n"],"names":["RedirectStatusCode"],"mappings":";;;;AAAO,IAAKA,qBAAAA,WAAAA,GAAAA,SAAAA,kBAAAA;;;;WAAAA;MAIX","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 4925, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/lib/redirect-status.ts"],"sourcesContent":["import { RedirectStatusCode } from '../client/components/redirect-status-code'\n\nexport const allowedStatusCodes = new Set([301, 302, 303, 307, 308])\n\nexport function getRedirectStatus(route: {\n statusCode?: number\n permanent?: boolean\n}): number {\n return (\n route.statusCode ||\n (route.permanent\n ? RedirectStatusCode.PermanentRedirect\n : RedirectStatusCode.TemporaryRedirect)\n )\n}\n\n// for redirects we restrict matching /_next and for all routes\n// we add an optional trailing slash at the end for easier\n// configuring between trailingSlash: true/false\nexport function modifyRouteRegex(regex: string, restrictedPaths?: string[]) {\n if (restrictedPaths) {\n regex = regex.replace(\n /\\^/,\n `^(?!${restrictedPaths\n .map((path) => path.replace(/\\//g, '\\\\/'))\n .join('|')})`\n )\n }\n regex = regex.replace(/\\$$/, '(?:\\\\/)?$')\n return regex\n}\n"],"names":["RedirectStatusCode","allowedStatusCodes","Set","getRedirectStatus","route","statusCode","permanent","PermanentRedirect","TemporaryRedirect","modifyRouteRegex","regex","restrictedPaths","replace","map","path","join"],"mappings":";;;;;;;;AAAA,SAASA,kBAAkB,QAAQ,4CAA2C;;AAEvE,MAAMC,qBAAqB,IAAIC,IAAI;IAAC;IAAK;IAAK;IAAK;IAAK;CAAI,EAAC;AAE7D,SAASC,kBAAkBC,KAGjC;IACC,OACEA,MAAMC,UAAU,IACfD,CAAAA,MAAME,SAAS,GACZN,+NAAAA,CAAmBO,iBAAiB,GACpCP,+NAAAA,CAAmBQ,iBAAgB;AAE3C;AAKO,SAASC,iBAAiBC,KAAa,EAAEC,eAA0B;IACxE,IAAIA,iBAAiB;QACnBD,QAAQA,MAAME,OAAO,CACnB,MACA,CAAC,IAAI,EAAED,gBACJE,GAAG,CAAC,CAACC,OAASA,KAAKF,OAAO,CAAC,OAAO,QAClCG,IAAI,CAAC,KAAK,CAAC,CAAC;IAEnB;IACAL,QAAQA,MAAME,OAAO,CAAC,OAAO;IAC7B,OAAOF;AACT","ignoreList":[0],"debugId":null}},
+ {"offset": {"line": 4956, "column": 0}, "map": {"version":3,"sources":["file:///C:/Users/shdud/Desktop/DevCourse/learn-next/01/node_modules/next/dist/src/server/lib/etag.ts"],"sourcesContent":["/**\n * FNV-1a Hash implementation\n * @author Travis Webb (tjwebb)