Skip to content

Commit

Permalink
feat: set a better type for the default image loader (#41639)
Browse files Browse the repository at this point in the history
## Bug

- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Errors have a helpful link attached, see `contributing.md`

## Feature

- [ ] Implements an existing feature request or RFC. Make sure the feature request has been accepted for implementation before opening a PR.
- [ ] Related issues linked using `fixes #number`
- [ ] Integration tests added
- [ ] Documentation added
- [ ] Telemetry added. In case of a feature if it's used or not.
- [ ] Errors have a helpful link attached, see `contributing.md`

## Documentation / Examples

- [ ] Make sure the linting passes by running `pnpm lint`
- [ ] The "examples guidelines" are followed from [our contributing doc](https://github.com/vercel/next.js/blob/canary/contributing/examples/adding-examples.md)


Co-authored-by: Steven <229881+styfle@users.noreply.github.com>
  • Loading branch information
amirhhashemi and styfle committed Oct 24, 2022
1 parent 17a4f6a commit 8678865
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 11 deletions.
13 changes: 4 additions & 9 deletions packages/next/client/image.tsx
Expand Up @@ -13,6 +13,8 @@ import { getImageBlurSvg } from '../shared/lib/image-blur-svg'
import {
ImageConfigComplete,
imageConfigDefault,
ImageLoaderProps,
ImageLoaderPropsWithConfig,
} from '../shared/lib/image-config'
import { ImageConfigContext } from '../shared/lib/image-config-context'
import { warnOnce } from '../shared/lib/utils'
Expand All @@ -33,21 +35,14 @@ if (typeof window === 'undefined') {
const VALID_LOADING_VALUES = ['lazy', 'eager', undefined] as const
type LoadingValue = typeof VALID_LOADING_VALUES[number]
type ImageConfig = ImageConfigComplete & { allSizes: number[] }
export type ImageLoader = (p: ImageLoaderProps) => string

export type ImageLoaderProps = {
src: string
width: number
quality?: number
}
export { ImageLoaderProps }
export type ImageLoader = (p: ImageLoaderProps) => string

// Do not export - this is an internal type only
// because `next.config.js` is only meant for the
// built-in loaders, not for a custom loader() prop.
type ImageLoaderWithConfig = (p: ImageLoaderPropsWithConfig) => string
type ImageLoaderPropsWithConfig = ImageLoaderProps & {
config: Readonly<ImageConfig>
}

type PlaceholderValue = 'blur' | 'empty'
type OnLoad = React.ReactEventHandler<HTMLImageElement> | undefined
Expand Down
10 changes: 10 additions & 0 deletions packages/next/shared/lib/image-config.ts
Expand Up @@ -8,6 +8,16 @@ export const VALID_LOADERS = [

export type LoaderValue = typeof VALID_LOADERS[number]

export type ImageLoaderProps = {
src: string
width: number
quality?: number
}

export type ImageLoaderPropsWithConfig = ImageLoaderProps & {
config: Readonly<ImageConfig>
}

export type RemotePattern = {
/**
* Must be `http` or `https`.
Expand Down
10 changes: 8 additions & 2 deletions packages/next/shared/lib/image-loader.ts
@@ -1,5 +1,11 @@
// TODO: change "any" to actual type
function defaultLoader({ config, src, width, quality }: any): string {
import type { ImageLoaderPropsWithConfig } from './image-config'

function defaultLoader({
config,
src,
width,
quality,
}: ImageLoaderPropsWithConfig): string {
if (process.env.NODE_ENV !== 'production') {
const missingValues = []

Expand Down
@@ -0,0 +1,11 @@
import Image from 'next/image'
import type { ImageProps, ImageLoader, ImageLoaderProps } from 'next/image'

function myLoader({ src, width, quality }: ImageLoaderProps): string {
return `https://example.com/${src}?w=${width}&q=${quality || 75}`
}
const loader: ImageLoader = myLoader

export function ImageWithLoader(props: Omit<ImageProps, 'loader'>) {
return <Image loader={loader} {...props} />
}
8 changes: 8 additions & 0 deletions test/integration/next-image-new/typescript/pages/valid.tsx
Expand Up @@ -5,6 +5,7 @@ import svg from '../public/test.svg'
import avif from '../public/test.avif'
import { ImageCard } from '../components/image-card'
import { DynamicSrcImage } from '../components/image-dynamic-src'
import { ImageWithLoader } from '../components/image-with-loader'

const Page = () => {
return (
Expand Down Expand Up @@ -95,6 +96,13 @@ const Page = () => {
width={400}
height={400}
/>
<ImageWithLoader
id="image-with-loader"
alt="image-with-loader"
src="test.jpg"
width={300}
height={300}
/>
<p id="stubtext">This is valid usage of the Image component</p>
</div>
)
Expand Down

1 comment on commit 8678865

@ijjk
Copy link
Member

@ijjk ijjk commented on 8678865 Oct 25, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stats from current release

Default Build (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
buildDuration 25.2s 26.4s ⚠️ +1.1s
buildDurationCached 9.8s 10.9s ⚠️ +1.2s
nodeModulesSize 74.9 MB 94.3 MB ⚠️ +19.3 MB
nextStartRea..uration (ms) 331ms 324ms -7ms
Client Bundles (main, webpack) Overall increase ⚠️
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
456.HASH.js gzip 180 B N/A N/A
app-internal..HASH.js gzip 216 B 182 B -34 B
framework-HASH.js gzip 45.3 kB N/A N/A
main-app-HASH.js gzip 14.9 kB 100 kB ⚠️ +85.5 kB
main-HASH.js gzip 31 kB 77.3 kB ⚠️ +46.4 kB
webpack-HASH.js gzip 1.54 kB 1.83 kB ⚠️ +295 B
240-HASH.js gzip N/A 11.8 kB N/A
55.HASH.js gzip N/A 181 B N/A
Overall change 93 kB 192 kB ⚠️ +98.7 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
polyfills-HASH.js gzip 31 kB 31 kB
Overall change 31 kB 31 kB
Client Pages Overall increase ⚠️
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
_app-HASH.js gzip 202 B 192 B -10 B
_error-HASH.js gzip 195 B 179 B -16 B
amp-HASH.js gzip 491 B 483 B -8 B
css-HASH.js gzip 327 B 804 B ⚠️ +477 B
dynamic-HASH.js gzip 2.03 kB 2.3 kB ⚠️ +274 B
edge-ssr-HASH.js gzip 273 B 258 B -15 B
head-HASH.js gzip 360 B 827 B ⚠️ +467 B
hooks-HASH.js gzip 800 B 849 B ⚠️ +49 B
image-HASH.js gzip 4.89 kB 4.14 kB -748 B
index-HASH.js gzip 263 B 254 B -9 B
link-HASH.js gzip 2.37 kB 2.73 kB ⚠️ +364 B
routerDirect..HASH.js gzip 320 B 783 B ⚠️ +463 B
script-HASH.js gzip 392 B 856 B ⚠️ +464 B
withRouter-HASH.js gzip 320 B 782 B ⚠️ +462 B
85e02e95b279..7e3.css gzip 107 B 107 B
Overall change 13.3 kB 15.6 kB ⚠️ +2.21 kB
Client Build Manifests
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
_buildManifest.js gzip 483 B 483 B
Overall change 483 B 483 B
Rendered Page Sizes Overall decrease ✓
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
index.html gzip 513 B 489 B -24 B
link.html gzip 527 B 503 B -24 B
withRouter.html gzip 508 B 483 B -25 B
Overall change 1.55 kB 1.48 kB -73 B
Edge SSR bundle Size Overall decrease ✓
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
edge-ssr.js gzip 121 kB 62.2 kB -58.3 kB
page.js gzip 154 kB 98 kB -55.6 kB
Overall change 274 kB 160 kB -114 kB
Middleware size Overall increase ⚠️
vercel/next.js canary v12.3.1 vercel/next.js refs/heads/canary Change
middleware-b..fest.js gzip 590 B 567 B -23 B
middleware-r..fest.js gzip 145 B 145 B
middleware.js gzip 19.3 kB 25.5 kB ⚠️ +6.19 kB
edge-runtime..pack.js gzip 2.21 kB 2.21 kB
Overall change 22.2 kB 28.4 kB ⚠️ +6.17 kB

Diffs

Diff for page.js
failed to diff
Diff for middleware-b..-manifest.js
@@ -7,95 +7,80 @@ self.__BUILD_MANIFEST = {
     "static/BUILD_ID/_ssgManifest.js"
   ],
   rootMainFiles: [
-    "static/chunks/webpack-2056b6771bb6eeb5.js",
-    "static/chunks/framework-114cbddc60b679b8.js",
-    "static/chunks/main-app-d38cf272b763d80e.js"
+    "static/chunks/webpack-3fbb5c5b31a01b0e.js",
+    "static/chunks/main-app-2166bbedcde3bbbb.js"
   ],
   pages: {
     "/": [
-      "static/chunks/webpack-2056b6771bb6eeb5.js",
-      "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-0d0b922d26c12137.js",
-      "static/chunks/pages/index-900174ca1e174563.js"
+      "static/chunks/webpack-3fbb5c5b31a01b0e.js",
+      "static/chunks/main-1a66e9e5c66876de.js",
+      "static/chunks/pages/index-9a20bf08007c156b.js"
     ],
     "/_app": [
-      "static/chunks/webpack-2056b6771bb6eeb5.js",
-      "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-0d0b922d26c12137.js",
-      "static/chunks/pages/_app-1f0e6d89ba459592.js"
+      "static/chunks/webpack-3fbb5c5b31a01b0e.js",
+      "static/chunks/main-1a66e9e5c66876de.js",
+      "static/chunks/pages/_app-da38623d1b0aece5.js"
     ],
     "/_error": [
-      "static/chunks/webpack-2056b6771bb6eeb5.js",
-      "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-0d0b922d26c12137.js",
-      "static/chunks/pages/_error-94b3006f80759527.js"
+      "static/chunks/webpack-3fbb5c5b31a01b0e.js",
+      "static/chunks/main-1a66e9e5c66876de.js",
+      "static/chunks/pages/_error-59ea4c86ecb9d224.js"
     ],
     "/amp": [
-      "static/chunks/webpack-2056b6771bb6eeb5.js",
-      "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-0d0b922d26c12137.js",
-      "static/chunks/pages/amp-f0c9e7075e99cdce.js"
+      "static/chunks/webpack-3fbb5c5b31a01b0e.js",
+      "static/chunks/main-1a66e9e5c66876de.js",
+      "static/chunks/pages/amp-cd266f5895b4a96f.js"
     ],
     "/css": [
-      "static/chunks/webpack-2056b6771bb6eeb5.js",
-      "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-0d0b922d26c12137.js",
+      "static/chunks/webpack-3fbb5c5b31a01b0e.js",
+      "static/chunks/main-1a66e9e5c66876de.js",
       "static/css/94fdbc56eafa2039.css",
-      "static/chunks/pages/css-2c8d2fef6e4629d8.js"
+      "static/chunks/pages/css-3a9738b822ee9217.js"
     ],
     "/dynamic": [
-      "static/chunks/webpack-2056b6771bb6eeb5.js",
-      "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-0d0b922d26c12137.js",
-      "static/chunks/pages/dynamic-07c0137a4d8189d2.js"
+      "static/chunks/webpack-3fbb5c5b31a01b0e.js",
+      "static/chunks/main-1a66e9e5c66876de.js",
+      "static/chunks/pages/dynamic-e117a66695ac00ae.js"
     ],
     "/edge-ssr": [
-      "static/chunks/webpack-2056b6771bb6eeb5.js",
-      "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-0d0b922d26c12137.js",
-      "static/chunks/pages/edge-ssr-9142dd9b334cfc97.js"
+      "static/chunks/webpack-3fbb5c5b31a01b0e.js",
+      "static/chunks/main-1a66e9e5c66876de.js",
+      "static/chunks/pages/edge-ssr-250ade8d11bd3c36.js"
     ],
     "/head": [
-      "static/chunks/webpack-2056b6771bb6eeb5.js",
-      "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-0d0b922d26c12137.js",
-      "static/chunks/pages/head-a318183c0e7d51ea.js"
+      "static/chunks/webpack-3fbb5c5b31a01b0e.js",
+      "static/chunks/main-1a66e9e5c66876de.js",
+      "static/chunks/pages/head-6c35f7d69a94e44a.js"
     ],
     "/hooks": [
-      "static/chunks/webpack-2056b6771bb6eeb5.js",
-      "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-0d0b922d26c12137.js",
-      "static/chunks/pages/hooks-12989df52240d87b.js"
+      "static/chunks/webpack-3fbb5c5b31a01b0e.js",
+      "static/chunks/main-1a66e9e5c66876de.js",
+      "static/chunks/pages/hooks-b3fe5e610feb88d0.js"
     ],
     "/image": [
-      "static/chunks/webpack-2056b6771bb6eeb5.js",
-      "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-0d0b922d26c12137.js",
-      "static/chunks/pages/image-45c4300e80886e03.js"
+      "static/chunks/webpack-3fbb5c5b31a01b0e.js",
+      "static/chunks/main-1a66e9e5c66876de.js",
+      "static/chunks/pages/image-10c2824eaa293e57.js"
     ],
     "/link": [
-      "static/chunks/webpack-2056b6771bb6eeb5.js",
-      "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-0d0b922d26c12137.js",
-      "static/chunks/pages/link-d0af872fc93e91d2.js"
+      "static/chunks/webpack-3fbb5c5b31a01b0e.js",
+      "static/chunks/main-1a66e9e5c66876de.js",
+      "static/chunks/pages/link-31e5c03c1af1c0dd.js"
     ],
     "/routerDirect": [
-      "static/chunks/webpack-2056b6771bb6eeb5.js",
-      "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-0d0b922d26c12137.js",
-      "static/chunks/pages/routerDirect-82af3ffa1ab36c88.js"
+      "static/chunks/webpack-3fbb5c5b31a01b0e.js",
+      "static/chunks/main-1a66e9e5c66876de.js",
+      "static/chunks/pages/routerDirect-d486faed4c145b8d.js"
     ],
     "/script": [
-      "static/chunks/webpack-2056b6771bb6eeb5.js",
-      "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-0d0b922d26c12137.js",
-      "static/chunks/pages/script-20bf7081553122bf.js"
+      "static/chunks/webpack-3fbb5c5b31a01b0e.js",
+      "static/chunks/main-1a66e9e5c66876de.js",
+      "static/chunks/pages/script-2cf2842bf926b950.js"
     ],
     "/withRouter": [
-      "static/chunks/webpack-2056b6771bb6eeb5.js",
-      "static/chunks/framework-114cbddc60b679b8.js",
-      "static/chunks/main-0d0b922d26c12137.js",
-      "static/chunks/pages/withRouter-ee6f5473a3761203.js"
+      "static/chunks/webpack-3fbb5c5b31a01b0e.js",
+      "static/chunks/main-1a66e9e5c66876de.js",
+      "static/chunks/pages/withRouter-8bb87dc8c5965f35.js"
     ]
   },
   ampFirstPages: []
Diff for middleware-r..-manifest.js
@@ -1,6 +1,6 @@
 self.__REACT_LOADABLE_MANIFEST = {
   "dynamic.js -> ../components/hello": {
-    id: 3456,
-    files: ["static/chunks/456.a1bbcca2f00c8524.js"]
+    id: 1055,
+    files: ["static/chunks/55.89eb39c50acb0610.js"]
   }
 };
Diff for middleware.js

Diff too large to display

Diff for edge-ssr.js

Diff too large to display

Diff for _buildManifest.js
@@ -1,28 +1,28 @@
 self.__BUILD_MANIFEST = {
   __rewrites: { beforeFiles: [], afterFiles: [], fallback: [] },
-  "/": ["static\u002Fchunks\u002Fpages\u002Findex-900174ca1e174563.js"],
-  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-94b3006f80759527.js"],
-  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-f0c9e7075e99cdce.js"],
+  "/": ["static\u002Fchunks\u002Fpages\u002Findex-9a20bf08007c156b.js"],
+  "/_error": ["static\u002Fchunks\u002Fpages\u002F_error-59ea4c86ecb9d224.js"],
+  "/amp": ["static\u002Fchunks\u002Fpages\u002Famp-cd266f5895b4a96f.js"],
   "/css": [
     "static\u002Fcss\u002F94fdbc56eafa2039.css",
-    "static\u002Fchunks\u002Fpages\u002Fcss-2c8d2fef6e4629d8.js"
+    "static\u002Fchunks\u002Fpages\u002Fcss-3a9738b822ee9217.js"
   ],
   "/dynamic": [
-    "static\u002Fchunks\u002Fpages\u002Fdynamic-07c0137a4d8189d2.js"
+    "static\u002Fchunks\u002Fpages\u002Fdynamic-e117a66695ac00ae.js"
   ],
   "/edge-ssr": [
-    "static\u002Fchunks\u002Fpages\u002Fedge-ssr-9142dd9b334cfc97.js"
+    "static\u002Fchunks\u002Fpages\u002Fedge-ssr-250ade8d11bd3c36.js"
   ],
-  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-a318183c0e7d51ea.js"],
-  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-12989df52240d87b.js"],
-  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-45c4300e80886e03.js"],
-  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-d0af872fc93e91d2.js"],
+  "/head": ["static\u002Fchunks\u002Fpages\u002Fhead-6c35f7d69a94e44a.js"],
+  "/hooks": ["static\u002Fchunks\u002Fpages\u002Fhooks-b3fe5e610feb88d0.js"],
+  "/image": ["static\u002Fchunks\u002Fpages\u002Fimage-10c2824eaa293e57.js"],
+  "/link": ["static\u002Fchunks\u002Fpages\u002Flink-31e5c03c1af1c0dd.js"],
   "/routerDirect": [
-    "static\u002Fchunks\u002Fpages\u002FrouterDirect-82af3ffa1ab36c88.js"
+    "static\u002Fchunks\u002Fpages\u002FrouterDirect-d486faed4c145b8d.js"
   ],
-  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-20bf7081553122bf.js"],
+  "/script": ["static\u002Fchunks\u002Fpages\u002Fscript-2cf2842bf926b950.js"],
   "/withRouter": [
-    "static\u002Fchunks\u002Fpages\u002FwithRouter-ee6f5473a3761203.js"
+    "static\u002Fchunks\u002Fpages\u002FwithRouter-8bb87dc8c5965f35.js"
   ],
   sortedPages: [
     "\u002F",
Diff for _app-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [888],
   {
-    /***/ 3115: /***/ function(
+    /***/ 1113: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_app",
         function() {
-          return __webpack_require__(3332);
+          return __webpack_require__(8434);
         }
       ]);
       if (false) {
@@ -23,8 +23,8 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [774, 179], function() {
-      return __webpack_exec__(3115), __webpack_exec__(9813);
+    /******/ __webpack_require__.O(0, [179], function() {
+      return __webpack_exec__(1113), __webpack_exec__(4850);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for _error-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [820],
   {
-    /***/ 5374: /***/ function(
+    /***/ 3363: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/_error",
         function() {
-          return __webpack_require__(4327);
+          return __webpack_require__(9374);
         }
       ]);
       if (false) {
@@ -23,8 +23,8 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(5374);
+    /******/ __webpack_require__.O(0, [888, 179], function() {
+      return __webpack_exec__(3363);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for amp-HASH.js
@@ -1,17 +1,17 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [216],
   {
-    /***/ 8510: /***/ function(
+    /***/ 8753: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(4417);
+      module.exports = __webpack_require__(733);
 
       /***/
     },
 
-    /***/ 7010: /***/ function(
+    /***/ 5348: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -19,7 +19,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/amp",
         function() {
-          return __webpack_require__(6626);
+          return __webpack_require__(7552);
         }
       ]);
       if (false) {
@@ -28,7 +28,7 @@
       /***/
     },
 
-    /***/ 4417: /***/ function(module, exports, __webpack_require__) {
+    /***/ 733: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
@@ -37,9 +37,9 @@
       exports.useAmp = useAmp;
       var _interop_require_default = __webpack_require__(7022) /* ["default"] */
         .Z;
-      var _react = _interop_require_default(__webpack_require__(959));
-      var _ampContext = __webpack_require__(8338);
-      var _ampMode = __webpack_require__(802);
+      var _react = _interop_require_default(__webpack_require__(465));
+      var _ampContext = __webpack_require__(4442);
+      var _ampMode = __webpack_require__(1349);
       function useAmp() {
         // Don't assign the context value to a variable to save bytes
         return (0, _ampMode).isInAmpMode(
@@ -61,7 +61,7 @@
       /***/
     },
 
-    /***/ 6626: /***/ function(
+    /***/ 7552: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -78,13 +78,13 @@
         /* harmony export */
       });
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        8510
+        8753
       );
       /* harmony import */ var next_amp__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/ __webpack_require__.n(
         next_amp__WEBPACK_IMPORTED_MODULE_0__
       );
 
-      var config = {
+      const config = {
         amp: "hybrid"
       };
       function Amp(props) {
@@ -101,8 +101,8 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(7010);
+    /******/ __webpack_require__.O(0, [888, 179], function() {
+      return __webpack_exec__(5348);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for css-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [706],
   {
-    /***/ 860: /***/ function(
+    /***/ 6437: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/css",
         function() {
-          return __webpack_require__(4764);
+          return __webpack_require__(7172);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 4764: /***/ function(
+    /***/ 7172: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -26,32 +26,98 @@
       "use strict";
       __webpack_require__.r(__webpack_exports__);
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        1527
+        9701
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        6510
+        6718
       );
       /* harmony import */ var _css_module_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         _css_module_css__WEBPACK_IMPORTED_MODULE_1__
       );
 
-      var Page = function() {
-        return /*#__PURE__*/ (0,
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
-          className: _css_module_css__WEBPACK_IMPORTED_MODULE_1___default()
-            .helloWorld,
-          children: "Hello world \uD83D\uDC4B"
-        });
-      };
+      const Page = () =>
+        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(
+          "div",
+          {
+            className: _css_module_css__WEBPACK_IMPORTED_MODULE_1___default()
+              .helloWorld,
+            children: "Hello world \uD83D\uDC4B"
+          }
+        );
       /* harmony default export */ __webpack_exports__["default"] = Page;
 
       /***/
     },
 
-    /***/ 6510: /***/ function(module) {
+    /***/ 6718: /***/ function(module) {
       // extracted by mini-css-extract-plugin
       module.exports = { helloWorld: "css_helloWorld__qqNwY" };
 
+      /***/
+    },
+
+    /***/ 1963: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+      /**
+       * @license React
+       * react-jsx-runtime.production.min.js
+       *
+       * Copyright (c) Meta Platforms, Inc. and affiliates.
+       *
+       * This source code is licensed under the MIT license found in the
+       * LICENSE file in the root directory of this source tree.
+       */
+      var f = __webpack_require__(465),
+        k = Symbol.for("react.element"),
+        l = Symbol.for("react.fragment"),
+        m = Object.prototype.hasOwnProperty,
+        n =
+          f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
+            .ReactCurrentOwner,
+        p = { key: !0, ref: !0, __self: !0, __source: !0 };
+      function q(c, a, g) {
+        var b,
+          d = {},
+          e = null,
+          h = null;
+        void 0 !== g && (e = "" + g);
+        void 0 !== a.key && (e = "" + a.key);
+        void 0 !== a.ref && (h = a.ref);
+        for (b in a) m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
+        if (c && c.defaultProps)
+          for (b in ((a = c.defaultProps), a)) void 0 === d[b] && (d[b] = a[b]);
+        return {
+          $$typeof: k,
+          type: c,
+          key: e,
+          ref: h,
+          props: d,
+          _owner: n.current
+        };
+      }
+      exports.Fragment = l;
+      exports.jsx = q;
+      exports.jsxs = q;
+
+      /***/
+    },
+
+    /***/ 9701: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      if (true) {
+        module.exports = __webpack_require__(1963);
+      } else {
+      }
+
       /***/
     }
   },
@@ -60,8 +126,8 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(860);
+    /******/ __webpack_require__.O(0, [888, 179], function() {
+      return __webpack_exec__(6437);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for dynamic-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [739],
   {
-    /***/ 3995: /***/ function(
+    /***/ 7753: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/dynamic",
         function() {
-          return __webpack_require__(3024);
+          return __webpack_require__(6204);
         }
       ]);
       if (false) {
@@ -18,13 +18,9 @@
       /***/
     },
 
-    /***/ 4218: /***/ function(module, exports, __webpack_require__) {
+    /***/ 9168: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      Object.defineProperty(exports, "__esModule", {
-        value: true
-      });
-      var _instanceof = __webpack_require__(1470) /* ["default"] */.Z;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
@@ -33,20 +29,18 @@
       var _extends = __webpack_require__(5506) /* ["default"] */.Z;
       var _interop_require_default = __webpack_require__(7022) /* ["default"] */
         .Z;
-      var _react = _interop_require_default(__webpack_require__(959));
-      var _loadable = _interop_require_default(__webpack_require__(4728));
+      var _react = _interop_require_default(__webpack_require__(465));
+      var _loadable = _interop_require_default(__webpack_require__(2364));
       function dynamic(dynamicOptions, options) {
-        var loadableFn = _loadable.default;
-        var loadableOptions = (options == null
+        let loadableFn = _loadable.default;
+        let loadableOptions = (options == null
         ? void 0
         : options.suspense)
           ? {}
           : {
               // A loading component is not required, so we default it
-              loading: function(param) {
-                var error = param.error,
-                  isLoading = param.isLoading,
-                  pastDelay = param.pastDelay;
+              loading: param => {
+                let { error, isLoading, pastDelay } = param;
                 if (!pastDelay) return null;
                 if (false) {
                 }
@@ -57,10 +51,8 @@
         // Note that this is only kept for the edge case where someone is passing in a promise as first argument
         // The react-loadable babel plugin will turn dynamic(import('../hello-world')) into dynamic(() => import('../hello-world'))
         // To make sure we don't execute the import without rendering first
-        if (_instanceof(dynamicOptions, Promise)) {
-          loadableOptions.loader = function() {
-            return dynamicOptions;
-          };
+        if (dynamicOptions instanceof Promise) {
+          loadableOptions.loader = () => dynamicOptions;
           // Support for having import as a function, eg: dynamic(() => import('../hello-world'))
         } else if (typeof dynamicOptions === "function") {
           loadableOptions.loader = dynamicOptions;
@@ -102,8 +94,7 @@
         }
         return loadableFn(loadableOptions);
       }
-      ("client");
-      var isServerSide = "object" === "undefined";
+      const isServerSide = "object" === "undefined";
       function noSSR(LoadableInitializer, loadableOptions) {
         // Removing webpack and modules means react-loadable won't try preloading
         delete loadableOptions.webpack;
@@ -112,16 +103,15 @@
         if (!isServerSide) {
           return LoadableInitializer(loadableOptions);
         }
-        var Loading = loadableOptions.loading;
+        const Loading = loadableOptions.loading;
         // This will only be rendered on the server side
-        return function() {
-          return /*#__PURE__*/ _react.default.createElement(Loading, {
+        return () =>
+          /*#__PURE__*/ _react.default.createElement(Loading, {
             error: null,
             isLoading: true,
             pastDelay: false,
             timedOut: false
           });
-        };
       }
       if (
         (typeof exports.default === "function" ||
@@ -138,7 +128,7 @@
       /***/
     },
 
-    /***/ 1354: /***/ function(
+    /***/ 1535: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -151,8 +141,8 @@
       exports.LoadableContext = void 0;
       var _interop_require_default = __webpack_require__(7022) /* ["default"] */
         .Z;
-      var _react = _interop_require_default(__webpack_require__(959));
-      var LoadableContext = _react.default.createContext(null);
+      var _react = _interop_require_default(__webpack_require__(465));
+      const LoadableContext = _react.default.createContext(null);
       exports.LoadableContext = LoadableContext;
       if (false) {
       } //# sourceMappingURL=loadable-context.js.map
@@ -160,18 +150,13 @@
       /***/
     },
 
-    /***/ 4728: /***/ function(
+    /***/ 2364: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
     ) {
       "use strict";
 
-      Object.defineProperty(exports, "__esModule", {
-        value: true
-      });
-      var _classCallCheck = __webpack_require__(1358) /* ["default"] */.Z;
-      var _createClass = __webpack_require__(6993) /* ["default"] */.Z;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
@@ -179,27 +164,26 @@
       var _extends = __webpack_require__(5506) /* ["default"] */.Z;
       var _interop_require_default = __webpack_require__(7022) /* ["default"] */
         .Z;
-      var _react = _interop_require_default(__webpack_require__(959));
-      var _loadableContext = __webpack_require__(1354);
-      var useSyncExternalStore = (true ? __webpack_require__(959) : 0)
-        .useSyncExternalStore;
-      var ALL_INITIALIZERS = [];
-      var READY_INITIALIZERS = [];
-      var initialized = false;
+      var _react = _interop_require_default(__webpack_require__(465));
+      var _loadableContext = __webpack_require__(1535);
+      const { useSyncExternalStore } = true ? __webpack_require__(465) : 0;
+      const ALL_INITIALIZERS = [];
+      const READY_INITIALIZERS = [];
+      let initialized = false;
       function load(loader) {
-        var promise = loader();
-        var state = {
+        let promise = loader();
+        let state = {
           loading: true,
           loaded: null,
           error: null
         };
         state.promise = promise
-          .then(function(loaded) {
+          .then(loaded => {
             state.loading = false;
             state.loaded = loaded;
             return loaded;
           })
-          .catch(function(err) {
+          .catch(err => {
             state.loading = false;
             state.error = err;
             throw err;
@@ -210,9 +194,25 @@
         return obj && obj.__esModule ? obj.default : obj;
       }
       function createLoadableComponent(loadFn, options) {
-        var init = function init() {
+        let opts = Object.assign(
+          {
+            loader: null,
+            loading: null,
+            delay: 200,
+            timeout: null,
+            webpack: null,
+            modules: null,
+            suspense: false
+          },
+          options
+        );
+        if (opts.suspense) {
+          opts.lazy = _react.default.lazy(opts.loader);
+        }
+        /** @type LoadableSubscription */ let subscription = null;
+        function init() {
           if (!subscription) {
-            var sub = new LoadableSubscription(loadFn, opts);
+            const sub = new LoadableSubscription(loadFn, opts);
             subscription = {
               getCurrentValue: sub.getCurrentValue.bind(sub),
               subscribe: sub.subscribe.bind(sub),
@@ -221,135 +221,152 @@
             };
           }
           return subscription.promise();
-        };
-        var useLoadableModule = function useLoadableModule() {
+        }
+        // Server only
+        if (false) {
+        }
+        // Client only
+        if (!initialized && "object" !== "undefined") {
+          // require.resolveWeak check is needed for environments that don't have it available like Jest
+          const moduleIds =
+            opts.webpack && "function" === "function"
+              ? opts.webpack()
+              : opts.modules;
+          if (moduleIds) {
+            READY_INITIALIZERS.push(ids => {
+              for (const moduleId of moduleIds) {
+                if (ids.indexOf(moduleId) !== -1) {
+                  return init();
+                }
+              }
+            });
+          }
+        }
+        function useLoadableModule() {
           init();
-          var context = _react.default.useContext(
+          const context = _react.default.useContext(
             _loadableContext.LoadableContext
           );
           if (context && Array.isArray(opts.modules)) {
-            opts.modules.forEach(function(moduleName) {
+            opts.modules.forEach(moduleName => {
               context(moduleName);
             });
           }
-        };
-        var LoadableImpl = function LoadableImpl(props, ref) {
+        }
+        function LoadableImpl(props, ref) {
           useLoadableModule();
-          var state = useSyncExternalStore(
+          const state = useSyncExternalStore(
             subscription.subscribe,
             subscription.getCurrentValue,
             subscription.getCurrentValue
           );
           _react.default.useImperativeHandle(
             ref,
-            function() {
-              return {
-                retry: subscription.retry
-              };
-            },
+            () => ({
+              retry: subscription.retry
+            }),
             []
           );
-          return _react.default.useMemo(
-            function() {
-              if (state.loading || state.error) {
-                return _react.default.createElement(opts.loading, {
-                  isLoading: state.loading,
-                  pastDelay: state.pastDelay,
-                  timedOut: state.timedOut,
-                  error: state.error,
-                  retry: subscription.retry
-                });
-              } else if (state.loaded) {
-                return _react.default.createElement(
-                  resolve(state.loaded),
-                  props
-                );
-              } else {
-                return null;
-              }
-            },
-            [props, state]
-          );
-        };
-        var LazyImpl = function LazyImpl(props, ref) {
+          return _react.default.useMemo(() => {
+            if (state.loading || state.error) {
+              return _react.default.createElement(opts.loading, {
+                isLoading: state.loading,
+                pastDelay: state.pastDelay,
+                timedOut: state.timedOut,
+                error: state.error,
+                retry: subscription.retry
+              });
+            } else if (state.loaded) {
+              return _react.default.createElement(resolve(state.loaded), props);
+            } else {
+              return null;
+            }
+          }, [props, state]);
+        }
+        function LazyImpl(props, ref) {
           useLoadableModule();
           return _react.default.createElement(
             opts.lazy,
             _extends({}, props, {
-              ref: ref
+              ref
             })
           );
-        };
-        var opts = Object.assign(
-          {
-            loader: null,
-            loading: null,
-            delay: 200,
-            timeout: null,
-            webpack: null,
-            modules: null,
-            suspense: false
-          },
-          options
-        );
-        if (opts.suspense) {
-          opts.lazy = _react.default.lazy(opts.loader);
         }
-        /** @type LoadableSubscription */ var subscription = null;
-        // Server only
-        if (false) {
+        const LoadableComponent = opts.suspense ? LazyImpl : LoadableImpl;
+        LoadableComponent.preload = () => init();
+        LoadableComponent.displayName = "LoadableComponent";
+        return _react.default.forwardRef(LoadableComponent);
+      }
+      class LoadableSubscription {
+        promise() {
+          return this._res.promise;
         }
-        // Client only
-        if (!initialized && "object" !== "undefined") {
-          // require.resolveWeak check is needed for environments that don't have it available like Jest
-          var moduleIds =
-            opts.webpack && "function" === "function"
-              ? opts.webpack()
-              : opts.modules;
-          if (moduleIds) {
-            READY_INITIALIZERS.push(function(ids) {
-              var _iteratorNormalCompletion = true,
-                _didIteratorError = false,
-                _iteratorError = undefined;
-              try {
-                for (
-                  var _iterator = moduleIds[Symbol.iterator](), _step;
-                  !(_iteratorNormalCompletion = (_step = _iterator.next())
-                    .done);
-                  _iteratorNormalCompletion = true
-                ) {
-                  var moduleId = _step.value;
-                  if (ids.indexOf(moduleId) !== -1) {
-                    return init();
-                  }
-                }
-              } catch (err) {
-                _didIteratorError = true;
-                _iteratorError = err;
-              } finally {
-                try {
-                  if (!_iteratorNormalCompletion && _iterator.return != null) {
-                    _iterator.return();
-                  }
-                } finally {
-                  if (_didIteratorError) {
-                    throw _iteratorError;
-                  }
-                }
+        retry() {
+          this._clearTimeouts();
+          this._res = this._loadFn(this._opts.loader);
+          this._state = {
+            pastDelay: false,
+            timedOut: false
+          };
+          const { _res: res, _opts: opts } = this;
+          if (res.loading) {
+            if (typeof opts.delay === "number") {
+              if (opts.delay === 0) {
+                this._state.pastDelay = true;
+              } else {
+                this._delay = setTimeout(() => {
+                  this._update({
+                    pastDelay: true
+                  });
+                }, opts.delay);
               }
-            });
+            }
+            if (typeof opts.timeout === "number") {
+              this._timeout = setTimeout(() => {
+                this._update({
+                  timedOut: true
+                });
+              }, opts.timeout);
+            }
           }
+          this._res.promise
+            .then(() => {
+              this._update({});
+              this._clearTimeouts();
+            })
+            .catch(_err => {
+              this._update({});
+              this._clearTimeouts();
+            });
+          this._update({});
         }
-        var LoadableComponent = opts.suspense ? LazyImpl : LoadableImpl;
-        LoadableComponent.preload = function() {
-          return init();
-        };
-        LoadableComponent.displayName = "LoadableComponent";
-        return _react.default.forwardRef(LoadableComponent);
-      }
-      var LoadableSubscription = /*#__PURE__*/ (function() {
-        function LoadableSubscription(loadFn, opts) {
-          _classCallCheck(this, LoadableSubscription);
+        _update(partial) {
+          this._state = _extends(
+            {},
+            this._state,
+            {
+              error: this._res.error,
+              loaded: this._res.loaded,
+              loading: this._res.loading
+            },
+            partial
+          );
+          this._callbacks.forEach(callback => callback());
+        }
+        _clearTimeouts() {
+          clearTimeout(this._delay);
+          clearTimeout(this._timeout);
+        }
+        getCurrentValue() {
+          return this._state;
+        }
+        subscribe(callback) {
+          this._callbacks.add(callback);
+          return () => {
+            this._callbacks.delete(callback);
+          };
+        }
+        constructor(loadFn, opts) {
           this._loadFn = loadFn;
           this._opts = opts;
           this._callbacks = new Set();
@@ -357,127 +374,32 @@
           this._timeout = null;
           this.retry();
         }
-        _createClass(LoadableSubscription, [
-          {
-            key: "promise",
-            value: function promise() {
-              return this._res.promise;
-            }
-          },
-          {
-            key: "retry",
-            value: function retry() {
-              var _this = this;
-              this._clearTimeouts();
-              this._res = this._loadFn(this._opts.loader);
-              this._state = {
-                pastDelay: false,
-                timedOut: false
-              };
-              var ref = this,
-                res = ref._res,
-                opts = ref._opts;
-              if (res.loading) {
-                if (typeof opts.delay === "number") {
-                  if (opts.delay === 0) {
-                    this._state.pastDelay = true;
-                  } else {
-                    this._delay = setTimeout(function() {
-                      _this._update({
-                        pastDelay: true
-                      });
-                    }, opts.delay);
-                  }
-                }
-                if (typeof opts.timeout === "number") {
-                  this._timeout = setTimeout(function() {
-                    _this._update({
-                      timedOut: true
-                    });
-                  }, opts.timeout);
-                }
-              }
-              this._res.promise
-                .then(function() {
-                  _this._update({});
-                  _this._clearTimeouts();
-                })
-                .catch(function(_err) {
-                  _this._update({});
-                  _this._clearTimeouts();
-                });
-              this._update({});
-            }
-          },
-          {
-            key: "_update",
-            value: function _update(partial) {
-              this._state = _extends(
-                {},
-                this._state,
-                {
-                  error: this._res.error,
-                  loaded: this._res.loaded,
-                  loading: this._res.loading
-                },
-                partial
-              );
-              this._callbacks.forEach(function(callback) {
-                return callback();
-              });
-            }
-          },
-          {
-            key: "_clearTimeouts",
-            value: function _clearTimeouts() {
-              clearTimeout(this._delay);
-              clearTimeout(this._timeout);
-            }
-          },
-          {
-            key: "getCurrentValue",
-            value: function getCurrentValue() {
-              return this._state;
-            }
-          },
-          {
-            key: "subscribe",
-            value: function subscribe(callback) {
-              var _this = this;
-              this._callbacks.add(callback);
-              return function() {
-                _this._callbacks.delete(callback);
-              };
-            }
-          }
-        ]);
-        return LoadableSubscription;
-      })();
+      }
       function Loadable(opts) {
         return createLoadableComponent(load, opts);
       }
       function flushInitializers(initializers, ids) {
-        var promises = [];
+        let promises = [];
         while (initializers.length) {
-          var init = initializers.pop();
+          let init = initializers.pop();
           promises.push(init(ids));
         }
-        return Promise.all(promises).then(function() {
+        return Promise.all(promises).then(() => {
           if (initializers.length) {
             return flushInitializers(initializers, ids);
           }
         });
       }
-      Loadable.preloadAll = function() {
-        return new Promise(function(resolveInitializers, reject) {
+      Loadable.preloadAll = () => {
+        return new Promise((resolveInitializers, reject) => {
           flushInitializers(ALL_INITIALIZERS).then(resolveInitializers, reject);
         });
       };
       Loadable.preloadReady = function() {
-        var ids =
+        let ids =
           arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
-        return new Promise(function(resolvePreload) {
-          var res = function() {
+        return new Promise(resolvePreload => {
+          const res = () => {
             initialized = true;
             return resolvePreload();
           };
@@ -494,7 +416,7 @@
       /***/
     },
 
-    /***/ 3024: /***/ function(
+    /***/ 6204: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -508,32 +430,28 @@
         /* harmony export */
       });
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        1527
+        9701
       );
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        6113
+        2677
       );
       /* harmony import */ var next_dynamic__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_dynamic__WEBPACK_IMPORTED_MODULE_1__
       );
 
-      var DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
-        function() {
-          return __webpack_require__
-            .e(/* import() */ 456)
-            .then(__webpack_require__.bind(__webpack_require__, 3456));
-        },
+      const DynamicHello = next_dynamic__WEBPACK_IMPORTED_MODULE_1___default()(
+        () =>
+          __webpack_require__
+            .e(/* import() */ 55)
+            .then(__webpack_require__.bind(__webpack_require__, 1055)),
         {
           loadableGenerated: {
-            webpack: function() {
-              return [/*require.resolve*/ 3456];
-            }
+            webpack: () => [/*require.resolve*/ 1055]
           }
         }
       );
-      var Page = function() {
-        return /*#__PURE__*/ (0,
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
+      const Page = () =>
+        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
           react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
           {
             children: [
@@ -549,19 +467,83 @@
             ]
           }
         );
-      };
       var __N_SSP = true;
       /* harmony default export */ __webpack_exports__["default"] = Page;
 
       /***/
     },
 
-    /***/ 6113: /***/ function(
+    /***/ 1963: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+      /**
+       * @license React
+       * react-jsx-runtime.production.min.js
+       *
+       * Copyright (c) Meta Platforms, Inc. and affiliates.
+       *
+       * This source code is licensed under the MIT license found in the
+       * LICENSE file in the root directory of this source tree.
+       */
+      var f = __webpack_require__(465),
+        k = Symbol.for("react.element"),
+        l = Symbol.for("react.fragment"),
+        m = Object.prototype.hasOwnProperty,
+        n =
+          f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
+            .ReactCurrentOwner,
+        p = { key: !0, ref: !0, __self: !0, __source: !0 };
+      function q(c, a, g) {
+        var b,
+          d = {},
+          e = null,
+          h = null;
+        void 0 !== g && (e = "" + g);
+        void 0 !== a.key && (e = "" + a.key);
+        void 0 !== a.ref && (h = a.ref);
+        for (b in a) m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
+        if (c && c.defaultProps)
+          for (b in ((a = c.defaultProps), a)) void 0 === d[b] && (d[b] = a[b]);
+        return {
+          $$typeof: k,
+          type: c,
+          key: e,
+          ref: h,
+          props: d,
+          _owner: n.current
+        };
+      }
+      exports.Fragment = l;
+      exports.jsx = q;
+      exports.jsxs = q;
+
+      /***/
+    },
+
+    /***/ 9701: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      if (true) {
+        module.exports = __webpack_require__(1963);
+      } else {
+      }
+
+      /***/
+    },
+
+    /***/ 2677: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(4218);
+      module.exports = __webpack_require__(9168);
 
       /***/
     }
@@ -571,8 +553,8 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(3995);
+    /******/ __webpack_require__.O(0, [888, 179], function() {
+      return __webpack_exec__(7753);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for edge-ssr-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [800],
   {
-    /***/ 6219: /***/ function(
+    /***/ 6027: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/edge-ssr",
         function() {
-          return __webpack_require__(5549);
+          return __webpack_require__(6024);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 5549: /***/ function(
+    /***/ 6024: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -37,7 +37,7 @@
       function page() {
         return "edge-ssr";
       }
-      var config = {
+      const config = {
         runtime: "experimental-edge"
       };
 
@@ -49,8 +49,8 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(6219);
+    /******/ __webpack_require__.O(0, [888, 179], function() {
+      return __webpack_exec__(6027);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for head-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [645],
   {
-    /***/ 2899: /***/ function(
+    /***/ 6955: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/head",
         function() {
-          return __webpack_require__(8674);
+          return __webpack_require__(3718);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 8674: /***/ function(
+    /***/ 3718: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -32,18 +32,17 @@
         /* harmony export */
       });
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        1527
+        9701
       );
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        8412
+        9046
       );
       /* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_head__WEBPACK_IMPORTED_MODULE_1__
       );
 
-      var Page = function() {
-        return /*#__PURE__*/ (0,
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
+      const Page = () =>
+        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
           react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
           {
             children: [
@@ -64,19 +63,83 @@
             ]
           }
         );
-      };
       var __N_SSP = true;
       /* harmony default export */ __webpack_exports__["default"] = Page;
 
       /***/
     },
 
-    /***/ 8412: /***/ function(
+    /***/ 1963: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+      /**
+       * @license React
+       * react-jsx-runtime.production.min.js
+       *
+       * Copyright (c) Meta Platforms, Inc. and affiliates.
+       *
+       * This source code is licensed under the MIT license found in the
+       * LICENSE file in the root directory of this source tree.
+       */
+      var f = __webpack_require__(465),
+        k = Symbol.for("react.element"),
+        l = Symbol.for("react.fragment"),
+        m = Object.prototype.hasOwnProperty,
+        n =
+          f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
+            .ReactCurrentOwner,
+        p = { key: !0, ref: !0, __self: !0, __source: !0 };
+      function q(c, a, g) {
+        var b,
+          d = {},
+          e = null,
+          h = null;
+        void 0 !== g && (e = "" + g);
+        void 0 !== a.key && (e = "" + a.key);
+        void 0 !== a.ref && (h = a.ref);
+        for (b in a) m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
+        if (c && c.defaultProps)
+          for (b in ((a = c.defaultProps), a)) void 0 === d[b] && (d[b] = a[b]);
+        return {
+          $$typeof: k,
+          type: c,
+          key: e,
+          ref: h,
+          props: d,
+          _owner: n.current
+        };
+      }
+      exports.Fragment = l;
+      exports.jsx = q;
+      exports.jsxs = q;
+
+      /***/
+    },
+
+    /***/ 9701: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      if (true) {
+        module.exports = __webpack_require__(1963);
+      } else {
+      }
+
+      /***/
+    },
+
+    /***/ 9046: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(8621);
+      module.exports = __webpack_require__(3610);
 
       /***/
     }
@@ -86,8 +149,8 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(2899);
+    /******/ __webpack_require__.O(0, [888, 179], function() {
+      return __webpack_exec__(6955);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for hooks-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [757],
   {
-    /***/ 2304: /***/ function(
+    /***/ 7819: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/hooks",
         function() {
-          return __webpack_require__(7868);
+          return __webpack_require__(6846);
         }
       ]);
       if (false) {
@@ -18,109 +18,125 @@
       /***/
     },
 
-    /***/ 7868: /***/ function(
+    /***/ 6846: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
     ) {
       "use strict";
-      // ESM COMPAT FLAG
       __webpack_require__.r(__webpack_exports__);
+      /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
+        9701
+      );
+      /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
+        465
+      );
 
-      // EXPORTS
-      __webpack_require__.d(__webpack_exports__, {
-        default: function() {
-          return /* binding */ hooks;
-        }
-      }); // CONCATENATED MODULE: ./node_modules/.pnpm/@swc+helpers@0.4.11/node_modules/@swc/helpers/src/_array_with_holes.mjs
-
-      function _arrayWithHoles(arr) {
-        if (Array.isArray(arr)) return arr;
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/@swc+helpers@0.4.11/node_modules/@swc/helpers/src/_iterable_to_array.mjs
-
-      function _iterableToArray(iter) {
-        if (
-          (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null) ||
-          iter["@@iterator"] != null
-        )
-          return Array.from(iter);
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/@swc+helpers@0.4.11/node_modules/@swc/helpers/src/_non_iterable_rest.mjs
-
-      function _nonIterableRest() {
-        throw new TypeError(
-          "Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
+      /* harmony default export */ __webpack_exports__["default"] = () => {
+        const [
+          clicks1,
+          setClicks1
+        ] = react__WEBPACK_IMPORTED_MODULE_1__.useState(0);
+        const [clicks2, setClicks2] = (0,
+        react__WEBPACK_IMPORTED_MODULE_1__.useState)(0);
+        const doClick1 = react__WEBPACK_IMPORTED_MODULE_1__.useCallback(() => {
+          setClicks1(clicks1 + 1);
+        }, [clicks1]);
+        const doClick2 = (0,
+        react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(() => {
+          setClicks2(clicks2 + 1);
+        }, [clicks2]);
+        return /*#__PURE__*/ (0,
+        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
+          react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
+          {
+            children: [
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("h3", {
+                children: ["Clicks ", clicks1]
+              }),
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", {
+                onClick: doClick1,
+                children: "Click me"
+              }),
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("h3", {
+                children: ["Clicks ", clicks2]
+              }),
+              /*#__PURE__*/ (0,
+              react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("button", {
+                onClick: doClick2,
+                children: "Click me"
+              })
+            ]
+          }
         );
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/@swc+helpers@0.4.11/node_modules/@swc/helpers/src/_array_like_to_array.mjs
-
-      function _arrayLikeToArray(arr, len) {
-        if (len == null || len > arr.length) len = arr.length;
-        for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-        return arr2;
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/@swc+helpers@0.4.11/node_modules/@swc/helpers/src/_unsupported_iterable_to_array.mjs
+      };
 
-      function _unsupportedIterableToArray(o, minLen) {
-        if (!o) return;
-        if (typeof o === "string") return _arrayLikeToArray(o, minLen);
-        var n = Object.prototype.toString.call(o).slice(8, -1);
-        if (n === "Object" && o.constructor) n = o.constructor.name;
-        if (n === "Map" || n === "Set") return Array.from(n);
-        if (
-          n === "Arguments" ||
-          /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)
-        )
-          return _arrayLikeToArray(o, minLen);
-      } // CONCATENATED MODULE: ./node_modules/.pnpm/@swc+helpers@0.4.11/node_modules/@swc/helpers/src/_sliced_to_array.mjs
+      /***/
+    },
 
-      function _slicedToArray(arr, i) {
-        return (
-          _arrayWithHoles(arr) ||
-          _iterableToArray(arr, i) ||
-          _unsupportedIterableToArray(arr, i) ||
-          _nonIterableRest()
-        );
+    /***/ 1963: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+      /**
+       * @license React
+       * react-jsx-runtime.production.min.js
+       *
+       * Copyright (c) Meta Platforms, Inc. and affiliates.
+       *
+       * This source code is licensed under the MIT license found in the
+       * LICENSE file in the root directory of this source tree.
+       */
+      var f = __webpack_require__(465),
+        k = Symbol.for("react.element"),
+        l = Symbol.for("react.fragment"),
+        m = Object.prototype.hasOwnProperty,
+        n =
+          f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
+            .ReactCurrentOwner,
+        p = { key: !0, ref: !0, __self: !0, __source: !0 };
+      function q(c, a, g) {
+        var b,
+          d = {},
+          e = null,
+          h = null;
+        void 0 !== g && (e = "" + g);
+        void 0 !== a.key && (e = "" + a.key);
+        void 0 !== a.ref && (h = a.ref);
+        for (b in a) m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
+        if (c && c.defaultProps)
+          for (b in ((a = c.defaultProps), a)) void 0 === d[b] && (d[b] = a[b]);
+        return {
+          $$typeof: k,
+          type: c,
+          key: e,
+          ref: h,
+          props: d,
+          _owner: n.current
+        };
       }
+      exports.Fragment = l;
+      exports.jsx = q;
+      exports.jsxs = q;
 
-      // EXTERNAL MODULE: ./node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js
-      var jsx_runtime = __webpack_require__(1527);
-      // EXTERNAL MODULE: ./node_modules/.pnpm/react@18.2.0/node_modules/react/index.js
-      var react = __webpack_require__(959); // CONCATENATED MODULE: ./pages/hooks.js
-      /* harmony default export */ function hooks() {
-        var ref = _slicedToArray(react.useState(0), 2),
-          clicks1 = ref[0],
-          setClicks1 = ref[1];
-        var ref1 = (0, react.useState)(0),
-          clicks2 = ref1[0],
-          setClicks2 = ref1[1];
-        var doClick1 = react.useCallback(
-          function() {
-            setClicks1(clicks1 + 1);
-          },
-          [clicks1]
-        );
-        var doClick2 = (0, react.useCallback)(
-          function() {
-            setClicks2(clicks2 + 1);
-          },
-          [clicks2]
-        );
-        return /*#__PURE__*/ (0, jsx_runtime.jsxs)(jsx_runtime.Fragment, {
-          children: [
-            /*#__PURE__*/ (0, jsx_runtime.jsxs)("h3", {
-              children: ["Clicks ", clicks1]
-            }),
-            /*#__PURE__*/ (0, jsx_runtime.jsx)("button", {
-              onClick: doClick1,
-              children: "Click me"
-            }),
-            /*#__PURE__*/ (0, jsx_runtime.jsxs)("h3", {
-              children: ["Clicks ", clicks2]
-            }),
-            /*#__PURE__*/ (0, jsx_runtime.jsx)("button", {
-              onClick: doClick2,
-              children: "Click me"
-            })
-          ]
-        });
+      /***/
+    },
+
+    /***/ 9701: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      if (true) {
+        module.exports = __webpack_require__(1963);
+      } else {
       }
 
       /***/
@@ -131,8 +147,8 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(2304);
+    /******/ __webpack_require__.O(0, [888, 179], function() {
+      return __webpack_exec__(7819);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for image-HASH.js

Diff too large to display

Diff for index-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [405],
   {
-    /***/ 3558: /***/ function(
+    /***/ 6481: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/",
         function() {
-          return __webpack_require__(4691);
+          return __webpack_require__(6235);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 4691: /***/ function(
+    /***/ 6235: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -31,9 +31,7 @@
         }
         /* harmony export */
       });
-      var Page = function() {
-        return "Hello world \uD83D\uDC4B";
-      };
+      const Page = () => "Hello world \uD83D\uDC4B";
       var __N_SSP = true;
       /* harmony default export */ __webpack_exports__["default"] = Page;
 
@@ -45,8 +43,8 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [888, 774, 179], function() {
-      return __webpack_exec__(3558);
+    /******/ __webpack_require__.O(0, [888, 179], function() {
+      return __webpack_exec__(6481);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for link-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [644],
   {
-    /***/ 8662: /***/ function(
+    /***/ 7014: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/link",
         function() {
-          return __webpack_require__(2022);
+          return __webpack_require__(9666);
         }
       ]);
       if (false) {
@@ -18,23 +18,17 @@
       /***/
     },
 
-    /***/ 5777: /***/ function(module, exports) {
+    /***/ 7889: /***/ function(module, exports) {
       "use strict";
 
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports.getDomainLocale = getDomainLocale;
-      var basePath =
+      const basePath =
         /* unused pure expression or super */ null && (false || "");
       function getDomainLocale(path, locale, locales, domainLocales) {
         if (false) {
-          var finalLocale,
-            proto,
-            domain,
-            target,
-            detectDomainLocale,
-            normalizeLocalePath;
         } else {
           return false;
         }
@@ -54,14 +48,9 @@
       /***/
     },
 
-    /***/ 3255: /***/ function(module, exports, __webpack_require__) {
+    /***/ 2548: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      Object.defineProperty(exports, "__esModule", {
-        value: true
-      });
-      var _slicedToArray = __webpack_require__(553) /* ["default"] */.Z;
-      var _typeOf = __webpack_require__(2359)["default"];
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
@@ -71,16 +60,16 @@
       var _object_without_properties_loose = __webpack_require__(
         5997
       ) /* ["default"] */.Z;
-      var _react = _interop_require_default(__webpack_require__(959));
-      var _router = __webpack_require__(7148);
-      var _addLocale = __webpack_require__(3297);
-      var _routerContext = __webpack_require__(934);
-      var _appRouterContext = __webpack_require__(7732);
-      var _useIntersection = __webpack_require__(2879);
-      var _getDomainLocale = __webpack_require__(5777);
-      var _addBasePath = __webpack_require__(9185);
-      ("client");
-      var prefetched = {};
+      var _react = _interop_require_default(__webpack_require__(465));
+      var _router = __webpack_require__(6174);
+      var _addLocale = __webpack_require__(1001);
+      var _routerContext = __webpack_require__(3000);
+      var _appRouterContext = __webpack_require__(7755);
+      var _useIntersection = __webpack_require__(2130);
+      var _getDomainLocale = __webpack_require__(7889);
+      var _addBasePath = __webpack_require__(3121);
+      ("use client");
+      const prefetched = {};
       function prefetch(router, href, as, options) {
         if (false || !router) return;
         if (!(0, _router).isLocalURL(href)) return;
@@ -88,13 +77,11 @@
         // We need to handle a prefetch error here since we may be
         // loading with priority which can reject but we don't
         // want to force navigation since this is only a prefetch
-        Promise.resolve(router.prefetch(href, as, options)).catch(function(
-          err
-        ) {
+        Promise.resolve(router.prefetch(href, as, options)).catch(err => {
           if (false) {
           }
         });
-        var curLocale =
+        const curLocale =
           options && typeof options.locale !== "undefined"
             ? options.locale
             : router && router.locale;
@@ -102,7 +89,7 @@
         prefetched[href + "%" + as + (curLocale ? "%" + curLocale : "")] = true;
       }
       function isModifiedEvent(event) {
-        var target = event.currentTarget.target;
+        const { target } = event.currentTarget;
         return (
           (target && target !== "_self") ||
           event.metaKey ||
@@ -124,9 +111,9 @@
         isAppRouter,
         prefetchEnabled
       ) {
-        var nodeName = e.currentTarget.nodeName;
+        const { nodeName } = e.currentTarget;
         // anchors inside an svg have a lowercase nodeName
-        var isAnchorNodeName = nodeName.toUpperCase() === "A";
+        const isAnchorNodeName = nodeName.toUpperCase() === "A";
         if (
           isAnchorNodeName &&
           (isModifiedEvent(e) || !(0, _router).isLocalURL(href))
@@ -135,18 +122,19 @@
           return;
         }
         e.preventDefault();
-        var navigate = function() {
+        const navigate = () => {
           // If the router is an NextRouter instance it will have `beforePopState`
           if ("beforePopState" in router) {
             router[replace ? "replace" : "push"](href, as, {
-              shallow: shallow,
-              locale: locale,
-              scroll: scroll
+              shallow,
+              locale,
+              scroll
             });
           } else {
             // If `beforePopState` doesn't exist on the router it's the AppRouter.
-            var method = replace ? "replace" : "push";
-            router[method](href, {
+            const method = replace ? "replace" : "push";
+            // Apply `as` if it's provided.
+            router[method](as || href, {
               forceOptimisticNavigation: !prefetchEnabled
             });
           }
@@ -158,255 +146,234 @@
           navigate();
         }
       }
-      var Link = /*#__PURE__*/ _react.default.forwardRef(function LinkComponent(
-        props,
-        forwardedRef
-      ) {
-        if (false) {
-          var hasWarned,
-            optionalProps,
-            optionalPropsGuard,
-            requiredProps,
-            requiredPropsGuard,
-            createPropError;
-        }
-        var children;
-        var hrefProp = props.href,
-          asProp = props.as,
-          childrenProp = props.children,
-          prefetchProp = props.prefetch,
-          passHref = props.passHref,
-          replace = props.replace,
-          shallow = props.shallow,
-          scroll = props.scroll,
-          locale = props.locale,
-          onClick = props.onClick,
-          onMouseEnter = props.onMouseEnter,
-          onTouchStart = props.onTouchStart,
-          _legacyBehavior = props.legacyBehavior,
-          legacyBehavior =
-            _legacyBehavior === void 0
-              ? Boolean(false) !== true
-              : _legacyBehavior,
-          restProps = _object_without_properties_loose(props, [
-            "href",
-            "as",
-            "children",
-            "prefetch",
-            "passHref",
-            "replace",
-            "shallow",
-            "scroll",
-            "locale",
-            "onClick",
-            "onMouseEnter",
-            "onTouchStart",
-            "legacyBehavior"
-          ]);
-        children = childrenProp;
-        if (
-          legacyBehavior &&
-          (typeof children === "string" || typeof children === "number")
-        ) {
-          children = /*#__PURE__*/ _react.default.createElement(
-            "a",
-            null,
-            children
-          );
-        }
-        var p = prefetchProp !== false;
-        var router = _react.default.useContext(_routerContext.RouterContext);
-        // TODO-APP: type error. Remove `as any`
-        var appRouter = _react.default.useContext(
-          _appRouterContext.AppRouterContext
-        );
-        if (appRouter) {
-          router = appRouter;
-        }
-        var ref = _react.default.useMemo(
-            function() {
-              var ref = _slicedToArray(
-                  (0, _router).resolveHref(router, hrefProp, true),
-                  2
-                ),
-                resolvedHref = ref[0],
-                resolvedAs = ref[1];
-              return {
-                href: resolvedHref,
-                as: asProp
-                  ? (0, _router).resolveHref(router, asProp)
-                  : resolvedAs || resolvedHref
-              };
-            },
-            [router, hrefProp, asProp]
-          ),
-          href = ref.href,
-          as = ref.as;
-        var previousHref = _react.default.useRef(href);
-        var previousAs = _react.default.useRef(as);
-        // This will return the first child, if multiple are provided it will throw an error
-        var child;
-        if (legacyBehavior) {
+      /**
+       * React Component that enables client-side transitions between routes.
+       */ const Link = /*#__PURE__*/ _react.default.forwardRef(
+        function LinkComponent(props, forwardedRef) {
           if (false) {
-          } else {
-            child = _react.default.Children.only(children);
           }
-        }
-        var childRef = legacyBehavior
-          ? child && typeof child === "object" && child.ref
-          : forwardedRef;
-        var ref1 = _slicedToArray(
-            (0, _useIntersection).useIntersection({
-              rootMargin: "200px"
-            }),
-            3
-          ),
-          setIntersectionRef = ref1[0],
-          isVisible = ref1[1],
-          resetVisible = ref1[2];
-        var setRef = _react.default.useCallback(
-          function(el) {
-            // Before the link getting observed, check if visible state need to be reset
-            if (previousAs.current !== as || previousHref.current !== href) {
-              resetVisible();
-              previousAs.current = as;
-              previousHref.current = href;
+          let children;
+          const {
+              href: hrefProp,
+              as: asProp,
+              children: childrenProp,
+              prefetch: prefetchProp,
+              passHref,
+              replace,
+              shallow,
+              scroll,
+              locale,
+              onClick,
+              onMouseEnter,
+              onTouchStart,
+              legacyBehavior = Boolean(true) !== true
+            } = props,
+            restProps = _object_without_properties_loose(props, [
+              "href",
+              "as",
+              "children",
+              "prefetch",
+              "passHref",
+              "replace",
+              "shallow",
+              "scroll",
+              "locale",
+              "onClick",
+              "onMouseEnter",
+              "onTouchStart",
+              "legacyBehavior"
+            ]);
+          children = childrenProp;
+          if (
+            legacyBehavior &&
+            (typeof children === "string" || typeof children === "number")
+          ) {
+            children = /*#__PURE__*/ _react.default.createElement(
+              "a",
+              null,
+              children
+            );
+          }
+          const p = prefetchProp !== false;
+          let router = _react.default.useContext(_routerContext.RouterContext);
+          // TODO-APP: type error. Remove `as any`
+          const appRouter = _react.default.useContext(
+            _appRouterContext.AppRouterContext
+          );
+          if (appRouter) {
+            router = appRouter;
+          }
+          const { href, as } = _react.default.useMemo(() => {
+            const [resolvedHref, resolvedAs] = (0, _router).resolveHref(
+              router,
+              hrefProp,
+              true
+            );
+            return {
+              href: resolvedHref,
+              as: asProp
+                ? (0, _router).resolveHref(router, asProp)
+                : resolvedAs || resolvedHref
+            };
+          }, [router, hrefProp, asProp]);
+          const previousHref = _react.default.useRef(href);
+          const previousAs = _react.default.useRef(as);
+          // This will return the first child, if multiple are provided it will throw an error
+          let child;
+          if (legacyBehavior) {
+            if (false) {
+            } else {
+              child = _react.default.Children.only(children);
             }
-            setIntersectionRef(el);
-            if (childRef) {
-              if (typeof childRef === "function") childRef(el);
-              else if (typeof childRef === "object") {
-                childRef.current = el;
+          }
+          const childRef = legacyBehavior
+            ? child && typeof child === "object" && child.ref
+            : forwardedRef;
+          const [setIntersectionRef, isVisible, resetVisible] = (0,
+          _useIntersection).useIntersection({
+            rootMargin: "200px"
+          });
+          const setRef = _react.default.useCallback(
+            el => {
+              // Before the link getting observed, check if visible state need to be reset
+              if (previousAs.current !== as || previousHref.current !== href) {
+                resetVisible();
+                previousAs.current = as;
+                previousHref.current = href;
               }
-            }
-          },
-          [as, childRef, href, resetVisible, setIntersectionRef]
-        );
-        _react.default.useEffect(
-          function() {
-            var shouldPrefetch =
+              setIntersectionRef(el);
+              if (childRef) {
+                if (typeof childRef === "function") childRef(el);
+                else if (typeof childRef === "object") {
+                  childRef.current = el;
+                }
+              }
+            },
+            [as, childRef, href, resetVisible, setIntersectionRef]
+          );
+          _react.default.useEffect(() => {
+            const shouldPrefetch =
               isVisible && p && (0, _router).isLocalURL(href);
-            var curLocale =
+            const curLocale =
               typeof locale !== "undefined" ? locale : router && router.locale;
-            var isPrefetched =
+            const isPrefetched =
               prefetched[href + "%" + as + (curLocale ? "%" + curLocale : "")];
             if (shouldPrefetch && !isPrefetched) {
               prefetch(router, href, as, {
                 locale: curLocale
               });
             }
-          },
-          [as, href, isVisible, locale, p, router]
-        );
-        var childProps = {
-          ref: setRef,
-          onClick: function(e) {
-            if (false) {
-            }
-            if (!legacyBehavior && typeof onClick === "function") {
-              onClick(e);
-            }
-            if (
-              legacyBehavior &&
-              child.props &&
-              typeof child.props.onClick === "function"
-            ) {
-              child.props.onClick(e);
-            }
-            if (!e.defaultPrevented) {
-              linkClicked(
-                e,
-                router,
-                href,
-                as,
-                replace,
-                shallow,
-                scroll,
-                locale,
-                Boolean(appRouter),
-                p
-              );
-            }
-          },
-          onMouseEnter: function(e) {
-            if (!legacyBehavior && typeof onMouseEnter === "function") {
-              onMouseEnter(e);
-            }
-            if (
-              legacyBehavior &&
-              child.props &&
-              typeof child.props.onMouseEnter === "function"
-            ) {
-              child.props.onMouseEnter(e);
-            }
-            // Check for not prefetch disabled in page using appRouter
-            if (!(!p && appRouter)) {
-              if ((0, _router).isLocalURL(href)) {
-                prefetch(router, href, as, {
-                  priority: true
-                });
+          }, [as, href, isVisible, locale, p, router]);
+          const childProps = {
+            ref: setRef,
+            onClick: e => {
+              if (false) {
               }
-            }
-          },
-          onTouchStart: function(e) {
-            if (!legacyBehavior && typeof onTouchStart === "function") {
-              onTouchStart(e);
-            }
-            if (
-              legacyBehavior &&
-              child.props &&
-              typeof child.props.onTouchStart === "function"
-            ) {
-              child.props.onTouchStart(e);
-            }
-            // Check for not prefetch disabled in page using appRouter
-            if (!(!p && appRouter)) {
-              if ((0, _router).isLocalURL(href)) {
-                prefetch(router, href, as, {
-                  priority: true
-                });
+              if (!legacyBehavior && typeof onClick === "function") {
+                onClick(e);
+              }
+              if (
+                legacyBehavior &&
+                child.props &&
+                typeof child.props.onClick === "function"
+              ) {
+                child.props.onClick(e);
+              }
+              if (!e.defaultPrevented) {
+                linkClicked(
+                  e,
+                  router,
+                  href,
+                  as,
+                  replace,
+                  shallow,
+                  scroll,
+                  locale,
+                  Boolean(appRouter),
+                  p
+                );
+              }
+            },
+            onMouseEnter: e => {
+              if (!legacyBehavior && typeof onMouseEnter === "function") {
+                onMouseEnter(e);
+              }
+              if (
+                legacyBehavior &&
+                child.props &&
+                typeof child.props.onMouseEnter === "function"
+              ) {
+                child.props.onMouseEnter(e);
+              }
+              // Check for not prefetch disabled in page using appRouter
+              if (!(!p && appRouter)) {
+                if ((0, _router).isLocalURL(href)) {
+                  prefetch(router, href, as, {
+                    priority: true
+                  });
+                }
+              }
+            },
+            onTouchStart: e => {
+              if (!legacyBehavior && typeof onTouchStart === "function") {
+                onTouchStart(e);
+              }
+              if (
+                legacyBehavior &&
+                child.props &&
+                typeof child.props.onTouchStart === "function"
+              ) {
+                child.props.onTouchStart(e);
+              }
+              // Check for not prefetch disabled in page using appRouter
+              if (!(!p && appRouter)) {
+                if ((0, _router).isLocalURL(href)) {
+                  prefetch(router, href, as, {
+                    priority: true
+                  });
+                }
               }
             }
-          }
-        };
-        // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is
-        // defined, we specify the current 'href', so that repetition is not needed by the user
-        if (
-          !legacyBehavior ||
-          passHref ||
-          (child.type === "a" && !("href" in child.props))
-        ) {
-          var curLocale =
-            typeof locale !== "undefined" ? locale : router && router.locale;
-          // we only render domain locales if we are currently on a domain locale
-          // so that locale links are still visitable in development/preview envs
-          var localeDomain =
-            router &&
-            router.isLocaleDomain &&
-            (0, _getDomainLocale).getDomainLocale(
-              as,
-              curLocale,
-              router.locales,
-              router.domainLocales
-            );
-          childProps.href =
-            localeDomain ||
-            (0, _addBasePath).addBasePath(
-              (0, _addLocale).addLocale(
+          };
+          // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is
+          // defined, we specify the current 'href', so that repetition is not needed by the user
+          if (
+            !legacyBehavior ||
+            passHref ||
+            (child.type === "a" && !("href" in child.props))
+          ) {
+            const curLocale =
+              typeof locale !== "undefined" ? locale : router && router.locale;
+            // we only render domain locales if we are currently on a domain locale
+            // so that locale links are still visitable in development/preview envs
+            const localeDomain =
+              router &&
+              router.isLocaleDomain &&
+              (0, _getDomainLocale).getDomainLocale(
                 as,
                 curLocale,
-                router && router.defaultLocale
-              )
-            );
+                router.locales,
+                router.domainLocales
+              );
+            childProps.href =
+              localeDomain ||
+              (0, _addBasePath).addBasePath(
+                (0, _addLocale).addLocale(
+                  as,
+                  curLocale,
+                  router && router.defaultLocale
+                )
+              );
+          }
+          return legacyBehavior
+            ? /*#__PURE__*/ _react.default.cloneElement(child, childProps)
+            : /*#__PURE__*/ _react.default.createElement(
+                "a",
+                Object.assign({}, restProps, childProps),
+                children
+              );
         }
-        return legacyBehavior
-          ? /*#__PURE__*/ _react.default.cloneElement(child, childProps)
-          : /*#__PURE__*/ _react.default.createElement(
-              "a",
-              Object.assign({}, restProps, childProps),
-              children
-            );
-      });
+      );
       var _default = Link;
       exports["default"] = _default;
       if (
@@ -424,61 +391,56 @@
       /***/
     },
 
-    /***/ 2879: /***/ function(module, exports, __webpack_require__) {
+    /***/ 2130: /***/ function(module, exports, __webpack_require__) {
       "use strict";
 
-      Object.defineProperty(exports, "__esModule", {
-        value: true
-      });
-      var _slicedToArray = __webpack_require__(553) /* ["default"] */.Z;
       Object.defineProperty(exports, "__esModule", {
         value: true
       });
       exports.useIntersection = useIntersection;
-      var _react = __webpack_require__(959);
-      var _requestIdleCallback = __webpack_require__(3735);
-      var hasIntersectionObserver = typeof IntersectionObserver === "function";
-      var observers = new Map();
-      var idList = [];
+      var _react = __webpack_require__(465);
+      var _requestIdleCallback = __webpack_require__(745);
+      const hasIntersectionObserver =
+        typeof IntersectionObserver === "function";
+      const observers = new Map();
+      const idList = [];
       function createObserver(options) {
-        var id = {
+        const id = {
           root: options.root || null,
           margin: options.rootMargin || ""
         };
-        var existing = idList.find(function(obj) {
-          return obj.root === id.root && obj.margin === id.margin;
-        });
-        var instance;
+        const existing = idList.find(
+          obj => obj.root === id.root && obj.margin === id.margin
+        );
+        let instance;
         if (existing) {
           instance = observers.get(existing);
           if (instance) {
             return instance;
           }
         }
-        var elements = new Map();
-        var observer = new IntersectionObserver(function(entries) {
-          entries.forEach(function(entry) {
-            var callback = elements.get(entry.target);
-            var isVisible = entry.isIntersecting || entry.intersectionRatio > 0;
+        const elements = new Map();
+        const observer = new IntersectionObserver(entries => {
+          entries.forEach(entry => {
+            const callback = elements.get(entry.target);
+            const isVisible =
+              entry.isIntersecting || entry.intersectionRatio > 0;
             if (callback && isVisible) {
               callback(isVisible);
             }
           });
         }, options);
         instance = {
-          id: id,
-          observer: observer,
-          elements: elements
+          id,
+          observer,
+          elements
         };
         idList.push(id);
         observers.set(id, instance);
         return instance;
       }
       function observe(element, callback, options) {
-        var ref = createObserver(options),
-          id = ref.id,
-          observer = ref.observer,
-          elements = ref.elements;
+        const { id, observer, elements } = createObserver(options);
         elements.set(element, callback);
         observer.observe(element);
         return function unobserve() {
@@ -488,9 +450,9 @@
           if (elements.size === 0) {
             observer.disconnect();
             observers.delete(id);
-            var index = idList.findIndex(function(obj) {
-              return obj.root === id.root && obj.margin === id.margin;
-            });
+            const index = idList.findIndex(
+              obj => obj.root === id.root && obj.margin === id.margin
+            );
             if (index > -1) {
               idList.splice(index, 1);
             }
@@ -498,50 +460,34 @@
         };
       }
       function useIntersection(param) {
-        var rootRef = param.rootRef,
-          rootMargin = param.rootMargin,
-          disabled = param.disabled;
-        var isDisabled = disabled || !hasIntersectionObserver;
-        var ref = _slicedToArray((0, _react).useState(false), 2),
-          visible = ref[0],
-          setVisible = ref[1];
-        var ref1 = _slicedToArray((0, _react).useState(null), 2),
-          element = ref1[0],
-          setElement = ref1[1];
-        (0, _react).useEffect(
-          function() {
-            if (hasIntersectionObserver) {
-              if (isDisabled || visible) return;
-              if (element && element.tagName) {
-                var unobserve = observe(
-                  element,
-                  function(isVisible) {
-                    return isVisible && setVisible(isVisible);
-                  },
-                  {
-                    root: rootRef == null ? void 0 : rootRef.current,
-                    rootMargin: rootMargin
-                  }
-                );
-                return unobserve;
-              }
-            } else {
-              if (!visible) {
-                var idleCallback = (0,
-                _requestIdleCallback).requestIdleCallback(function() {
-                  return setVisible(true);
-                });
-                return function() {
-                  return (0, _requestIdleCallback).cancelIdleCallback(
-                    idleCallback
-                  );
-                };
-              }
+        let { rootRef, rootMargin, disabled } = param;
+        const isDisabled = disabled || !hasIntersectionObserver;
+        const [visible, setVisible] = (0, _react).useState(false);
+        const [element, setElement] = (0, _react).useState(null);
+        (0, _react).useEffect(() => {
+          if (hasIntersectionObserver) {
+            if (isDisabled || visible) return;
+            if (element && element.tagName) {
+              const unobserve = observe(
+                element,
+                isVisible => isVisible && setVisible(isVisible),
+                {
+                  root: rootRef == null ? void 0 : rootRef.current,
+                  rootMargin
+                }
+              );
+              return unobserve;
             }
-          },
-          [element, isDisabled, rootMargin, rootRef, visible]
-        );
-        var resetVisible = (0, _react).useCallback(function() {
+          } else {
+            if (!visible) {
+              const idleCallback = (0,
+              _requestIdleCallback).requestIdleCallback(() => setVisible(true));
+              return () =>
+                (0, _requestIdleCallback).cancelIdleCallback(idleCallback);
+            }
+          }
+        }, [element, isDisabled, rootMargin, rootRef, visible]);
+        const resetVisible = (0, _react).useCallback(() => {
           setVisible(false);
         }, []);
         return [setElement, visible, resetVisible];
@@ -561,7 +507,7 @@
       /***/
     },
 
-    /***/ 7732: /***/ function(
+    /***/ 7755: /***/ function(
       __unused_webpack_module,
       exports,
       __webpack_require__
@@ -574,14 +520,14 @@
       exports.TemplateContext = exports.GlobalLayoutRouterContext = exports.LayoutRouterContext = exports.AppRouterContext = void 0;
       var _interop_require_default = __webpack_require__(7022) /* ["default"] */
         .Z;
-      var _react = _interop_require_default(__webpack_require__(959));
-      var AppRouterContext = _react.default.createContext(null);
+      var _react = _interop_require_default(__webpack_require__(465));
+      const AppRouterContext = _react.default.createContext(null);
       exports.AppRouterContext = AppRouterContext;
-      var LayoutRouterContext = _react.default.createContext(null);
+      const LayoutRouterContext = _react.default.createContext(null);
       exports.LayoutRouterContext = LayoutRouterContext;
-      var GlobalLayoutRouterContext = _react.default.createContext(null);
+      const GlobalLayoutRouterContext = _react.default.createContext(null);
       exports.GlobalLayoutRouterContext = GlobalLayoutRouterContext;
-      var TemplateContext = _react.default.createContext(null);
+      const TemplateContext = _react.default.createContext(null);
       exports.TemplateContext = TemplateContext;
       if (false) {
       } //# sourceMappingURL=app-router-context.js.map
@@ -589,7 +535,7 @@
       /***/
     },
 
-    /***/ 2022: /***/ function(
+    /***/ 9666: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -603,10 +549,10 @@
         /* harmony export */
       });
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        1527
+        9701
       );
       /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        4595
+        9495
       );
       /* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_link__WEBPACK_IMPORTED_MODULE_1__
@@ -637,12 +583,77 @@
       /***/
     },
 
-    /***/ 4595: /***/ function(
+    /***/ 1963: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+      /**
+       * @license React
+       * react-jsx-runtime.production.min.js
+       *
+       * Copyright (c) Meta Platforms, Inc. and affiliates.
+       *
+       * This source code is licensed under the MIT license found in the
+       * LICENSE file in the root directory of this source tree.
+       */
+      var f = __webpack_require__(465),
+        k = Symbol.for("react.element"),
+        l = Symbol.for("react.fragment"),
+        m = Object.prototype.hasOwnProperty,
+        n =
+          f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
+            .ReactCurrentOwner,
+        p = { key: !0, ref: !0, __self: !0, __source: !0 };
+      function q(c, a, g) {
+        var b,
+          d = {},
+          e = null,
+          h = null;
+        void 0 !== g && (e = "" + g);
+        void 0 !== a.key && (e = "" + a.key);
+        void 0 !== a.ref && (h = a.ref);
+        for (b in a) m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
+        if (c && c.defaultProps)
+          for (b in ((a = c.defaultProps), a)) void 0 === d[b] && (d[b] = a[b]);
+        return {
+          $$typeof: k,
+          type: c,
+          key: e,
+          ref: h,
+          props: d,
+          _owner: n.current
+        };
+      }
+      exports.Fragment = l;
+      exports.jsx = q;
+      exports.jsxs = q;
+
+      /***/
+    },
+
+    /***/ 9701: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      if (true) {
+        module.exports = __webpack_require__(1963);
+      } else {
+      }
+
+      /***/
+    },
+
+    /***/ 9495: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(3255);
+      module.exports = __webpack_require__(2548);
 
       /***/
     }
@@ -652,8 +663,8 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(8662);
+    /******/ __webpack_require__.O(0, [888, 179], function() {
+      return __webpack_exec__(7014);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for routerDirect-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [58],
   {
-    /***/ 2188: /***/ function(
+    /***/ 7288: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/routerDirect",
         function() {
-          return __webpack_require__(5092);
+          return __webpack_require__(6228);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 5092: /***/ function(
+    /***/ 6228: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -32,10 +32,10 @@
         /* harmony export */
       });
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        1527
+        9701
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        5866
+        5664
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -56,12 +56,77 @@
       /***/
     },
 
-    /***/ 5866: /***/ function(
+    /***/ 1963: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+      /**
+       * @license React
+       * react-jsx-runtime.production.min.js
+       *
+       * Copyright (c) Meta Platforms, Inc. and affiliates.
+       *
+       * This source code is licensed under the MIT license found in the
+       * LICENSE file in the root directory of this source tree.
+       */
+      var f = __webpack_require__(465),
+        k = Symbol.for("react.element"),
+        l = Symbol.for("react.fragment"),
+        m = Object.prototype.hasOwnProperty,
+        n =
+          f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
+            .ReactCurrentOwner,
+        p = { key: !0, ref: !0, __self: !0, __source: !0 };
+      function q(c, a, g) {
+        var b,
+          d = {},
+          e = null,
+          h = null;
+        void 0 !== g && (e = "" + g);
+        void 0 !== a.key && (e = "" + a.key);
+        void 0 !== a.ref && (h = a.ref);
+        for (b in a) m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
+        if (c && c.defaultProps)
+          for (b in ((a = c.defaultProps), a)) void 0 === d[b] && (d[b] = a[b]);
+        return {
+          $$typeof: k,
+          type: c,
+          key: e,
+          ref: h,
+          props: d,
+          _owner: n.current
+        };
+      }
+      exports.Fragment = l;
+      exports.jsx = q;
+      exports.jsxs = q;
+
+      /***/
+    },
+
+    /***/ 9701: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      if (true) {
+        module.exports = __webpack_require__(1963);
+      } else {
+      }
+
+      /***/
+    },
+
+    /***/ 5664: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(9813);
+      module.exports = __webpack_require__(4850);
 
       /***/
     }
@@ -71,8 +136,8 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(2188);
+    /******/ __webpack_require__.O(0, [888, 179], function() {
+      return __webpack_exec__(7288);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for script-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [797],
   {
-    /***/ 1136: /***/ function(
+    /***/ 182: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/script",
         function() {
-          return __webpack_require__(4001);
+          return __webpack_require__(8833);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 4001: /***/ function(
+    /***/ 8833: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -32,18 +32,17 @@
         /* harmony export */
       });
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        1527
+        9701
       );
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        9096
+        6071
       );
       /* harmony import */ var next_script__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_script__WEBPACK_IMPORTED_MODULE_1__
       );
 
-      var Page = function() {
-        return /*#__PURE__*/ (0,
-        react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
+      const Page = () =>
+        /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(
           react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment,
           {
             children: [
@@ -63,19 +62,83 @@
             ]
           }
         );
-      };
       var __N_SSP = true;
       /* harmony default export */ __webpack_exports__["default"] = Page;
 
       /***/
     },
 
-    /***/ 9096: /***/ function(
+    /***/ 1963: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+      /**
+       * @license React
+       * react-jsx-runtime.production.min.js
+       *
+       * Copyright (c) Meta Platforms, Inc. and affiliates.
+       *
+       * This source code is licensed under the MIT license found in the
+       * LICENSE file in the root directory of this source tree.
+       */
+      var f = __webpack_require__(465),
+        k = Symbol.for("react.element"),
+        l = Symbol.for("react.fragment"),
+        m = Object.prototype.hasOwnProperty,
+        n =
+          f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
+            .ReactCurrentOwner,
+        p = { key: !0, ref: !0, __self: !0, __source: !0 };
+      function q(c, a, g) {
+        var b,
+          d = {},
+          e = null,
+          h = null;
+        void 0 !== g && (e = "" + g);
+        void 0 !== a.key && (e = "" + a.key);
+        void 0 !== a.ref && (h = a.ref);
+        for (b in a) m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
+        if (c && c.defaultProps)
+          for (b in ((a = c.defaultProps), a)) void 0 === d[b] && (d[b] = a[b]);
+        return {
+          $$typeof: k,
+          type: c,
+          key: e,
+          ref: h,
+          props: d,
+          _owner: n.current
+        };
+      }
+      exports.Fragment = l;
+      exports.jsx = q;
+      exports.jsxs = q;
+
+      /***/
+    },
+
+    /***/ 9701: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      if (true) {
+        module.exports = __webpack_require__(1963);
+      } else {
+      }
+
+      /***/
+    },
+
+    /***/ 6071: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(4407);
+      module.exports = false ? 0 : __webpack_require__(266);
 
       /***/
     }
@@ -85,8 +148,8 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(1136);
+    /******/ __webpack_require__.O(0, [888, 179], function() {
+      return __webpack_exec__(182);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for withRouter-HASH.js
@@ -1,7 +1,7 @@
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
   [807],
   {
-    /***/ 3551: /***/ function(
+    /***/ 8118: /***/ function(
       __unused_webpack_module,
       __unused_webpack_exports,
       __webpack_require__
@@ -9,7 +9,7 @@
       (window.__NEXT_P = window.__NEXT_P || []).push([
         "/withRouter",
         function() {
-          return __webpack_require__(1239);
+          return __webpack_require__(9617);
         }
       ]);
       if (false) {
@@ -18,7 +18,7 @@
       /***/
     },
 
-    /***/ 1239: /***/ function(
+    /***/ 9617: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -32,10 +32,10 @@
         /* harmony export */
       });
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        1527
+        9701
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(
-        5866
+        5664
       );
       /* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/ __webpack_require__.n(
         next_router__WEBPACK_IMPORTED_MODULE_1__
@@ -54,12 +54,77 @@
       /***/
     },
 
-    /***/ 5866: /***/ function(
+    /***/ 1963: /***/ function(
+      __unused_webpack_module,
+      exports,
+      __webpack_require__
+    ) {
+      "use strict";
+      /**
+       * @license React
+       * react-jsx-runtime.production.min.js
+       *
+       * Copyright (c) Meta Platforms, Inc. and affiliates.
+       *
+       * This source code is licensed under the MIT license found in the
+       * LICENSE file in the root directory of this source tree.
+       */
+      var f = __webpack_require__(465),
+        k = Symbol.for("react.element"),
+        l = Symbol.for("react.fragment"),
+        m = Object.prototype.hasOwnProperty,
+        n =
+          f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
+            .ReactCurrentOwner,
+        p = { key: !0, ref: !0, __self: !0, __source: !0 };
+      function q(c, a, g) {
+        var b,
+          d = {},
+          e = null,
+          h = null;
+        void 0 !== g && (e = "" + g);
+        void 0 !== a.key && (e = "" + a.key);
+        void 0 !== a.ref && (h = a.ref);
+        for (b in a) m.call(a, b) && !p.hasOwnProperty(b) && (d[b] = a[b]);
+        if (c && c.defaultProps)
+          for (b in ((a = c.defaultProps), a)) void 0 === d[b] && (d[b] = a[b]);
+        return {
+          $$typeof: k,
+          type: c,
+          key: e,
+          ref: h,
+          props: d,
+          _owner: n.current
+        };
+      }
+      exports.Fragment = l;
+      exports.jsx = q;
+      exports.jsxs = q;
+
+      /***/
+    },
+
+    /***/ 9701: /***/ function(
+      module,
+      __unused_webpack_exports,
+      __webpack_require__
+    ) {
+      "use strict";
+
+      if (true) {
+        module.exports = __webpack_require__(1963);
+      } else {
+      }
+
+      /***/
+    },
+
+    /***/ 5664: /***/ function(
       module,
       __unused_webpack_exports,
       __webpack_require__
     ) {
-      module.exports = __webpack_require__(9813);
+      module.exports = __webpack_require__(4850);
 
       /***/
     }
@@ -69,8 +134,8 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ __webpack_require__.O(0, [774, 888, 179], function() {
-      return __webpack_exec__(3551);
+    /******/ __webpack_require__.O(0, [888, 179], function() {
+      return __webpack_exec__(8118);
     });
     /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
Diff for 240-HASH.js

Diff too large to display

Diff for 456.HASH.js
@@ -1,8 +1,8 @@
 "use strict";
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [456],
+  [55],
   {
-    /***/ 3456: /***/ function(
+    /***/ 1055: /***/ function(
       __unused_webpack_module,
       __webpack_exports__,
       __webpack_require__
@@ -15,10 +15,10 @@
         /* harmony export */
       });
       /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
-        1527
+        9701
       );
 
-      var Hello = function() {
+      const Hello = () => {
         return /*#__PURE__*/ (0,
         react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("p", {
           children: "hello world"
Diff for app-internals-HASH.js
@@ -1,29 +1,20 @@
-// runtime can't be in strict mode because a global variable is assign and maybe created.
 (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([
-  [532, 760, 185],
+  [532],
   {
-    /***/ 8012: /***/ function(
+    /***/ 1337: /***/ function(
       __unused_webpack_module,
-      __webpack_exports__,
+      __unused_webpack_exports,
       __webpack_require__
     ) {
-      "use strict";
-      __webpack_require__.r(__webpack_exports__);
-      /* harmony export */ __webpack_require__.d(__webpack_exports__, {
-        /* harmony export */ __next_rsc__: function() {
-          return /* binding */ __next_rsc__;
-        },
-        /* harmony export */ default: function() {
-          return /* binding */ RSC;
-        }
-        /* harmony export */
-      });
-
-      const __next_rsc__ = {
-        server: false,
-        __webpack_require__
-      };
-      function RSC() {}
+      Promise.resolve(/* import() eager */).then(
+        __webpack_require__.t.bind(__webpack_require__, 4995, 23)
+      );
+      Promise.resolve(/* import() eager */).then(
+        __webpack_require__.t.bind(__webpack_require__, 8750, 23)
+      );
+      Promise.resolve(/* import() eager */).then(
+        __webpack_require__.t.bind(__webpack_require__, 7187, 23)
+      );
 
       /***/
     }
@@ -33,7 +24,10 @@
     /******/ var __webpack_exec__ = function(moduleId) {
       return __webpack_require__((__webpack_require__.s = moduleId));
     };
-    /******/ var __webpack_exports__ = __webpack_exec__(8012);
+    /******/ __webpack_require__.O(0, [240], function() {
+      return __webpack_exec__(1337);
+    });
+    /******/ var __webpack_exports__ = __webpack_require__.O();
     /******/ _N_E = __webpack_exports__;
     /******/
   }
Diff for page-4c12490cfee340ec.js
@@ -0,0 +1,16 @@
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[760,185],{
+
+/***/ 7407:
+/***/ (function() {
+
+
+
+/***/ })
+
+},
+/******/ function(__webpack_require__) { // webpackRuntimeModules
+/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
+/******/ var __webpack_exports__ = (__webpack_exec__(7407));
+/******/ _N_E = __webpack_exports__;
+/******/ }
+]);
\ No newline at end of file
Diff for page-56479ca3a9a78787.js
deleted
Diff for layout-0e1a2..8ddbedde1.js
deleted
Diff for layout-48798..abc1dd85a.js
@@ -0,0 +1,16 @@
+(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([[185,760],{
+
+/***/ 7407:
+/***/ (function() {
+
+
+
+/***/ })
+
+},
+/******/ function(__webpack_require__) { // webpackRuntimeModules
+/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }
+/******/ var __webpack_exports__ = (__webpack_exec__(7407));
+/******/ _N_E = __webpack_exports__;
+/******/ }
+]);
\ No newline at end of file
Diff for framework-HASH.js
deleted
Diff for main-HASH.js

Diff too large to display

Diff for main-app-HASH.js

Diff too large to display

Diff for webpack-HASH.js
@@ -14,8 +14,8 @@
       /******/
     } // Create a new module (and put it into the cache)
     /******/ /******/ var module = (__webpack_module_cache__[moduleId] = {
-      /******/ // no module.id needed
-      /******/ // no module.loaded needed
+      /******/ id: moduleId,
+      /******/ loaded: false,
       /******/ exports: {}
       /******/
     }); // Execute the module function
@@ -33,7 +33,10 @@
     } finally {
       /******/ if (threw) delete __webpack_module_cache__[moduleId];
       /******/
-    } // Return the exports of the module
+    } // Flag the module as loaded
+    /******/
+
+    /******/ /******/ module.loaded = true; // Return the exports of the module
     /******/
 
     /******/ /******/ return module.exports;
@@ -113,6 +116,59 @@
       /******/
     };
     /******/
+  })(); /* webpack/runtime/create fake namespace object */
+  /******/
+
+  /******/ /******/ !(function() {
+    /******/ var getProto = Object.getPrototypeOf
+      ? function(obj) {
+          return Object.getPrototypeOf(obj);
+        }
+      : function(obj) {
+          return obj.__proto__;
+        };
+    /******/ var leafPrototypes; // create a fake namespace object // mode & 1: value is a module id, require it // mode & 2: merge all properties of value into the ns // mode & 4: return value when already ns object // mode & 16: return value when it's Promise-like // mode & 8|1: behave like require
+    /******/ /******/ /******/ /******/ /******/ /******/ /******/ __webpack_require__.t = function(
+      value,
+      mode
+    ) {
+      /******/ if (mode & 1) value = this(value);
+      /******/ if (mode & 8) return value;
+      /******/ if (typeof value === "object" && value) {
+        /******/ if (mode & 4 && value.__esModule) return value;
+        /******/ if (mode & 16 && typeof value.then === "function")
+          return value;
+        /******/
+      }
+      /******/ var ns = Object.create(null);
+      /******/ __webpack_require__.r(ns);
+      /******/ var def = {};
+      /******/ leafPrototypes = leafPrototypes || [
+        null,
+        getProto({}),
+        getProto([]),
+        getProto(getProto)
+      ];
+      /******/ for (
+        var current = mode & 2 && value;
+        typeof current == "object" && !~leafPrototypes.indexOf(current);
+        current = getProto(current)
+      ) {
+        /******/ Object.getOwnPropertyNames(current).forEach(function(key) {
+          def[key] = function() {
+            return value[key];
+          };
+        });
+        /******/
+      }
+      /******/ def["default"] = function() {
+        return value;
+      };
+      /******/ __webpack_require__.d(ns, def);
+      /******/ return ns;
+      /******/
+    };
+    /******/
   })(); /* webpack/runtime/define property getters */
   /******/
 
@@ -159,7 +215,7 @@
     /******/ __webpack_require__.u = function(chunkId) {
       /******/ // return url for filenames based on template
       /******/ return (
-        "static/chunks/" + chunkId + "." + "a1bbcca2f00c8524" + ".js"
+        "static/chunks/" + chunkId + "." + "89eb39c50acb0610" + ".js"
       );
       /******/
     };
@@ -175,6 +231,30 @@
       /******/
     };
     /******/
+  })(); /* webpack/runtime/getFullHash */
+  /******/
+
+  /******/ /******/ !(function() {
+    /******/ __webpack_require__.h = function() {
+      return "834795706ffdcd6e";
+    };
+    /******/
+  })(); /* webpack/runtime/global */
+  /******/
+
+  /******/ /******/ !(function() {
+    /******/ __webpack_require__.g = (function() {
+      /******/ if (typeof globalThis === "object") return globalThis;
+      /******/ try {
+        /******/ return this || new Function("return this")();
+        /******/
+      } catch (e) {
+        /******/ if (typeof window === "object") return window;
+        /******/
+      }
+      /******/
+    })();
+    /******/
   })(); /* webpack/runtime/hasOwnProperty shorthand */
   /******/
 
@@ -274,6 +354,17 @@
       /******/
     };
     /******/
+  })(); /* webpack/runtime/node module decorator */
+  /******/
+
+  /******/ /******/ !(function() {
+    /******/ __webpack_require__.nmd = function(module) {
+      /******/ module.paths = [];
+      /******/ if (!module.children) module.children = [];
+      /******/ return module;
+      /******/
+    };
+    /******/
   })(); /* webpack/runtime/trusted types policy */
   /******/
Diff for index.html
@@ -11,23 +11,19 @@
       src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-2056b6771bb6eeb5.js"
+      src="/_next/static/chunks/webpack-3fbb5c5b31a01b0e.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/framework-114cbddc60b679b8.js"
+      src="/_next/static/chunks/main-1a66e9e5c66876de.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-0d0b922d26c12137.js"
+      src="/_next/static/chunks/pages/_app-da38623d1b0aece5.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-1f0e6d89ba459592.js"
-      defer=""
-    ></script>
-    <script
-      src="/_next/static/chunks/pages/index-900174ca1e174563.js"
+      src="/_next/static/chunks/pages/index-9a20bf08007c156b.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for link.html
@@ -11,23 +11,19 @@
       src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-2056b6771bb6eeb5.js"
+      src="/_next/static/chunks/webpack-3fbb5c5b31a01b0e.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/framework-114cbddc60b679b8.js"
+      src="/_next/static/chunks/main-1a66e9e5c66876de.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-0d0b922d26c12137.js"
+      src="/_next/static/chunks/pages/_app-da38623d1b0aece5.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-1f0e6d89ba459592.js"
-      defer=""
-    ></script>
-    <script
-      src="/_next/static/chunks/pages/link-d0af872fc93e91d2.js"
+      src="/_next/static/chunks/pages/link-31e5c03c1af1c0dd.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>
Diff for withRouter.html
@@ -11,23 +11,19 @@
       src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"
     ></script>
     <script
-      src="/_next/static/chunks/webpack-2056b6771bb6eeb5.js"
+      src="/_next/static/chunks/webpack-3fbb5c5b31a01b0e.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/framework-114cbddc60b679b8.js"
+      src="/_next/static/chunks/main-1a66e9e5c66876de.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/main-0d0b922d26c12137.js"
+      src="/_next/static/chunks/pages/_app-da38623d1b0aece5.js"
       defer=""
     ></script>
     <script
-      src="/_next/static/chunks/pages/_app-1f0e6d89ba459592.js"
-      defer=""
-    ></script>
-    <script
-      src="/_next/static/chunks/pages/withRouter-ee6f5473a3761203.js"
+      src="/_next/static/chunks/pages/withRouter-8bb87dc8c5965f35.js"
       defer=""
     ></script>
     <script src="/_next/static/BUILD_ID/_buildManifest.js" defer=""></script>

Please sign in to comment.