@scrabble-solver/scrabble-solver 2.15.13 → 2.15.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +15 -15
- package/.next/cache/.previewinfo +1 -1
- package/.next/cache/.rscinfo +1 -1
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack.old +0 -0
- package/.next/cache/webpack/edge-server-production/0.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack +0 -0
- package/.next/cache/webpack/edge-server-production/index.pack.old +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack.old +0 -0
- package/.next/diagnostics/framework.json +1 -1
- package/.next/next-minimal-server.js.nft.json +1 -1
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +4 -4
- package/.next/required-server-files.json +10 -11
- package/.next/routes-manifest.json +5 -5
- package/.next/server/chunks/30.js +3 -3
- package/.next/server/chunks/318.js +1 -1
- package/.next/server/chunks/717.js +1 -0
- package/.next/server/chunks/791.js +19 -0
- package/.next/server/chunks/829.js +1 -0
- package/.next/server/chunks/929.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/404.js.nft.json +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/_app.js +1 -1
- package/.next/server/pages/_app.js.nft.json +1 -1
- package/.next/server/pages/_document.js +1 -1
- package/.next/server/pages/_document.js.nft.json +1 -1
- package/.next/server/pages/_error.js +1 -1
- package/.next/server/pages/_error.js.nft.json +1 -1
- package/.next/server/pages/api/dictionary/[locale]/[word].js +2 -2
- package/.next/server/pages/api/dictionary/[locale]/[word].js.nft.json +1 -1
- package/.next/server/pages/api/dictionary/[locale].js +1 -1
- package/.next/server/pages/api/dictionary/[locale].js.nft.json +1 -1
- package/.next/server/pages/api/solve.js +1 -1
- package/.next/server/pages/api/solve.js.nft.json +1 -1
- package/.next/server/pages/api/verify.js +1 -1
- package/.next/server/pages/api/verify.js.nft.json +1 -1
- package/.next/server/pages/api/visit.js +1 -1
- package/.next/server/pages/api/visit.js.nft.json +1 -1
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/index.js +1 -1
- package/.next/server/pages/index.js.nft.json +1 -1
- package/.next/server/pages/index.json +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/static/{MhrqAqLI9_L8obb7tgjvi → UHBG2hxudxuZNMubluQ6A}/_buildManifest.js +1 -1
- package/.next/static/chunks/framework-e4d8bdda7b6c00b3.js +1 -0
- package/.next/static/chunks/main-40732898df2b5947.js +1 -0
- package/.next/static/chunks/pages/404-3ab23f01145bda71.js +1 -0
- package/.next/static/chunks/pages/_app-ca98ddb1c33cb8b1.js +1 -0
- package/.next/static/chunks/pages/{_error-a9800cedd835bcad.js → _error-e7f663d1e0f43380.js} +1 -1
- package/.next/static/chunks/pages/index-5c4af5351329bef5.js +1 -0
- package/.next/static/css/d611d31bf52b6e25.css +2 -0
- package/.next/trace +24 -24
- package/.next/types/routes.d.ts +57 -0
- package/.next/types/validator.ts +107 -0
- package/next-env.d.ts +1 -0
- package/package.json +21 -21
- package/src/components/Results/Result.tsx +13 -17
- package/src/components/Results/Results.tsx +23 -24
- package/.next/server/chunks/106.js +0 -1
- package/.next/server/chunks/50.js +0 -19
- package/.next/server/chunks/974.js +0 -1
- package/.next/static/chunks/framework-aad31c68dd0bb0ea.js +0 -1
- package/.next/static/chunks/main-eab5847b41f0af4a.js +0 -1
- package/.next/static/chunks/pages/404-04457ede98c6b53e.js +0 -1
- package/.next/static/chunks/pages/_app-bf81f201c021fdc1.js +0 -1
- package/.next/static/chunks/pages/index-79a390f3c2a2499f.js +0 -1
- package/.next/static/css/1fae874a25934f54.css +0 -2
- /package/.next/static/{MhrqAqLI9_L8obb7tgjvi → UHBG2hxudxuZNMubluQ6A}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// This file is generated automatically by Next.js
|
|
2
|
+
// Do not edit this file manually
|
|
3
|
+
|
|
4
|
+
type AppRoutes = never
|
|
5
|
+
type PageRoutes = "/" | "/404"
|
|
6
|
+
type LayoutRoutes = never
|
|
7
|
+
type RedirectRoutes = never
|
|
8
|
+
type RewriteRoutes = never
|
|
9
|
+
type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRoutes
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
interface ParamMap {
|
|
13
|
+
"/": {}
|
|
14
|
+
"/404": {}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
export type ParamsOf<Route extends Routes> = ParamMap[Route]
|
|
19
|
+
|
|
20
|
+
interface LayoutSlotMap {
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
export type { AppRoutes, PageRoutes, LayoutRoutes, RedirectRoutes, RewriteRoutes, ParamMap }
|
|
25
|
+
|
|
26
|
+
declare global {
|
|
27
|
+
/**
|
|
28
|
+
* Props for Next.js App Router page components
|
|
29
|
+
* @example
|
|
30
|
+
* ```tsx
|
|
31
|
+
* export default function Page(props: PageProps<'/blog/[slug]'>) {
|
|
32
|
+
* const { slug } = await props.params
|
|
33
|
+
* return <div>Blog post: {slug}</div>
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
interface PageProps<AppRoute extends AppRoutes> {
|
|
38
|
+
params: Promise<ParamMap[AppRoute]>
|
|
39
|
+
searchParams: Promise<Record<string, string | string[] | undefined>>
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Props for Next.js App Router layout components
|
|
44
|
+
* @example
|
|
45
|
+
* ```tsx
|
|
46
|
+
* export default function Layout(props: LayoutProps<'/dashboard'>) {
|
|
47
|
+
* return <div>{props.children}</div>
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
type LayoutProps<LayoutRoute extends LayoutRoutes> = {
|
|
52
|
+
params: Promise<ParamMap[LayoutRoute]>
|
|
53
|
+
children: React.ReactNode
|
|
54
|
+
} & {
|
|
55
|
+
[K in LayoutSlotMap[LayoutRoute]]: React.ReactNode
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
// This file is generated automatically by Next.js
|
|
2
|
+
// Do not edit this file manually
|
|
3
|
+
// This file validates that all pages and layouts export the correct types
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
import type { NextApiHandler } from "next/types.js"
|
|
7
|
+
|
|
8
|
+
type PagesPageConfig = {
|
|
9
|
+
default: React.ComponentType<any> | ((props: any) => React.ReactNode | Promise<React.ReactNode> | never | void)
|
|
10
|
+
getStaticProps?: (context: any) => Promise<any> | any
|
|
11
|
+
getStaticPaths?: (context: any) => Promise<any> | any
|
|
12
|
+
getServerSideProps?: (context: any) => Promise<any> | any
|
|
13
|
+
getInitialProps?: (context: any) => Promise<any> | any
|
|
14
|
+
/**
|
|
15
|
+
* Segment configuration for legacy Pages Router pages.
|
|
16
|
+
* Validated at build-time by parsePagesSegmentConfig.
|
|
17
|
+
*/
|
|
18
|
+
config?: {
|
|
19
|
+
amp?: boolean | 'hybrid' | string // necessary for JS
|
|
20
|
+
maxDuration?: number
|
|
21
|
+
runtime?: 'edge' | 'experimental-edge' | 'nodejs' | string // necessary unless config is exported as const
|
|
22
|
+
regions?: string[]
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
type ApiRouteConfig = {
|
|
27
|
+
default: (req: any, res: any) => ReturnType<NextApiHandler>
|
|
28
|
+
config?: {
|
|
29
|
+
api?: {
|
|
30
|
+
bodyParser?: boolean | { sizeLimit?: string }
|
|
31
|
+
responseLimit?: string | number | boolean
|
|
32
|
+
externalResolver?: boolean
|
|
33
|
+
}
|
|
34
|
+
runtime?: 'edge' | 'experimental-edge' | 'nodejs' | string // necessary unless config is exported as const
|
|
35
|
+
maxDuration?: number
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
// Validate ../../src/pages/404.tsx
|
|
45
|
+
{
|
|
46
|
+
type __IsExpected<Specific extends PagesPageConfig> = Specific
|
|
47
|
+
const handler = {} as typeof import("../../src/pages/404.js")
|
|
48
|
+
type __Check = __IsExpected<typeof handler>
|
|
49
|
+
// @ts-ignore
|
|
50
|
+
type __Unused = __Check
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Validate ../../src/pages/index.tsx
|
|
54
|
+
{
|
|
55
|
+
type __IsExpected<Specific extends PagesPageConfig> = Specific
|
|
56
|
+
const handler = {} as typeof import("../../src/pages/index.js")
|
|
57
|
+
type __Check = __IsExpected<typeof handler>
|
|
58
|
+
// @ts-ignore
|
|
59
|
+
type __Unused = __Check
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Validate ../../src/pages/api/dictionary/[locale]/[word].ts
|
|
63
|
+
{
|
|
64
|
+
type __IsExpected<Specific extends ApiRouteConfig> = Specific
|
|
65
|
+
const handler = {} as typeof import("../../src/pages/api/dictionary/[locale]/[word].js")
|
|
66
|
+
type __Check = __IsExpected<typeof handler>
|
|
67
|
+
// @ts-ignore
|
|
68
|
+
type __Unused = __Check
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Validate ../../src/pages/api/dictionary/[locale]/index.ts
|
|
72
|
+
{
|
|
73
|
+
type __IsExpected<Specific extends ApiRouteConfig> = Specific
|
|
74
|
+
const handler = {} as typeof import("../../src/pages/api/dictionary/[locale]/index.js")
|
|
75
|
+
type __Check = __IsExpected<typeof handler>
|
|
76
|
+
// @ts-ignore
|
|
77
|
+
type __Unused = __Check
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Validate ../../src/pages/api/solve.ts
|
|
81
|
+
{
|
|
82
|
+
type __IsExpected<Specific extends ApiRouteConfig> = Specific
|
|
83
|
+
const handler = {} as typeof import("../../src/pages/api/solve.js")
|
|
84
|
+
type __Check = __IsExpected<typeof handler>
|
|
85
|
+
// @ts-ignore
|
|
86
|
+
type __Unused = __Check
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Validate ../../src/pages/api/verify.ts
|
|
90
|
+
{
|
|
91
|
+
type __IsExpected<Specific extends ApiRouteConfig> = Specific
|
|
92
|
+
const handler = {} as typeof import("../../src/pages/api/verify.js")
|
|
93
|
+
type __Check = __IsExpected<typeof handler>
|
|
94
|
+
// @ts-ignore
|
|
95
|
+
type __Unused = __Check
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Validate ../../src/pages/api/visit.ts
|
|
99
|
+
{
|
|
100
|
+
type __IsExpected<Specific extends ApiRouteConfig> = Specific
|
|
101
|
+
const handler = {} as typeof import("../../src/pages/api/visit.js")
|
|
102
|
+
type __Check = __IsExpected<typeof handler>
|
|
103
|
+
// @ts-ignore
|
|
104
|
+
type __Unused = __Check
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
|
package/next-env.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="next" />
|
|
2
2
|
/// <reference types="next/image-types/global" />
|
|
3
|
+
/// <reference path="./.next/types/routes.d.ts" />
|
|
3
4
|
|
|
4
5
|
// NOTE: This file should not be edited
|
|
5
6
|
// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scrabble-solver/scrabble-solver",
|
|
3
|
-
"version": "2.15.
|
|
3
|
+
"version": "2.15.14",
|
|
4
4
|
"description": "Scrabble Solver 2 - App",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,33 +25,33 @@
|
|
|
25
25
|
"type-check": "tsc --noEmit"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@floating-ui/react": "^0.27.
|
|
28
|
+
"@floating-ui/react": "^0.27.16",
|
|
29
29
|
"@kamilmielnik/trie": "^4.0.0",
|
|
30
|
-
"@reduxjs/toolkit": "^2.
|
|
31
|
-
"@scrabble-solver/configs": "^2.15.
|
|
32
|
-
"@scrabble-solver/constants": "^2.15.
|
|
33
|
-
"@scrabble-solver/dictionaries": "^2.15.
|
|
34
|
-
"@scrabble-solver/logger": "^2.15.
|
|
35
|
-
"@scrabble-solver/solver": "^2.15.
|
|
36
|
-
"@scrabble-solver/types": "^2.15.
|
|
37
|
-
"@scrabble-solver/word-definitions": "^2.15.
|
|
30
|
+
"@reduxjs/toolkit": "^2.9.0",
|
|
31
|
+
"@scrabble-solver/configs": "^2.15.14",
|
|
32
|
+
"@scrabble-solver/constants": "^2.15.14",
|
|
33
|
+
"@scrabble-solver/dictionaries": "^2.15.14",
|
|
34
|
+
"@scrabble-solver/logger": "^2.15.14",
|
|
35
|
+
"@scrabble-solver/solver": "^2.15.14",
|
|
36
|
+
"@scrabble-solver/types": "^2.15.14",
|
|
37
|
+
"@scrabble-solver/word-definitions": "^2.15.14",
|
|
38
38
|
"classnames": "^2.5.1",
|
|
39
|
-
"env-cmd": "^
|
|
39
|
+
"env-cmd": "^11.0.0",
|
|
40
40
|
"include-media": "^2.0.0",
|
|
41
41
|
"include-media-query-builder": "^1.1.0",
|
|
42
|
-
"next": "^15.
|
|
42
|
+
"next": "^15.5.3",
|
|
43
43
|
"normalize.css": "^8.0.1",
|
|
44
|
-
"react": "^19.1.
|
|
44
|
+
"react": "^19.1.1",
|
|
45
45
|
"react-cool-onclickoutside": "^1.7.0",
|
|
46
|
-
"react-dom": "^19.1.
|
|
46
|
+
"react-dom": "^19.1.1",
|
|
47
47
|
"react-highlight-words": "^0.21.0",
|
|
48
48
|
"react-modal": "^3.16.3",
|
|
49
49
|
"react-redux": "^9.2.0",
|
|
50
|
-
"react-window": "^1.
|
|
50
|
+
"react-window": "^2.1.1",
|
|
51
51
|
"redux-saga": "^1.3.0",
|
|
52
52
|
"store2": "^2.14.4",
|
|
53
53
|
"transliteration": "^2.3.5",
|
|
54
|
-
"use-debounce": "^10.0.
|
|
54
|
+
"use-debounce": "^10.0.6",
|
|
55
55
|
"workbox-expiration": "^7.3.0",
|
|
56
56
|
"workbox-precaching": "^7.3.0",
|
|
57
57
|
"workbox-routing": "^7.3.0",
|
|
@@ -61,16 +61,16 @@
|
|
|
61
61
|
"devDependencies": {
|
|
62
62
|
"@svgr/webpack": "^8.1.0",
|
|
63
63
|
"@types/classnames": "^2.3.4",
|
|
64
|
-
"@types/react": "^19.1.
|
|
65
|
-
"@types/react-dom": "^19.1.
|
|
64
|
+
"@types/react": "^19.1.13",
|
|
65
|
+
"@types/react-dom": "^19.1.9",
|
|
66
66
|
"@types/react-highlight-words": "^0.20.0",
|
|
67
67
|
"@types/react-modal": "^3.16.3",
|
|
68
68
|
"@types/react-portal": "^4.0.7",
|
|
69
69
|
"@types/react-redux": "^7.1.34",
|
|
70
|
-
"@types/react-window": "^
|
|
70
|
+
"@types/react-window": "^2.0.0",
|
|
71
71
|
"@types/redux": "^3.6.31",
|
|
72
72
|
"@types/redux-saga": "^0.10.5",
|
|
73
|
-
"sass": "^1.
|
|
73
|
+
"sass": "^1.93.0"
|
|
74
74
|
},
|
|
75
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "ff8105e2d4e2fff5fffde35cbeaa40474c232599"
|
|
76
76
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
|
-
import { type
|
|
2
|
+
import { type FocusEventHandler, type MouseEventHandler, type ReactElement, useRef } from 'react';
|
|
3
3
|
import Highlighter from 'react-highlight-words';
|
|
4
|
+
import { type RowComponentProps } from 'react-window';
|
|
4
5
|
|
|
5
6
|
import { useAppLayout, useColumns } from 'hooks';
|
|
6
7
|
import { LOCALE_FEATURES } from 'i18n';
|
|
@@ -18,22 +19,17 @@ import { Cell } from './Cell';
|
|
|
18
19
|
import styles from './Results.module.scss';
|
|
19
20
|
import { type ResultData } from './types';
|
|
20
21
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
onClick = noop,
|
|
33
|
-
onFocus = noop,
|
|
34
|
-
onMouseEnter = noop,
|
|
35
|
-
onMouseLeave = noop,
|
|
36
|
-
} = data;
|
|
22
|
+
export const Result = ({
|
|
23
|
+
index,
|
|
24
|
+
highlightedIndex,
|
|
25
|
+
results = [],
|
|
26
|
+
onBlur = noop,
|
|
27
|
+
onClick = noop,
|
|
28
|
+
onFocus = noop,
|
|
29
|
+
onMouseEnter = noop,
|
|
30
|
+
onMouseLeave = noop,
|
|
31
|
+
style,
|
|
32
|
+
}: RowComponentProps<ResultData>): ReactElement => {
|
|
37
33
|
const { resultWordWidth } = useAppLayout();
|
|
38
34
|
const ref = useRef<HTMLButtonElement>(null);
|
|
39
35
|
const columns = useColumns();
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import classNames from 'classnames';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { useEffect, useMemo, type FunctionComponent } from 'react';
|
|
3
|
+
import { List, useListRef } from 'react-window';
|
|
4
4
|
import { useDebounce } from 'use-debounce';
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import { useLatest } from 'hooks';
|
|
7
7
|
import { LOCALE_FEATURES } from 'i18n';
|
|
8
|
-
import {
|
|
8
|
+
import { RESULTS_ITEM_HEIGHT } from 'parameters';
|
|
9
9
|
import {
|
|
10
10
|
selectAreResultsOutdated,
|
|
11
|
-
selectSolveIsLoading,
|
|
12
11
|
selectLocale,
|
|
13
12
|
selectProcessedResults,
|
|
14
13
|
selectSolveError,
|
|
14
|
+
selectSolveIsLoading,
|
|
15
15
|
useTranslate,
|
|
16
16
|
useTypedSelector,
|
|
17
17
|
} from 'state';
|
|
@@ -36,7 +36,6 @@ const IS_LOADING_DEBOUNCE = 100;
|
|
|
36
36
|
|
|
37
37
|
export const Results: FunctionComponent<Props> = ({ callbacks, className, highlightedIndex }) => {
|
|
38
38
|
const translate = useTranslate();
|
|
39
|
-
const { resultsHeight, resultsWidth } = useAppLayout();
|
|
40
39
|
const locale = useTypedSelector(selectLocale);
|
|
41
40
|
const { direction } = LOCALE_FEATURES[locale];
|
|
42
41
|
const results = useTypedSelector(selectProcessedResults);
|
|
@@ -44,22 +43,25 @@ export const Results: FunctionComponent<Props> = ({ callbacks, className, highli
|
|
|
44
43
|
const [isLoadingDebounced] = useDebounce(isLoading, IS_LOADING_DEBOUNCE);
|
|
45
44
|
const isOutdated = useTypedSelector(selectAreResultsOutdated);
|
|
46
45
|
const error = useTypedSelector(selectSolveError);
|
|
47
|
-
const itemData = useMemo(
|
|
48
|
-
|
|
46
|
+
const itemData = useMemo<ResultData>(
|
|
47
|
+
() => ({ ...callbacks, highlightedIndex, results }),
|
|
48
|
+
[callbacks, highlightedIndex, results],
|
|
49
|
+
);
|
|
50
|
+
const listRef = useListRef(null);
|
|
49
51
|
const scrollToIndex = typeof highlightedIndex === 'number' ? highlightedIndex : 0;
|
|
50
52
|
const scrollToIndexRef = useLatest(scrollToIndex);
|
|
51
53
|
const hasResults = typeof error === 'undefined' && typeof results !== 'undefined';
|
|
52
54
|
const showInput = hasResults && results.length > 0 && !isOutdated;
|
|
53
|
-
const height = resultsHeight - RESULTS_HEADER_HEIGHT - (showInput ? TEXT_INPUT_HEIGHT : 0) - 2 * BORDER_WIDTH;
|
|
54
|
-
const width = resultsWidth - 2 * BORDER_WIDTH;
|
|
55
55
|
|
|
56
56
|
useEffect(() => {
|
|
57
57
|
// without setTimeout, the initial scrolling offset is calculated
|
|
58
58
|
// incorrectly, as the list is not fully rendered by the browser yet
|
|
59
59
|
const timeout = globalThis.setTimeout(() => {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
listRef.current?.scrollToRow({
|
|
61
|
+
align: 'center',
|
|
62
|
+
behavior: 'instant',
|
|
63
|
+
index: scrollToIndexRef.current,
|
|
64
|
+
});
|
|
63
65
|
}, 0);
|
|
64
66
|
|
|
65
67
|
return () => {
|
|
@@ -104,20 +106,17 @@ export const Results: FunctionComponent<Props> = ({ callbacks, className, highli
|
|
|
104
106
|
|
|
105
107
|
{!isOutdated && results.length > 0 && (
|
|
106
108
|
<div className={styles.listContainer}>
|
|
107
|
-
<
|
|
109
|
+
<List
|
|
108
110
|
className={classNames(styles.list, {
|
|
109
111
|
[styles.outdated]: isOutdated,
|
|
110
112
|
})}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
>
|
|
119
|
-
{Result}
|
|
120
|
-
</FixedSizeList>
|
|
113
|
+
dir={direction}
|
|
114
|
+
listRef={listRef}
|
|
115
|
+
rowComponent={Result}
|
|
116
|
+
rowCount={results.length}
|
|
117
|
+
rowHeight={RESULTS_ITEM_HEIGHT}
|
|
118
|
+
rowProps={itemData}
|
|
119
|
+
/>
|
|
121
120
|
</div>
|
|
122
121
|
)}
|
|
123
122
|
</>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=106,exports.ids=[106],exports.modules={1356:function(a,b,c){var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.getDictionaryFilepath=void 0;let e=d(c(33873)),f=c(84960);b.getDictionaryFilepath=a=>e.default.resolve(f.OUTPUT_DIRECTORY,`${a}.txt`)},2655:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.MemoryCache=b.LayeredCache=b.getDictionaryFilepath=b.downloadDictionary=b.DiskCache=b.createCacheTimestampComparator=b.createAsyncProxy=void 0;var d=c(80457);Object.defineProperty(b,"createAsyncProxy",{enumerable:!0,get:function(){return d.createAsyncProxy}});var e=c(10743);Object.defineProperty(b,"createCacheTimestampComparator",{enumerable:!0,get:function(){return e.createCacheTimestampComparator}});var f=c(70928);Object.defineProperty(b,"DiskCache",{enumerable:!0,get:function(){return f.DiskCache}});var g=c(49085);Object.defineProperty(b,"downloadDictionary",{enumerable:!0,get:function(){return g.downloadDictionary}});var h=c(1356);Object.defineProperty(b,"getDictionaryFilepath",{enumerable:!0,get:function(){return h.getDictionaryFilepath}});var i=c(16299);Object.defineProperty(b,"LayeredCache",{enumerable:!0,get:function(){return i.LayeredCache}});var j=c(70294);Object.defineProperty(b,"MemoryCache",{enumerable:!0,get:function(){return j.MemoryCache}})},5145:function(a,b,c){var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.getTxtWordList=void 0;let e=d(c(29021)),f=c(77279),g=c(33471);b.getTxtWordList=async(a,b)=>{let c=await (0,f.downloadFile)(a),d=e.default.readFileSync(c,"utf-8"),h=(0,g.extractWords)(d.toLocaleString(),b);return e.default.unlinkSync(c),h}},5878:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.findFirstWordIndex=void 0,b.findFirstWordIndex=(a,b)=>{let c=a.findIndex((a,c)=>{let d=a[c+1]||"",e=a.localeCompare(d,b)>0,f=!!a.match(/\s/);return 0!==a.trim().length&&!f&&e});if(void 0===c)throw Error("Cannot find index of the first word in the file");return c}},10184:(a,b,c)=>{c.d(b,{T:()=>d});let d=a=>({origin:a.headers.origin,referer:a.headers.referer,userAgent:a.headers["user-agent"],xForwardedFor:a.headers["x-forwarded-for"],xRealIp:a.headers["x-real-ip"]})},10305:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.getWordList=void 0;let d=c(29562),e=c(98335);b.getWordList=async()=>{let a=await (0,e.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/french/ods8.txt",d.Locale.FR_FR);return(0,e.transliterateDiacritics)(a)}},10743:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createCacheTimestampComparator=void 0,b.createCacheTimestampComparator=a=>(b,c)=>{let d=b.getLastModifiedTimestamp(a),e=c.getLastModifiedTimestamp(a);return d===e?0:void 0===d?1:void 0===e?-1:e-d}},16299:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.LayeredCache=void 0;let d=c(10743),e=c(70928),f=c(70294);class g{constructor(){this.layers=[new f.MemoryCache,new e.DiskCache]}async get(a){let b=this.getLastModifiedLayer(a);if(!b)return Promise.resolve(void 0);let[c,d]=this.layers,e=await b.get(a);return b===d&&void 0!==e&&await c.set(a,e),e}getLastModifiedTimestamp(a){let b=this.getLastModifiedLayer(a);if(b)return b.getLastModifiedTimestamp(a)}has(a){return this.layers.some(b=>b.has(a))}isStale(a){return!!this.layers.some(b=>b.isStale(a))||!!this.layers.every(b=>void 0===b.isStale(a))&&void 0}async set(a,b){let[c,d]=this.layers;await d.set(a,b),await c.set(a,b)}getLastModifiedLayer(a){let[b]=[...this.layers.filter(b=>b.has(a))].sort((0,d.createCacheTimestampComparator)(a));return b}}b.LayeredCache=g},24392:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.CharacterBonus=void 0;let d=c(34474),e=c(57103);class f extends e.Bonus{constructor(){super(...arguments),this.type=d.BONUS_CHARACTER}canApply(a,b){return super.canApply(a,b)&&this.matchesCellTileScore(a,b)}matchesCellTileScore(a,b){return void 0===this.score||this.score===a.pointsMap[b.tile.character]}get value(){return{characterMultiplier:this.multiplier,wordMultiplier:1}}}b.CharacterBonus=f},26182:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.VerticalPattern=void 0;let d=c(29660);class e extends d.Pattern{clone(){return new e(this.board,this.cells.map(a=>a.clone()))}getCollisions(){let a=[];return this.cells.filter(a=>a.isEmpty&&(this.board.collidesLeft(a)||this.board.collidesRight(a))).forEach(b=>{let c=this.board.getRow(b.y),e=b.x-1;for(;e>=0&&c[e].hasTile();)--e;let f=c.slice(e+1,b.x);for(e=b.x+1;e<c.length&&c[e].hasTile();)++e;let g=c.slice(b.x+1,e),h=[...f,b,...g];if(h.length>1){let b=new d.Pattern(this.board,h);a.push(b)}}),a}}b.VerticalPattern=e},26220:function(a,b,c){var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.OUTPUT_DIRECTORY=void 0;let e=d(c(21820));b.OUTPUT_DIRECTORY=d(c(33873)).default.resolve(e.default.homedir(),".scrabble-solver","logs")},27475:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c);var e=Object.getOwnPropertyDescriptor(b,c);(!e||("get"in e?!b.__esModule:e.writable||e.configurable))&&(e={enumerable:!0,get:function(){return b[c]}}),Object.defineProperty(a,d,e)}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),b.getWordList=void 0;var f=c(42507);Object.defineProperty(b,"getWordList",{enumerable:!0,get:function(){return f.getWordList}}),e(c(67511),b),e(c(98335),b)},27605:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.Result=void 0;let d=c(34474),e=c(43734);class f{constructor({cells:a,id:b,collisions:c,points:d}){let e=k(a);this.blanksCount=g(e).length,this.cells=a,this.collisions=c,this.consonantsCount=h(e).length,this.id=b,this.length=a.length,this.points=d,this.pointsRatio=j(e,d),this.tiles=e,this.tilesCount=e.length,this.vowelsCount=i(e).length,this.word=l(a),this.words=m(a,c),this.wordsCount=1+this.collisions.length}toJson(){return{cells:this.cells.map(a=>a.toJson()),id:this.id,collisions:this.collisions.map(a=>a.map(a=>a.toJson())),points:this.points}}isHorizontal(){return this.cells[0].y===this.cells[1].y}isVertical(){return this.cells[0].x===this.cells[1].x}}b.Result=f,f.fromJson=a=>new f({id:a.id,cells:a.cells.map(e.Cell.fromJson),collisions:a.collisions.map(a=>a.map(e.Cell.fromJson)),points:a.points});let g=a=>a.filter(({isBlank:a})=>a),h=a=>a.filter(n),i=a=>a.filter(o),j=(a,b)=>b/a.length,k=a=>a.filter(({isEmpty:a})=>a).map(({tile:a})=>a),l=a=>a.reduce((a,b)=>a+b.toString(),""),m=(a,b)=>[a,...b].map(l),n=({character:a,isBlank:b})=>d.CONSONANTS.includes(a)&&!b,o=({character:a,isBlank:b})=>d.VOWELS.includes(a)&&!b},29562:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.WordDefinition=b.WordBonus=b.VerticalPattern=b.isTileJson=b.Tile=b.Result=b.Pattern=b.Locale=b.isLocale=b.isObject=b.isError=b.HorizontalPattern=b.isGame=b.Game=b.FinalPattern=b.Config=b.CharacterBonus=b.isCellJson=b.Cell=b.Bonus=b.isBoardJson=b.Board=b.isScoreBingo=b.isMultiplierBingo=b.isBingo=void 0;var d=c(97055);Object.defineProperty(b,"isBingo",{enumerable:!0,get:function(){return d.isBingo}}),Object.defineProperty(b,"isMultiplierBingo",{enumerable:!0,get:function(){return d.isMultiplierBingo}}),Object.defineProperty(b,"isScoreBingo",{enumerable:!0,get:function(){return d.isScoreBingo}});var e=c(54182);Object.defineProperty(b,"Board",{enumerable:!0,get:function(){return e.Board}});var f=c(43728);Object.defineProperty(b,"isBoardJson",{enumerable:!0,get:function(){return f.isBoardJson}});var g=c(57103);Object.defineProperty(b,"Bonus",{enumerable:!0,get:function(){return g.Bonus}});var h=c(43734);Object.defineProperty(b,"Cell",{enumerable:!0,get:function(){return h.Cell}});var i=c(74784);Object.defineProperty(b,"isCellJson",{enumerable:!0,get:function(){return i.isCellJson}});var j=c(24392);Object.defineProperty(b,"CharacterBonus",{enumerable:!0,get:function(){return j.CharacterBonus}});var k=c(95776);Object.defineProperty(b,"Config",{enumerable:!0,get:function(){return k.Config}});var l=c(88368);Object.defineProperty(b,"FinalPattern",{enumerable:!0,get:function(){return l.FinalPattern}});var m=c(48852);Object.defineProperty(b,"Game",{enumerable:!0,get:function(){return m.Game}}),Object.defineProperty(b,"isGame",{enumerable:!0,get:function(){return m.isGame}});var n=c(88144);Object.defineProperty(b,"HorizontalPattern",{enumerable:!0,get:function(){return n.HorizontalPattern}});var o=c(58612);Object.defineProperty(b,"isError",{enumerable:!0,get:function(){return o.isError}});var p=c(52143);Object.defineProperty(b,"isObject",{enumerable:!0,get:function(){return p.isObject}});var q=c(52680);Object.defineProperty(b,"isLocale",{enumerable:!0,get:function(){return q.isLocale}}),Object.defineProperty(b,"Locale",{enumerable:!0,get:function(){return q.Locale}});var r=c(29660);Object.defineProperty(b,"Pattern",{enumerable:!0,get:function(){return r.Pattern}});var s=c(27605);Object.defineProperty(b,"Result",{enumerable:!0,get:function(){return s.Result}});var t=c(35722);Object.defineProperty(b,"Tile",{enumerable:!0,get:function(){return t.Tile}});var u=c(91652);Object.defineProperty(b,"isTileJson",{enumerable:!0,get:function(){return u.isTileJson}});var v=c(26182);Object.defineProperty(b,"VerticalPattern",{enumerable:!0,get:function(){return v.VerticalPattern}});var w=c(67699);Object.defineProperty(b,"WordBonus",{enumerable:!0,get:function(){return w.WordBonus}});var x=c(51385);Object.defineProperty(b,"WordDefinition",{enumerable:!0,get:function(){return x.WordDefinition}})},29660:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.Pattern=void 0;class c{constructor(a,b){this.board=a,this.cells=b}canBePlaced(a){let b=this.getEmptyCellsCount();return b>=1&&b<=a.rackSize&&(this.hasAtLeast1NonEmptyCell()||this.collides()||this.goesThroughBoardCenter()&&this.board.isEmpty())}clone(){return new c(this.board,this.cells.map(a=>a.clone()))}collides(){return this.cells.some(a=>a.isEmpty&&this.board.collides(a))}getIndexOfFirstCellWithoutTile(){return this.cells.findIndex(a=>!a.hasTile())}getEmptyCellsCount(){return this.cells.filter(a=>a.isEmpty).length}goesThroughBoardCenter(){return this.cells.some(a=>a.x===this.board.center.x&&a.y===this.board.center.y&&a.isEmpty)}hasAtLeast1EmptyCell(){return this.cells.some(a=>a.isEmpty)}hasAtLeast1NonEmptyCell(){return this.cells.some(a=>!a.isEmpty)}getCollisions(){return[]}toJson(){return{cells:this.cells.map(a=>a.toJson()),collisions:this.getCollisions().map(a=>a.toJson()),word:this.toString()}}toString(){return this.cells.reduce((a,b)=>a+b.toString(),"")}}b.Pattern=c},33471:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.extractWords=void 0;let d=c(5878);b.extractWords=(a,b)=>{let c=a.split(/\r?\n/g),e=(0,d.findFirstWordIndex)(c,b),f=[];for(let a=e;a<c.length;++a){let b=c[a].trim();b.length>0&&f.push(b.toLocaleLowerCase())}return f}},34474:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.VOWELS=b.CONSONANTS=b.NO_BONUS=b.EMPTY_CELL=b.BONUS_WORD=b.BONUS_CHARACTER=b.BLANK=b.COMMA_LATIN=b.COMMA_ARABIC=void 0,b.COMMA_ARABIC="،",b.COMMA_LATIN=",",b.BLANK=" ",b.BONUS_CHARACTER="BONUS_CHARACTER",b.BONUS_WORD="BONUS_WORD",b.EMPTY_CELL=" ",b.NO_BONUS={characterMultiplier:1,wordMultiplier:1},b.CONSONANTS="bc\xe7ćdfgğhjklłmnń\xf1pqrsşśtvwxzźż".split(""),b.VOWELS="aą\xe4eęio\xf3\xf6u\xfcyı".split("")},35722:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.Tile=void 0;let d=c(34474);class e{constructor({character:a,isBlank:b=!1}){this.character=a,this.isBlank=b}clone(){return new e({character:this.character,isBlank:this.isBlank})}equals(a){return this.character===a.character&&this.isBlank===a.isBlank}toJson(){return{character:this.character,isBlank:this.isBlank}}toString(){return this.character}}b.Tile=e,e.fromJson=a=>a?new e({character:a.character,isBlank:a.isBlank}):e.Null,e.Null=Object.freeze({character:d.EMPTY_CELL,isBlank:!1,clone:()=>e.Null,equals:a=>a===e.Null,toJson:()=>null,toString:()=>d.EMPTY_CELL})},37779:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.getWordList=void 0;let d=c(29562),e=c(98335);b.getWordList=async()=>(0,e.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/german/german.txt",d.Locale.DE_DE)},38670:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.transliterateDiacritics=void 0;let d=c(66605),e=c(40224);b.transliterateDiacritics=(a,b)=>(0,e.unique)(a.map(a=>(0,d.transliterate)(a,b)))},39287:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.getWordList=void 0;let d=c(29562),e=c(98335);b.getWordList=async()=>{let a=await (0,e.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/master/spanish/file-2017.txt",d.Locale.ES_ES);return(0,e.transliterateDiacritics)(a,{ignore:["\xf1"]})}},40224:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.unique=void 0,b.unique=a=>Array.from(new Set(a))},42507:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.getWordList=void 0;let d=c(29562),e=c(67511),f={[d.Locale.DE_DE]:e.german.getWordList,[d.Locale.EN_GB]:e.english.getWordListGb,[d.Locale.EN_US]:e.english.getWordListUs,[d.Locale.ES_ES]:e.spanish.getWordList,[d.Locale.FA_IR]:e.persian.getWordList,[d.Locale.FR_FR]:e.french.getWordList,[d.Locale.PL_PL]:e.polish.getWordList,[d.Locale.RO_RO]:e.romanian.getWordList,[d.Locale.TR_TR]:e.turkish.getWordList};b.getWordList=a=>f[a]()},43728:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.isBoardJson=void 0;let d=c(74784);b.isBoardJson=a=>{if(!Array.isArray(a))return!1;for(let b of a){if(!Array.isArray(a))return!1;for(let a of b)if(!(0,d.isCellJson)(a))return!1}return!0}},43734:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.Cell=void 0;let d=c(35722);class e{constructor({isEmpty:a=!0,tile:b=d.Tile.Null,x:c,y:e}){this.isEmpty=a,this.tile=b,this.x=c,this.y=e}clone(){return new e({isEmpty:this.isEmpty,tile:this.tile.clone(),x:this.x,y:this.y})}equals(a){return this.x===a.x&&this.y===a.y&&this.isEmpty===a.isEmpty&&this.tile.equals(a.tile)}hasTile(){return this.tile!==d.Tile.Null}isCandidate(){return this.isEmpty&&this.hasTile()}toJson(){return{isEmpty:this.isEmpty,tile:this.tile.toJson(),x:this.x,y:this.y}}toString(){return this.tile.toString()}}b.Cell=e,e.fromJson=a=>new e({isEmpty:a.isEmpty,tile:d.Tile.fromJson(a.tile),x:a.x,y:a.y})},48852:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.isGame=b.Game=void 0,function(a){a.Kelimelik="kelimelik",a.LetterLeague="letter-league",a.Literaki="literaki",a.Scrabble="scrabble",a.ScrabbleDuel="scrabble-duel",a.SuperScrabble="super-scrabble"}(c||(b.Game=c={}));let d=Object.values(c);b.isGame=a=>d.includes(a)},49085:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.downloadDictionary=void 0;let d=c(19362),e=c(57519),f=c(27475);b.downloadDictionary=async a=>{e.logger.info("downloadDictionary",{locale:a});let b=await (0,f.getWordList)(a);return e.logger.info("downloadDictionary - success",{locale:a}),d.Trie.fromArray(b)}},51385:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.WordDefinition=void 0;class c{constructor({definitions:a,exists:b,isAllowed:c,word:d}){this.definitions=a,this.exists=b,this.isAllowed=c,this.word=d}toJson(){return{definitions:this.definitions,exists:this.exists,isAllowed:this.isAllowed,word:this.word}}}b.WordDefinition=c,c.fromJson=a=>a?new c({definitions:a.definitions,exists:a.exists,isAllowed:a.isAllowed,word:a.word}):c.Null,c.Null=Object.freeze({definitions:[],exists:!1,isAllowed:!1,word:"",toJson:()=>null})},51513:function(a,b,c){var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.logger=void 0;let e=d(c(33873)),f=c(55124),g=c(26220);b.logger=(0,f.createLogger)({level:"info",format:f.format.combine(f.format.timestamp({format:"YYYY-MM-DD HH:mm:ss"}),f.format.errors({stack:!0}),f.format.splat(),f.format.json(),f.format.prettyPrint()),transports:[new f.transports.File({filename:e.default.resolve(g.OUTPUT_DIRECTORY,"error.log"),level:"error"}),new f.transports.File({filename:e.default.resolve(g.OUTPUT_DIRECTORY,"all.log")}),new f.transports.Console({format:f.format.combine(f.format.colorize(),f.format.simple()),level:"error"})]})},52143:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.isObject=void 0,b.isObject=a=>"object"==typeof a&&null!==a},52250:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.downloadHtml=void 0;let d=c(31097);b.downloadHtml=a=>new Promise((b,c)=>{(a.startsWith("https")?d.https:d.http).get(a,a=>{let d="";a.setEncoding("utf8"),a.on("data",a=>{d+=a}),a.on("end",()=>{b(d)}),a.on("error",c)})})},52498:function(a,b,c){var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.getTempFilepath=void 0;let e=d(c(21820)),f=d(c(33873)),g=c(93839),h=f.default.resolve(e.default.homedir(),".scrabble-solver");b.getTempFilepath=()=>{let a=`${(0,g.getHash)()}.txt`;return f.default.join(h,a)}},52680:(a,b)=>{var c;Object.defineProperty(b,"__esModule",{value:!0}),b.isLocale=b.Locale=void 0,function(a){a.DE_DE="de-DE",a.EN_GB="en-GB",a.EN_US="en-US",a.ES_ES="es-ES",a.FA_IR="fa-IR",a.FR_FR="fr-FR",a.PL_PL="pl-PL",a.RO_RO="ro-RO",a.TR_TR="tr-TR"}(c||(b.Locale=c={}));let d=Object.values(c);b.isLocale=a=>d.includes(a)},54182:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.Board=void 0;let d=c(34474),e=c(43734),f=c(35722);class g{static fromStringArray(a){return new g({rows:a.map((a,b)=>a.split("").map((a,c)=>new e.Cell({isEmpty:!a||a===d.EMPTY_CELL,tile:a===d.EMPTY_CELL?f.Tile.Null:new f.Tile({character:a}),x:c,y:b})))})}constructor({rows:a}){this.rows=a,this.columnsCount=a[0].length,this.rowsCount=a.length}get center(){let a=Math.floor(this.columnsCount/2),b=Math.floor(this.rowsCount/2);return this.rows[b][a]}clone(){return new g({rows:this.rows.map(a=>a.map(a=>a.clone()))})}collides(a){return this.collidesUp(a)||this.collidesDown(a)||this.collidesLeft(a)||this.collidesRight(a)}collidesDown({x:a,y:b}){return b<this.rowsCount-1&&!this.rows[b+1][a].isEmpty}collidesLeft({x:a,y:b}){return a>0&&!this.rows[b][a-1].isEmpty}collidesRight({x:a,y:b}){return a<this.columnsCount-1&&!this.rows[b][a+1].isEmpty}collidesUp({x:a,y:b}){return b>0&&!this.rows[b-1][a].isEmpty}equals(a){return this.columnsCount===a.columnsCount&&this.rowsCount===a.rowsCount&&this.rows.every((b,c)=>b.every((b,d)=>b.equals(a.rows[c][d])))}getBlanksCount(){return this.rows.reduce((a,b)=>a+b.reduce((a,b)=>a+ +!!b.tile.isBlank,0),0)}getColumn(a){return this.rows.map(b=>b[a])}getRow(a){return this.rows[a]}getTilesCount(){return this.rows.reduce((a,b)=>a+b.reduce((a,b)=>a+ +!!b.hasTile(),0),0)}getWords(){return[...i(this.rows),...i(h(this.rows))]}isEmpty(){return this.rows.every(a=>a.every(({isEmpty:a})=>a))}toJson(){return this.rows.map(a=>a.map(a=>a.toJson()))}toString(){return this.rows.map(a=>a.map(String).join("")).join("\n")}updateCell(a,b,c){this.rows[b][a]=c(this.rows[b][a])}updateRow(a,b){this.rows[a]=b(this.rows[a])}}b.Board=g,g.create=(a,b)=>{let c=Array(b),d=Array(a).fill(" ").join(""),e=c.fill(d);return g.fromStringArray(e)},g.fromJson=a=>new g({rows:a.map(a=>a.map(e.Cell.fromJson))});let h=a=>{let b=a.length,c=a[0].length,d=Array(c).fill(null).map(()=>Array(b));for(let e=0;e<b;++e)for(let b=0;b<c;++b)d[b][e]=a[e][b];return d},i=a=>{let b=[];for(let c of a){let a=[];for(let d of c)d.isEmpty?a.length>0&&(a.length>1&&b.push(j(a)),a=[]):a.push(d);a.length>1&&b.push(j(a))}return b},j=a=>a.map(a=>a.tile.character).join("")},57103:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.Bonus=void 0;class c{constructor({multiplier:a,score:b,x:c,y:d}){this.multiplier=a,this.score=b,this.x=c,this.y=d}canApply(a,b){return b.isEmpty&&this.matchesCellCoordinates(b)}matchesCellCoordinates(a){return this.x===a.x&&this.y===a.y}toJson(){return{multiplier:this.multiplier,score:this.score,type:this.type,x:this.x,y:this.y}}get value(){return{characterMultiplier:1,wordMultiplier:1}}}b.Bonus=c},57519:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.logger=void 0;var d=c(51513);Object.defineProperty(b,"logger",{enumerable:!0,get:function(){return d.logger}})},58612:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.isError=void 0;let d=c(52143);b.isError=a=>!!(0,d.isObject)(a)&&"string"==typeof a.message},59321:function(a,b,c){var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.unzip=void 0;let e=d(c(29021)),f=d(c(42029));b.unzip=(a,b,c)=>e.default.createReadStream(a).pipe(f.default.Parse()).on("entry",a=>{a.path===b?a.pipe(e.default.createWriteStream(c)):a.autodrain()}).promise()},67511:function(a,b,c){var d,e=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c);var e=Object.getOwnPropertyDescriptor(b,c);(!e||("get"in e?!b.__esModule:e.writable||e.configurable))&&(e={enumerable:!0,get:function(){return b[c]}}),Object.defineProperty(a,d,e)}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),f=this&&this.__setModuleDefault||(Object.create?function(a,b){Object.defineProperty(a,"default",{enumerable:!0,value:b})}:function(a,b){a.default=b}),g=this&&this.__importStar||(d=function(a){return(d=Object.getOwnPropertyNames||function(a){var b=[];for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[b.length]=c);return b})(a)},function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c=d(a),g=0;g<c.length;g++)"default"!==c[g]&&e(b,a,c[g]);return f(b,a),b});Object.defineProperty(b,"__esModule",{value:!0}),b.turkish=b.spanish=b.romanian=b.polish=b.persian=b.french=b.german=b.english=void 0,b.english=g(c(80119)),b.german=g(c(37779)),b.french=g(c(10305)),b.persian=g(c(91135)),b.polish=g(c(72794)),b.romanian=g(c(82248)),b.spanish=g(c(39287)),b.turkish=g(c(92639))},67699:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.WordBonus=void 0;let d=c(34474),e=c(57103);class f extends e.Bonus{constructor(){super(...arguments),this.type=d.BONUS_WORD}get value(){return{characterMultiplier:1,wordMultiplier:this.multiplier}}}b.WordBonus=f},70294:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.MemoryCache=void 0;let d=c(84960);class e{constructor(){this.cache={},this.cacheTimestamps={}}get(a){return Promise.resolve(this.cache[a])}getLastModifiedTimestamp(a){return this.cacheTimestamps[a]}has(a){return void 0!==this.cache[a]}isStale(a){let b=this.getLastModifiedTimestamp(a);if(this.has(a)&&void 0!==b)return Math.abs(b-Date.now())>d.CACHE_STALE_THRESHOLD}set(a,b){return this.cacheTimestamps[a]=Date.now(),this.cache[a]=b,Promise.resolve()}}b.MemoryCache=e},70928:function(a,b,c){var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.DiskCache=void 0;let e=c(19362),f=d(c(29021)),g=c(84960),h=c(1356);class i{async get(a){if(!this.has(a))return;let b=(0,h.getDictionaryFilepath)(a),c=await f.default.promises.readFile(b,"utf-8");return e.Trie.deserialize(c)}getLastModifiedTimestamp(a){let b=(0,h.getDictionaryFilepath)(a);if(f.default.existsSync(b))return f.default.statSync(b).mtimeMs}has(a){let b=(0,h.getDictionaryFilepath)(a);return f.default.existsSync(b)}isStale(a){if(!this.has(a))return;let b=this.getLastModifiedTimestamp(a);if(void 0!==b)return Math.abs(b-Date.now())>g.CACHE_STALE_THRESHOLD}async set(a,b){let c=(0,h.getDictionaryFilepath)(a);await f.default.promises.writeFile(c,b.serialize())}}b.DiskCache=i},72794:function(a,b,c){var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.getWordList=void 0;let e=c(29562),f=c(14217),g=d(c(29021)),h=c(79551),i=c(98335);b.getWordList=async()=>{try{let a=(0,i.getTempFilepath)(),b=await j("https://sjp.pl/sl/growy/"),c=await (0,i.downloadFile)(b);await (0,i.unzip)(c,"slowa.txt",a),g.default.unlinkSync(c);let d=g.default.readFileSync(a,"utf-8");g.default.unlinkSync(a);let e=(0,i.extractWords)(d.toLocaleString(),"pl-PL");if(e.length<2e6)return l();return e}catch{return l()}};let j=async a=>{let b=k(await (0,i.downloadHtml)(a)),{href:c}=new h.URL(b,a);return c},k=a=>{let b=(0,f.load)(a),c=Array.from(b("a")).map(a=>b(a).attr("href")).filter(Boolean).find(a=>a.endsWith(".zip"));if(void 0===c)throw Error("Cannot find link to zip file on the page");return c},l=()=>(0,i.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/polish/sjp.txt",e.Locale.PL_PL)},74784:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.isCellJson=void 0;let d=c(52143),e=c(91652);b.isCellJson=a=>(0,d.isObject)(a)&&"boolean"==typeof a.isEmpty&&((0,e.isTileJson)(a.tile)||null===a.tile)&&"number"==typeof a.x&&"number"==typeof a.y},77279:function(a,b,c){var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.downloadFile=void 0;let e=c(31097),f=d(c(29021)),g=c(52498);b.downloadFile=a=>new Promise((b,c)=>{let d=(0,g.getTempFilepath)(),h=a.startsWith("https")?e.https:e.http,i=f.default.createWriteStream(d);h.get(a,e=>{if(void 0===e.statusCode||e.statusCode>=400)return void c(Error(`Cannot download file: ${a}`));e.on("error",a=>{i.close(),c(a)}),e.on("end",()=>{i.on("finish",()=>{i.close(),b(d)})}),e.pipe(i)}).on("error",a=>{i.close(),c(a)})})},77715:function(a,b,c){var d=this&&this.__createBinding||(Object.create?function(a,b,c,d){void 0===d&&(d=c);var e=Object.getOwnPropertyDescriptor(b,c);(!e||("get"in e?!b.__esModule:e.writable||e.configurable))&&(e={enumerable:!0,get:function(){return b[c]}}),Object.defineProperty(a,d,e)}:function(a,b,c,d){void 0===d&&(d=c),a[d]=b[c]}),e=this&&this.__exportStar||function(a,b){for(var c in a)"default"===c||Object.prototype.hasOwnProperty.call(b,c)||d(b,a,c)};Object.defineProperty(b,"__esModule",{value:!0}),b.dictionaries=void 0;let f=c(90949);e(c(2655),b),b.dictionaries=new f.Dictionaries},80119:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.getWordListUs=b.getWordListGb=void 0;let d=c(29562),e=c(98335);b.getWordListGb=async()=>(0,e.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/english/sowpods.txt",d.Locale.EN_GB),b.getWordListUs=async()=>(0,e.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/english/twl06.txt",d.Locale.EN_US)},80457:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.createAsyncProxy=void 0,b.createAsyncProxy=a=>{let b=null;return async()=>{if(b)return b;try{return b=a(),await b}finally{b=null}}}},82248:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.getWordList=void 0;let d=c(29562),e=c(98335);b.getWordList=async()=>{let a=await (0,e.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/master/romanian/loc-5.0.txt",d.Locale.RO_RO);return(0,e.transliterateDiacritics)(a)}},84960:function(a,b,c){var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.OUTPUT_DIRECTORY=b.CACHE_STALE_THRESHOLD=b.DAY=void 0;let e=d(c(21820)),f=d(c(33873));b.DAY=864e5,b.CACHE_STALE_THRESHOLD=+b.DAY,b.OUTPUT_DIRECTORY=f.default.resolve(e.default.homedir(),".scrabble-solver","dictionaries")},88144:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.HorizontalPattern=void 0;let d=c(29660);class e extends d.Pattern{clone(){return new e(this.board,this.cells.map(a=>a.clone()))}getCollisions(){let a=[];return this.cells.filter(a=>a.isEmpty&&(this.board.collidesUp(a)||this.board.collidesDown(a))).forEach(b=>{let c=this.board.getColumn(b.x),e=b.y-1;for(;e>=0&&c[e].hasTile();)--e;let f=c.slice(e+1,b.y);for(e=b.y+1;e<c.length&&c[e].hasTile();)++e;let g=c.slice(b.y+1,e),h=[...f,b,...g];if(h.length>1){let b=new d.Pattern(this.board,h);a.push(b)}}),a}}b.HorizontalPattern=e},88368:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.FinalPattern=void 0;let d=c(29660);class e extends d.Pattern{constructor(a){super(a.board,a.cells),this.collisions=a.getCollisions()}getCollisions(){return this.collisions}}b.FinalPattern=e},90949:function(a,b,c){var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.Dictionaries=void 0;let e=c(57519),f=c(29562),g=d(c(29021)),h=c(84960),i=c(2655);class j{constructor(){this.cache=new i.LayeredCache,this.downloadDictionaryProxies=Object.fromEntries(Object.values(f.Locale).map(a=>[a,(0,i.createAsyncProxy)(()=>(0,i.downloadDictionary)(a))]))}async get(a){if(this.cache.has(a)){let b=await this.cache.get(a);if(b)return b}return e.logger.info("Dictionaries - cache miss",{locale:a}),this.updateDictionary(a)}remove(){g.default.rmdirSync(h.OUTPUT_DIRECTORY,{recursive:!0})}async update(a){let b=a?Object.values(f.Locale):this.getLocalesToUpdate();e.logger.info("Dictionaries - update",{force:a,locales:b}),await Promise.all(b.map(a=>this.updateDictionary(a)))}getLocalesToUpdate(){return Object.values(f.Locale).filter(a=>!1!==this.cache.isStale(a))}async updateDictionary(a){e.logger.info("Dictionaries - updateDictionary",{locale:a}),g.default.mkdirSync(h.OUTPUT_DIRECTORY,{recursive:!0});let b=this.downloadDictionaryProxies[a],c=await b();return await this.cache.set(a,c),c}}b.Dictionaries=j},91135:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.getWordList=void 0;let d=c(29562),e=c(98335);b.getWordList=async()=>(0,e.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/refs/heads/master/persian/persian.txt",d.Locale.FA_IR)},91652:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.isTileJson=void 0;let d=c(52143);b.isTileJson=a=>(0,d.isObject)(a)&&"string"==typeof a.character&&"boolean"==typeof a.isBlank},92639:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.getWordList=void 0;let d=c(29562),e=c(98335);b.getWordList=async()=>(0,e.getTxtWordList)("https://raw.githubusercontent.com/kamilmielnik/scrabble-dictionaries/master/turkish/kelimelik.txt",d.Locale.TR_TR)},93839:function(a,b,c){var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.getHash=void 0;let e=d(c(55511));b.getHash=(a=8)=>e.default.randomBytes(a).toString("hex")},95776:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.Config=void 0;let d=c(34474),e=c(24392),f=c(67699);class g{constructor(a){this.bonuses=h(a),this.config=a,this.pointsMap=j(this.config)}get alphabet(){return i(this.config)}get bingo(){return this.config.bingo}get blankScore(){return this.config.blankScore}get blanksCount(){return this.config.blanksCount}get boardHeight(){return this.config.boardHeight}get boardWidth(){return this.config.boardWidth}get game(){return this.config.game}get locale(){return this.config.locale}get twoCharacterTiles(){return this.config.tiles.filter(a=>2===a.character.length).map(a=>a.character)}getCellBonus(a){return this.bonuses.find(b=>b.matchesCellCoordinates(a))}getCellBonusValue(a){return this.getCellBonus(a)?.value||d.NO_BONUS}getCharacterPoints(a){if(null!==a)return a===d.BLANK?this.blankScore:this.pointsMap[a]}getTwoCharacterTileByPrefix(a){if(1===a.length)return this.twoCharacterTiles.find(b=>b.startsWith(a))}getTilePoints(a){if(null!==a)return a.isBlank?this.blankScore:this.getCharacterPoints(a.character)}hasCharacter(a){return a in this.pointsMap}isTwoCharacterTilePrefix(a){return void 0!==this.getTwoCharacterTileByPrefix(a)}get rackSize(){return this.config.rackSize}get supportsRemainingTiles(){return this.tiles.every(a=>"number"==typeof a.count)}get tiles(){return this.config.tiles}toJson(){return this.config}}b.Config=g,g.fromJson=a=>new g(a);let h=a=>a.bonuses.map(a=>{if(a.type===d.BONUS_CHARACTER)return new e.CharacterBonus(a);if(a.type===d.BONUS_WORD)return new f.WordBonus(a);throw Error(`Unsupported Bonus type: "${a.type}"`)}),i=a=>a.tiles.map(({character:a})=>a),j=a=>a.tiles.reduce((a,{character:b,score:c})=>({...a,[b]:c}),{})},97055:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.isMultiplierBingo=b.isScoreBingo=b.isBingo=void 0;let d=c(52143);b.isBingo=a=>(0,b.isScoreBingo)(a)||(0,b.isMultiplierBingo)(a),b.isScoreBingo=a=>(0,d.isObject)(a)&&"score"in a&&"number"==typeof a.score,b.isMultiplierBingo=a=>(0,d.isObject)(a)&&"multiplier"in a&&"number"==typeof a.multiplier},98335:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),b.unzip=b.unique=b.transliterateDiacritics=b.getTxtWordList=b.getTempFilepath=b.getHash=b.findFirstWordIndex=b.extractWords=b.downloadHtml=b.downloadFile=void 0;var d=c(77279);Object.defineProperty(b,"downloadFile",{enumerable:!0,get:function(){return d.downloadFile}});var e=c(52250);Object.defineProperty(b,"downloadHtml",{enumerable:!0,get:function(){return e.downloadHtml}});var f=c(33471);Object.defineProperty(b,"extractWords",{enumerable:!0,get:function(){return f.extractWords}});var g=c(5878);Object.defineProperty(b,"findFirstWordIndex",{enumerable:!0,get:function(){return g.findFirstWordIndex}});var h=c(93839);Object.defineProperty(b,"getHash",{enumerable:!0,get:function(){return h.getHash}});var i=c(52498);Object.defineProperty(b,"getTempFilepath",{enumerable:!0,get:function(){return i.getTempFilepath}});var j=c(5145);Object.defineProperty(b,"getTxtWordList",{enumerable:!0,get:function(){return j.getTxtWordList}});var k=c(38670);Object.defineProperty(b,"transliterateDiacritics",{enumerable:!0,get:function(){return k.transliterateDiacritics}});var l=c(40224);Object.defineProperty(b,"unique",{enumerable:!0,get:function(){return l.unique}});var m=c(59321);Object.defineProperty(b,"unzip",{enumerable:!0,get:function(){return m.unzip}})}};
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
exports.id=50,exports.ids=[50],exports.modules={5065:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Batcher",{enumerable:!0,get:function(){return e}});let d=c(47202);class e{constructor(a,b=a=>a()){this.cacheKeyFn=a,this.schedulerFn=b,this.pending=new Map}static create(a){return new e(null==a?void 0:a.cacheKeyFn,null==a?void 0:a.schedulerFn)}async batch(a,b){let c=this.cacheKeyFn?await this.cacheKeyFn(a):a;if(null===c)return b(c,Promise.resolve);let e=this.pending.get(c);if(e)return e;let{promise:f,resolve:g,reject:h}=new d.DetachedPromise;return this.pending.set(c,f),this.schedulerFn(async()=>{try{let a=await b(c,g);g(a)}catch(a){h(a)}finally{this.pending.delete(c)}}),f}}},6180:(a,b)=>{"use strict";function c(a,b){if(0===b.length)return 0;if(0===a.length||b.length>a.length)return -1;for(let c=0;c<=a.length-b.length;c++){let d=!0;for(let e=0;e<b.length;e++)if(a[c+e]!==b[e]){d=!1;break}if(d)return c}return -1}function d(a,b){if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}function e(a,b){let d=c(a,b);if(0===d)return a.subarray(b.length);if(!(d>-1))return a;{let c=new Uint8Array(a.length-b.length);return c.set(a.slice(0,d)),c.set(a.slice(d+b.length),d),c}}Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{indexOfUint8Array:function(){return c},isEquivalentUint8Arrays:function(){return d},removeFromUint8Array:function(){return e}})},7474:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isNodeNextRequest:function(){return e},isNodeNextResponse:function(){return f},isWebNextRequest:function(){return c},isWebNextResponse:function(){return d}});let c=a=>!1,d=a=>!1,e=a=>!0,f=a=>!0},7643:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getNextPathnameInfo",{enumerable:!0,get:function(){return g}});let d=c(80072),e=c(85890),f=c(69430);function g(a,b){var c,g;let{basePath:h,i18n:i,trailingSlash:j}=null!=(c=b.nextConfig)?c:{},k={pathname:a,trailingSlash:"/"!==a?a.endsWith("/"):j};h&&(0,f.pathHasPrefix)(k.pathname,h)&&(k.pathname=(0,e.removePathPrefix)(k.pathname,h),k.basePath=h);let l=k.pathname;if(k.pathname.startsWith("/_next/data/")&&k.pathname.endsWith(".json")){let a=k.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/");k.buildId=a[0],l="index"!==a[1]?"/"+a.slice(1).join("/"):"/",!0===b.parseData&&(k.pathname=l)}if(i){let a=b.i18nProvider?b.i18nProvider.analyze(k.pathname):(0,d.normalizeLocalePath)(k.pathname,i.locales);k.locale=a.detectedLocale,k.pathname=null!=(g=a.pathname)?g:k.pathname,!a.detectedLocale&&k.buildId&&(a=b.i18nProvider?b.i18nProvider.analyze(l):(0,d.normalizeLocalePath)(l,i.locales)).detectedLocale&&(k.locale=a.detectedLocale)}return k}},8190:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getClientComponentLoaderMetrics:function(){return g},wrapClientComponentLoader:function(){return f}});let c=0,d=0,e=0;function f(a){return"performance"in globalThis?{require:(...b)=>{let f=performance.now();0===c&&(c=f);try{return e+=1,a.__next_app__.require(...b)}finally{d+=performance.now()-f}},loadChunk:(...b)=>{let c=performance.now(),e=a.__next_app__.loadChunk(...b);return e.finally(()=>{d+=performance.now()-c}),e}}:a.__next_app__}function g(a={}){let b=0===c?void 0:{clientComponentLoadStart:c,clientComponentLoadTimes:d,clientComponentLoadCount:e};return a.reset&&(c=0,d=0,e=0),b}},11132:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fromNodeOutgoingHttpHeaders:function(){return e},normalizeNextQueryParam:function(){return i},splitCookiesString:function(){return f},toNodeOutgoingHttpHeaders:function(){return g},validateURL:function(){return h}});let d=c(19559);function e(a){let b=new Headers;for(let[c,d]of Object.entries(a))for(let a of Array.isArray(d)?d:[d])void 0!==a&&("number"==typeof a&&(a=a.toString()),b.append(c,a));return b}function f(a){var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}function g(a){let b={},c=[];if(a)for(let[d,e]of a.entries())"set-cookie"===d.toLowerCase()?(c.push(...f(e)),b[d]=1===c.length?c[0]:c):b[d]=e;return b}function h(a){try{return String(new URL(String(a)))}catch(b){throw Object.defineProperty(Error(`URL is malformed "${String(a)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:b}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}function i(a){for(let b of[d.NEXT_QUERY_PARAM_PREFIX,d.NEXT_INTERCEPTION_MARKER_PREFIX])if(a!==b&&a.startsWith(b))return a.substring(b.length);return null}},16208:(a,b)=>{"use strict";function c(a){return a.default||a}Object.defineProperty(b,"T",{enumerable:!0,get:function(){return c}})},19559:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{ACTION_SUFFIX:function(){return l},APP_DIR_ALIAS:function(){return F},CACHE_ONE_YEAR:function(){return x},DOT_NEXT_ALIAS:function(){return D},ESLINT_DEFAULT_DIRS:function(){return Z},GSP_NO_RETURNED_VALUE:function(){return T},GSSP_COMPONENT_MEMBER_ERROR:function(){return W},GSSP_NO_RETURNED_VALUE:function(){return U},INFINITE_CACHE:function(){return y},INSTRUMENTATION_HOOK_FILENAME:function(){return B},MATCHED_PATH_HEADER:function(){return e},MIDDLEWARE_FILENAME:function(){return z},MIDDLEWARE_LOCATION_REGEXP:function(){return A},NEXT_BODY_SUFFIX:function(){return o},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return w},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return q},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return r},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return v},NEXT_CACHE_TAGS_HEADER:function(){return p},NEXT_CACHE_TAG_MAX_ITEMS:function(){return t},NEXT_CACHE_TAG_MAX_LENGTH:function(){return u},NEXT_DATA_SUFFIX:function(){return m},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return d},NEXT_META_SUFFIX:function(){return n},NEXT_QUERY_PARAM_PREFIX:function(){return c},NEXT_RESUME_HEADER:function(){return s},NON_STANDARD_NODE_ENV:function(){return X},PAGES_DIR_ALIAS:function(){return C},PRERENDER_REVALIDATE_HEADER:function(){return f},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return g},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return N},ROOT_DIR_ALIAS:function(){return E},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return M},RSC_ACTION_ENCRYPTION_ALIAS:function(){return L},RSC_ACTION_PROXY_ALIAS:function(){return I},RSC_ACTION_VALIDATE_ALIAS:function(){return H},RSC_CACHE_WRAPPER_ALIAS:function(){return J},RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS:function(){return K},RSC_MOD_REF_PROXY_ALIAS:function(){return G},RSC_PREFETCH_SUFFIX:function(){return h},RSC_SEGMENTS_DIR_SUFFIX:function(){return i},RSC_SEGMENT_SUFFIX:function(){return j},RSC_SUFFIX:function(){return k},SERVER_PROPS_EXPORT_ERROR:function(){return S},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return P},SERVER_PROPS_SSG_CONFLICT:function(){return Q},SERVER_RUNTIME:function(){return $},SSG_FALLBACK_EXPORT_ERROR:function(){return Y},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return O},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return R},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return V},WEBPACK_LAYERS:function(){return aa},WEBPACK_RESOURCE_QUERIES:function(){return ab}});let c="nxtP",d="nxtI",e="x-matched-path",f="x-prerender-revalidate",g="x-prerender-revalidate-if-generated",h=".prefetch.rsc",i=".segments",j=".segment.rsc",k=".rsc",l=".action",m=".json",n=".meta",o=".body",p="x-next-cache-tags",q="x-next-revalidated-tags",r="x-next-revalidate-tag-token",s="next-resume",t=128,u=256,v=1024,w="_N_T_",x=31536e3,y=0xfffffffe,z="middleware",A=`(?:src/)?${z}`,B="instrumentation",C="private-next-pages",D="private-dot-next",E="private-next-root-dir",F="private-next-app-dir",G="private-next-rsc-mod-ref-proxy",H="private-next-rsc-action-validate",I="private-next-rsc-server-reference",J="private-next-rsc-cache-wrapper",K="private-next-rsc-track-dynamic-import",L="private-next-rsc-action-encryption",M="private-next-rsc-action-client-wrapper",N="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",O="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",P="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",Q="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",R="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",S="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",T="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",U="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",V="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",W="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",X='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',Y="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",Z=["app","pages","components","lib","src"],$={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},_={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"},aa={..._,GROUP:{builtinReact:[_.reactServerComponents,_.actionBrowser],serverOnly:[_.reactServerComponents,_.actionBrowser,_.instrument,_.middleware],neutralTarget:[_.apiNode,_.apiEdge],clientOnly:[_.serverSideRendering,_.appPagesBrowser],bundled:[_.reactServerComponents,_.actionBrowser,_.serverSideRendering,_.appPagesBrowser,_.shared,_.instrument,_.middleware],appPages:[_.reactServerComponents,_.serverSideRendering,_.appPagesBrowser,_.actionBrowser]}},ab={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},21793:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RedirectStatusCode",{enumerable:!0,get:function(){return c}});var c=function(a){return a[a.SeeOther=303]="SeeOther",a[a.TemporaryRedirect=307]="TemporaryRedirect",a[a.PermanentRedirect=308]="PermanentRedirect",a}({});("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},25686:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fromResponseCacheEntry:function(){return g},routeKindToIncrementalCacheKind:function(){return i},toResponseCacheEntry:function(){return h}});let d=c(71338),e=function(a){return a&&a.__esModule?a:{default:a}}(c(94774)),f=c(44850);async function g(a){var b,c;return{...a,value:(null==(b=a.value)?void 0:b.kind)===d.CachedRouteKind.PAGES?{kind:d.CachedRouteKind.PAGES,html:await a.value.html.toUnchunkedString(!0),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===d.CachedRouteKind.APP_PAGE?{kind:d.CachedRouteKind.APP_PAGE,html:await a.value.html.toUnchunkedString(!0),postponed:a.value.postponed,rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,segmentData:a.value.segmentData}:a.value}}async function h(a){var b,c;return a?{isMiss:a.isMiss,isStale:a.isStale,cacheControl:a.cacheControl,value:(null==(b=a.value)?void 0:b.kind)===d.CachedRouteKind.PAGES?{kind:d.CachedRouteKind.PAGES,html:e.default.fromStatic(a.value.html),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===d.CachedRouteKind.APP_PAGE?{kind:d.CachedRouteKind.APP_PAGE,html:e.default.fromStatic(a.value.html),rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,postponed:a.value.postponed,segmentData:a.value.segmentData}:a.value}:null}function i(a){switch(a){case f.RouteKind.PAGES:return d.IncrementalCacheKind.PAGES;case f.RouteKind.APP_PAGE:return d.IncrementalCacheKind.APP_PAGE;case f.RouteKind.IMAGE:return d.IncrementalCacheKind.IMAGE;case f.RouteKind.APP_ROUTE:return d.IncrementalCacheKind.APP_ROUTE;default:throw Object.defineProperty(Error(`Unexpected route kind ${a}`),"__NEXT_ERROR_CODE",{value:"E64",enumerable:!1,configurable:!0})}}},27050:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"formatNextPathnameInfo",{enumerable:!0,get:function(){return h}});let d=c(60528),e=c(99213),f=c(79698),g=c(28531);function h(a){let b=(0,g.addLocale)(a.pathname,a.locale,a.buildId?void 0:a.defaultLocale,a.ignorePrefix);return(a.buildId||!a.trailingSlash)&&(b=(0,d.removeTrailingSlash)(b)),a.buildId&&(b=(0,f.addPathSuffix)((0,e.addPathPrefix)(b,"/_next/data/"+a.buildId),"/"===a.pathname?"index.json":".json")),b=(0,e.addPathPrefix)(b,a.basePath),!a.buildId&&a.trailingSlash?b.endsWith("/")?b:(0,f.addPathSuffix)(b,"/"):(0,d.removeTrailingSlash)(b)}},27454:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{INTERNALS:function(){return h},NextRequest:function(){return i}});let d=c(38170),e=c(11132),f=c(46937),g=c(43472),h=Symbol("internal request");class i extends Request{constructor(a,b={}){let c="string"!=typeof a&&"url"in a?a.url:String(a);(0,e.validateURL)(c),b.body&&"half"!==b.duplex&&(b.duplex="half"),a instanceof Request?super(a,b):super(c,b);let f=new d.NextURL(c,{headers:(0,e.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:b.nextConfig});this[h]={cookies:new g.RequestCookies(this.headers),nextUrl:f,url:f.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[h].cookies}get nextUrl(){return this[h].nextUrl}get page(){throw new f.RemovedPageError}get ua(){throw new f.RemovedUAError}get url(){return this[h].url}}},28531:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addLocale",{enumerable:!0,get:function(){return f}});let d=c(99213),e=c(69430);function f(a,b,c,f){if(!b||b===c)return a;let g=a.toLowerCase();return!f&&((0,e.pathHasPrefix)(g,"/api")||(0,e.pathHasPrefix)(g,"/"+b.toLowerCase()))?a:(0,d.addPathPrefix)(a,"/"+b)}},33244:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{DOC_PREFETCH_RANGE_HEADER_VALUE:function(){return d},doesExportedHtmlMatchBuildId:function(){return g},insertBuildIdComment:function(){return f}});let c="<!DOCTYPE html>",d="bytes=0-63";function e(a){return a.slice(0,24).replace(/-/g,"_")}function f(a,b){return b.includes("--\x3e")||!a.startsWith(c)?a:a.replace(c,c+"\x3c!--"+e(b)+"--\x3e")}function g(a,b){return a.startsWith(c+"\x3c!--"+e(b)+"--\x3e")}},34373:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isAbortError:function(){return i},pipeToNodeResponse:function(){return j}});let d=c(90201),e=c(47202),f=c(78413),g=c(40465),h=c(8190);function i(a){return(null==a?void 0:a.name)==="AbortError"||(null==a?void 0:a.name)===d.ResponseAbortedName}async function j(a,b,c){try{let{errored:i,destroyed:j}=b;if(i||j)return;let k=(0,d.createAbortController)(b),l=function(a,b){let c=!1,d=new e.DetachedPromise;function i(){d.resolve()}a.on("drain",i),a.once("close",()=>{a.off("drain",i),d.resolve()});let j=new e.DetachedPromise;return a.once("finish",()=>{j.resolve()}),new WritableStream({write:async b=>{if(!c){if(c=!0,"performance"in globalThis&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX){let a=(0,h.getClientComponentLoaderMetrics)();a&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,{start:a.clientComponentLoadStart,end:a.clientComponentLoadStart+a.clientComponentLoadTimes})}a.flushHeaders(),(0,f.getTracer)().trace(g.NextNodeServerSpan.startResponse,{spanName:"start response"},()=>void 0)}try{let c=a.write(b);"flush"in a&&"function"==typeof a.flush&&a.flush(),c||(await d.promise,d=new e.DetachedPromise)}catch(b){throw a.end(),Object.defineProperty(Error("failed to write chunk to response",{cause:b}),"__NEXT_ERROR_CODE",{value:"E321",enumerable:!1,configurable:!0})}},abort:b=>{a.writableFinished||a.destroy(b)},close:async()=>{if(b&&await b,!a.writableFinished)return a.end(),j.promise}})}(b,c);await a.pipeTo(l,{signal:k.signal})}catch(a){if(i(a))return;throw Object.defineProperty(Error("failed to pipe response",{cause:a}),"__NEXT_ERROR_CODE",{value:"E180",enumerable:!1,configurable:!0})}}},36299:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fnv1a52:function(){return c},generateETag:function(){return d}});let c=a=>{let b=a.length,c=0,d=0,e=8997,f=0,g=33826,h=0,i=40164,j=0,k=52210;for(;c<b;)e^=a.charCodeAt(c++),d=435*e,f=435*g,h=435*i,j=435*k,h+=e<<8,j+=g<<8,f+=d>>>16,e=65535&d,h+=f>>>16,g=65535&f,k=j+(h>>>16)&65535,i=65535&h;return(15&k)*0x1000000000000+0x100000000*i+65536*g+(e^k>>4)},d=(a,b=!1)=>(b?'W/"':'"')+c(a).toString(36)+a.length.toString(36)+'"'},37132:(a,b)=>{"use strict";function c(a){let b=a.indexOf("#"),c=a.indexOf("?"),d=c>-1&&(b<0||c<b);return d||b>-1?{pathname:a.substring(0,d?c:b),query:d?a.substring(c,b>-1?b:void 0):"",hash:b>-1?a.slice(b):""}:{pathname:a,query:"",hash:""}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parsePath",{enumerable:!0,get:function(){return c}})},38170:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextURL",{enumerable:!0,get:function(){return k}});let d=c(66989),e=c(27050),f=c(96855),g=c(7643),h=/(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)/;function i(a,b){return new URL(String(a).replace(h,"localhost"),b&&String(b).replace(h,"localhost"))}let j=Symbol("NextURLInternal");class k{constructor(a,b,c){let d,e;"object"==typeof b&&"pathname"in b||"string"==typeof b?(d=b,e=c||{}):e=c||b||{},this[j]={url:i(a,d??e.base),options:e,basePath:""},this.analyze()}analyze(){var a,b,c,e,h;let i=(0,g.getNextPathnameInfo)(this[j].url.pathname,{nextConfig:this[j].options.nextConfig,parseData:!0,i18nProvider:this[j].options.i18nProvider}),k=(0,f.getHostname)(this[j].url,this[j].options.headers);this[j].domainLocale=this[j].options.i18nProvider?this[j].options.i18nProvider.detectDomainLocale(k):(0,d.detectDomainLocale)(null==(b=this[j].options.nextConfig)||null==(a=b.i18n)?void 0:a.domains,k);let l=(null==(c=this[j].domainLocale)?void 0:c.defaultLocale)||(null==(h=this[j].options.nextConfig)||null==(e=h.i18n)?void 0:e.defaultLocale);this[j].url.pathname=i.pathname,this[j].defaultLocale=l,this[j].basePath=i.basePath??"",this[j].buildId=i.buildId,this[j].locale=i.locale??l,this[j].trailingSlash=i.trailingSlash}formatPathname(){return(0,e.formatNextPathnameInfo)({basePath:this[j].basePath,buildId:this[j].buildId,defaultLocale:this[j].options.forceLocale?void 0:this[j].defaultLocale,locale:this[j].locale,pathname:this[j].url.pathname,trailingSlash:this[j].trailingSlash})}formatSearch(){return this[j].url.search}get buildId(){return this[j].buildId}set buildId(a){this[j].buildId=a}get locale(){return this[j].locale??""}set locale(a){var b,c;if(!this[j].locale||!(null==(c=this[j].options.nextConfig)||null==(b=c.i18n)?void 0:b.locales.includes(a)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${a}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[j].locale=a}get defaultLocale(){return this[j].defaultLocale}get domainLocale(){return this[j].domainLocale}get searchParams(){return this[j].url.searchParams}get host(){return this[j].url.host}set host(a){this[j].url.host=a}get hostname(){return this[j].url.hostname}set hostname(a){this[j].url.hostname=a}get port(){return this[j].url.port}set port(a){this[j].url.port=a}get protocol(){return this[j].url.protocol}set protocol(a){this[j].url.protocol=a}get href(){let a=this.formatPathname(),b=this.formatSearch();return`${this.protocol}//${this.host}${a}${b}${this.hash}`}set href(a){this[j].url=i(a),this.analyze()}get origin(){return this[j].url.origin}get pathname(){return this[j].url.pathname}set pathname(a){this[j].url.pathname=a}get hash(){return this[j].url.hash}set hash(a){this[j].url.hash=a}get search(){return this[j].url.search}set search(a){this[j].url.search=a}get password(){return this[j].url.password}set password(a){this[j].url.password=a}get username(){return this[j].url.username}set username(a){this[j].url.username=a}get basePath(){return this[j].basePath}set basePath(a){this[j].basePath=a.startsWith("/")?a:`/${a}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new k(String(this),this[j].options)}}},41227:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NEXT_REQUEST_META:function(){return c},addRequestMeta:function(){return f},getRequestMeta:function(){return d},removeRequestMeta:function(){return g},setRequestMeta:function(){return e}});let c=Symbol.for("NextInternalRequestMeta");function d(a,b){let d=a[c]||{};return"string"==typeof b?d[b]:d}function e(a,b){return a[c]=b,b}function f(a,b,c){let f=d(a);return f[b]=c,e(a,f)}function g(a,b){let c=d(a);return delete c[b],e(a,c)}},43472:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{RequestCookies:function(){return d.RequestCookies},ResponseCookies:function(){return d.ResponseCookies},stringifyCookie:function(){return d.stringifyCookie}});let d=c(70673)},44850:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return c}});var c=function(a){return a.PAGES="PAGES",a.PAGES_API="PAGES_API",a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.IMAGE="IMAGE",a}({})},46937:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{PageSignatureError:function(){return c},RemovedPageError:function(){return d},RemovedUAError:function(){return e}});class c extends Error{constructor({page:a}){super(`The middleware "${a}" accepts an async API directly with the form:
|
|
2
|
-
|
|
3
|
-
export function middleware(request, event) {
|
|
4
|
-
return NextResponse.redirect('/new-location')
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
Read more: https://nextjs.org/docs/messages/middleware-new-signature
|
|
8
|
-
`)}}class d extends Error{constructor(){super(`The request.page has been deprecated in favour of \`URLPattern\`.
|
|
9
|
-
Read more: https://nextjs.org/docs/messages/middleware-request-page
|
|
10
|
-
`)}}class e extends Error{constructor(){super(`The request.ua has been removed in favour of \`userAgent\` function.
|
|
11
|
-
Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent
|
|
12
|
-
`)}}},47202:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"DetachedPromise",{enumerable:!0,get:function(){return c}});class c{constructor(){let a,b;this.promise=new Promise((c,d)=>{a=c,b=d}),this.resolve=a,this.reject=b}}},51890:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{ACTION_HEADER:function(){return d},FLIGHT_HEADERS:function(){return l},NEXT_ACTION_NOT_FOUND_HEADER:function(){return s},NEXT_DID_POSTPONE_HEADER:function(){return o},NEXT_HMR_REFRESH_HASH_COOKIE:function(){return i},NEXT_HMR_REFRESH_HEADER:function(){return h},NEXT_IS_PRERENDER_HEADER:function(){return r},NEXT_REWRITTEN_PATH_HEADER:function(){return p},NEXT_REWRITTEN_QUERY_HEADER:function(){return q},NEXT_ROUTER_PREFETCH_HEADER:function(){return f},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return g},NEXT_ROUTER_STALE_TIME_HEADER:function(){return n},NEXT_ROUTER_STATE_TREE_HEADER:function(){return e},NEXT_RSC_UNION_QUERY:function(){return m},NEXT_URL:function(){return j},RSC_CONTENT_TYPE_HEADER:function(){return k},RSC_HEADER:function(){return c}});let c="RSC",d="Next-Action",e="Next-Router-State-Tree",f="Next-Router-Prefetch",g="Next-Router-Segment-Prefetch",h="Next-HMR-Refresh",i="__next_hmr_refresh_hash__",j="Next-Url",k="text/x-component",l=[c,e,f,h,g],m="_rsc",n="x-nextjs-stale-time",o="x-nextjs-postponed",p="x-nextjs-rewritten-path",q="x-nextjs-rewritten-query",r="x-nextjs-prerender",s="x-nextjs-action-not-found";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},52043:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{chainStreams:function(){return n},continueDynamicHTMLResume:function(){return E},continueDynamicPrerender:function(){return C},continueFizzStream:function(){return B},continueStaticPrerender:function(){return D},createBufferedTransformStream:function(){return s},createDocumentClosingStream:function(){return F},createRootLayoutValidatorStream:function(){return A},renderToInitialFizzStream:function(){return u},streamFromBuffer:function(){return p},streamFromString:function(){return o},streamToBuffer:function(){return q},streamToString:function(){return r}});let d=c(78413),e=c(40465),f=c(47202),g=c(94531),h=c(91231),i=c(6180),j=c(63006),k=c(33244);function l(){}let m=new TextEncoder;function n(...a){if(0===a.length)throw Object.defineProperty(Error("Invariant: chainStreams requires at least one stream"),"__NEXT_ERROR_CODE",{value:"E437",enumerable:!1,configurable:!0});if(1===a.length)return a[0];let{readable:b,writable:c}=new TransformStream,d=a[0].pipeTo(c,{preventClose:!0}),e=1;for(;e<a.length-1;e++){let b=a[e];d=d.then(()=>b.pipeTo(c,{preventClose:!0}))}let f=a[e];return(d=d.then(()=>f.pipeTo(c))).catch(l),b}function o(a){return new ReadableStream({start(b){b.enqueue(m.encode(a)),b.close()}})}function p(a){return new ReadableStream({start(b){b.enqueue(a),b.close()}})}async function q(a){let b=a.getReader(),c=[];for(;;){let{done:a,value:d}=await b.read();if(a)break;c.push(d)}return Buffer.concat(c)}async function r(a,b){let c=new TextDecoder("utf-8",{fatal:!0}),d="";for await(let e of a){if(null==b?void 0:b.aborted)return d;d+=c.decode(e,{stream:!0})}return d+c.decode()}function s(){let a,b=[],c=0;return new TransformStream({transform(d,e){b.push(d),c+=d.byteLength,(d=>{if(a)return;let e=new f.DetachedPromise;a=e,(0,g.scheduleImmediate)(()=>{try{let a=new Uint8Array(c),e=0;for(let c=0;c<b.length;c++){let d=b[c];a.set(d,e),e+=d.byteLength}b.length=0,c=0,d.enqueue(a)}catch{}finally{a=void 0,e.resolve()}})})(e)},flush(){if(a)return a.promise}})}function t(a,b){let c=!1;return new TransformStream({transform(d,e){if(a&&!c){c=!0;let a=new TextDecoder("utf-8",{fatal:!0}).decode(d,{stream:!0}),f=(0,k.insertBuildIdComment)(a,b);e.enqueue(m.encode(f));return}e.enqueue(d)}})}function u({ReactDOMServer:a,element:b,streamOptions:c}){return(0,d.getTracer)().trace(e.AppRenderSpan.renderToReadableStream,async()=>a.renderToReadableStream(b,c))}function v(a){let b=-1,c=!1;return new TransformStream({async transform(d,e){let f=-1,g=-1;if(b++,c)return void e.enqueue(d);let j=0;if(-1===f){if(-1===(f=(0,i.indexOfUint8Array)(d,h.ENCODED_TAGS.META.ICON_MARK)))return void e.enqueue(d);47===d[f+(j=h.ENCODED_TAGS.META.ICON_MARK.length)]?j+=2:j++}if(0===b){if(g=(0,i.indexOfUint8Array)(d,h.ENCODED_TAGS.CLOSED.HEAD),-1!==f){if(f<g){let a=new Uint8Array(d.length-j);a.set(d.subarray(0,f)),a.set(d.subarray(f+j),f),d=a}else{let b=await a(),c=m.encode(b),e=c.length,g=new Uint8Array(d.length-j+e);g.set(d.subarray(0,f)),g.set(c,f),g.set(d.subarray(f+j),f+e),d=g}c=!0}}else{let b=await a(),e=m.encode(b),g=e.length,h=new Uint8Array(d.length-j+g);h.set(d.subarray(0,f)),h.set(e,f),h.set(d.subarray(f+j),f+g),d=h,c=!0}e.enqueue(d)}})}function w(a){let b=!1,c=!1;return new TransformStream({async transform(d,e){c=!0;let f=await a();if(b){if(f){let a=m.encode(f);e.enqueue(a)}e.enqueue(d)}else{let a=(0,i.indexOfUint8Array)(d,h.ENCODED_TAGS.CLOSED.HEAD);if(-1!==a){if(f){let b=m.encode(f),c=new Uint8Array(d.length+b.length);c.set(d.slice(0,a)),c.set(b,a),c.set(d.slice(a),a+b.length),e.enqueue(c)}else e.enqueue(d);b=!0}else f&&e.enqueue(m.encode(f)),e.enqueue(d),b=!0}},async flush(b){if(c){let c=await a();c&&b.enqueue(m.encode(c))}}})}function x(a){let b=null,c=!1;async function d(d){if(b)return;let e=a.getReader();await (0,g.atLeastOneTask)();try{for(;;){let{done:a,value:b}=await e.read();if(a){c=!0;return}d.enqueue(b)}}catch(a){d.error(a)}}return new TransformStream({transform(a,c){c.enqueue(a),b||(b=d(c))},flush(a){if(!c)return b||d(a)}})}let y="</body></html>";function z(){let a=!1;return new TransformStream({transform(b,c){if(a)return c.enqueue(b);let d=(0,i.indexOfUint8Array)(b,h.ENCODED_TAGS.CLOSED.BODY_AND_HTML);if(d>-1){if(a=!0,b.length===h.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length)return;let e=b.slice(0,d);if(c.enqueue(e),b.length>h.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length+d){let a=b.slice(d+h.ENCODED_TAGS.CLOSED.BODY_AND_HTML.length);c.enqueue(a)}}else c.enqueue(b)},flush(a){a.enqueue(h.ENCODED_TAGS.CLOSED.BODY_AND_HTML)}})}function A(){let a=!1,b=!1;return new TransformStream({async transform(c,d){!a&&(0,i.indexOfUint8Array)(c,h.ENCODED_TAGS.OPENING.HTML)>-1&&(a=!0),!b&&(0,i.indexOfUint8Array)(c,h.ENCODED_TAGS.OPENING.BODY)>-1&&(b=!0),d.enqueue(c)},flush(c){let d=[];a||d.push("html"),b||d.push("body"),d.length&&c.enqueue(m.encode(`<html id="__next_error__">
|
|
13
|
-
<template
|
|
14
|
-
data-next-error-message="Missing ${d.map(a=>`<${a}>`).join(d.length>1?" and ":"")} tags in the root layout.
|
|
15
|
-
Read more at https://nextjs.org/docs/messages/missing-root-layout-tags""
|
|
16
|
-
data-next-error-digest="${j.MISSING_ROOT_TAGS_ERROR}"
|
|
17
|
-
data-next-error-stack=""
|
|
18
|
-
></template>
|
|
19
|
-
`))}})}async function B(a,{suffix:b,inlinedDataStream:c,isStaticGeneration:d,isBuildTimePrerendering:e,buildId:h,getServerInsertedHTML:i,getServerInsertedMetadata:j,validateRootLayout:k}){let l,n,o=b?b.split(y,1)[0]:null;d&&"allReady"in a&&await a.allReady;var p=[s(),t(e,h),v(j),null!=o&&o.length>0?(n=!1,new TransformStream({transform(a,b){if(b.enqueue(a),!n){n=!0;let a=new f.DetachedPromise;l=a,(0,g.scheduleImmediate)(()=>{try{b.enqueue(m.encode(o))}catch{}finally{l=void 0,a.resolve()}})}},flush(a){if(l)return l.promise;n||a.enqueue(m.encode(o))}})):null,c?x(c):null,k?A():null,z(),w(i)];let q=a;for(let a of p)a&&(q=q.pipeThrough(a));return q}async function C(a,{getServerInsertedHTML:b,getServerInsertedMetadata:c}){return a.pipeThrough(s()).pipeThrough(new TransformStream({transform(a,b){(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY_AND_HTML)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.BODY)||(0,i.isEquivalentUint8Arrays)(a,h.ENCODED_TAGS.CLOSED.HTML)||(a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.BODY),a=(0,i.removeFromUint8Array)(a,h.ENCODED_TAGS.CLOSED.HTML),b.enqueue(a))}})).pipeThrough(w(b)).pipeThrough(v(c))}async function D(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,isBuildTimePrerendering:e,buildId:f}){return a.pipeThrough(s()).pipeThrough(t(e,f)).pipeThrough(w(c)).pipeThrough(v(d)).pipeThrough(x(b)).pipeThrough(z())}async function E(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d}){return a.pipeThrough(s()).pipeThrough(w(c)).pipeThrough(v(d)).pipeThrough(x(b)).pipeThrough(z())}function F(){return o(y)}},56573:a=>{(()=>{"use strict";var b={695:a=>{var b=/(?:^|,)\s*?no-cache\s*?(?:,|$)/;function c(a){var b=a&&Date.parse(a);return"number"==typeof b?b:NaN}a.exports=function(a,d){var e=a["if-modified-since"],f=a["if-none-match"];if(!e&&!f)return!1;var g=a["cache-control"];if(g&&b.test(g))return!1;if(f&&"*"!==f){var h=d.etag;if(!h)return!1;for(var i=!0,j=function(a){for(var b=0,c=[],d=0,e=0,f=a.length;e<f;e++)switch(a.charCodeAt(e)){case 32:d===b&&(d=b=e+1);break;case 44:c.push(a.substring(d,b)),d=b=e+1;break;default:b=e+1}return c.push(a.substring(d,b)),c}(f),k=0;k<j.length;k++){var l=j[k];if(l===h||l==="W/"+h||"W/"+l===h){i=!1;break}}if(i)return!1}if(e){var m=d["last-modified"];if(!m||!(c(m)<=c(e)))return!1}return!0}}},c={};function d(a){var e=c[a];if(void 0!==e)return e.exports;var f=c[a]={exports:{}},g=!0;try{b[a](f,f.exports,d),g=!1}finally{g&&delete c[a]}return f.exports}d.ab=__dirname+"/",a.exports=d(695)})()},60528:(a,b)=>{"use strict";function c(a){return a.replace(/\/$/,"")||"/"}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeTrailingSlash",{enumerable:!0,get:function(){return c}})},63006:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"MISSING_ROOT_TAGS_ERROR",{enumerable:!0,get:function(){return c}});let c="NEXT_MISSING_ROOT_TAGS";("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},66989:(a,b)=>{"use strict";function c(a,b,c){if(a)for(let f of(c&&(c=c.toLowerCase()),a)){var d,e;if(b===(null==(d=f.domain)?void 0:d.split(":",1)[0].toLowerCase())||c===f.defaultLocale.toLowerCase()||(null==(e=f.locales)?void 0:e.some(a=>a.toLowerCase()===c)))return f}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"detectDomainLocale",{enumerable:!0,get:function(){return c}})},69430:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"pathHasPrefix",{enumerable:!0,get:function(){return e}});let d=c(37132);function e(a,b){if("string"!=typeof a)return!1;let{pathname:c}=(0,d.parsePath)(a);return c===b||c.startsWith(b+"/")}},70673:a=>{"use strict";var b=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,f={};function g(a){var b;let c=["path"in a&&a.path&&`Path=${a.path}`,"expires"in a&&(a.expires||0===a.expires)&&`Expires=${("number"==typeof a.expires?new Date(a.expires):a.expires).toUTCString()}`,"maxAge"in a&&"number"==typeof a.maxAge&&`Max-Age=${a.maxAge}`,"domain"in a&&a.domain&&`Domain=${a.domain}`,"secure"in a&&a.secure&&"Secure","httpOnly"in a&&a.httpOnly&&"HttpOnly","sameSite"in a&&a.sameSite&&`SameSite=${a.sameSite}`,"partitioned"in a&&a.partitioned&&"Partitioned","priority"in a&&a.priority&&`Priority=${a.priority}`].filter(Boolean),d=`${a.name}=${encodeURIComponent(null!=(b=a.value)?b:"")}`;return 0===c.length?d:`${d}; ${c.join("; ")}`}function h(a){let b=new Map;for(let c of a.split(/; */)){if(!c)continue;let a=c.indexOf("=");if(-1===a){b.set(c,"true");continue}let[d,e]=[c.slice(0,a),c.slice(a+1)];try{b.set(d,decodeURIComponent(null!=e?e:"true"))}catch{}}return b}function i(a){if(!a)return;let[[b,c],...d]=h(a),{domain:e,expires:f,httponly:g,maxage:i,path:l,samesite:m,secure:n,partitioned:o,priority:p}=Object.fromEntries(d.map(([a,b])=>[a.toLowerCase().replace(/-/g,""),b]));{var q,r,s={name:b,value:decodeURIComponent(c),domain:e,...f&&{expires:new Date(f)},...g&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...m&&{sameSite:j.includes(q=(q=m).toLowerCase())?q:void 0},...n&&{secure:!0},...p&&{priority:k.includes(r=(r=p).toLowerCase())?r:void 0},...o&&{partitioned:!0}};let a={};for(let b in s)s[b]&&(a[b]=s[b]);return a}}((a,c)=>{for(var d in c)b(a,d,{get:c[d],enumerable:!0})})(f,{RequestCookies:()=>l,ResponseCookies:()=>m,parseCookie:()=>h,parseSetCookie:()=>i,stringifyCookie:()=>g}),a.exports=((a,f,g,h)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let g of d(f))e.call(a,g)||void 0===g||b(a,g,{get:()=>f[g],enumerable:!(h=c(f,g))||h.enumerable});return a})(b({},"__esModule",{value:!0}),f);var j=["strict","lax","none"],k=["low","medium","high"],l=class{constructor(a){this._parsed=new Map,this._headers=a;let b=a.get("cookie");if(b)for(let[a,c]of h(b))this._parsed.set(a,{name:a,value:c})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed);if(!a.length)return c.map(([a,b])=>b);let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(([a])=>a===d).map(([a,b])=>b)}has(a){return this._parsed.has(a)}set(...a){let[b,c]=1===a.length?[a[0].name,a[0].value]:a,d=this._parsed;return d.set(b,{name:b,value:c}),this._headers.set("cookie",Array.from(d).map(([a,b])=>g(b)).join("; ")),this}delete(a){let b=this._parsed,c=Array.isArray(a)?a.map(a=>b.delete(a)):b.delete(a);return this._headers.set("cookie",Array.from(b).map(([a,b])=>g(b)).join("; ")),c}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a=>`${a.name}=${encodeURIComponent(a.value)}`).join("; ")}},m=class{constructor(a){var b,c,d;this._parsed=new Map,this._headers=a;let e=null!=(d=null!=(c=null==(b=a.getSetCookie)?void 0:b.call(a))?c:a.get("set-cookie"))?d:[];for(let a of Array.isArray(e)?e:function(a){if(!a)return[];var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}(e)){let b=i(a);b&&this._parsed.set(b.name,b)}}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed.values());if(!a.length)return c;let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(a=>a.name===d)}has(a){return this._parsed.has(a)}set(...a){let[b,c,d]=1===a.length?[a[0].name,a[0].value,a[0]]:a,e=this._parsed;return e.set(b,function(a={name:"",value:""}){return"number"==typeof a.expires&&(a.expires=new Date(a.expires)),a.maxAge&&(a.expires=new Date(Date.now()+1e3*a.maxAge)),(null===a.path||void 0===a.path)&&(a.path="/"),a}({name:b,value:c,...d})),function(a,b){for(let[,c]of(b.delete("set-cookie"),a)){let a=g(c);b.append("set-cookie",a)}}(e,this._headers),this}delete(...a){let[b,c]="string"==typeof a[0]?[a[0]]:[a[0].name,a[0]];return this.set({...c,name:b,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(g).join("; ")}}},71338:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{CachedRouteKind:function(){return c},IncrementalCacheKind:function(){return d}});var c=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.REDIRECT="REDIRECT",a.IMAGE="IMAGE",a}({}),d=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.IMAGE="IMAGE",a}({})},77400:(a,b)=>{"use strict";function c(a){return a.isOnDemandRevalidate?"on-demand":a.isRevalidate?"stale":void 0}Object.defineProperty(b,"c",{enumerable:!0,get:function(){return c}})},77471:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{allowedStatusCodes:function(){return e},getRedirectStatus:function(){return f},modifyRouteRegex:function(){return g}});let d=c(21793),e=new Set([301,302,303,307,308]);function f(a){return a.statusCode||(a.permanent?d.RedirectStatusCode.PermanentRedirect:d.RedirectStatusCode.TemporaryRedirect)}function g(a,b){return b&&(a=a.replace(/\^/,`^(?!${b.map(a=>a.replace(/\//g,"\\/")).join("|")})`)),a=a.replace(/\$$/,"(?:\\/)?$")}},79698:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathSuffix",{enumerable:!0,get:function(){return e}});let d=c(37132);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return""+c+b+e+f}},80072:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizeLocalePath",{enumerable:!0,get:function(){return d}});let c=new WeakMap;function d(a,b){let d;if(!b)return{pathname:a};let e=c.get(b);e||(e=b.map(a=>a.toLowerCase()),c.set(b,e));let f=a.split("/",2);if(!f[1])return{pathname:a};let g=f[1].toLowerCase(),h=e.indexOf(g);return h<0?{pathname:a}:(d=b[h],{pathname:a=a.slice(d.length+1)||"/",detectedLocale:d})}},80727:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{sendEtagResponse:function(){return i},sendRenderResult:function(){return j}});let d=c(67108),e=c(36299),f=function(a){return a&&a.__esModule?a:{default:a}}(c(56573)),g=c(82246),h=c(51890);function i(a,b,c){return c&&b.setHeader("ETag",c),!!(0,f.default)(a.headers,{etag:c})&&(b.statusCode=304,b.end(),!0)}async function j({req:a,res:b,result:c,type:f,generateEtags:j,poweredByHeader:k,cacheControl:l}){if((0,d.isResSent)(b))return;k&&"html"===f&&b.setHeader("X-Powered-By","Next.js"),l&&!b.getHeader("Cache-Control")&&b.setHeader("Cache-Control",(0,g.getCacheControlHeader)(l));let m=c.isDynamic?null:c.toUnchunkedString();if(!(j&&null!==m&&i(a,b,(0,e.generateETag)(m))))return(b.getHeader("Content-Type")||b.setHeader("Content-Type",c.contentType?c.contentType:"rsc"===f?h.RSC_CONTENT_TYPE_HEADER:"json"===f?"application/json":"text/html; charset=utf-8"),m&&b.setHeader("Content-Length",Buffer.byteLength(m)),"HEAD"===a.method)?void b.end(null):null!==m?void b.end(m):void await c.pipeToNodeResponse(b)}},82246:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getCacheControlHeader",{enumerable:!0,get:function(){return e}});let d=c(19559);function e({revalidate:a,expire:b}){let c="number"==typeof a&&void 0!==b&&a<b?`, stale-while-revalidate=${b-a}`:"";return 0===a?"private, no-cache, no-store, max-age=0, must-revalidate":"number"==typeof a?`s-maxage=${a}${c}`:`s-maxage=${d.CACHE_ONE_YEAR}${c}`}},82753:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return g}});let d=c(5065),e=c(94531),f=c(25686);!function(a,b){Object.keys(a).forEach(function(c){"default"===c||Object.prototype.hasOwnProperty.call(b,c)||Object.defineProperty(b,c,{enumerable:!0,get:function(){return a[c]}})})}(c(71338),b);class g{constructor(a){this.batcher=d.Batcher.create({cacheKeyFn:({key:a,isOnDemandRevalidate:b})=>`${a}-${b?"1":"0"}`,schedulerFn:e.scheduleOnNextTick}),this.minimal_mode=a}async get(a,b,c){if(!a)return b({hasResolved:!1,previousCacheEntry:null});let{incrementalCache:d,isOnDemandRevalidate:e=!1,isFallback:g=!1,isRoutePPREnabled:h=!1,waitUntil:i}=c,j=await this.batcher.batch({key:a,isOnDemandRevalidate:e},(j,k)=>{let l=(async()=>{var i;if(this.minimal_mode&&(null==(i=this.previousCacheItem)?void 0:i.key)===j&&this.previousCacheItem.expiresAt>Date.now())return this.previousCacheItem.entry;let l=(0,f.routeKindToIncrementalCacheKind)(c.routeKind),m=!1,n=null;try{if((n=this.minimal_mode?null:await d.get(a,{kind:l,isRoutePPREnabled:c.isRoutePPREnabled,isFallback:g}))&&!e&&(k(n),m=!0,!n.isStale||c.isPrefetch))return null;let i=await b({hasResolved:m,previousCacheEntry:n,isRevalidating:!0});if(!i)return this.minimal_mode&&(this.previousCacheItem=void 0),null;let o=await (0,f.fromResponseCacheEntry)({...i,isMiss:!n});if(!o)return this.minimal_mode&&(this.previousCacheItem=void 0),null;return e||m||(k(o),m=!0),o.cacheControl&&(this.minimal_mode?this.previousCacheItem={key:j,entry:o,expiresAt:Date.now()+1e3}:await d.set(a,o.value,{cacheControl:o.cacheControl,isRoutePPREnabled:h,isFallback:g})),o}catch(b){if(null==n?void 0:n.cacheControl){let b=Math.min(Math.max(n.cacheControl.revalidate||3,3),30),c=void 0===n.cacheControl.expire?void 0:Math.max(b+3,n.cacheControl.expire);await d.set(a,n.value,{cacheControl:{revalidate:b,expire:c},isRoutePPREnabled:h,isFallback:g})}if(m)return console.error(b),null;throw b}})();return i&&i(l),l});return(0,f.toResponseCacheEntry)(j)}}},83410:(a,b)=>{"use strict";Object.defineProperty(b,"M",{enumerable:!0,get:function(){return function a(b,c){return c in b?b[c]:"then"in b&&"function"==typeof b.then?b.then(b=>a(b,c)):"function"==typeof b&&"default"===c?b:void 0}}})},85890:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removePathPrefix",{enumerable:!0,get:function(){return e}});let d=c(69430);function e(a,b){if(!(0,d.pathHasPrefix)(a,b))return a;let c=a.slice(b.length);return c.startsWith("/")?c:"/"+c}},90201:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NextRequestAdapter:function(){return l},ResponseAborted:function(){return i},ResponseAbortedName:function(){return h},createAbortController:function(){return j},signalFromNodeResponse:function(){return k}});let d=c(41227),e=c(11132),f=c(27454),g=c(7474),h="ResponseAborted";class i extends Error{constructor(...a){super(...a),this.name=h}}function j(a){let b=new AbortController;return a.once("close",()=>{a.writableFinished||b.abort(new i)}),b}function k(a){let{errored:b,destroyed:c}=a;if(b||c)return AbortSignal.abort(b??new i);let{signal:d}=j(a);return d}class l{static fromBaseNextRequest(a,b){if((0,g.isNodeNextRequest)(a))return l.fromNodeNextRequest(a,b);throw Object.defineProperty(Error("Invariant: Unsupported NextRequest type"),"__NEXT_ERROR_CODE",{value:"E345",enumerable:!1,configurable:!0})}static fromNodeNextRequest(a,b){let c,g=null;if("GET"!==a.method&&"HEAD"!==a.method&&a.body&&(g=a.body),a.url.startsWith("http"))c=new URL(a.url);else{let b=(0,d.getRequestMeta)(a,"initURL");c=b&&b.startsWith("http")?new URL(a.url,b):new URL(a.url,"http://n")}return new f.NextRequest(c,{method:a.method,headers:(0,e.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:b,...b.aborted?{}:{body:g}})}static fromWebNextRequest(a){let b=null;return"GET"!==a.method&&"HEAD"!==a.method&&(b=a.body),new f.NextRequest(a.url,{method:a.method,headers:(0,e.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:a.request.signal,...a.request.signal.aborted?{}:{body:b}})}}},91231:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ENCODED_TAGS",{enumerable:!0,get:function(){return c}});let c={OPENING:{HTML:new Uint8Array([60,104,116,109,108]),BODY:new Uint8Array([60,98,111,100,121])},CLOSED:{HEAD:new Uint8Array([60,47,104,101,97,100,62]),BODY:new Uint8Array([60,47,98,111,100,121,62]),HTML:new Uint8Array([60,47,104,116,109,108,62]),BODY_AND_HTML:new Uint8Array([60,47,98,111,100,121,62,60,47,104,116,109,108,62])},META:{ICON_MARK:new Uint8Array([60,109,101,116,97,32,110,97,109,101,61,34,194,171,110,120,116,45,105,99,111,110,194,187,34])}}},94531:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{atLeastOneTask:function(){return e},scheduleImmediate:function(){return d},scheduleOnNextTick:function(){return c},waitAtLeastOneReactRenderTask:function(){return f}});let c=a=>{Promise.resolve().then(()=>{process.nextTick(a)})},d=a=>{setImmediate(a)};function e(){return new Promise(a=>d(a))}function f(){return new Promise(a=>setImmediate(a))}},94774:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(52043),e=c(34373);class f{static fromStatic(a){return new f(a,{metadata:{}})}constructor(a,{contentType:b,waitUntil:c,metadata:d}){this.response=a,this.contentType=b,this.metadata=d,this.waitUntil=c}assignMetadata(a){Object.assign(this.metadata,a)}get isNull(){return null===this.response}get isDynamic(){return"string"!=typeof this.response}toUnchunkedBuffer(a=!1){if(null===this.response)throw Object.defineProperty(Error("Invariant: null responses cannot be unchunked"),"__NEXT_ERROR_CODE",{value:"E274",enumerable:!1,configurable:!0});if("string"!=typeof this.response){if(!a)throw Object.defineProperty(Error("Invariant: dynamic responses cannot be unchunked. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E81",enumerable:!1,configurable:!0});return(0,d.streamToBuffer)(this.readable)}return Buffer.from(this.response)}toUnchunkedString(a=!1){if(null===this.response)throw Object.defineProperty(Error("Invariant: null responses cannot be unchunked"),"__NEXT_ERROR_CODE",{value:"E274",enumerable:!1,configurable:!0});if("string"!=typeof this.response){if(!a)throw Object.defineProperty(Error("Invariant: dynamic responses cannot be unchunked. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E81",enumerable:!1,configurable:!0});return(0,d.streamToString)(this.readable)}return this.response}get readable(){if(null===this.response)throw Object.defineProperty(Error("Invariant: null responses cannot be streamed"),"__NEXT_ERROR_CODE",{value:"E14",enumerable:!1,configurable:!0});if("string"==typeof this.response)throw Object.defineProperty(Error("Invariant: static responses cannot be streamed"),"__NEXT_ERROR_CODE",{value:"E151",enumerable:!1,configurable:!0});return Buffer.isBuffer(this.response)?(0,d.streamFromBuffer)(this.response):Array.isArray(this.response)?(0,d.chainStreams)(...this.response):this.response}chain(a){let b;if(null===this.response)throw Object.defineProperty(Error("Invariant: response is null. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E258",enumerable:!1,configurable:!0});(b="string"==typeof this.response?[(0,d.streamFromString)(this.response)]:Array.isArray(this.response)?this.response:Buffer.isBuffer(this.response)?[(0,d.streamFromBuffer)(this.response)]:[this.response]).push(a),this.response=b}async pipeTo(a){try{await this.readable.pipeTo(a,{preventClose:!0}),this.waitUntil&&await this.waitUntil,await a.close()}catch(b){if((0,e.isAbortError)(b))return void await a.abort(b);throw b}}async pipeToNodeResponse(a){await (0,e.pipeToNodeResponse)(this.readable,a,this.waitUntil)}}},96855:(a,b)=>{"use strict";function c(a,b){let c;if((null==b?void 0:b.host)&&!Array.isArray(b.host))c=b.host.toString().split(":",1)[0];else{if(!a.hostname)return;c=a.hostname}return c.toLowerCase()}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getHostname",{enumerable:!0,get:function(){return c}})},99213:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathPrefix",{enumerable:!0,get:function(){return e}});let d=c(37132);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return""+b+c+e+f}}};
|