{"version":3,"sources":["../../src/server/config-shared.ts"],"sourcesContent":["import os from 'os'\nimport type { webpack } from 'next/dist/compiled/webpack/webpack'\nimport type { Header, Redirect, Rewrite } from '../lib/load-custom-routes'\nimport { imageConfigDefault } from '../shared/lib/image-config'\nimport type {\n  ImageConfig,\n  ImageConfigComplete,\n} from '../shared/lib/image-config'\nimport type { SubresourceIntegrityAlgorithm } from '../build/webpack/plugins/subresource-integrity-plugin'\nimport type { WEB_VITALS } from '../shared/lib/utils'\nimport type { NextParsedUrlQuery } from './request-meta'\nimport type { SizeLimit } from '../types'\nimport type { SupportedTestRunners } from '../cli/next-test'\nimport type { ExperimentalPPRConfig } from './lib/experimental/ppr'\nimport { INFINITE_CACHE } from '../lib/constants'\nimport { isStableBuild } from '../shared/lib/errors/canary-only-config-error'\nimport type { FallbackRouteParam } from '../build/static-paths/types'\n\n/**\n * Resolved form of the prefetchInlining config after normalization in\n * config.ts. User input (true, partial objects) is converted to this shape.\n */\nexport type PrefetchInliningConfig =\n  | false\n  | { maxSize: number; maxBundleSize: number }\n\nexport type NextConfigComplete = Required<Omit<NextConfig, 'configFile'>> & {\n  images: Required<ImageConfigComplete>\n  typescript: TypeScriptConfig\n  configFile: string | undefined\n  configFileName: string\n  // override NextConfigComplete.experimental.htmlLimitedBots to string\n  // because it's not defined in NextConfigComplete.experimental\n  htmlLimitedBots: string | undefined\n  experimental: ExperimentalConfig & {\n    // Normalized by config.ts: true and partial objects become resolved objects\n    prefetchInlining?: PrefetchInliningConfig\n  }\n  // The root directory of the distDir. In development mode, this is the parent directory of `distDir`\n  // since development builds use `{distDir}/dev`. This is used to ensure that the bundler doesn't\n  // traverse into the output directory.\n  distDirRoot: string\n}\n\nexport type I18NDomains = readonly DomainLocale[]\n\nexport interface I18NConfig {\n  defaultLocale: string\n  domains?: I18NDomains\n  localeDetection?: false\n  locales: readonly string[]\n}\n\nexport interface DomainLocale {\n  defaultLocale: string\n  domain: string\n  http?: true\n  locales?: readonly string[]\n}\n\nexport interface TypeScriptConfig {\n  /** Do not run TypeScript during production builds (`next build`). */\n  ignoreBuildErrors?: boolean\n  /** Relative path to a custom tsconfig file */\n  tsconfigPath?: string\n}\n\nexport interface EmotionConfig {\n  sourceMap?: boolean\n  autoLabel?: 'dev-only' | 'always' | 'never'\n  labelFormat?: string\n  importMap?: {\n    [importName: string]: {\n      [exportName: string]: {\n        canonicalImport?: [string, string]\n        styledBaseImport?: [string, string]\n      }\n    }\n  }\n}\n\nexport interface StyledComponentsConfig {\n  /**\n   * Enabled by default in development, disabled in production to reduce file size,\n   * setting this will override the default for all environments.\n   */\n  displayName?: boolean\n  topLevelImportPaths?: string[]\n  ssr?: boolean\n  fileName?: boolean\n  meaninglessFileNames?: string[]\n  minify?: boolean\n  transpileTemplateLiterals?: boolean\n  namespace?: string\n  pure?: boolean\n  cssProp?: boolean\n}\n\nexport type JSONValue =\n  | string\n  | number\n  | boolean\n  | JSONValue[]\n  | { [k: string]: JSONValue }\n\n// At the moment, Turbopack options must be JSON-serializable, so restrict values.\nexport type TurbopackLoaderOptions = Record<string, JSONValue>\n\nexport type TurbopackLoaderItem =\n  | string\n  | {\n      loader: string\n      options?: TurbopackLoaderOptions\n    }\n\nexport type TurbopackLoaderBuiltinCondition =\n  | 'browser'\n  | 'foreign'\n  | 'development'\n  | 'production'\n  | 'node'\n  | 'edge-light'\n\nexport type TurbopackRuleCondition =\n  | { all: TurbopackRuleCondition[] }\n  | { any: TurbopackRuleCondition[] }\n  | { not: TurbopackRuleCondition }\n  | TurbopackLoaderBuiltinCondition\n  | {\n      path?: string | RegExp\n      content?: RegExp\n      query?: string | RegExp\n      contentType?: string | RegExp\n    }\n\n/**\n * The module type to use for matched files. This determines how files are\n * processed without requiring a custom loader.\n *\n * - `'asset'` - Emit the file and return its URL (like webpack's `asset/resource`)\n * - `'ecmascript'` - Process as JavaScript module\n * - `'typescript'` - Process as TypeScript module\n * - `'css'` - Process as CSS file\n * - `'css-module'` - Process as CSS module\n * - `'wasm'` - Process as WebAssembly module\n * - `'raw'` - Return raw file contents as a string\n * - `'node'` - Process as native Node.js addon\n * - `'bytes'` - Inline file contents as bytes in JavaScript\n *\n * @see [Module Types](https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopack#module-types)\n */\nexport type TurbopackModuleType =\n  | 'asset'\n  | 'ecmascript'\n  | 'typescript'\n  | 'css'\n  | 'css-module'\n  | 'wasm'\n  | 'raw'\n  | 'node'\n  | 'bytes'\n  | 'text'\n\nexport type TurbopackRuleConfigItem = {\n  /** Loaders to apply to matched files. */\n  loaders?: TurbopackLoaderItem[]\n  /** Rename the file extension for loader output (e.g., `'*.js'`). */\n  as?: string\n  /** Additional conditions for when this rule applies. */\n  condition?: TurbopackRuleCondition\n  /**\n   * Set the module type directly without using a loader.\n   * @see [Module Types](https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopack#module-types)\n   */\n  type?: TurbopackModuleType\n}\n\n/**\n * This can be an object representing a single configuration, or a list of\n * loaders and/or rule configuration objects.\n *\n * - A list of loader path strings or objects is the \"shorthand\" syntax.\n * - A list of rule configuration objects can be useful when each configuration\n *   object has different `condition` fields, but still match the same top-level\n *   path glob.\n */\nexport type TurbopackRuleConfigCollection =\n  | TurbopackRuleConfigItem\n  | (TurbopackLoaderItem | TurbopackRuleConfigItem)[]\n\nexport interface TurbopackOptions {\n  /**\n   * (`next --turbopack` only) A mapping of aliased imports to modules to load in their place.\n   *\n   * @see [Resolve Alias](https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopack#resolving-aliases)\n   */\n  resolveAlias?: Record<\n    string,\n    string | string[] | Record<string, string | string[]>\n  >\n\n  /**\n   * (`next --turbopack` only) A list of extensions to resolve when importing files.\n   *\n   * @see [Resolve Extensions](https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopack#resolving-custom-extensions)\n   */\n  resolveExtensions?: string[]\n\n  /**\n   * (`next --turbopack` only) A list of webpack loaders to apply when running with Turbopack.\n   *\n   * @see [Turbopack Loaders](https://nextjs.org/docs/app/api-reference/config/next-config-js/turbopack#configuring-webpack-loaders)\n   */\n  rules?: Record<string, TurbopackRuleConfigCollection>\n\n  /**\n   * This is the repo root usually and only files above this\n   * directory can be resolved by turbopack.\n   */\n  root?: string\n\n  /**\n   * Enables generation of debug IDs in JavaScript bundles and source maps.\n   * These debug IDs help with debugging and error tracking by providing stable identifiers.\n   *\n   * @see https://github.com/tc39/ecma426/blob/main/proposals/debug-id.md TC39 Debug ID Proposal\n   */\n  debugIds?: boolean\n\n  /**\n   * An array of issue filter rules to ignore specific Turbopack issues.\n   * Each rule must have a `path` field (mandatory) and optionally `title`\n   * and `description`. String paths are treated as glob patterns. String\n   * titles/descriptions are exact matches. RegExp values match anywhere\n   * within the string (use `^` and `$` anchors for full-string matching).\n   */\n  ignoreIssue?: Array<{\n    path: string | RegExp\n    title?: string | RegExp\n    description?: string | RegExp\n  }>\n}\n\nexport interface WebpackConfigContext {\n  /** Next.js root directory */\n  dir: string\n  /** Indicates if the compilation will be done in development */\n  dev: boolean\n  /** It's `true` for server-side compilation, and `false` for client-side compilation */\n  isServer: boolean\n  /**  The build id, used as a unique identifier between builds */\n  buildId: string\n  /** The next.config.js merged with default values */\n  config: NextConfigComplete\n  /** Default loaders used internally by Next.js */\n  defaultLoaders: {\n    /** Default babel-loader configuration */\n    babel: any\n  }\n  /** Number of total Next.js pages */\n  totalPages: number\n  /** The webpack configuration */\n  webpack: any\n  /** The current server runtime */\n  nextRuntime?: 'nodejs' | 'edge'\n}\n\nexport interface NextJsWebpackConfig {\n  (\n    /** Existing Webpack config */\n    config: any,\n    context: WebpackConfigContext\n  ): any\n}\n\n/**\n * Set of options for React Compiler that Next.js currently supports.\n *\n * These options may be changed in breaking ways at any time without notice\n * while support for React Compiler is experimental.\n *\n * @see https://react.dev/reference/react-compiler/configuration\n */\nexport interface ReactCompilerOptions {\n  /**\n   * Controls the strategy for determining which functions the React Compiler\n   * will optimize.\n   *\n   * The default is `'infer'`, which uses intelligent heuristics to identify\n   * React components and hooks.\n   *\n   * When using `infer`, Next.js applies its own heuristics before calling\n   * `react-compiler`. This improves compilation performance by avoiding extra\n   * invocations of Babel and reducing redundant parsing of code.\n   *\n   * @see https://react.dev/reference/react-compiler/compilationMode\n   */\n  compilationMode?: 'infer' | 'annotation' | 'all'\n  /**\n   * Controls how the React Compiler handles errors during compilation.\n   *\n   * The default is `'none'`, which skips components which cannot be compiled.\n   *\n   * @see https://react.dev/reference/react-compiler/panicThreshold\n   */\n  panicThreshold?: 'none' | 'critical_errors' | 'all_errors'\n}\n\nexport interface IncomingRequestLoggingConfig {\n  /**\n   * A regular expression array to match incoming requests that should not be logged.\n   * You can specify multiple patterns to match incoming requests that should not be logged.\n   */\n  ignore?: RegExp[]\n}\n\nexport interface LoggingConfig {\n  fetches?: {\n    fullUrl?: boolean\n    /**\n     * If true, fetch requests that are restored from the HMR cache are logged\n     * during an HMR refresh request, i.e. when editing a server component.\n     */\n    hmrRefreshes?: boolean\n  }\n\n  /**\n   * If set to false, incoming request logging is disabled.\n   * You can specify a pattern to match incoming requests that should not be logged.\n   */\n  incomingRequests?: boolean | IncomingRequestLoggingConfig\n\n  /**\n   * If false, Server Function invocation logging is disabled.\n   * @default true\n   */\n  serverFunctions?: boolean\n\n  /**\n   * Forward browser console logs to terminal.\n   * - `false`: Disable browser log forwarding\n   * - `true`: Forward all browser console output to terminal\n   * - `'warn'`: Forward warnings and errors to terminal\n   * - `'error'`: Forward only errors to terminal\n   */\n  browserToTerminal?: boolean | 'error' | 'warn'\n}\n\n/**\n * All recognized lightningcss feature names.\n * Individual features map 1:1 to lightningcss `Features` bitflags.\n * Composite names (`selectors`, `media-queries`, `colors`) enable a group of\n * related individual features at once.\n *\n * The name→bitmask mapping is duplicated in:\n * - JS:   `packages/next/src/build/webpack/loaders/lightningcss-loader/src/features.ts`\n * - Rust: `crates/next-core/src/next_config.rs` (`lightningcss_feature_names_to_mask`)\n */\nexport const LIGHTNINGCSS_FEATURE_NAMES = [\n  // Individual features (bit 0–20)\n  'nesting',\n  'not-selector-list',\n  'dir-selector',\n  'lang-selector-list',\n  'is-selector',\n  'text-decoration-thickness-percent',\n  'media-interval-syntax',\n  'media-range-syntax',\n  'custom-media-queries',\n  'clamp-function',\n  'color-function',\n  'oklab-colors',\n  'lab-colors',\n  'p3-colors',\n  'hex-alpha-colors',\n  'space-separated-color-notation',\n  'font-family-system-ui',\n  'double-position-gradients',\n  'vendor-prefixes',\n  'logical-properties',\n  'light-dark',\n  // Composite groups\n  'selectors',\n  'media-queries',\n  'colors',\n] as const\n\nexport type LightningCssFeature = (typeof LIGHTNINGCSS_FEATURE_NAMES)[number]\n\nexport interface LightningCssFeatures {\n  include?: LightningCssFeature[]\n  exclude?: LightningCssFeature[]\n}\n\nexport interface ExperimentalConfig {\n  appNewScrollHandler?: boolean\n  useSkewCookie?: boolean\n  /** @deprecated use top-level `cacheHandlers` instead */\n  cacheHandlers?: NextConfig['cacheHandlers']\n  multiZoneDraftMode?: boolean\n  appNavFailHandling?: boolean\n  prerenderEarlyExit?: boolean\n  linkNoTouchStart?: boolean\n  caseSensitiveRoutes?: boolean\n  /**\n   * The origins that are allowed to write the rewritten headers when\n   * performing a non-relative rewrite. When undefined, no non-relative\n   * rewrites will get the rewrite headers.\n   */\n  clientParamParsingOrigins?: string[]\n  cachedNavigations?: boolean\n  /**\n   * Enables partial fallback shells for cache-components routes while the\n   * feature stabilizes.\n   */\n  partialFallbacks?: boolean\n  dynamicOnHover?: boolean\n  optimisticRouting?: boolean\n  varyParams?: boolean\n  prefetchInlining?:\n    | boolean\n    | {\n        maxSize?: number\n        maxBundleSize?: number\n      }\n  preloadEntriesOnStart?: boolean\n  clientRouterFilter?: boolean\n  clientRouterFilterRedirects?: boolean\n  /**\n   * This config can be used to override the cache behavior for the client router.\n   * These values indicate the time, in seconds, that the cache should be considered\n   * reusable. When the `prefetch` Link prop is left unspecified, this will use the `dynamic` value.\n   * When the `prefetch` Link prop is set to `true`, this will use the `static` value.\n   */\n  staleTimes?: {\n    dynamic?: number\n    /** Must be greater than or equal to 30 seconds, to ensure prefetching is not completely wasteful */\n    static?: number\n  }\n  /**\n   * @deprecated use top-level `cacheLife` instead\n   */\n  cacheLife?: NextConfig['cacheLife']\n  // decimal for percent for possible false positives\n  // e.g. 0.01 for 10% potential false matches lower\n  // percent increases size of the filter\n  clientRouterFilterAllowedRate?: number\n  /**\n   * @deprecated Use `externalProxyRewritesResolve` instead.\n   */\n  externalMiddlewareRewritesResolve?: boolean\n  externalProxyRewritesResolve?: boolean\n  /**\n   * Exposes the Instant Navigation Testing API in production builds. This\n   * API is always available in development mode.\n   *\n   * The testing API allows e2e tests to control navigation timing, enabling\n   * deterministic assertions on prefetched/cached UI before dynamic data\n   * streams in.\n   *\n   * WARNING: This flag is intended for profiling and testing purposes only.\n   * Do not enable in user-facing production deployments.\n   */\n  exposeTestingApiInProductionBuild?: boolean\n  /**\n   * Show the Instant Navigation Mode toggle in the dev tools indicator.\n   * When enabled, a menu item lets you lock navigations to only show\n   * the cached/prefetched state.\n   */\n  instantNavigationDevToolsToggle?: boolean\n  extensionAlias?: Record<string, any>\n  allowedRevalidateHeaderKeys?: string[]\n  fetchCacheKeyPrefix?: string\n  imgOptConcurrency?: number | null\n  imgOptTimeoutInSeconds?: number\n  imgOptMaxInputPixels?: number\n  imgOptSequentialRead?: boolean | null\n  imgOptSkipMetadata?: boolean | null\n  optimisticClientCache?: boolean\n  /**\n   * @deprecated use config.expireTime instead\n   */\n  expireTime?: number\n  /**\n   * @deprecated Use `proxyPrefetch` instead.\n   */\n  middlewarePrefetch?: 'strict' | 'flexible'\n  proxyPrefetch?: 'strict' | 'flexible'\n  manualClientBasePath?: boolean\n  /**\n   * CSS Chunking strategy. Defaults to `true` (\"loose\" mode), which guesses dependencies\n   * between CSS files to keep ordering of them.\n   * An alternative is 'strict', which will try to keep correct ordering as\n   * much as possible, even when this leads to many requests.\n   */\n  cssChunking?: boolean | 'strict'\n  disablePostcssPresetEnv?: boolean\n  cpus?: number\n  memoryBasedWorkersCount?: boolean\n  proxyTimeout?: number\n  isrFlushToDisk?: boolean\n  workerThreads?: boolean\n  // optimizeCss can be boolean or critters' option object\n  // Use Record<string, unknown> as critters doesn't export its Option type\n  // https://github.com/GoogleChromeLabs/critters/blob/a590c05f9197b656d2aeaae9369df2483c26b072/packages/critters/src/index.d.ts\n  optimizeCss?: boolean | Record<string, unknown>\n  nextScriptWorkers?: boolean\n  scrollRestoration?: boolean\n  externalDir?: boolean\n  disableOptimizedLoading?: boolean\n\n  /** @deprecated A no-op as of Next 16, size metrics were removed from the build output. */\n  gzipSize?: boolean\n  craCompat?: boolean\n  esmExternals?: boolean | 'loose'\n  fullySpecified?: boolean\n  urlImports?: NonNullable<webpack.Configuration['experiments']>['buildHttp']\n  swcTraceProfiling?: boolean\n  forceSwcTransforms?: boolean\n\n  swcPlugins?: Array<[string, Record<string, unknown>]>\n  largePageDataBytes?: number\n  /**\n   * If set to `false`, webpack won't fall back to polyfill Node.js modules in the browser\n   * Full list of old polyfills is accessible here:\n   * [webpack/webpack#ModuleNotoundError.js#L13-L42](https://github.com/webpack/webpack/blob/2a0536cf510768111a3a6dceeb14cb79b9f59273/lib/ModuleNotFoundError.js#L13-L42)\n   */\n  fallbackNodePolyfills?: false\n  sri?: {\n    algorithm?: SubresourceIntegrityAlgorithm\n  }\n\n  webVitalsAttribution?: Array<(typeof WEB_VITALS)[number]>\n\n  /**\n   * Automatically apply the \"modularizeImports\" optimization to imports of the specified packages.\n   */\n  optimizePackageImports?: string[]\n\n  /**\n   * Optimize React APIs for server builds.\n   */\n  optimizeServerReact?: boolean\n\n  /**\n   * Type-checks props and return values of pages.\n   * Requires literal values for segment config (e.g. `export const dynamic = 'force-static' as const`).\n   */\n  strictRouteTypes?: boolean\n\n  /**\n   * Displays an indicator when a React Transition has no other indicator rendered.\n   * This includes displaying an indicator on client-side navigations.\n   */\n  transitionIndicator?: boolean\n\n  /**\n   * Enables experimental gesture transition APIs for optimistic client\n   * navigations. Requires experimental React.\n   */\n  gestureTransition?: boolean\n\n  /**\n   * A target memory limit for turbo, in bytes.\n   */\n  turbopackMemoryLimit?: number\n\n  /**\n   * Selects the runtime backend used by Turbopack for Node.js evaluation.\n   */\n  turbopackPluginRuntimeStrategy?: 'workerThreads' | 'childProcesses'\n\n  /**\n   * Enable minification. Defaults to true in build mode and false in dev mode.\n   */\n  turbopackMinify?: boolean\n\n  /**\n   * Enable support for `with {type: \"bytes\"}` for ESM imports.\n   */\n  turbopackImportTypeBytes?: boolean\n\n  /**\n   * Enable support for `with {type: \"text\"}` for ESM imports.\n   */\n  turbopackImportTypeText?: boolean\n\n  /**\n   * Enable scope hoisting. Defaults to true in build mode. Always disabled in development mode.\n   */\n  turbopackScopeHoisting?: boolean\n\n  /**\n   * Enable nested async chunking for client side assets. Defaults to true in build mode and false in dev mode.\n   * This optimization computes all possible paths through dynamic imports in the applications to figure out the modules needed at dynamic imports for every path.\n   */\n  turbopackClientSideNestedAsyncChunking?: boolean\n\n  /**\n   * Enable nested async chunking for server side assets. Defaults to false in dev and build mode.\n   * This optimization computes all possible paths through dynamic imports in the applications to figure out the modules needed at dynamic imports for every path.\n   */\n  turbopackServerSideNestedAsyncChunking?: boolean\n\n  /**\n   * Enable filesystem cache for the turbopack dev server.\n   *\n   * Defaults to `true`.\n   */\n  turbopackFileSystemCacheForDev?: boolean\n\n  /**\n   * Enable filesystem cache for the turbopack build.\n   *\n   * Defaults to `false`.\n   */\n  turbopackFileSystemCacheForBuild?: boolean\n\n  /**\n   * Enable source maps. Defaults to true.\n   */\n  turbopackSourceMaps?: boolean\n\n  /**\n   * Enable extraction of source maps from input files. Defaults to true.\n   */\n  turbopackInputSourceMaps?: boolean\n\n  /**\n   * Enable tree shaking for the turbopack dev server and build.\n   */\n  turbopackTreeShaking?: boolean\n\n  /**\n   * Enable removing unused imports for turbopack dev server and build.\n   */\n  turbopackRemoveUnusedImports?: boolean\n\n  /**\n   * Enable removing unused exports for turbopack dev server and build.\n   */\n  turbopackRemoveUnusedExports?: boolean\n\n  /**\n   * Enable local analysis to infer side effect free modules. When enabled, Turbopack will\n   * analyze module code to determine if it has side effects. This can improve tree shaking\n   * and bundle size at the cost of some additional analysis.\n   *\n   * Defaults to `true`\n   */\n  turbopackInferModuleSideEffects?: boolean\n\n  /**\n   * Set this to `false` to disable the automatic configuration of the babel loader when a Babel\n   * configuration file is present. This option is enabled by default.\n   *\n   * If this is set to `false`, but `reactCompiler` is `true`, the built-in Babel will\n   * still be configured, but any Babel configuration files on disk will be ignored. If you wish to\n   * use React Compiler with a different manually-configured `babel-loader`, you should disable both\n   * this and `reactCompiler`.\n   */\n  turbopackUseBuiltinBabel?: boolean\n\n  /**\n   * Set this to `false` to disable the automatic configuration of the sass loader. The sass loader\n   * configuration is enabled by default.\n   */\n  turbopackUseBuiltinSass?: boolean\n\n  /**\n   * The module ID strategy to use for Turbopack.\n   * If not set, the default is `'named'` for development and `'deterministic'`\n   * for production.\n   */\n  turbopackModuleIds?: 'named' | 'deterministic'\n\n  /**\n   * For use with `@next/mdx`. Compile MDX files using the new Rust compiler.\n   * @see https://nextjs.org/docs/app/api-reference/next-config-js/mdxRs\n   */\n  mdxRs?:\n    | boolean\n    | {\n        development?: boolean\n        jsx?: boolean\n        jsxRuntime?: string\n        jsxImportSource?: string\n        providerImportSource?: string\n        mdxType?: 'gfm' | 'commonmark'\n      }\n\n  /**\n   * Enable type checking for Link and Router.push, etc.\n   * @deprecated Use `typedRoutes` instead — this feature is now stable.\n   * @see https://nextjs.org/docs/app/api-reference/config/typescript#statically-typed-links\n   */\n  typedRoutes?: boolean\n\n  /**\n   * Enable type-checking and autocompletion for environment variables.\n   *\n   * @default false\n   */\n  typedEnv?: boolean\n\n  /**\n   * Runs the compilations for server and edge in parallel instead of in serial.\n   * This will make builds faster if there is enough server and edge functions\n   * in the application at the cost of more memory.\n   *\n   * NOTE: This option is only valid when the build process can use workers. See\n   * the documentation for `webpackBuildWorker` for more details.\n   */\n  parallelServerCompiles?: boolean\n\n  /**\n   * Runs the logic to collect build traces for the server routes in parallel\n   * with other work during the compilation. This will increase the speed of\n   * the build at the cost of more memory. This option may incur some additional\n   * work compared to if the option was disabled since the work is started\n   * before data from the client compilation is available to potentially reduce\n   * the amount of code that needs to be traced. Despite that, this may still\n   * result in faster builds for some applications.\n   *\n   * Valid values are:\n   * - `true`: Collect the server build traces in parallel.\n   * - `false`: Do not collect the server build traces in parallel.\n   * - `undefined`: Collect server build traces in parallel only in the `experimental-compile` mode.\n   *\n   * NOTE: This option is only valid when the build process can use workers. See\n   * the documentation for `webpackBuildWorker` for more details.\n   */\n  parallelServerBuildTraces?: boolean\n\n  /**\n   * Run the Webpack build in a separate process to optimize memory usage during build.\n   * Valid values are:\n   * - `false`: Disable the Webpack build worker\n   * - `true`: Enable the Webpack build worker\n   * - `undefined`: Enable the Webpack build worker only if the webpack config is not customized\n   */\n  webpackBuildWorker?: boolean\n\n  /**\n   * Enables optimizations to reduce memory usage in Webpack. This reduces the max size of the heap\n   * but may increase compile times slightly.\n   * Valid values are:\n   * - `false`: Disable Webpack memory optimizations (default).\n   * - `true`: Enables Webpack memory optimizations.\n   */\n  webpackMemoryOptimizations?: boolean\n\n  /**\n   * The array of the meta tags to the client injected by tracing propagation data.\n   */\n  clientTraceMetadata?: string[]\n\n  /**\n   * @deprecated This configuration option has been merged into `cacheComponents`.\n   * The Partial Prerendering feature is still available via `cacheComponents`.\n   */\n  ppr?: ExperimentalPPRConfig\n\n  /**\n   * Enables experimental taint APIs in React.\n   * Using this feature will enable the `react@experimental` for the `app` directory.\n   */\n  taint?: boolean\n\n  /**\n   * Uninstalls all \"unhandledRejection\" and \"uncaughtException\" listeners from\n   * the global process so that we can override the behavior, which in some\n   * runtimes is to exit the process.\n   *\n   * This is experimental until we've considered the impact in various\n   * deployment environments.\n   */\n  removeUncaughtErrorAndRejectionListeners?: boolean\n\n  /**\n   * During an RSC request, validates that the request headers match the\n   * cache-busting search parameter sent by the client.\n   */\n  validateRSCRequestHeaders?: boolean\n\n  serverActions?: {\n    /**\n     * Allows adjusting body parser size limit for server actions.\n     */\n    bodySizeLimit?: SizeLimit\n\n    /**\n     * Allowed origins that can bypass Server Action's CSRF check. This is helpful\n     * when you have reverse proxy in front of your app.\n     * @example\n     * [\"my-app.com\", \"*.my-app.com\"]\n     */\n    allowedOrigins?: string[]\n  }\n\n  /**\n   * Allows adjusting the maximum size of the postponed state body for PPR\n   * resume requests. This includes the Resume Data Cache (RDC) which may grow\n   * large for some applications.\n   * @default '100 MB'\n   */\n  maxPostponedStateSize?: SizeLimit\n\n  /**\n   * enables the minification of server code.\n   */\n  serverMinification?: boolean\n\n  /**\n   * Enables source maps generation for the server production bundle.\n   */\n  serverSourceMaps?: boolean\n\n  /**\n   * @internal Used by the Next.js internals only.\n   */\n  trustHostHeader?: boolean\n  /**\n   * @internal Used by the Next.js internals only.\n   */\n  isExperimentalCompile?: boolean\n\n  useWasmBinary?: boolean\n\n  /**\n   * Use lightningcss instead of postcss-loader\n   */\n  useLightningcss?: boolean\n\n  /**\n   * Configure which CSS features lightningcss should always transpile\n   * (include) or never transpile (exclude), regardless of browser targets.\n   * Requires `useLightningcss: true`.\n   */\n  lightningCssFeatures?: LightningCssFeatures\n\n  /**\n   * Enables view transitions by using the {@link https://react.dev/reference/react/ViewTransition ViewTransition} Component.\n   */\n  viewTransition?: boolean\n\n  /**\n   * Enables `fetch` requests to be proxied to the experimental test proxy server\n   */\n  testProxy?: boolean\n\n  /**\n   * Set a default test runner to be used by `next experimental-test`.\n   */\n  defaultTestRunner?: SupportedTestRunners\n  /**\n   * Allow NODE_ENV=development even for `next build`.\n   */\n  allowDevelopmentBuild?: true\n  /**\n   * @deprecated use `config.bundlePagesRouterDependencies` instead\n   *\n   */\n  bundlePagesExternals?: boolean\n  /**\n   * @deprecated use `config.serverExternalPackages` instead\n   *\n   */\n  serverComponentsExternalPackages?: string[]\n\n  /**\n   * When enabled, in dev mode, Next.js will send React's debug info through the\n   * WebSocket connection, instead of including it in the main RSC payload.\n   */\n  reactDebugChannel?: boolean\n\n  /**\n   * @deprecated use top-level `cacheComponents` instead\n   */\n  cacheComponents?: boolean\n\n  /**\n   * The number of times to retry static generation (per page) before giving up.\n   */\n  staticGenerationRetryCount?: number\n\n  /**\n   * The amount of pages to export per worker during static generation.\n   */\n  staticGenerationMaxConcurrency?: number\n\n  /**\n   * The minimum number of pages to be chunked into each export worker.\n   */\n  staticGenerationMinPagesPerWorker?: number\n\n  /**\n   * Allows previously fetched data to be re-used when editing server components.\n   */\n  serverComponentsHmrCache?: boolean\n\n  /**\n   * Render <style> tags inline in the HTML for imported CSS assets.\n   * Supports app-router in production mode only.\n   */\n  inlineCss?: boolean\n\n  // TODO: Remove this config when the API is stable.\n  /**\n   * This config allows you to enable the experimental navigation API `forbidden` and `unauthorized`.\n   */\n  authInterrupts?: boolean\n\n  /**\n   * Enables the use of the `\"use cache\"` directive.\n   */\n  useCache?: boolean\n\n  /**\n   * Enables detection and reporting of slow modules during development builds.\n   * Enabling this may impact build performance to ensure accurate measurements.\n   */\n  slowModuleDetection?: {\n    /**\n     * The time threshold in milliseconds for identifying slow modules.\n     * Modules taking longer than this build time threshold will be reported.\n     */\n    buildTimeThresholdMs: number\n  }\n\n  /**\n   * Enables using the global-not-found.js file in the app directory\n   *\n   */\n  globalNotFound?: boolean\n\n  /**\n   * Enable debug information to be forwarded from browser to dev server stdout/stderr.\n   *\n   * - `'warn'` (default): Forward warnings and errors to terminal\n   * - `'error'`: Forward only errors to terminal\n   * - `'verbose'`: Forward all browser console output to terminal\n   * - `true`: Same as 'verbose' - forward all browser console output to terminal\n   * - `false`: Disable browser log forwarding to terminal\n   * - Object: Enable with custom configuration\n   *\n   * @deprecated Use `logging.browserToTerminal` instead.\n   */\n  browserDebugInfoInTerminal?:\n    | boolean\n    | 'error'\n    | 'warn'\n    | 'verbose'\n    | {\n        /**\n         * Minimum log level to show in terminal.\n         * @default 'verbose' (for object config, to preserve backward compatibility)\n         */\n        level?: 'error' | 'warn' | 'verbose'\n\n        /**\n         * Option to limit stringification at a specific nesting depth when logging circular objects.\n         * @default 5\n         */\n        depthLimit?: number\n\n        /**\n         * Maximum number of properties/elements to stringify when logging objects/arrays with circular references.\n         * @default 100\n         */\n        edgeLimit?: number\n        /**\n         * Whether to include source location information in debug output when available\n         */\n        showSourceLocation?: boolean\n      }\n\n  /**\n   * Enable accessing root params via the `next/root-params` module.\n   */\n  rootParams?: boolean\n\n  /**\n   * Body size limit for request bodies with middleware configured.\n   * Defaults to 10MB. Can be specified as a number (bytes) or string (e.g. '5mb').\n   *\n   * @deprecated Use `proxyClientMaxBodySize` instead.\n   */\n  middlewareClientMaxBodySize?: SizeLimit\n\n  /**\n   * Body size limit for request bodies with proxy configured.\n   * Defaults to 10MB. Can be specified as a number (bytes) or string (e.g. '5mb').\n   */\n  proxyClientMaxBodySize?: SizeLimit\n\n  /**\n   * Enable the Model Context Protocol (MCP) server for AI-assisted development.\n   * When enabled, Next.js will expose an MCP server at `/_next/mcp` that provides\n   * code intelligence and project context to AI assistants.\n   *\n   * @default true\n   */\n  mcpServer?: boolean\n\n  /**\n   * Acquires a lockfile at `<distDir>/lock` when starting `next dev` or `next\n   * build`. Failing to acquire the lock causes the process to exit with an\n   * error message.\n   *\n   * This is because if multiple processes write to the same `distDir` at the\n   * same time, it can mangle the state of the directory. Disabling this option\n   * is not recommended.\n   *\n   * @default true\n   */\n  lockDistDir?: boolean\n\n  /**\n   * Hide logs that occur after a render has already aborted.\n   * This can help reduce noise in the console when dealing with aborted renders.\n   *\n   * @default false\n   */\n  hideLogsAfterAbort?: boolean\n\n  /**\n   * Whether `process.env.NEXT_DEPLOYMENT_ID` is available at runtime in the server (and `next\n   * build` doesn't need to embed the deployment ID value into the build output).\n   *\n   * @default false\n   */\n  runtimeServerDeploymentId?: boolean\n\n  /**\n   * A different token to use for static assets (as opposed to config.deploymentId) which\n   * doesn't have to be unique per deployment.\n   */\n  immutableAssetToken?: string\n\n  /**\n   * An array of paths in app or pages directories that should wait to be processed\n   * until all other entries have been processed. This is useful for deferring\n   * compilation of certain routes during development and build.\n   */\n  deferredEntries?: string[]\n\n  /**\n   * An async function that is called and awaited before processing deferred entries.\n   * This callback runs after all non-deferred entries have been compiled.\n   */\n  onBeforeDeferredEntries?: () => Promise<void>\n\n  /**\n   * Whether to report inlined system environment variables as warnings or errors.\n   * Only supported for Turbopack.\n   */\n  reportSystemEnvInlining?: 'error' | 'warn'\n}\n\nexport type ExportPathMap = {\n  [path: string]: {\n    page: string\n    query?: NextParsedUrlQuery\n\n    /**\n     * When true, this indicates that this is a pages router page that should\n     * be rendered as a fallback.\n     *\n     * @internal\n     */\n    _pagesFallback?: boolean\n\n    /**\n     * The locale that this page should be rendered in.\n     *\n     * @internal\n     */\n    _locale?: string\n\n    /**\n     * The path that was used to generate the page.\n     *\n     * @internal\n     */\n    _ssgPath?: string\n\n    /**\n     * The parameters that are currently unknown.\n     *\n     * @internal\n     */\n    _fallbackRouteParams?: readonly FallbackRouteParam[]\n\n    /**\n     * @internal\n     */\n    _isAppDir?: boolean\n\n    /**\n     * @internal\n     */\n    _isDynamicError?: boolean\n\n    /**\n     * @internal\n     */\n    _isRoutePPREnabled?: boolean\n\n    /**\n     * When true, the page is prerendered as a fallback shell, while allowing\n     * any dynamic accesses to result in an empty shell. This is the case when\n     * the app has `experimental.ppr` and `cacheComponents` enabled, and\n     * there are also routes prerendered with a more complete set of params.\n     * Prerendering those routes would catch any invalid dynamic accesses.\n     *\n     * @internal\n     */\n    _allowEmptyStaticShell?: boolean\n\n    /**\n     * When true, run build-time instant validation for this export path.\n     * Only set on the first export entry per page, since validation uses\n     * unstable_instant.samples (not actual params from generateStaticParams),\n     * so the result is the same for all param combinations.\n     *\n     * @internal\n     */\n    _runInstantValidation?: boolean\n  }\n}\n\n/**\n * Next.js can be configured through a `next.config.js` file in the root of your project directory.\n *\n * This can change the behavior, enable experimental features, and configure other advanced options.\n *\n * Read more: [Next.js Docs: `next.config.js`](https://nextjs.org/docs/app/api-reference/config/next-config-js)\n */\nexport interface NextConfig {\n  allowedDevOrigins?: string[]\n\n  exportPathMap?: (\n    defaultMap: ExportPathMap,\n    ctx: {\n      dev: boolean\n      dir: string\n      outDir: string | null\n      distDir: string\n      buildId: string\n    }\n  ) => Promise<ExportPathMap> | ExportPathMap\n\n  /**\n   * Internationalization configuration\n   *\n   * @see [Internationalization docs](https://nextjs.org/docs/advanced-features/i18n-routing)\n   */\n  i18n?: I18NConfig | null\n\n  /**\n   * @see [Next.js TypeScript documentation](https://nextjs.org/docs/app/api-reference/config/typescript)\n   */\n  typescript?: TypeScriptConfig\n\n  /**\n   * Enable type checking for Link and Router.push, etc.\n   * This feature requires TypeScript in your project.\n   *\n   * @see [Typed Links documentation](https://nextjs.org/docs/app/api-reference/config/typescript#statically-typed-links)\n   */\n  typedRoutes?: boolean\n\n  /**\n   * Headers allow you to set custom HTTP headers for an incoming request path.\n   *\n   * @see [Headers configuration documentation](https://nextjs.org/docs/app/api-reference/config/next-config-js/headers)\n   */\n  headers?: () => Promise<Header[]> | Header[]\n\n  /**\n   * Rewrites allow you to map an incoming request path to a different destination path.\n   *\n   * @see [Rewrites configuration documentation](https://nextjs.org/docs/app/api-reference/config/next-config-js/rewrites)\n   */\n  rewrites?: () =>\n    | Promise<\n        | Rewrite[]\n        | {\n            beforeFiles?: Rewrite[]\n            afterFiles?: Rewrite[]\n            fallback?: Rewrite[]\n          }\n      >\n    | Rewrite[]\n    | {\n        beforeFiles?: Rewrite[]\n        afterFiles?: Rewrite[]\n        fallback?: Rewrite[]\n      }\n\n  /**\n   * Redirects allow you to redirect an incoming request path to a different destination path.\n   *\n   * @see [Redirects configuration documentation](https://nextjs.org/docs/app/api-reference/config/next-config-js/redirects)\n   */\n  redirects?: () => Promise<Redirect[]> | Redirect[]\n\n  /**\n   * @see [Moment.js locales excluded by default](https://nextjs.org/docs/upgrading#momentjs-locales-excluded-by-default)\n   */\n  excludeDefaultMomentLocales?: boolean\n\n  /**\n   * Before continuing to add custom webpack configuration to your application make sure Next.js doesn't already support your use-case\n   *\n   * @see [Custom Webpack Config documentation](https://nextjs.org/docs/app/api-reference/config/next-config-js/webpack)\n   */\n  webpack?: NextJsWebpackConfig | null\n\n  /**\n   * By default Next.js will redirect urls with trailing slashes to their counterpart without a trailing slash.\n   *\n   * @default false\n   * @see [Trailing Slash Configuration](https://nextjs.org/docs/app/api-reference/config/next-config-js/trailingSlash)\n   */\n  trailingSlash?: boolean\n\n  /**\n   * Next.js comes with built-in support for environment variables\n   *\n   * @see [Environment Variables documentation](https://nextjs.org/docs/app/api-reference/config/next-config-js/env)\n   */\n  env?: Record<string, string | undefined>\n\n  /**\n   * Destination directory (defaults to `.next`)\n   */\n  distDir?: string\n\n  /**\n   * The build output directory (defaults to `.next`) is now cleared by default except for the Next.js caches.\n   */\n  cleanDistDir?: boolean\n\n  /**\n   * To set up a CDN, you can set up an asset prefix and configure your CDN's origin to resolve to the domain that Next.js is hosted on.\n   *\n   * @see [CDN Support with Asset Prefix](https://nextjs.org/docs/app/api-reference/config/next-config-js/assetPrefix)\n   */\n  assetPrefix?: string\n\n  /**\n   * The default cache handler for the Pages and App Router uses the filesystem cache. This requires no configuration, however, you can customize the cache handler if you prefer.\n   *\n   * @see [Configuring Caching](https://nextjs.org/docs/app/building-your-application/deploying#configuring-caching) and the [API Reference](https://nextjs.org/docs/app/api-reference/next-config-js/incrementalCacheHandlerPath).\n   */\n  cacheHandler?: string | undefined\n\n  /**\n   * Path to a custom adapter module for deployment platform integration.\n   * Can also be set via the `NEXT_ADAPTER_PATH` environment variable.\n   */\n  adapterPath?: string\n\n  cacheHandlers?: {\n    default?: string\n    remote?: string\n    static?: string\n    [handlerName: string]: string | undefined\n  }\n\n  /**\n   * Configure the in-memory cache size in bytes. Defaults to 50 MB.\n   * If `cacheMaxMemorySize: 0`, this disables in-memory caching entirely.\n   *\n   * @see [Configuring Caching](https://nextjs.org/docs/app/building-your-application/deploying#configuring-caching).\n   */\n  cacheMaxMemorySize?: number\n\n  /**\n   * By default, `Next` will serve each file in the `pages` folder under a pathname matching the filename.\n   * To disable this behavior and prevent routing based set this to `true`.\n   *\n   * @default true\n   * @see [Disabling file-system routing](https://nextjs.org/docs/advanced-features/custom-server#disabling-file-system-routing)\n   */\n  useFileSystemPublicRoutes?: boolean\n\n  /**\n   * @see [Configuring the build ID](https://nextjs.org/docs/app/api-reference/config/next-config-js/generateBuildId)\n   */\n  generateBuildId?: () => string | null | Promise<string | null>\n\n  /** @see [Disabling ETag Configuration](https://nextjs.org/docs/app/api-reference/config/next-config-js/generateEtags) */\n  generateEtags?: boolean\n\n  /** @see [Including non-page files in the pages directory](https://nextjs.org/docs/app/api-reference/config/next-config-js/pageExtensions) */\n  pageExtensions?: string[]\n\n  /** @see [Compression documentation](https://nextjs.org/docs/app/api-reference/config/next-config-js/compress) */\n  compress?: boolean\n\n  /** @see [Disabling x-powered-by](https://nextjs.org/docs/app/api-reference/config/next-config-js/poweredByHeader) */\n  poweredByHeader?: boolean\n\n  /** @see [Using the Image Component](https://nextjs.org/docs/app/api-reference/next-config-js/images) */\n  images?: ImageConfig\n\n  /** Configure indicators in development environment */\n  devIndicators?:\n    | false\n    | {\n        /**\n         * Position of the development tools indicator in the browser window.\n         * @default \"bottom-left\"\n         * */\n        position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right'\n      }\n\n  /**\n   * Next.js exposes some options that give you some control over how the server will dispose or keep in memory built pages in development.\n   *\n   * @see [Configuring `onDemandEntries`](https://nextjs.org/docs/app/api-reference/config/next-config-js/onDemandEntries)\n   */\n  onDemandEntries?: {\n    /** period (in ms) where the server will keep pages in the buffer */\n    maxInactiveAge?: number\n    /** number of pages that should be kept simultaneously without being disposed */\n    pagesBufferLength?: number\n  }\n\n  /**\n   * A unique identifier for a deployment that will be included in each request's query string or header.\n   */\n  deploymentId?: string\n\n  /**\n   * Deploy a Next.js application under a sub-path of a domain\n   *\n   * @see [Base path configuration](https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath)\n   */\n  basePath?: string\n\n  /** @see [Customizing sass options](https://nextjs.org/docs/app/api-reference/next-config-js/sassOptions) */\n  sassOptions?: {\n    implementation?: string\n    [key: string]: any\n  }\n\n  /**\n   * Enable browser source map generation during the production build\n   *\n   * @see [Source Maps](https://nextjs.org/docs/advanced-features/source-maps)\n   */\n  productionBrowserSourceMaps?: boolean\n\n  /**\n   * Enable {@link https://nextjs.org/docs/app/api-reference/config/next-config-js/reactCompiler React Compiler in Next.js}.\n   * Configuration accepts partial config object of the Compiler.\n   * If provided, the Compiler will be enabled.\n   */\n  reactCompiler?: boolean | ReactCompilerOptions\n\n  /**\n   * Enable react profiling in production\n   *\n   */\n  reactProductionProfiling?: boolean\n\n  /**\n   * The Next.js runtime is Strict Mode-compliant.\n   *\n   * @see [React Strict Mode](https://nextjs.org/docs/app/api-reference/config/next-config-js/reactStrictMode)\n   */\n  reactStrictMode?: boolean | null\n\n  /**\n   * The maximum length of the headers that are emitted by React and added to\n   * the response.\n   *\n   * @see [React Max Headers Length](https://nextjs.org/docs/app/api-reference/config/next-config-js/reactMaxHeadersLength)\n   */\n  reactMaxHeadersLength?: number\n\n  /**\n   * Next.js enables HTTP Keep-Alive by default.\n   * You may want to disable HTTP Keep-Alive for certain `fetch()` calls or globally.\n   *\n   * @see [Disabling HTTP Keep-Alive](https://nextjs.org/docs/app/api-reference/next-config-js/httpAgentOptions)\n   */\n  httpAgentOptions?: { keepAlive?: boolean }\n\n  /**\n   * Timeout after waiting to generate static pages in seconds\n   *\n   * @default 60\n   */\n  staticPageGenerationTimeout?: number\n\n  /**\n   * Add `\"crossorigin\"` attribute to generated `<script>` elements generated by `<Head />` or `<NextScript />` components\n   *\n   *\n   * @see [`crossorigin` attribute documentation](https://developer.mozilla.org/docs/Web/HTML/Attributes/crossorigin)\n   */\n  crossOrigin?: 'anonymous' | 'use-credentials'\n\n  /**\n   * Optionally enable compiler transforms\n   *\n   * @see [Supported Compiler Options](https://nextjs.org/docs/advanced-features/compiler#supported-features)\n   */\n  compiler?: {\n    reactRemoveProperties?:\n      | boolean\n      | {\n          properties?: string[]\n        }\n    relay?: {\n      src: string\n      artifactDirectory?: string\n      language?: 'typescript' | 'javascript' | 'flow'\n      eagerEsModules?: boolean\n    }\n    removeConsole?:\n      | boolean\n      | {\n          exclude?: string[]\n        }\n    styledComponents?: boolean | StyledComponentsConfig\n    emotion?: boolean | EmotionConfig\n\n    styledJsx?:\n      | boolean\n      | {\n          useLightningcss?: boolean\n        }\n\n    /**\n     * Replaces variables in your code during compile time. Each key will be\n     * replaced with the respective values.\n     */\n    define?: Record<string, string>\n\n    /**\n     * Replaces server-only (Node.js and Edge) variables in your code during compile time.\n     * Each key will be replaced with the respective values.\n     */\n    defineServer?: Record<string, string>\n\n    /**\n     * A hook function that executes after production build compilation finishes,\n     * but before running post-compilation tasks such as type checking and\n     * static page generation.\n     */\n    runAfterProductionCompile?: (metadata: {\n      /**\n       * The root directory of the project\n       */\n      projectDir: string\n      /**\n       * The build output directory (defaults to `.next`)\n       */\n      distDir: string\n    }) => Promise<void>\n  }\n\n  /**\n   * The type of build output.\n   * - `undefined`: The default build output, `.next` directory, that works with production mode `next start` or a hosting provider like Vercel\n   * - `'standalone'`: A standalone build output, `.next/standalone` directory, that only includes necessary files/dependencies. Useful for self-hosting in a Docker container.\n   * - `'export'`: An exported build output, `out` directory, that only includes static HTML/CSS/JS. Useful for self-hosting without a Node.js server.\n   * @see [Output File Tracing](https://nextjs.org/docs/advanced-features/output-file-tracing)\n   * @see [Static HTML Export](https://nextjs.org/docs/advanced-features/static-html-export)\n   */\n  output?: 'standalone' | 'export'\n\n  /**\n   * Automatically transpile and bundle dependencies from local packages (like monorepos) or from external dependencies (`node_modules`). This replaces the\n   * `next-transpile-modules` package.\n   * @see [transpilePackages](https://nextjs.org/docs/advanced-features/compiler#module-transpilation)\n   */\n  transpilePackages?: string[]\n\n  /**\n   * Options for Turbopack. Temporarily also available as `experimental.turbo` for compatibility.\n   */\n  turbopack?: TurbopackOptions\n\n  /**\n   * @deprecated Use `skipProxyUrlNormalize` instead.\n   */\n  skipMiddlewareUrlNormalize?: boolean\n\n  skipProxyUrlNormalize?: boolean\n\n  skipTrailingSlashRedirect?: boolean\n\n  modularizeImports?: Record<\n    string,\n    {\n      transform: string | Record<string, string>\n      preventFullImport?: boolean\n      skipDefaultConversion?: boolean\n    }\n  >\n\n  /**\n   * Logging configuration. Set to `false` to disable logging.\n   */\n  logging?: LoggingConfig | false\n\n  /**\n   * Enables source maps while generating static pages.\n   * Helps with errors during the prerender phase in `next build`.\n   */\n  enablePrerenderSourceMaps?: boolean\n\n  /**\n   * When enabled, in development and build, Next.js will automatically cache\n   * page-level components and functions for faster builds and rendering. This\n   * includes Partial Prerendering support.\n   *\n   * @see [Cache Components documentation](https://nextjs.org/docs/app/api-reference/config/next-config-js/cacheComponents)\n   */\n  cacheComponents?: boolean\n\n  cacheLife?: {\n    [profile: string]: {\n      // How long the client can cache a value without checking with the server.\n      stale?: number\n      // How frequently you want the cache to refresh on the server.\n      // Stale values may be served while revalidating.\n      revalidate?: number\n      // In the worst case scenario, where you haven't had traffic in a while,\n      // how stale can a value be until you prefer deopting to dynamic.\n      // Must be longer than revalidate.\n      expire?: number\n    }\n  }\n\n  /**\n   * period (in seconds) where the server allow to serve stale cache\n   */\n  expireTime?: number\n\n  /**\n   * Enable experimental features. Note that all experimental features are subject to breaking changes in the future.\n   */\n  experimental?: ExperimentalConfig\n\n  /**\n   * Enables the bundling of node_modules packages (externals) for pages server-side bundles.\n   * @see https://nextjs.org/docs/pages/api-reference/next-config-js/bundlePagesRouterDependencies\n   */\n  bundlePagesRouterDependencies?: boolean\n\n  /**\n   * A list of packages that should be treated as external in the server build.\n   * @see https://nextjs.org/docs/app/api-reference/next-config-js/serverExternalPackages\n   */\n  serverExternalPackages?: string[]\n\n  /**\n   * This is the repo root usually and only files above this\n   * directory are traced and included.\n   */\n  outputFileTracingRoot?: string\n\n  /**\n   * This allows manually excluding traced files if too many\n   * are included incorrectly on a per-page basis.\n   */\n  outputFileTracingExcludes?: Record<string, string[]>\n\n  /**\n   * This allows manually including traced files if some\n   * were not detected on a per-page basis.\n   */\n  outputFileTracingIncludes?: Record<string, string[]>\n\n  watchOptions?: {\n    pollIntervalMs?: number\n  }\n\n  /**\n   * User Agent of bots that can handle streaming metadata.\n   * Besides the default behavior, Next.js act differently on serving metadata to bots based on their capability.\n   *\n   * @default\n   * /Mediapartners-Google|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/i\n   */\n  htmlLimitedBots?: RegExp\n\n  /**\n   * @internal\n   */\n  configFile?: string | undefined\n\n  /**\n   * @internal\n   */\n  configOrigin?: string | undefined\n\n  /**\n   * @internal\n   */\n  _originalRedirects?: any\n\n  /**\n   * @internal\n   */\n  _originalRewrites?: any\n}\n\nexport const defaultConfig = Object.freeze({\n  env: {},\n  webpack: null,\n  typescript: {\n    ignoreBuildErrors: false,\n    tsconfigPath: undefined,\n  },\n  typedRoutes: false,\n  distDir: '.next',\n  cleanDistDir: true,\n  assetPrefix: '',\n  cacheHandler: process.env.NEXT_CACHE_HANDLER_PATH,\n  // default to 50MB limit\n  cacheMaxMemorySize: 50 * 1024 * 1024,\n  configOrigin: 'default',\n  useFileSystemPublicRoutes: true,\n  generateBuildId: () => null,\n  generateEtags: true,\n  pageExtensions: ['tsx', 'ts', 'jsx', 'js'],\n  poweredByHeader: true,\n  compress: true,\n  images: imageConfigDefault,\n  devIndicators: {\n    position: 'bottom-left',\n  },\n  onDemandEntries: {\n    maxInactiveAge: 60 * 1000,\n    pagesBufferLength: 5,\n  },\n  basePath: '',\n  sassOptions: {},\n  trailingSlash: false,\n  i18n: null,\n  productionBrowserSourceMaps: false,\n  excludeDefaultMomentLocales: true,\n  reactProductionProfiling: false,\n  reactStrictMode: null,\n  reactMaxHeadersLength: 6000,\n  httpAgentOptions: {\n    keepAlive: true,\n  },\n  logging: {\n    serverFunctions: true,\n  } satisfies LoggingConfig,\n  compiler: {},\n  expireTime: process.env.NEXT_PRIVATE_CDN_CONSUMED_SWR_CACHE_CONTROL\n    ? undefined\n    : 31536000, // one year\n  staticPageGenerationTimeout: 60,\n  output: !!process.env.NEXT_PRIVATE_STANDALONE ? 'standalone' : undefined,\n  modularizeImports: undefined,\n  outputFileTracingRoot: process.env.NEXT_PRIVATE_OUTPUT_TRACE_ROOT || '',\n  allowedDevOrigins: undefined,\n  // Will default to cacheComponents value.\n  enablePrerenderSourceMaps: undefined,\n  cacheComponents: false,\n  cacheLife: {\n    default: {\n      stale: undefined, // defaults to staleTimes.static\n      revalidate: 60 * 15, // 15 minutes\n      expire: INFINITE_CACHE,\n    },\n    seconds: {\n      stale: 30, // 30 seconds\n      revalidate: 1, // 1 second\n      expire: 60, // 1 minute\n    },\n    minutes: {\n      stale: 60 * 5, // 5 minutes\n      revalidate: 60, // 1 minute\n      expire: 60 * 60, // 1 hour\n    },\n    hours: {\n      stale: 60 * 5, // 5 minutes\n      revalidate: 60 * 60, // 1 hour\n      expire: 60 * 60 * 24, // 1 day\n    },\n    days: {\n      stale: 60 * 5, // 5 minutes\n      revalidate: 60 * 60 * 24, // 1 day\n      expire: 60 * 60 * 24 * 7, // 1 week\n    },\n    weeks: {\n      stale: 60 * 5, // 5 minutes\n      revalidate: 60 * 60 * 24 * 7, // 1 week\n      expire: 60 * 60 * 24 * 30, // 1 month\n    },\n    max: {\n      stale: 60 * 5, // 5 minutes\n      revalidate: 60 * 60 * 24 * 30, // 1 month\n      expire: 60 * 60 * 24 * 365, // 1 year\n    },\n  },\n  cacheHandlers: {\n    default: process.env.NEXT_DEFAULT_CACHE_HANDLER_PATH,\n    remote: process.env.NEXT_REMOTE_CACHE_HANDLER_PATH,\n    static: process.env.NEXT_STATIC_CACHE_HANDLER_PATH,\n  },\n  adapterPath: process.env.NEXT_ADAPTER_PATH || undefined,\n  experimental: {\n    appNewScrollHandler: false,\n    useSkewCookie: false,\n    cssChunking: true,\n    multiZoneDraftMode: false,\n    appNavFailHandling: false,\n    prerenderEarlyExit: true,\n    serverMinification: true,\n    linkNoTouchStart: false,\n    caseSensitiveRoutes: false,\n    clientParamParsingOrigins: undefined,\n    cachedNavigations: false,\n    partialFallbacks: false,\n    dynamicOnHover: false,\n    varyParams: false,\n    prefetchInlining: false,\n    preloadEntriesOnStart: true,\n    clientRouterFilter: true,\n    clientRouterFilterRedirects: false,\n    fetchCacheKeyPrefix: '',\n    proxyPrefetch: 'flexible',\n    optimisticClientCache: true,\n    manualClientBasePath: false,\n    cpus: Math.max(\n      1,\n      (Number(process.env.CIRCLE_NODE_TOTAL) ||\n        (os.cpus() || { length: 1 }).length) - 1\n    ),\n    memoryBasedWorkersCount: false,\n    imgOptConcurrency: null,\n    imgOptTimeoutInSeconds: 7,\n    imgOptMaxInputPixels: 268_402_689, // https://sharp.pixelplumbing.com/api-constructor#:~:text=%5Boptions.limitInputPixels%5D\n    imgOptSequentialRead: null,\n    imgOptSkipMetadata: null,\n    isrFlushToDisk: true,\n    workerThreads: false,\n    proxyTimeout: undefined,\n    optimizeCss: false,\n    nextScriptWorkers: false,\n    scrollRestoration: false,\n    externalDir: false,\n    disableOptimizedLoading: false,\n    gzipSize: true,\n    craCompat: false,\n    esmExternals: true,\n    fullySpecified: false,\n    swcTraceProfiling: false,\n    forceSwcTransforms: false,\n    swcPlugins: undefined,\n    largePageDataBytes: 128 * 1000, // 128KB by default\n    disablePostcssPresetEnv: undefined,\n    urlImports: undefined,\n    typedEnv: false,\n    clientTraceMetadata: undefined,\n    parallelServerCompiles: false,\n    parallelServerBuildTraces: false,\n    ppr: false,\n    authInterrupts: false,\n    webpackBuildWorker: undefined,\n    webpackMemoryOptimizations: false,\n    optimizeServerReact: true,\n    strictRouteTypes: false,\n    viewTransition: false,\n    removeUncaughtErrorAndRejectionListeners: false,\n    validateRSCRequestHeaders: !!(\n      process.env.__NEXT_TEST_MODE || !isStableBuild()\n    ),\n    staleTimes: {\n      dynamic: 0,\n      static: 300,\n    },\n    allowDevelopmentBuild: undefined,\n    reactDebugChannel: true,\n    staticGenerationRetryCount: undefined,\n    serverComponentsHmrCache: true,\n    staticGenerationMaxConcurrency: 8,\n    staticGenerationMinPagesPerWorker: 25,\n    transitionIndicator: false,\n    gestureTransition: false,\n    inlineCss: false,\n    useCache: undefined,\n    slowModuleDetection: undefined,\n    globalNotFound: false,\n    browserDebugInfoInTerminal: 'warn',\n    lockDistDir: true,\n    proxyClientMaxBodySize: 10_485_760, // 10MB\n    hideLogsAfterAbort: false,\n    mcpServer: true,\n    turbopackFileSystemCacheForDev: true,\n    turbopackFileSystemCacheForBuild: false,\n    turbopackInferModuleSideEffects: true,\n    turbopackPluginRuntimeStrategy: 'childProcesses',\n  },\n  htmlLimitedBots: undefined,\n  bundlePagesRouterDependencies: false,\n} satisfies NextConfig)\n\nexport async function normalizeConfig(phase: string, config: any) {\n  if (typeof config === 'function') {\n    config = config(phase, { defaultConfig })\n  }\n  // Support `new Promise` and `async () =>` as return values of the config export\n  return await config\n}\n\n// This should be a supertype of NextConfigComplete\n//\n// The Vercel builder needs these fields (read `config` in required-server-files.json)\n// {\n//   pageExtensions: string[];\n//   experimental?: {\n//     cacheComponents?: boolean;\n//     clientParamParsingOrigins?: string[];\n//     clientSegmentCache?: boolean;\n//     ppr?: boolean | 'incremental';\n//     serverActions?: Record<string, never>;\n//   };\n// };\nexport interface NextConfigRuntime {\n  // Can be undefined, particularly when experimental.runtimeServerDeploymentId is true\n  deploymentId?: NextConfigComplete['deploymentId']\n\n  configFileName?: string\n  // Should only be included when using isExperimentalCompile\n  env?: NextConfigComplete['env']\n\n  distDir: NextConfigComplete['distDir']\n  cacheComponents: NextConfigComplete['cacheComponents']\n  htmlLimitedBots: NextConfigComplete['htmlLimitedBots']\n  assetPrefix: NextConfigComplete['assetPrefix']\n  output: NextConfigComplete['output']\n  crossOrigin: NextConfigComplete['crossOrigin']\n  trailingSlash: NextConfigComplete['trailingSlash']\n  images: NextConfigComplete['images']\n  reactMaxHeadersLength: NextConfigComplete['reactMaxHeadersLength']\n  cacheLife: NextConfigComplete['cacheLife']\n  basePath: NextConfigComplete['basePath']\n  expireTime: NextConfigComplete['expireTime']\n  generateEtags: NextConfigComplete['generateEtags']\n  poweredByHeader: NextConfigComplete['poweredByHeader']\n  cacheHandler: NextConfigComplete['cacheHandler']\n  cacheHandlers: NextConfigComplete['cacheHandlers']\n  cacheMaxMemorySize: NextConfigComplete['cacheMaxMemorySize']\n  compress: NextConfigComplete['compress']\n  i18n: NextConfigComplete['i18n']\n  httpAgentOptions: NextConfigComplete['httpAgentOptions']\n  skipProxyUrlNormalize: NextConfigComplete['skipProxyUrlNormalize']\n  pageExtensions: NextConfigComplete['pageExtensions']\n  useFileSystemPublicRoutes: NextConfigComplete['useFileSystemPublicRoutes']\n  logging?: NextConfigComplete['logging']\n  adapterPath?: NextConfigComplete['adapterPath']\n\n  experimental: Pick<\n    NextConfigComplete['experimental'],\n    | 'ppr'\n    | 'taint'\n    | 'serverActions'\n    | 'staleTimes'\n    | 'dynamicOnHover'\n    | 'optimisticRouting'\n    | 'inlineCss'\n    | 'prefetchInlining'\n    | 'authInterrupts'\n    | 'clientTraceMetadata'\n    | 'clientParamParsingOrigins'\n    | 'allowedRevalidateHeaderKeys'\n    | 'fetchCacheKeyPrefix'\n    | 'isrFlushToDisk'\n    | 'optimizeCss'\n    | 'nextScriptWorkers'\n    | 'disableOptimizedLoading'\n    | 'largePageDataBytes'\n    | 'serverComponentsHmrCache'\n    | 'caseSensitiveRoutes'\n    | 'validateRSCRequestHeaders'\n    | 'sri'\n    | 'useSkewCookie'\n    | 'preloadEntriesOnStart'\n    | 'hideLogsAfterAbort'\n    | 'removeUncaughtErrorAndRejectionListeners'\n    | 'imgOptConcurrency'\n    | 'imgOptMaxInputPixels'\n    | 'imgOptSequentialRead'\n    | 'imgOptSkipMetadata'\n    | 'imgOptTimeoutInSeconds'\n    | 'proxyClientMaxBodySize'\n    | 'proxyTimeout'\n    | 'testProxy'\n    | 'runtimeServerDeploymentId'\n    | 'maxPostponedStateSize'\n    | 'cachedNavigations'\n    | 'partialFallbacks'\n    | 'exposeTestingApiInProductionBuild'\n    | 'immutableAssetToken'\n  > & {\n    // Pick on @internal fields generates invalid .d.ts files\n    /** @internal */\n    trustHostHeader?: NextConfigComplete['experimental']['trustHostHeader']\n    /** @internal */\n    isExperimentalCompile?: NextConfigComplete['experimental']['isExperimentalCompile']\n  }\n}\n\nexport function getNextConfigRuntime(\n  config: NextConfigComplete | NextConfigRuntime\n): NextConfigRuntime {\n  // This config filter is a breaking change, so only do it if experimental.runtimeServerDeploymentId is enabled\n  if (!config.experimental.runtimeServerDeploymentId) {\n    return config\n  }\n\n  let ex = config.experimental\n\n  type Requiredish<T> = {\n    [K in keyof Required<T>]: T[K]\n  }\n\n  let experimental = ex\n    ? ({\n        ppr: ex.ppr,\n        taint: ex.taint,\n        serverActions: ex.serverActions,\n        staleTimes: ex.staleTimes,\n        dynamicOnHover: ex.dynamicOnHover,\n        optimisticRouting: ex.optimisticRouting,\n        inlineCss: ex.inlineCss,\n        prefetchInlining: ex.prefetchInlining,\n        authInterrupts: ex.authInterrupts,\n        clientTraceMetadata: ex.clientTraceMetadata,\n        clientParamParsingOrigins: ex.clientParamParsingOrigins,\n        allowedRevalidateHeaderKeys: ex.allowedRevalidateHeaderKeys,\n        fetchCacheKeyPrefix: ex.fetchCacheKeyPrefix,\n        isrFlushToDisk: ex.isrFlushToDisk,\n        optimizeCss: ex.optimizeCss,\n        nextScriptWorkers: ex.nextScriptWorkers,\n        disableOptimizedLoading: ex.disableOptimizedLoading,\n        largePageDataBytes: ex.largePageDataBytes,\n        serverComponentsHmrCache: ex.serverComponentsHmrCache,\n        caseSensitiveRoutes: ex.caseSensitiveRoutes,\n        validateRSCRequestHeaders: ex.validateRSCRequestHeaders,\n        sri: ex.sri,\n        useSkewCookie: ex.useSkewCookie,\n        preloadEntriesOnStart: ex.preloadEntriesOnStart,\n        hideLogsAfterAbort: ex.hideLogsAfterAbort,\n        removeUncaughtErrorAndRejectionListeners:\n          ex.removeUncaughtErrorAndRejectionListeners,\n        imgOptConcurrency: ex.imgOptConcurrency,\n        imgOptMaxInputPixels: ex.imgOptMaxInputPixels,\n        imgOptSequentialRead: ex.imgOptSequentialRead,\n        imgOptSkipMetadata: ex.imgOptSkipMetadata,\n        imgOptTimeoutInSeconds: ex.imgOptTimeoutInSeconds,\n        proxyClientMaxBodySize: ex.proxyClientMaxBodySize,\n        proxyTimeout: ex.proxyTimeout,\n        testProxy: ex.testProxy,\n        runtimeServerDeploymentId: ex.runtimeServerDeploymentId,\n        maxPostponedStateSize: ex.maxPostponedStateSize,\n        cachedNavigations: ex.cachedNavigations,\n        partialFallbacks: ex.partialFallbacks,\n        exposeTestingApiInProductionBuild: ex.exposeTestingApiInProductionBuild,\n        immutableAssetToken: ex.immutableAssetToken,\n\n        trustHostHeader: ex.trustHostHeader,\n        isExperimentalCompile: ex.isExperimentalCompile,\n      } satisfies Requiredish<NextConfigRuntime['experimental']>)\n    : {}\n\n  let runtimeConfig: Requiredish<NextConfigRuntime> = {\n    deploymentId: config.experimental.runtimeServerDeploymentId\n      ? ''\n      : config.deploymentId,\n\n    configFileName: undefined,\n    env: undefined,\n\n    distDir: config.distDir,\n    cacheComponents: config.cacheComponents,\n    htmlLimitedBots: config.htmlLimitedBots,\n    assetPrefix: config.assetPrefix,\n    output: config.output,\n    crossOrigin: config.crossOrigin,\n    trailingSlash: config.trailingSlash,\n    images: config.images,\n    reactMaxHeadersLength: config.reactMaxHeadersLength,\n    cacheLife: config.cacheLife,\n    basePath: config.basePath,\n    expireTime: config.expireTime,\n    generateEtags: config.generateEtags,\n    poweredByHeader: config.poweredByHeader,\n    cacheHandler: config.cacheHandler,\n    cacheHandlers: config.cacheHandlers,\n    // The full adapterPath might be non-deterministic across builds and doesn't\n    // actually matter at runtime, so replace it with a placeholder if it's set.\n    adapterPath: config.adapterPath ? '<omitted but set>' : undefined,\n    cacheMaxMemorySize: config.cacheMaxMemorySize,\n    compress: config.compress,\n    i18n: config.i18n,\n    httpAgentOptions: config.httpAgentOptions,\n    skipProxyUrlNormalize: config.skipProxyUrlNormalize,\n    pageExtensions: config.pageExtensions,\n    useFileSystemPublicRoutes: config.useFileSystemPublicRoutes,\n    logging: config.logging,\n\n    experimental,\n  }\n\n  if (config.experimental.isExperimentalCompile) {\n    runtimeConfig.env = config.env\n  }\n\n  return runtimeConfig\n}\n\n// Re-export from shared lib for backwards compatibility\nexport {\n  DEFAULT_MAX_POSTPONED_STATE_SIZE,\n  parseMaxPostponedStateSize,\n} from '../shared/lib/size-limit'\n"],"names":["DEFAULT_MAX_POSTPONED_STATE_SIZE","LIGHTNINGCSS_FEATURE_NAMES","defaultConfig","getNextConfigRuntime","normalizeConfig","parseMaxPostponedStateSize","Object","freeze","env","webpack","typescript","ignoreBuildErrors","tsconfigPath","undefined","typedRoutes","distDir","cleanDistDir","assetPrefix","cacheHandler","process","NEXT_CACHE_HANDLER_PATH","cacheMaxMemorySize","configOrigin","useFileSystemPublicRoutes","generateBuildId","generateEtags","pageExtensions","poweredByHeader","compress","images","imageConfigDefault","devIndicators","position","onDemandEntries","maxInactiveAge","pagesBufferLength","basePath","sassOptions","trailingSlash","i18n","productionBrowserSourceMaps","excludeDefaultMomentLocales","reactProductionProfiling","reactStrictMode","reactMaxHeadersLength","httpAgentOptions","keepAlive","logging","serverFunctions","compiler","expireTime","NEXT_PRIVATE_CDN_CONSUMED_SWR_CACHE_CONTROL","staticPageGenerationTimeout","output","NEXT_PRIVATE_STANDALONE","modularizeImports","outputFileTracingRoot","NEXT_PRIVATE_OUTPUT_TRACE_ROOT","allowedDevOrigins","enablePrerenderSourceMaps","cacheComponents","cacheLife","default","stale","revalidate","expire","INFINITE_CACHE","seconds","minutes","hours","days","weeks","max","cacheHandlers","NEXT_DEFAULT_CACHE_HANDLER_PATH","remote","NEXT_REMOTE_CACHE_HANDLER_PATH","static","NEXT_STATIC_CACHE_HANDLER_PATH","adapterPath","NEXT_ADAPTER_PATH","experimental","appNewScrollHandler","useSkewCookie","cssChunking","multiZoneDraftMode","appNavFailHandling","prerenderEarlyExit","serverMinification","linkNoTouchStart","caseSensitiveRoutes","clientParamParsingOrigins","cachedNavigations","partialFallbacks","dynamicOnHover","varyParams","prefetchInlining","preloadEntriesOnStart","clientRouterFilter","clientRouterFilterRedirects","fetchCacheKeyPrefix","proxyPrefetch","optimisticClientCache","manualClientBasePath","cpus","Math","Number","CIRCLE_NODE_TOTAL","os","length","memoryBasedWorkersCount","imgOptConcurrency","imgOptTimeoutInSeconds","imgOptMaxInputPixels","imgOptSequentialRead","imgOptSkipMetadata","isrFlushToDisk","workerThreads","proxyTimeout","optimizeCss","nextScriptWorkers","scrollRestoration","externalDir","disableOptimizedLoading","gzipSize","craCompat","esmExternals","fullySpecified","swcTraceProfiling","forceSwcTransforms","swcPlugins","largePageDataBytes","disablePostcssPresetEnv","urlImports","typedEnv","clientTraceMetadata","parallelServerCompiles","parallelServerBuildTraces","ppr","authInterrupts","webpackBuildWorker","webpackMemoryOptimizations","optimizeServerReact","strictRouteTypes","viewTransition","removeUncaughtErrorAndRejectionListeners","validateRSCRequestHeaders","__NEXT_TEST_MODE","isStableBuild","staleTimes","dynamic","allowDevelopmentBuild","reactDebugChannel","staticGenerationRetryCount","serverComponentsHmrCache","staticGenerationMaxConcurrency","staticGenerationMinPagesPerWorker","transitionIndicator","gestureTransition","inlineCss","useCache","slowModuleDetection","globalNotFound","browserDebugInfoInTerminal","lockDistDir","proxyClientMaxBodySize","hideLogsAfterAbort","mcpServer","turbopackFileSystemCacheForDev","turbopackFileSystemCacheForBuild","turbopackInferModuleSideEffects","turbopackPluginRuntimeStrategy","htmlLimitedBots","bundlePagesRouterDependencies","phase","config","runtimeServerDeploymentId","ex","taint","serverActions","optimisticRouting","allowedRevalidateHeaderKeys","sri","testProxy","maxPostponedStateSize","exposeTestingApiInProductionBuild","immutableAssetToken","trustHostHeader","isExperimentalCompile","runtimeConfig","deploymentId","configFileName","crossOrigin","skipProxyUrlNormalize"],"mappings":"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","ignoreList":[0]}