{"version":3,"file":"static/chunks/9755-77e8c888a60c6b2b.js","mappings":"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","sources":["webpack://_N_E/./node_modules/next/dist/client/legacy/image.js","webpack://_N_E/./node_modules/next/legacy/image.js","webpack://_N_E/"],"sourcesContent":["\"use client\";\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Image;\nvar _extends = require(\"@swc/helpers/lib/_extends.js\").default;\nvar _interop_require_default = require(\"@swc/helpers/lib/_interop_require_default.js\").default;\nvar _interop_require_wildcard = require(\"@swc/helpers/lib/_interop_require_wildcard.js\").default;\nvar _object_without_properties_loose = require(\"@swc/helpers/lib/_object_without_properties_loose.js\").default;\nvar _react = _interop_require_wildcard(require(\"react\"));\nvar _head = _interop_require_default(require(\"../../shared/lib/head\"));\nvar _imageConfig = require(\"../../shared/lib/image-config\");\nvar _useIntersection = require(\"../use-intersection\");\nvar _imageConfigContext = require(\"../../shared/lib/image-config-context\");\nvar _warnOnce = require(\"../../shared/lib/utils/warn-once\");\nvar _normalizeTrailingSlash = require(\"../normalize-trailing-slash\");\nfunction Image(_param) {\n var { src , sizes , unoptimized =false , priority =false , loading , lazyRoot =null , lazyBoundary , className , quality , width , height , style , objectFit , objectPosition , onLoadingComplete , placeholder ='empty' , blurDataURL } = _param, all = _object_without_properties_loose(_param, [\n \"src\",\n \"sizes\",\n \"unoptimized\",\n \"priority\",\n \"loading\",\n \"lazyRoot\",\n \"lazyBoundary\",\n \"className\",\n \"quality\",\n \"width\",\n \"height\",\n \"style\",\n \"objectFit\",\n \"objectPosition\",\n \"onLoadingComplete\",\n \"placeholder\",\n \"blurDataURL\"\n ]);\n const configContext = (0, _react).useContext(_imageConfigContext.ImageConfigContext);\n const config = (0, _react).useMemo(()=>{\n const c = configEnv || configContext || _imageConfig.imageConfigDefault;\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n return _extends({}, c, {\n allSizes,\n deviceSizes\n });\n }, [\n configContext\n ]);\n let rest = all;\n let layout = sizes ? 'responsive' : 'intrinsic';\n if ('layout' in rest) {\n // Override default layout if the user specified one:\n if (rest.layout) layout = rest.layout;\n // Remove property so it's not spread on :\n delete rest.layout;\n }\n let loader = defaultImageLoader;\n if ('loader' in rest) {\n if (rest.loader) {\n const customImageLoader = rest.loader;\n var _tmp;\n _tmp = (obj)=>{\n const { config: _ } = obj, opts = _object_without_properties_loose(obj, [\n \"config\"\n ]);\n // The config object is internal only so we must\n // not pass it to the user-defined loader()\n return customImageLoader(opts);\n }, loader = _tmp, _tmp;\n }\n // Remove property so it's not spread on \n delete rest.loader;\n }\n let staticSrc = '';\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src;\n if (!staticImageData.src) {\n throw new Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(staticImageData)}`);\n }\n blurDataURL = blurDataURL || staticImageData.blurDataURL;\n staticSrc = staticImageData.src;\n if (!layout || layout !== 'fill') {\n height = height || staticImageData.height;\n width = width || staticImageData.width;\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(staticImageData)}`);\n }\n }\n }\n src = typeof src === 'string' ? src : staticSrc;\n let isLazy = !priority && (loading === 'lazy' || typeof loading === 'undefined');\n if (src.startsWith('data:') || src.startsWith('blob:')) {\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n if (typeof window !== 'undefined' && loadedImageURLs.has(src)) {\n isLazy = false;\n }\n if (config.unoptimized) {\n unoptimized = true;\n }\n const [blurComplete, setBlurComplete] = (0, _react).useState(false);\n const [setIntersection, isIntersected, resetIntersected] = (0, _useIntersection).useIntersection({\n rootRef: lazyRoot,\n rootMargin: lazyBoundary || '200px',\n disabled: !isLazy\n });\n const isVisible = !isLazy || isIntersected;\n const wrapperStyle = {\n boxSizing: 'border-box',\n display: 'block',\n overflow: 'hidden',\n width: 'initial',\n height: 'initial',\n background: 'none',\n opacity: 1,\n border: 0,\n margin: 0,\n padding: 0\n };\n const sizerStyle = {\n boxSizing: 'border-box',\n display: 'block',\n width: 'initial',\n height: 'initial',\n background: 'none',\n opacity: 1,\n border: 0,\n margin: 0,\n padding: 0\n };\n let hasSizer = false;\n let sizerSvgUrl;\n const layoutStyle = {\n position: 'absolute',\n top: 0,\n left: 0,\n bottom: 0,\n right: 0,\n boxSizing: 'border-box',\n padding: 0,\n border: 'none',\n margin: 'auto',\n display: 'block',\n width: 0,\n height: 0,\n minWidth: '100%',\n maxWidth: '100%',\n minHeight: '100%',\n maxHeight: '100%',\n objectFit,\n objectPosition\n };\n let widthInt = getInt(width);\n let heightInt = getInt(height);\n const qualityInt = getInt(quality);\n if (process.env.NODE_ENV !== 'production') {\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n widthInt = widthInt || 1;\n heightInt = heightInt || 1;\n unoptimized = true;\n } else {\n if (!VALID_LAYOUT_VALUES.includes(layout)) {\n throw new Error(`Image with src \"${src}\" has invalid \"layout\" property. Provided \"${layout}\" should be one of ${VALID_LAYOUT_VALUES.map(String).join(',')}.`);\n }\n if (typeof widthInt !== 'undefined' && isNaN(widthInt) || typeof heightInt !== 'undefined' && isNaN(heightInt)) {\n throw new Error(`Image with src \"${src}\" has invalid \"width\" or \"height\" property. These should be numeric values.`);\n }\n if (layout === 'fill' && (width || height)) {\n (0, _warnOnce).warnOnce(`Image with src \"${src}\" and \"layout='fill'\" has unused properties assigned. Please remove \"width\" and \"height\".`);\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error(`Image with src \"${src}\" has invalid \"loading\" property. Provided \"${loading}\" should be one of ${VALID_LOADING_VALUES.map(String).join(',')}.`);\n }\n if (priority && loading === 'lazy') {\n throw new Error(`Image with src \"${src}\" has both \"priority\" and \"loading='lazy'\" properties. Only one should be used.`);\n }\n if (sizes && layout !== 'fill' && layout !== 'responsive') {\n (0, _warnOnce).warnOnce(`Image with src \"${src}\" has \"sizes\" property but it will be ignored. Only use \"sizes\" with \"layout='fill'\" or \"layout='responsive'\"`);\n }\n if (placeholder === 'blur') {\n if (layout !== 'fill' && (widthInt || 0) * (heightInt || 0) < 1600) {\n (0, _warnOnce).warnOnce(`Image with src \"${src}\" is smaller than 40x40. Consider removing the \"placeholder='blur'\" property to improve performance.`);\n }\n if (!blurDataURL) {\n const VALID_BLUR_EXT = [\n 'jpeg',\n 'png',\n 'webp',\n 'avif'\n ] // should match next-image-loader\n ;\n throw new Error(`Image with src \"${src}\" has \"placeholder='blur'\" property but is missing the \"blurDataURL\" property.\n Possible solutions:\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\n - Change the \"src\" property to a static import with one of the supported file types: ${VALID_BLUR_EXT.join(',')}\n - Remove the \"placeholder\" property, effectively no blur effect\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url`);\n }\n }\n if ('ref' in rest) {\n (0, _warnOnce).warnOnce(`Image with src \"${src}\" is using unsupported \"ref\" property. Consider using the \"onLoadingComplete\" property instead.`);\n }\n if (!unoptimized && loader !== defaultImageLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75\n });\n let url;\n try {\n url = new URL(urlStr);\n } catch (err) {}\n if (urlStr === src || url && url.pathname === src && !url.search) {\n (0, _warnOnce).warnOnce(`Image with src \"${src}\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.` + `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width`);\n }\n }\n if (style) {\n let overwrittenStyles = Object.keys(style).filter((key)=>key in layoutStyle);\n if (overwrittenStyles.length) {\n (0, _warnOnce).warnOnce(`Image with src ${src} is assigned the following styles, which are overwritten by automatically-generated styles: ${overwrittenStyles.join(', ')}`);\n }\n }\n if (typeof window !== 'undefined' && !perfObserver && window.PerformanceObserver) {\n perfObserver = new PerformanceObserver((entryList)=>{\n for (const entry of entryList.getEntries()){\n var ref;\n // @ts-ignore - missing \"LargestContentfulPaint\" class with \"element\" prop\n const imgSrc = (entry == null ? void 0 : (ref = entry.element) == null ? void 0 : ref.src) || '';\n const lcpImage = allImgs.get(imgSrc);\n if (lcpImage && !lcpImage.priority && lcpImage.placeholder !== 'blur' && !lcpImage.src.startsWith('data:') && !lcpImage.src.startsWith('blob:')) {\n // https://web.dev/lcp/#measure-lcp-in-javascript\n (0, _warnOnce).warnOnce(`Image with src \"${lcpImage.src}\" was detected as the Largest Contentful Paint (LCP). Please add the \"priority\" property if this image is above the fold.` + `\\nRead more: https://nextjs.org/docs/api-reference/next/legacy/image#priority`);\n }\n }\n });\n try {\n perfObserver.observe({\n type: 'largest-contentful-paint',\n buffered: true\n });\n } catch (err) {\n // Log error but don't crash the app\n console.error(err);\n }\n }\n }\n }\n const imgStyle = Object.assign({}, style, layoutStyle);\n const blurStyle = placeholder === 'blur' && !blurComplete ? {\n backgroundSize: objectFit || 'cover',\n backgroundPosition: objectPosition || '0% 0%',\n filter: 'blur(20px)',\n backgroundImage: `url(\"${blurDataURL}\")`\n } : {};\n if (layout === 'fill') {\n // \n wrapperStyle.display = 'block';\n wrapperStyle.position = 'absolute';\n wrapperStyle.top = 0;\n wrapperStyle.left = 0;\n wrapperStyle.bottom = 0;\n wrapperStyle.right = 0;\n } else if (typeof widthInt !== 'undefined' && typeof heightInt !== 'undefined') {\n // \n const quotient = heightInt / widthInt;\n const paddingTop = isNaN(quotient) ? '100%' : `${quotient * 100}%`;\n if (layout === 'responsive') {\n // \n wrapperStyle.display = 'block';\n wrapperStyle.position = 'relative';\n hasSizer = true;\n sizerStyle.paddingTop = paddingTop;\n } else if (layout === 'intrinsic') {\n // \n wrapperStyle.display = 'inline-block';\n wrapperStyle.position = 'relative';\n wrapperStyle.maxWidth = '100%';\n hasSizer = true;\n sizerStyle.maxWidth = '100%';\n sizerSvgUrl = `data:image/svg+xml,%3csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20version=%271.1%27%20width=%27${widthInt}%27%20height=%27${heightInt}%27/%3e`;\n } else if (layout === 'fixed') {\n // \n wrapperStyle.display = 'inline-block';\n wrapperStyle.position = 'relative';\n wrapperStyle.width = widthInt;\n wrapperStyle.height = heightInt;\n }\n } else {\n // \n if (process.env.NODE_ENV !== 'production') {\n throw new Error(`Image with src \"${src}\" must use \"width\" and \"height\" properties or \"layout='fill'\" property.`);\n }\n }\n let imgAttributes = {\n src: emptyDataURL,\n srcSet: undefined,\n sizes: undefined\n };\n if (isVisible) {\n imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n layout,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader\n });\n }\n let srcString = src;\n if (process.env.NODE_ENV !== 'production') {\n if (typeof window !== 'undefined') {\n let fullUrl;\n try {\n fullUrl = new URL(imgAttributes.src);\n } catch (e) {\n fullUrl = new URL(imgAttributes.src, window.location.href);\n }\n allImgs.set(fullUrl.href, {\n src,\n priority,\n placeholder\n });\n }\n }\n const linkProps = {\n // @ts-expect-error upgrade react types to react 18\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: rest.crossOrigin\n };\n const useLayoutEffect = typeof window === 'undefined' ? _react.default.useEffect : _react.default.useLayoutEffect;\n const onLoadingCompleteRef = (0, _react).useRef(onLoadingComplete);\n const previousImageSrc = (0, _react).useRef(src);\n (0, _react).useEffect(()=>{\n onLoadingCompleteRef.current = onLoadingComplete;\n }, [\n onLoadingComplete\n ]);\n useLayoutEffect(()=>{\n if (previousImageSrc.current !== src) {\n resetIntersected();\n previousImageSrc.current = src;\n }\n }, [\n resetIntersected,\n src\n ]);\n const imgElementArgs = _extends({\n isLazy,\n imgAttributes,\n heightInt,\n widthInt,\n qualityInt,\n layout,\n className,\n imgStyle,\n blurStyle,\n loading,\n config,\n unoptimized,\n placeholder,\n loader,\n srcString,\n onLoadingCompleteRef,\n setBlurComplete,\n setIntersection,\n isVisible,\n noscriptSizes: sizes\n }, rest);\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"span\", {\n style: wrapperStyle\n }, hasSizer ? /*#__PURE__*/ _react.default.createElement(\"span\", {\n style: sizerStyle\n }, sizerSvgUrl ? /*#__PURE__*/ _react.default.createElement(\"img\", {\n style: {\n display: 'block',\n maxWidth: '100%',\n width: 'initial',\n height: 'initial',\n background: 'none',\n opacity: 1,\n border: 0,\n margin: 0,\n padding: 0\n },\n alt: \"\",\n \"aria-hidden\": true,\n src: sizerSvgUrl\n }) : null) : null, /*#__PURE__*/ _react.default.createElement(ImageElement, Object.assign({}, imgElementArgs))), priority ? // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would likely cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n /*#__PURE__*/ _react.default.createElement(_head.default, null, /*#__PURE__*/ _react.default.createElement(\"link\", Object.assign({\n key: '__nimg-' + imgAttributes.src + imgAttributes.srcSet + imgAttributes.sizes,\n rel: \"preload\",\n as: \"image\",\n href: imgAttributes.srcSet ? undefined : imgAttributes.src\n }, linkProps))) : null);\n}\n\nfunction normalizeSrc(src) {\n return src[0] === '/' ? src.slice(1) : src;\n}\nconst configEnv = process.env.__NEXT_IMAGE_OPTS;\nconst loadedImageURLs = new Set();\nconst allImgs = new Map();\nlet perfObserver;\nconst emptyDataURL = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7';\nif (typeof window === 'undefined') {\n globalThis.__NEXT_IMAGE_IMPORTED = true;\n}\nconst VALID_LOADING_VALUES = [\n 'lazy',\n 'eager',\n undefined\n];\nfunction imgixLoader({ config , src , width , quality }) {\n // Demo: https://static.imgix.net/daisy.png?auto=format&fit=max&w=300\n const url = new URL(`${config.path}${normalizeSrc(src)}`);\n const params = url.searchParams;\n // auto params can be combined with comma separation, or reiteration\n params.set('auto', params.getAll('auto').join(',') || 'format');\n params.set('fit', params.get('fit') || 'max');\n params.set('w', params.get('w') || width.toString());\n if (quality) {\n params.set('q', quality.toString());\n }\n return url.href;\n}\nfunction akamaiLoader({ config , src , width }) {\n return `${config.path}${normalizeSrc(src)}?imwidth=${width}`;\n}\nfunction cloudinaryLoader({ config , src , width , quality }) {\n // Demo: https://res.cloudinary.com/demo/image/upload/w_300,c_limit,q_auto/turtles.jpg\n const params = [\n 'f_auto',\n 'c_limit',\n 'w_' + width,\n 'q_' + (quality || 'auto')\n ];\n const paramsString = params.join(',') + '/';\n return `${config.path}${paramsString}${normalizeSrc(src)}`;\n}\nfunction customLoader({ src }) {\n throw new Error(`Image with src \"${src}\" is missing \"loader\" prop.` + `\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader`);\n}\nfunction defaultLoader({ config , src , width , quality }) {\n if (process.env.NODE_ENV !== 'production') {\n const missingValues = [];\n // these should always be provided but make sure they are\n if (!src) missingValues.push('src');\n if (!width) missingValues.push('width');\n if (missingValues.length > 0) {\n throw new Error(`Next Image Optimization requires ${missingValues.join(', ')} to be provided. Make sure you pass them as props to the \\`next/image\\` component. Received: ${JSON.stringify({\n src,\n width,\n quality\n })}`);\n }\n if (src.startsWith('//')) {\n throw new Error(`Failed to parse src \"${src}\" on \\`next/image\\`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)`);\n }\n if (!src.startsWith('/') && (config.domains || config.remotePatterns)) {\n let parsedSrc;\n try {\n parsedSrc = new URL(src);\n } catch (err) {\n console.error(err);\n throw new Error(`Failed to parse src \"${src}\" on \\`next/image\\`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)`);\n }\n if (process.env.NODE_ENV !== 'test') {\n // We use dynamic require because this should only error in development\n const { hasMatch } = require('../../shared/lib/match-remote-pattern');\n if (!hasMatch(config.domains, config.remotePatterns, parsedSrc)) {\n throw new Error(`Invalid src prop (${src}) on \\`next/image\\`, hostname \"${parsedSrc.hostname}\" is not configured under images in your \\`next.config.js\\`\\n` + `See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host`);\n }\n }\n }\n }\n if (src.endsWith('.svg') && !config.dangerouslyAllowSVG) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n return src;\n }\n return `${(0, _normalizeTrailingSlash).normalizePathTrailingSlash(config.path)}?url=${encodeURIComponent(src)}&w=${width}&q=${quality || 75}`;\n}\nconst loaders = new Map([\n [\n 'default',\n defaultLoader\n ],\n [\n 'imgix',\n imgixLoader\n ],\n [\n 'cloudinary',\n cloudinaryLoader\n ],\n [\n 'akamai',\n akamaiLoader\n ],\n [\n 'custom',\n customLoader\n ], \n]);\nconst VALID_LAYOUT_VALUES = [\n 'fill',\n 'fixed',\n 'intrinsic',\n 'responsive',\n undefined, \n];\nfunction isStaticRequire(src) {\n return src.default !== undefined;\n}\nfunction isStaticImageData(src) {\n return src.src !== undefined;\n}\nfunction isStaticImport(src) {\n return typeof src === 'object' && (isStaticRequire(src) || isStaticImageData(src));\n}\nfunction getWidths({ deviceSizes , allSizes }, width, layout, sizes) {\n if (sizes && (layout === 'fill' || layout === 'responsive')) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g;\n const percentSizes = [];\n for(let match; match = viewportWidthRe.exec(sizes); match){\n percentSizes.push(parseInt(match[2]));\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01;\n return {\n widths: allSizes.filter((s)=>s >= deviceSizes[0] * smallestRatio),\n kind: 'w'\n };\n }\n return {\n widths: allSizes,\n kind: 'w'\n };\n }\n if (typeof width !== 'number' || layout === 'fill' || layout === 'responsive') {\n return {\n widths: deviceSizes,\n kind: 'w'\n };\n }\n const widths = [\n ...new Set(// > This means that most OLED screens that say they are 3x resolution,\n // > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [\n width,\n width * 2 /*, width * 3*/ \n ].map((w)=>allSizes.find((p)=>p >= w) || allSizes[allSizes.length - 1])), \n ];\n return {\n widths,\n kind: 'x'\n };\n}\nfunction generateImgAttrs({ config , src , unoptimized , layout , width , quality , sizes , loader }) {\n if (unoptimized) {\n return {\n src,\n srcSet: undefined,\n sizes: undefined\n };\n }\n const { widths , kind } = getWidths(config, width, layout, sizes);\n const last = widths.length - 1;\n return {\n sizes: !sizes && kind === 'w' ? '100vw' : sizes,\n srcSet: widths.map((w, i)=>`${loader({\n config,\n src,\n quality,\n width: w\n })} ${kind === 'w' ? w : i + 1}${kind}`).join(', '),\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({\n config,\n src,\n quality,\n width: widths[last]\n })\n };\n}\nfunction getInt(x) {\n if (typeof x === 'number') {\n return x;\n }\n if (typeof x === 'string') {\n return parseInt(x, 10);\n }\n return undefined;\n}\nfunction defaultImageLoader(loaderProps) {\n var ref;\n const loaderKey = ((ref = loaderProps.config) == null ? void 0 : ref.loader) || 'default';\n const load = loaders.get(loaderKey);\n if (load) {\n return load(loaderProps);\n }\n throw new Error(`Unknown \"loader\" found in \"next.config.js\". Expected: ${_imageConfig.VALID_LOADERS.join(', ')}. Received: ${loaderKey}`);\n}\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(img, src, layout, placeholder, onLoadingCompleteRef, setBlurComplete) {\n if (!img || img.src === emptyDataURL || img['data-loaded-src'] === src) {\n return;\n }\n img['data-loaded-src'] = src;\n const p = 'decode' in img ? img.decode() : Promise.resolve();\n p.catch(()=>{}).then(()=>{\n if (!img.parentNode) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return;\n }\n loadedImageURLs.add(src);\n if (placeholder === 'blur') {\n setBlurComplete(true);\n }\n if (onLoadingCompleteRef == null ? void 0 : onLoadingCompleteRef.current) {\n const { naturalWidth , naturalHeight } = img;\n // Pass back read-only primitive values but not the\n // underlying DOM element because it could be misused.\n onLoadingCompleteRef.current({\n naturalWidth,\n naturalHeight\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n var ref;\n if ((ref = img.parentElement) == null ? void 0 : ref.parentElement) {\n const parent = getComputedStyle(img.parentElement.parentElement);\n if (!parent.position) {\n // The parent has not been rendered to the dom yet and therefore it has no position. Skip the warnings for such cases.\n } else if (layout === 'responsive' && parent.display === 'flex') {\n (0, _warnOnce).warnOnce(`Image with src \"${src}\" may not render properly as a child of a flex container. Consider wrapping the image with a div to configure the width.`);\n } else if (layout === 'fill' && parent.position !== 'relative' && parent.position !== 'fixed' && parent.position !== 'absolute') {\n (0, _warnOnce).warnOnce(`Image with src \"${src}\" may not render properly with a parent using position:\"${parent.position}\". Consider changing the parent style to position:\"relative\" with a width and height.`);\n }\n }\n }\n });\n}\nconst ImageElement = (_param)=>{\n var { imgAttributes , heightInt , widthInt , qualityInt , layout , className , imgStyle , blurStyle , isLazy , placeholder , loading , srcString , config , unoptimized , loader , onLoadingCompleteRef , setBlurComplete , setIntersection , onLoad , onError , isVisible , noscriptSizes } = _param, rest = _object_without_properties_loose(_param, [\n \"imgAttributes\",\n \"heightInt\",\n \"widthInt\",\n \"qualityInt\",\n \"layout\",\n \"className\",\n \"imgStyle\",\n \"blurStyle\",\n \"isLazy\",\n \"placeholder\",\n \"loading\",\n \"srcString\",\n \"config\",\n \"unoptimized\",\n \"loader\",\n \"onLoadingCompleteRef\",\n \"setBlurComplete\",\n \"setIntersection\",\n \"onLoad\",\n \"onError\",\n \"isVisible\",\n \"noscriptSizes\"\n ]);\n loading = isLazy ? 'lazy' : loading;\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"img\", Object.assign({}, rest, imgAttributes, {\n decoding: \"async\",\n \"data-nimg\": layout,\n className: className,\n style: _extends({}, imgStyle, blurStyle),\n ref: (0, _react).useCallback((img)=>{\n if (process.env.NODE_ENV !== 'production') {\n if (img && !srcString) {\n console.error(`Image is missing required \"src\" property:`, img);\n }\n }\n setIntersection(img);\n if (img == null ? void 0 : img.complete) {\n handleLoading(img, srcString, layout, placeholder, onLoadingCompleteRef, setBlurComplete);\n }\n }, [\n setIntersection,\n srcString,\n layout,\n placeholder,\n onLoadingCompleteRef,\n setBlurComplete, \n ]),\n onLoad: (event)=>{\n const img = event.currentTarget;\n handleLoading(img, srcString, layout, placeholder, onLoadingCompleteRef, setBlurComplete);\n if (onLoad) {\n onLoad(event);\n }\n },\n onError: (event)=>{\n if (placeholder === 'blur') {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true);\n }\n if (onError) {\n onError(event);\n }\n }\n })), (isLazy || placeholder === 'blur') && /*#__PURE__*/ _react.default.createElement(\"noscript\", null, /*#__PURE__*/ _react.default.createElement(\"img\", Object.assign({}, rest, {\n // @ts-ignore - TODO: upgrade to `@types/react@17`\n loading: loading,\n decoding: \"async\",\n \"data-nimg\": layout,\n style: imgStyle,\n className: className\n }, generateImgAttrs({\n config,\n src: srcString,\n unoptimized,\n layout,\n width: widthInt,\n quality: qualityInt,\n sizes: noscriptSizes,\n loader\n })))));\n};\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=image.js.map","module.exports = require('../dist/client/legacy/image')\n"],"names":["Object","value","exports","_param","sizerSvgUrl","src","sizes","unoptimized","priority","loading","lazyRoot","lazyBoundary","className","quality","width","height","style","objectFit","objectPosition","onLoadingComplete","placeholder","blurDataURL","all","_object_without_properties_loose","configContext","useContext","_imageConfigContext","ImageConfigContext","config","useMemo","c","configEnv","_imageConfig","imageConfigDefault","allSizes","deviceSizes","imageSizes","sort","a","b","_extends","rest","layout","loader","defaultImageLoader","customImageLoader","_","obj","opts","staticSrc","isStaticRequire","undefined","staticImageData","default","concat","JSON","stringify","isLazy","startsWith","loadedImageURLs","has","blurComplete","setBlurComplete","useState","setIntersection","isIntersected","resetIntersected","useIntersection","rootRef","rootMargin","disabled","isVisible","wrapperStyle","boxSizing","display","overflow","background","opacity","border","margin","padding","sizerStyle","hasSizer","widthInt","getInt","heightInt","qualityInt","imgStyle","assign","position","top","left","bottom","right","minWidth","maxWidth","minHeight","maxHeight","blurStyle","backgroundSize","backgroundPosition","filter","backgroundImage","quotient","paddingTop","isNaN","imgAttributes","emptyDataURL","srcSet","generateImgAttrs","srcString","linkProps","imageSrcSet","crossOrigin","useLayoutEffect","_react","onLoadingCompleteRef","useRef","previousImageSrc","useEffect","current","imgElementArgs","noscriptSizes","createElement","Fragment","alt","ImageElement","_head","key","rel","as","href","require","_interop_require_default","_interop_require_wildcard","_useIntersection","_normalizeTrailingSlash","normalizeSrc","slice","process","Set","loaders","Map","param","endsWith","dangerouslyAllowSVG","encodeURIComponent","normalizePathTrailingSlash","path","url","URL","params","searchParams","set","getAll","join","get","toString","paramsString","widths","kind","getWidths","viewportWidthRe","percentSizes","match","exec","push","parseInt","length","smallestRatio","Math","min","s","map","find","p","w","last","i","x","loaderProps","ref","loaderKey","load","VALID_LOADERS","handleLoading","img","decode","Promise","resolve","catch","then","parentNode","add","naturalWidth","naturalHeight","onLoad","onError","decoding","useCallback","complete","event","currentTarget","__esModule","defineProperty","module","__webpack_require__"],"sourceRoot":""}