{"version":3,"file":"static/chunks/3623.5cef01e8e364832a.js","mappings":"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","sources":["webpack://_N_E/../client/use-merged-ref.ts","webpack://_N_E/../../../src/client/app-dir/link.tsx","webpack://_N_E/./node_modules/nookies/dist/utils.js","webpack://_N_E/./node_modules/set-cookie-parser/lib/set-cookie.js","webpack://_N_E/./node_modules/clsx/dist/clsx.m.js","webpack://_N_E/./node_modules/nookies/dist/index.js","webpack://_N_E/./node_modules/cookie/index.js"],"sourcesContent":["import { useCallback, useRef, type Ref } from 'react'\n\n// This is a compatibility hook to support React 18 and 19 refs.\n// In 19, a cleanup function from refs may be returned.\n// In 18, returning a cleanup function creates a warning.\n// Since we take userspace refs, we don't know ahead of time if a cleanup function will be returned.\n// This implements cleanup functions with the old behavior in 18.\n// We know refs are always called alternating with `null` and then `T`.\n// So a call with `null` means we need to call the previous cleanup functions.\nexport function useMergedRef(\n refA: Ref,\n refB: Ref\n): Ref {\n const cleanupA = useRef<(() => void) | null>(null)\n const cleanupB = useRef<(() => void) | null>(null)\n\n // NOTE: In theory, we could skip the wrapping if only one of the refs is non-null.\n // (this happens often if the user doesn't pass a ref to Link/Form/Image)\n // But this can cause us to leak a cleanup-ref into user code (e.g. via ``),\n // and the user might pass that ref into ref-merging library that doesn't support cleanup refs\n // (because it hasn't been updated for React 19)\n // which can then cause things to blow up, because a cleanup-returning ref gets called with `null`.\n // So in practice, it's safer to be defensive and always wrap the ref, even on React 19.\n return useCallback(\n (current: TElement | null): void => {\n if (current === null) {\n const cleanupFnA = cleanupA.current\n if (cleanupFnA) {\n cleanupA.current = null\n cleanupFnA()\n }\n const cleanupFnB = cleanupB.current\n if (cleanupFnB) {\n cleanupB.current = null\n cleanupFnB()\n }\n } else {\n if (refA) {\n cleanupA.current = applyRef(refA, current)\n }\n if (refB) {\n cleanupB.current = applyRef(refB, current)\n }\n }\n },\n [refA, refB]\n )\n}\n\nfunction applyRef(\n refA: NonNullable>,\n current: TElement\n) {\n if (typeof refA === 'function') {\n const cleanup = refA(current)\n if (typeof cleanup === 'function') {\n return cleanup\n } else {\n return () => refA(null)\n }\n } else {\n refA.current = current\n return () => {\n refA.current = null\n }\n }\n}\n","'use client'\n\nimport type { NextRouter } from '../../shared/lib/router/router'\n\nimport React from 'react'\nimport type { UrlObject } from 'url'\nimport { formatUrl } from '../../shared/lib/router/utils/format-url'\nimport { AppRouterContext } from '../../shared/lib/app-router-context.shared-runtime'\nimport type { AppRouterInstance } from '../../shared/lib/app-router-context.shared-runtime'\nimport { PrefetchKind } from '../components/router-reducer/router-reducer-types'\nimport { useMergedRef } from '../use-merged-ref'\nimport { isAbsoluteUrl } from '../../shared/lib/utils'\nimport { addBasePath } from '../add-base-path'\nimport { warnOnce } from '../../shared/lib/utils/warn-once'\nimport {\n mountLinkInstance,\n onNavigationIntent,\n unmountLinkInstance,\n} from '../components/links'\n\ntype Url = string | UrlObject\ntype RequiredKeys = {\n [K in keyof T]-?: {} extends Pick ? never : K\n}[keyof T]\ntype OptionalKeys = {\n [K in keyof T]-?: {} extends Pick ? K : never\n}[keyof T]\n\ntype InternalLinkProps = {\n /**\n * **Required**. The path or URL to navigate to. It can also be an object (similar to `URL`).\n *\n * @example\n * ```tsx\n * // Navigate to /dashboard:\n * Dashboard\n *\n * // Navigate to /about?name=test:\n * \n * About\n * \n * ```\n *\n * @remarks\n * - For external URLs, use a fully qualified URL such as `https://...`.\n * - In the App Router, dynamic routes must not include bracketed segments in `href`.\n */\n href: Url\n\n /**\n * @deprecated v10.0.0: `href` props pointing to a dynamic route are\n * automatically resolved and no longer require the `as` prop.\n */\n as?: Url\n\n /**\n * Replace the current `history` state instead of adding a new URL into the stack.\n *\n * @defaultValue `false`\n *\n * @example\n * ```tsx\n * \n * About (replaces the history state)\n * \n * ```\n */\n replace?: boolean\n\n /**\n * Whether to override the default scroll behavior. If `true`, Next.js attempts to maintain\n * the scroll position if the newly navigated page is still visible. If not, it scrolls to the top.\n *\n * If `false`, Next.js will not modify the scroll behavior at all.\n *\n * @defaultValue `true`\n *\n * @example\n * ```tsx\n * \n * No auto scroll\n * \n * ```\n */\n scroll?: boolean\n\n /**\n * Update the path of the current page without rerunning data fetching methods\n * like `getStaticProps`, `getServerSideProps`, or `getInitialProps`.\n *\n * @remarks\n * `shallow` only applies to the Pages Router. For the App Router, see the\n * [following documentation](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#using-the-native-history-api).\n *\n * @defaultValue `false`\n *\n * @example\n * ```tsx\n * \n * Shallow navigation\n * \n * ```\n */\n shallow?: boolean\n\n /**\n * Forces `Link` to pass its `href` to the child component. Useful if the child is a custom\n * component that wraps an `` tag, or if you're using certain styling libraries.\n *\n * @defaultValue `false`\n *\n * @example\n * ```tsx\n * \n * Dashboard\n * \n * ```\n */\n passHref?: boolean\n\n /**\n * Prefetch the page in the background.\n * Any `` that is in the viewport (initially or through scroll) will be prefetched.\n * Prefetch can be disabled by passing `prefetch={false}`.\n *\n * @remarks\n * Prefetching is only enabled in production.\n *\n * - In the **App Router**:\n * - `null` (default): Prefetch behavior depends on static vs dynamic routes:\n * - Static routes: fully prefetched\n * - Dynamic routes: partial prefetch to the nearest segment with a `loading.js`\n * - `true`: Always prefetch the full route and data.\n * - `false`: Disable prefetching on both viewport and hover.\n * - In the **Pages Router**:\n * - `true` (default): Prefetches the route and data in the background on viewport or hover.\n * - `false`: Prefetch only on hover, not on viewport.\n *\n * @defaultValue `true` (Pages Router) or `null` (App Router)\n *\n * @example\n * ```tsx\n * \n * Dashboard\n * \n * ```\n */\n prefetch?: boolean | null\n\n /**\n * The active locale is automatically prepended in the Pages Router. `locale` allows for providing\n * a different locale, or can be set to `false` to opt out of automatic locale behavior.\n *\n * @remarks\n * Note: locale only applies in the Pages Router and is ignored in the App Router.\n *\n * @example\n * ```tsx\n * // Use the 'fr' locale:\n * \n * About (French)\n * \n *\n * // Disable locale prefix:\n * \n * About (no locale prefix)\n * \n * ```\n */\n locale?: string | false\n\n /**\n * Enable legacy link behavior, requiring an `` tag to wrap the child content\n * if the child is a string or number.\n *\n * @defaultValue `false`\n * @see https://github.com/vercel/next.js/commit/489e65ed98544e69b0afd7e0cfc3f9f6c2b803b7\n */\n legacyBehavior?: boolean\n\n /**\n * Optional event handler for when the mouse pointer is moved onto the ``.\n */\n onMouseEnter?: React.MouseEventHandler\n\n /**\n * Optional event handler for when the `` is touched.\n */\n onTouchStart?: React.TouchEventHandler\n\n /**\n * Optional event handler for when the `` is clicked.\n */\n onClick?: React.MouseEventHandler\n}\n\n// TODO-APP: Include the full set of Anchor props\n// adding this to the publicly exported type currently breaks existing apps\n\n// `RouteInferType` is a stub here to avoid breaking `typedRoutes` when the type\n// isn't generated yet. It will be replaced when the webpack plugin runs.\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport type LinkProps = InternalLinkProps\ntype LinkPropsRequired = RequiredKeys\ntype LinkPropsOptional = OptionalKeys>\n\nfunction isModifiedEvent(event: React.MouseEvent): boolean {\n const eventTarget = event.currentTarget as HTMLAnchorElement | SVGAElement\n const target = eventTarget.getAttribute('target')\n return (\n (target && target !== '_self') ||\n event.metaKey ||\n event.ctrlKey ||\n event.shiftKey ||\n event.altKey || // triggers resource download\n (event.nativeEvent && event.nativeEvent.which === 2)\n )\n}\n\nfunction linkClicked(\n e: React.MouseEvent,\n router: NextRouter | AppRouterInstance,\n href: string,\n as: string,\n replace?: boolean,\n shallow?: boolean,\n scroll?: boolean\n): void {\n const { nodeName } = e.currentTarget\n\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === 'A'\n\n if (isAnchorNodeName && isModifiedEvent(e)) {\n // ignore click for browser’s default behavior\n return\n }\n\n e.preventDefault()\n\n const navigate = () => {\n // If the router is an NextRouter instance it will have `beforePopState`\n const routerScroll = scroll ?? true\n if ('beforePopState' in router) {\n router[replace ? 'replace' : 'push'](href, as, {\n shallow,\n scroll: routerScroll,\n })\n } else {\n router[replace ? 'replace' : 'push'](as || href, {\n scroll: routerScroll,\n })\n }\n }\n\n React.startTransition(navigate)\n}\n\ntype LinkPropsReal = React.PropsWithChildren<\n Omit, keyof LinkProps> &\n LinkProps\n>\n\nfunction formatStringOrUrl(urlObjOrString: UrlObject | string): string {\n if (typeof urlObjOrString === 'string') {\n return urlObjOrString\n }\n\n return formatUrl(urlObjOrString)\n}\n\n/**\n * A React component that extends the HTML `` element to provide\n * [prefetching](https://nextjs.org/docs/app/building-your-application/routing/linking-and-navigating#2-prefetching)\n * and client-side navigation. This is the primary way to navigate between routes in Next.js.\n *\n * @remarks\n * - Prefetching is only enabled in production.\n *\n * @see https://nextjs.org/docs/app/api-reference/components/link\n */\nconst Link = React.forwardRef(\n function LinkComponent(props, forwardedRef) {\n let children: React.ReactNode\n\n const {\n href: hrefProp,\n as: asProp,\n children: childrenProp,\n prefetch: prefetchProp = null,\n passHref,\n replace,\n shallow,\n scroll,\n onClick,\n onMouseEnter: onMouseEnterProp,\n onTouchStart: onTouchStartProp,\n legacyBehavior = false,\n ...restProps\n } = props\n\n children = childrenProp\n\n if (\n legacyBehavior &&\n (typeof children === 'string' || typeof children === 'number')\n ) {\n children = {children}\n }\n\n const router = React.useContext(AppRouterContext)\n\n const prefetchEnabled = prefetchProp !== false\n /**\n * The possible states for prefetch are:\n * - null: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport\n * - true: we will prefetch if the link is visible and prefetch the full page, not just partially\n * - false: we will not prefetch if in the viewport at all\n */\n const appPrefetchKind =\n prefetchProp === null ? PrefetchKind.AUTO : PrefetchKind.FULL\n\n if (process.env.NODE_ENV !== 'production') {\n function createPropError(args: {\n key: string\n expected: string\n actual: string\n }) {\n return new Error(\n `Failed prop type: The prop \\`${args.key}\\` expects a ${args.expected} in \\`\\`, but got \\`${args.actual}\\` instead.` +\n (typeof window !== 'undefined'\n ? \"\\nOpen your browser's console to view the Component stack trace.\"\n : '')\n )\n }\n\n // TypeScript trick for type-guarding:\n const requiredPropsGuard: Record = {\n href: true,\n } as const\n const requiredProps: LinkPropsRequired[] = Object.keys(\n requiredPropsGuard\n ) as LinkPropsRequired[]\n requiredProps.forEach((key: LinkPropsRequired) => {\n if (key === 'href') {\n if (\n props[key] == null ||\n (typeof props[key] !== 'string' && typeof props[key] !== 'object')\n ) {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key],\n })\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _: never = key\n }\n })\n\n // TypeScript trick for type-guarding:\n const optionalPropsGuard: Record = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true,\n } as const\n const optionalProps: LinkPropsOptional[] = Object.keys(\n optionalPropsGuard\n ) as LinkPropsOptional[]\n optionalProps.forEach((key: LinkPropsOptional) => {\n const valType = typeof props[key]\n\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: valType,\n })\n }\n } else if (\n key === 'onClick' ||\n key === 'onMouseEnter' ||\n key === 'onTouchStart'\n ) {\n if (props[key] && valType !== 'function') {\n throw createPropError({\n key,\n expected: '`function`',\n actual: valType,\n })\n }\n } else if (\n key === 'replace' ||\n key === 'scroll' ||\n key === 'shallow' ||\n key === 'passHref' ||\n key === 'prefetch' ||\n key === 'legacyBehavior'\n ) {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key,\n expected: '`boolean`',\n actual: valType,\n })\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _: never = key\n }\n })\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (props.locale) {\n warnOnce(\n 'The `locale` prop is not supported in `next/link` while using the `app` router. Read more about app router internalization: https://nextjs.org/docs/app/building-your-application/routing/internationalization'\n )\n }\n if (!asProp) {\n let href: string | undefined\n if (typeof hrefProp === 'string') {\n href = hrefProp\n } else if (\n typeof hrefProp === 'object' &&\n typeof hrefProp.pathname === 'string'\n ) {\n href = hrefProp.pathname\n }\n\n if (href) {\n const hasDynamicSegment = href\n .split('/')\n .some((segment) => segment.startsWith('[') && segment.endsWith(']'))\n\n if (hasDynamicSegment) {\n throw new Error(\n `Dynamic href \\`${href}\\` found in while using the \\`/app\\` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href`\n )\n }\n }\n }\n }\n\n const { href, as } = React.useMemo(() => {\n const resolvedHref = formatStringOrUrl(hrefProp)\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref,\n }\n }, [hrefProp, asProp])\n\n // This will return the first child, if multiple are provided it will throw an error\n let child: any\n if (legacyBehavior) {\n if (process.env.NODE_ENV === 'development') {\n if (onClick) {\n console.warn(\n `\"onClick\" was passed to with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link`\n )\n }\n if (onMouseEnterProp) {\n console.warn(\n `\"onMouseEnter\" was passed to with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link`\n )\n }\n try {\n child = React.Children.only(children)\n } catch (err) {\n if (!children) {\n throw new Error(\n `No children were passed to with \\`href\\` of \\`${hrefProp}\\` but one child is required https://nextjs.org/docs/messages/link-no-children`\n )\n }\n throw new Error(\n `Multiple children were passed to with \\`href\\` of \\`${hrefProp}\\` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children` +\n (typeof window !== 'undefined'\n ? \" \\nOpen your browser's console to view the Component stack trace.\"\n : '')\n )\n }\n } else {\n child = React.Children.only(children)\n }\n } else {\n if (process.env.NODE_ENV === 'development') {\n if ((children as any)?.type === 'a') {\n throw new Error(\n 'Invalid with child. Please remove or use .\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor'\n )\n }\n }\n }\n\n const childRef: any = legacyBehavior\n ? child && typeof child === 'object' && child.ref\n : forwardedRef\n\n // Use a callback ref to attach an IntersectionObserver to the anchor tag on\n // mount. In the future we will also use this to keep track of all the\n // currently mounted instances, e.g. so we can re-prefetch them after\n // a revalidation or refresh.\n const observeLinkVisibilityOnMount = React.useCallback(\n (element: HTMLAnchorElement | SVGAElement) => {\n if (prefetchEnabled && router !== null) {\n mountLinkInstance(element, href, router, appPrefetchKind)\n }\n return () => {\n unmountLinkInstance(element)\n }\n },\n [prefetchEnabled, href, router, appPrefetchKind]\n )\n\n const mergedRef = useMergedRef(observeLinkVisibilityOnMount, childRef)\n\n const childProps: {\n onTouchStart?: React.TouchEventHandler\n onMouseEnter: React.MouseEventHandler\n onClick: React.MouseEventHandler\n href?: string\n ref?: any\n } = {\n ref: mergedRef,\n onClick(e) {\n if (process.env.NODE_ENV !== 'production') {\n if (!e) {\n throw new Error(\n `Component rendered inside next/link has to pass click event to \"onClick\" prop.`\n )\n }\n }\n\n if (!legacyBehavior && typeof onClick === 'function') {\n onClick(e)\n }\n\n if (\n legacyBehavior &&\n child.props &&\n typeof child.props.onClick === 'function'\n ) {\n child.props.onClick(e)\n }\n\n if (!router) {\n return\n }\n\n if (e.defaultPrevented) {\n return\n }\n\n linkClicked(e, router, href, as, replace, shallow, scroll)\n },\n onMouseEnter(e) {\n if (!legacyBehavior && typeof onMouseEnterProp === 'function') {\n onMouseEnterProp(e)\n }\n\n if (\n legacyBehavior &&\n child.props &&\n typeof child.props.onMouseEnter === 'function'\n ) {\n child.props.onMouseEnter(e)\n }\n\n if (!router) {\n return\n }\n\n if (!prefetchEnabled || process.env.NODE_ENV === 'development') {\n return\n }\n\n onNavigationIntent(e.currentTarget as HTMLAnchorElement | SVGAElement)\n },\n onTouchStart: process.env.__NEXT_LINK_NO_TOUCH_START\n ? undefined\n : function onTouchStart(e) {\n if (!legacyBehavior && typeof onTouchStartProp === 'function') {\n onTouchStartProp(e)\n }\n\n if (\n legacyBehavior &&\n child.props &&\n typeof child.props.onTouchStart === 'function'\n ) {\n child.props.onTouchStart(e)\n }\n\n if (!router) {\n return\n }\n\n if (!prefetchEnabled) {\n return\n }\n\n onNavigationIntent(\n e.currentTarget as HTMLAnchorElement | SVGAElement\n )\n },\n }\n\n // If child is an tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user.\n // If the url is absolute, we can bypass the logic to prepend the basePath.\n if (isAbsoluteUrl(as)) {\n childProps.href = as\n } else if (\n !legacyBehavior ||\n passHref ||\n (child.type === 'a' && !('href' in child.props))\n ) {\n childProps.href = addBasePath(as)\n }\n\n return legacyBehavior ? (\n React.cloneElement(child, childProps)\n ) : (\n \n {children}\n \n )\n }\n)\n\nexport default Link\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.areCookiesEqual = exports.hasSameProperties = exports.createCookie = exports.isBrowser = void 0;\n/**\n * Tells whether we are in a browser or server.\n */\nfunction isBrowser() {\n return typeof window !== 'undefined';\n}\nexports.isBrowser = isBrowser;\n/**\n * Create an instance of the Cookie interface\n */\nfunction createCookie(name, value, options) {\n var sameSite = options.sameSite;\n if (sameSite === true) {\n sameSite = 'strict';\n }\n if (sameSite === undefined || sameSite === false) {\n sameSite = 'lax';\n }\n var cookieToSet = __assign(__assign({}, options), { sameSite: sameSite });\n delete cookieToSet.encode;\n return __assign({ name: name, value: value }, cookieToSet);\n}\nexports.createCookie = createCookie;\n/**\n * Tells whether given objects have the same properties.\n */\nfunction hasSameProperties(a, b) {\n var aProps = Object.getOwnPropertyNames(a);\n var bProps = Object.getOwnPropertyNames(b);\n if (aProps.length !== bProps.length) {\n return false;\n }\n for (var i = 0; i < aProps.length; i++) {\n var propName = aProps[i];\n if (a[propName] !== b[propName]) {\n return false;\n }\n }\n return true;\n}\nexports.hasSameProperties = hasSameProperties;\n/**\n * Compare the cookie and return true if the cookies have equivalent\n * options and the cookies would be overwritten in the browser storage.\n *\n * @param a first Cookie for comparison\n * @param b second Cookie for comparison\n */\nfunction areCookiesEqual(a, b) {\n var sameSiteSame = a.sameSite === b.sameSite;\n if (typeof a.sameSite === 'string' && typeof b.sameSite === 'string') {\n sameSiteSame = a.sameSite.toLowerCase() === b.sameSite.toLowerCase();\n }\n return (hasSameProperties(__assign(__assign({}, a), { sameSite: undefined }), __assign(__assign({}, b), { sameSite: undefined })) && sameSiteSame);\n}\nexports.areCookiesEqual = areCookiesEqual;\n/* Functions */\n//# sourceMappingURL=utils.js.map","\"use strict\";\n\nvar defaultParseOptions = {\n decodeValues: true,\n map: false,\n silent: false,\n};\n\nfunction isNonEmptyString(str) {\n return typeof str === \"string\" && !!str.trim();\n}\n\nfunction parseString(setCookieValue, options) {\n var parts = setCookieValue.split(\";\").filter(isNonEmptyString);\n\n var nameValuePairStr = parts.shift();\n var parsed = parseNameValuePair(nameValuePairStr);\n var name = parsed.name;\n var value = parsed.value;\n\n options = options\n ? Object.assign({}, defaultParseOptions, options)\n : defaultParseOptions;\n\n try {\n value = options.decodeValues ? decodeURIComponent(value) : value; // decode cookie value\n } catch (e) {\n console.error(\n \"set-cookie-parser encountered an error while decoding a cookie with value '\" +\n value +\n \"'. Set options.decodeValues to false to disable this feature.\",\n e\n );\n }\n\n var cookie = {\n name: name,\n value: value,\n };\n\n parts.forEach(function (part) {\n var sides = part.split(\"=\");\n var key = sides.shift().trimLeft().toLowerCase();\n var value = sides.join(\"=\");\n if (key === \"expires\") {\n cookie.expires = new Date(value);\n } else if (key === \"max-age\") {\n cookie.maxAge = parseInt(value, 10);\n } else if (key === \"secure\") {\n cookie.secure = true;\n } else if (key === \"httponly\") {\n cookie.httpOnly = true;\n } else if (key === \"samesite\") {\n cookie.sameSite = value;\n } else if (key === \"partitioned\") {\n cookie.partitioned = true;\n } else {\n cookie[key] = value;\n }\n });\n\n return cookie;\n}\n\nfunction parseNameValuePair(nameValuePairStr) {\n // Parses name-value-pair according to rfc6265bis draft\n\n var name = \"\";\n var value = \"\";\n var nameValueArr = nameValuePairStr.split(\"=\");\n if (nameValueArr.length > 1) {\n name = nameValueArr.shift();\n value = nameValueArr.join(\"=\"); // everything after the first =, joined by a \"=\" if there was more than one part\n } else {\n value = nameValuePairStr;\n }\n\n return { name: name, value: value };\n}\n\nfunction parse(input, options) {\n options = options\n ? Object.assign({}, defaultParseOptions, options)\n : defaultParseOptions;\n\n if (!input) {\n if (!options.map) {\n return [];\n } else {\n return {};\n }\n }\n\n if (input.headers) {\n if (typeof input.headers.getSetCookie === \"function\") {\n // for fetch responses - they combine headers of the same type in the headers array,\n // but getSetCookie returns an uncombined array\n input = input.headers.getSetCookie();\n } else if (input.headers[\"set-cookie\"]) {\n // fast-path for node.js (which automatically normalizes header names to lower-case\n input = input.headers[\"set-cookie\"];\n } else {\n // slow-path for other environments - see #25\n var sch =\n input.headers[\n Object.keys(input.headers).find(function (key) {\n return key.toLowerCase() === \"set-cookie\";\n })\n ];\n // warn if called on a request-like object with a cookie header rather than a set-cookie header - see #34, 36\n if (!sch && input.headers.cookie && !options.silent) {\n console.warn(\n \"Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning.\"\n );\n }\n input = sch;\n }\n }\n if (!Array.isArray(input)) {\n input = [input];\n }\n\n if (!options.map) {\n return input.filter(isNonEmptyString).map(function (str) {\n return parseString(str, options);\n });\n } else {\n var cookies = {};\n return input.filter(isNonEmptyString).reduce(function (cookies, str) {\n var cookie = parseString(str, options);\n cookies[cookie.name] = cookie;\n return cookies;\n }, cookies);\n }\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\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*/\nfunction splitCookiesString(cookiesString) {\n if (Array.isArray(cookiesString)) {\n return cookiesString;\n }\n if (typeof cookiesString !== \"string\") {\n return [];\n }\n\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\nmodule.exports = parse;\nmodule.exports.parse = parse;\nmodule.exports.parseString = parseString;\nmodule.exports.splitCookiesString = splitCookiesString;\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e))for(t=0;t values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var pairs = str.split(';')\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var index = pair.indexOf('=')\n\n // skip things that don't look like key=value\n if (index < 0) {\n continue;\n }\n\n var key = pair.substring(0, index).trim()\n\n // only assign once\n if (undefined == obj[key]) {\n var val = pair.substring(index + 1, pair.length).trim()\n\n // quoted values\n if (val[0] === '\"') {\n val = val.slice(1, -1)\n }\n\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n\n if (isNaN(maxAge) || !isFinite(maxAge)) {\n throw new TypeError('option maxAge is invalid')\n }\n\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n"],"names":["useMergedRef","refA","refB","cleanupA","useRef","cleanupB","useCallback","current","cleanupFnA","cleanupFnB","applyRef","cleanup","formatStringOrUrl","urlObjOrString","formatUrl","React","forwardRef","LinkComponent","forwardedRef","children","child","href","hrefProp","as","asProp","childrenProp","prefetch","prefetchProp","passHref","replace","shallow","scroll","onClick","onMouseEnter","onMouseEnterProp","onTouchStart","onTouchStartProp","legacyBehavior","restProps","props","a","router","useContext","AppRouterContext","prefetchEnabled","appPrefetchKind","PrefetchKind","AUTO","FULL","useMemo","resolvedHref","only","childRef","ref","observeLinkVisibilityOnMount","mountLinkInstance","element","unmountLinkInstance","childProps","e","defaultPrevented","linkClicked","nodeName","currentTarget","isAnchorNodeName","toUpperCase","isModifiedEvent","target","event","getAttribute","metaKey","ctrlKey","shiftKey","altKey","nativeEvent","which","preventDefault","startTransition","navigate","routerScroll","onNavigationIntent","process","env","NODE_ENV","undefined","isAbsoluteUrl","addBasePath","cloneElement"],"sourceRoot":"","ignoreList":[2,3,4,5,6]}