@scrabble-solver/scrabble-solver 2.13.12 → 2.14.0
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 +14 -14
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/eslint/.cache_8dgz12 +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/prerender-manifest.js +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/807.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/pages/api/solve.js +1 -1
- package/.next/server/pages/index.html +1 -1
- package/.next/server/pages/index.js +1 -1
- package/.next/server/pages/index.json +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/static/{N8hSsS6Ppzlj3ebHMSZvI → TxfjxrH5h31sPQxPhrJzG}/_buildManifest.js +1 -1
- package/.next/static/chunks/{main-b5b360c6afb66b05.js → main-8b0b4e610892a916.js} +1 -1
- package/.next/static/chunks/pages/{404-0c9f3e0f8b15f487.js → 404-b0c2ccded2455be0.js} +1 -1
- package/.next/static/chunks/pages/_app-2912876c7b6e698e.js +17 -0
- package/.next/static/chunks/pages/index-86d9ad372c48c8b7.js +1 -0
- package/.next/static/chunks/webpack-c4acd79e87956a0e.js +1 -0
- package/.next/static/css/14625ff7b4d265d0.css +2 -0
- package/.next/trace +45 -45
- package/package.json +14 -14
- package/src/components/Alert/Alert.tsx +1 -1
- package/src/components/Board/Board.module.scss +3 -9
- package/src/components/Board/Board.tsx +2 -2
- package/src/components/Board/BoardPure.tsx +4 -3
- package/src/components/Board/components/ToggleDirectionButton/ToggleDirectionButton.tsx +2 -0
- package/src/components/Board/hooks/useBackgroundImage.tsx +2 -6
- package/src/components/Board/hooks/useBoardStyle.ts +10 -4
- package/src/components/Button/Button.tsx +1 -1
- package/src/components/Dictionary/Dictionary.module.scss +10 -7
- package/src/components/Dictionary/Dictionary.tsx +38 -36
- package/src/components/IconButton/IconButton.tsx +1 -1
- package/src/components/IconButton/Link.tsx +1 -1
- package/src/components/Keys/Arrows/Arrows.tsx +4 -4
- package/src/components/Loading/Loading.module.scss +1 -0
- package/src/components/Loading/Loading.tsx +1 -1
- package/src/components/Modal/components/Section/Section.tsx +3 -2
- package/src/components/NavButtons/NavButtons.tsx +1 -0
- package/src/components/NotFound/NotFound.tsx +1 -1
- package/src/components/Rack/Rack.tsx +1 -0
- package/src/components/Radio/Radio.tsx +1 -1
- package/src/components/Results/Cell.tsx +7 -3
- package/src/components/Results/Header.tsx +99 -0
- package/src/components/Results/HeaderButton.tsx +18 -13
- package/src/components/Results/Result.tsx +23 -16
- package/src/components/Results/Results.module.scss +27 -18
- package/src/components/Results/Results.tsx +3 -9
- package/src/components/Results/types.ts +0 -8
- package/src/components/Solver/Solver.tsx +1 -1
- package/src/components/Solver/components/ResultCandidatePicker/ResultCandidatePicker.tsx +1 -1
- package/src/components/Tile/TilePure.tsx +2 -1
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useAppLayout.ts +12 -1
- package/src/hooks/useColumns.ts +47 -0
- package/src/icons/GeoAlt.svg +5 -0
- package/src/icons/OneTwoThree.svg +4 -0
- package/src/icons/SquareA.svg +6 -0
- package/src/icons/SquareB.svg +6 -0
- package/src/icons/Squares.svg +34 -0
- package/src/icons/Words.svg +22 -0
- package/src/icons/index.ts +6 -0
- package/src/lib/groupResults.ts +1 -1
- package/src/lib/index.ts +0 -1
- package/src/lib/sortResults.ts +10 -10
- package/src/modals/KeyMapModal/KeyMapModal.tsx +8 -9
- package/src/modals/MenuModal/MenuModal.tsx +1 -1
- package/src/modals/RemainingTilesModal/RemainingTilesModal.tsx +1 -0
- package/src/modals/SettingsModal/SettingsModal.tsx +5 -5
- package/src/modals/SettingsModal/components/LocaleSetting/LocaleSetting.tsx +1 -1
- package/src/modals/WordsModal/WordsModal.tsx +4 -2
- package/src/parameters/index.ts +12 -0
- package/src/state/selectors.ts +26 -1
- package/src/state/slices/resultsInitialState.ts +2 -2
- package/src/state/slices/resultsSlice.ts +2 -2
- package/src/state/useTranslate.ts +5 -1
- package/src/styles/variables.scss +1 -0
- package/src/types/index.ts +11 -2
- package/.next/static/chunks/pages/_app-8246f5b39b6a5e59.js +0 -17
- package/.next/static/chunks/pages/index-65bfe83d121535ab.js +0 -1
- package/.next/static/chunks/webpack-6ef43a8d4a395f49.js +0 -1
- package/.next/static/css/2f727b21d1331ea5.css +0 -2
- package/src/components/Results/getCoordinatesColumn.ts +0 -14
- package/src/components/Results/getLocaleColumns.ts +0 -58
- package/src/components/Results/useColumns.ts +0 -44
- package/src/lib/dataUrlToBlob.ts +0 -20
- /package/.next/static/{N8hSsS6Ppzlj3ebHMSZvI → TxfjxrH5h31sPQxPhrJzG}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-78c92fac7aa8fdd8.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:["static/
|
|
1
|
+
self.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-78c92fac7aa8fdd8.js"],devFiles:[],ampDevFiles:[],lowPriorityFiles:["static/TxfjxrH5h31sPQxPhrJzG/_buildManifest.js","static/TxfjxrH5h31sPQxPhrJzG/_ssgManifest.js"],rootMainFiles:[],pages:{"/":["static/chunks/webpack-c4acd79e87956a0e.js","static/chunks/framework-c623a49d0bf89652.js","static/chunks/main-8b0b4e610892a916.js","static/css/6682db14f926d4c7.css","static/chunks/pages/index-86d9ad372c48c8b7.js"],"/404":["static/chunks/webpack-c4acd79e87956a0e.js","static/chunks/framework-c623a49d0bf89652.js","static/chunks/main-8b0b4e610892a916.js","static/chunks/pages/404-b0c2ccded2455be0.js"],"/_app":["static/chunks/webpack-c4acd79e87956a0e.js","static/chunks/framework-c623a49d0bf89652.js","static/chunks/main-8b0b4e610892a916.js","static/css/14625ff7b4d265d0.css","static/chunks/pages/_app-2912876c7b6e698e.js"],"/_error":["static/chunks/webpack-c4acd79e87956a0e.js","static/chunks/framework-c623a49d0bf89652.js","static/chunks/main-8b0b4e610892a916.js","static/chunks/pages/_error-6f16571cf9224b25.js"]},ampFirstPages:[]};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Super Scrabble Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="next-head-count" content="15"/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Super Scrabble Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="next-head-count" content="15"/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/14625ff7b4d265d0.css" as="style"/><link rel="stylesheet" href="/_next/static/css/14625ff7b4d265d0.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/_next/static/chunks/webpack-c4acd79e87956a0e.js" defer=""></script><script src="/_next/static/chunks/framework-c623a49d0bf89652.js" defer=""></script><script src="/_next/static/chunks/main-8b0b4e610892a916.js" defer=""></script><script src="/_next/static/chunks/pages/_app-2912876c7b6e698e.js" defer=""></script><script src="/_next/static/chunks/pages/404-b0c2ccded2455be0.js" defer=""></script><script src="/_next/static/TxfjxrH5h31sPQxPhrJzG/_buildManifest.js" defer=""></script><script src="/_next/static/TxfjxrH5h31sPQxPhrJzG/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish. Source code is available on GitHub - contributions are welcome!</p><div class="NotFound_notFound__WN02P"><a class="NotFound_link__MEAuF" href="/"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true" class="NotFound_icon__UWN1j" role="img"><path fill="currentColor" d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0M4.5 7.5a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1z"></path></svg><svg class="NotFound_tiles__TCY86" viewBox="0 0 682 80" xmlns="http://www.w3.org/2000/svg"><g class="PlainTiles_tile___NJSM" transform="rotate(0, 40, 40)"><rect fill="#f7c2aa" height="80" rx="12" width="80" x="0" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="40" y="40">H</text></g><g class="PlainTiles_tile___NJSM" transform="rotate(0, 126, 40)"><rect fill="#efe3ae" height="80" rx="12" width="80" x="86" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="126" y="40">T</text></g><g class="PlainTiles_tile___NJSM" transform="rotate(0, 212, 40)"><rect fill="#efe3ae" height="80" rx="12" width="80" x="172" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="212" y="40">T</text></g><g class="PlainTiles_tile___NJSM" transform="rotate(0, 298, 40)"><rect fill="#c7d8f9" height="80" rx="12" width="80" x="258" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="298" y="40">P</text></g><g class="PlainTiles_tile___NJSM" transform="rotate(0, 470, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="430" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="470" y="40">4</text></g><g class="PlainTiles_tile___NJSM" transform="rotate(0, 556, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="516" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="556" y="40">0</text></g><g class="PlainTiles_tile___NJSM" transform="rotate(0, 642, 40)"><rect fill="#bae3ba" height="80" rx="12" width="80" x="602" y="0"></rect><text dominant-baseline="central" font-size="48" font-weight="bold" text-anchor="middle" x="642" y="40">4</text></g></svg></a></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"TxfjxrH5h31sPQxPhrJzG","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Super Scrabble Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><title>500: Internal Server Error</title><meta name="next-head-count" content="15"/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Super Scrabble Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><title>500: Internal Server Error</title><meta name="next-head-count" content="15"/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/14625ff7b4d265d0.css" as="style"/><link rel="stylesheet" href="/_next/static/css/14625ff7b4d265d0.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/_next/static/chunks/webpack-c4acd79e87956a0e.js" defer=""></script><script src="/_next/static/chunks/framework-c623a49d0bf89652.js" defer=""></script><script src="/_next/static/chunks/main-8b0b4e610892a916.js" defer=""></script><script src="/_next/static/chunks/pages/_app-2912876c7b6e698e.js" defer=""></script><script src="/_next/static/chunks/pages/_error-6f16571cf9224b25.js" defer=""></script><script src="/_next/static/TxfjxrH5h31sPQxPhrJzG/_buildManifest.js" defer=""></script><script src="/_next/static/TxfjxrH5h31sPQxPhrJzG/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish. Source code is available on GitHub - contributions are welcome!</p><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"TxfjxrH5h31sPQxPhrJzG","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var e={};e.id=87,e.ids=[87],e.modules={9119:e=>{e.exports=require("@kamilmielnik/trie")},8048:e=>{e.exports=require("cheerio")},6953:e=>{e.exports=require("follow-redirects")},1118:e=>{e.exports=require("latinize")},145:e=>{e.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},4616:e=>{e.exports=require("unzipper")},7773:e=>{e.exports=require("winston")},6113:e=>{e.exports=require("crypto")},7147:e=>{e.exports=require("fs")},2037:e=>{e.exports=require("os")},1017:e=>{e.exports=require("path")},7310:e=>{e.exports=require("url")},7534:(e,t,r)=>{r.r(t),r.d(t,{config:()=>k,default:()=>S,routeModule:()=>E});var n,l,a={};r.r(a),r.d(a,{config:()=>w,default:()=>x});var o=r(9150),i=r(1631),u=r(6835),s=r(7911),f=r(8436),d=r(9044),c=r(2954),p=r.n(c),g=r(368),h=r(6452),b=r(9927),v=r(9953),P=r(1525);let m=e=>Array.isArray(e)&&e.every(e=>"string"==typeof e);(function(e){e.Ascending="ascending",e.Descending="descending"})(n||(n={})),function(e){e.BlanksCount="blanks-count",e.ConsonantsCount="consonants-count",e.Coordinates="coordinates",e.Points="points",e.TilesCount="tiles-count",e.VowelsCount="vowels-count",e.Word="word",e.WordsCount="words-count"}(l||(l={}));let _=e=>(t,r)=>t.localeCompare(r,e),y=(e,t)=>e-t,C=(e,t)=>{let r=_(t);return(t,n)=>{let l=t[e],a=n[e];return"string"==typeof l&&"string"==typeof a?r(l,a):"number"==typeof l&&"number"==typeof a?y(l,a):0}},O=(e,t)=>"number"===t?String(e+1):"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[e],j=(e,t)=>{if("hidden"===t)return"";let r=e.cells[0],n=r.x!==e.cells[1].x,l=O(r.x,"original"===t?"letter":"number"),a=O(r.y,"original"===t?"number":"letter");return n?`${a}${l}`:`${l}${a}`};l.BlanksCount,l.ConsonantsCount,l.Coordinates,l.Points,l.TilesCount,l.VowelsCount,l.Word,l.WordsCount,e=>C("wordsCount",e);let M=e=>{let{board:t,characters:r,game:n,locale:l}=e.body;if(!(0,h.isLocale)(l))throw Error('Invalid "locale" parameter');if(!(0,h.isGame)(n))throw Error('Invalid "game" parameter');if(!m(r)||0===r.length)throw Error('Invalid "characters" parameter');if(!(0,s.hasConfig)(n,l))throw Error(`No game "${n}" in "${l}"`);let a=(0,s.getConfig)(n,l);for(let e of r)if(!(0,v.Z)(e))throw Error('Invalid "characters" parameter');if(r.filter(e=>e===f.BLANK).length>a.blanksCount)throw Error("Too many blank tiles passed");if(!(0,h.isBoardJson)(t)||!(0,P.Z)(t,a))throw Error('Invalid "board" parameter');return{board:h.Board.fromJson(t),characters:r,config:a,locale:l}},w={api:{responseLimit:"25mb"}},x=async(e,t)=>{let r=(0,b.Z)(e);try{let{board:n,characters:l,config:a,locale:o}=M(e);p().info("solve - request",{meta:r,payload:{board:n.toString(),boardBlanksCount:n.getBlanksCount(),boardTilesCount:n.getTilesCount(),characters:l.join(""),game:e.body.game,locale:o}});let i=await d.dictionaries.get(o),u=l.map(e=>new h.Tile({character:e,isBlank:e===f.BLANK})),s=(0,g.solve)(i,a,n,u);t.status(200).send(s)}catch(n){let e=n instanceof Error?n.message:"Unknown error";p().error("solve - error",{error:n,meta:r}),t.status(500).send({error:"Server error",message:e})}},S=(0,u.l)(a,"default"),k=(0,u.l)(a,"config"),E=new o.PagesAPIRouteModule({definition:{kind:i.x.PAGES_API,page:"/api/solve",pathname:"/api/solve",bundlePath:"",filename:""},userland:a})},1525:(e,t,r)=>{r.d(t,{Z:()=>i});var n=r(9953);let l=(e,t)=>{let{isEmpty:r,tile:l,x:a,y:o}=e;return!(a<0)&&!(a>=t.boardSize)&&!(o<0)&&!(o>=t.boardSize)&&(!r||null===l)&&(null===l||!!(0,n.Z)(l.character))},a=(e,t)=>{if(e.length!==t.boardSize)return!1;for(let r of e)if(!l(r,t))return!1;return!0},o=(e,t)=>{for(let r of e.flat().filter(e=>e&&e.tile&&t.isTwoCharacterTilePrefix(e.tile.character)))for(let n of t.twoCharacterTiles){let t=r.y+1<e.length,l=r.x+1<e[0].length,a=e[r.y+1][r.x],o=e[r.y][r.x+1],i=t&&a.tile&&a.tile.character===n[1],u=l&&o.tile&&o.tile.character===n[1],s=i||u;if(r.tile&&n.startsWith(r.tile.character)&&s)return!1}return!0},i=(e,t)=>{if(e.length!==t.boardSize)return!1;for(let r of e)if(!a(r,t))return!1;return o(e,t)}},9953:(e,t,r)=>{r.d(t,{Z:()=>n});let n=e=>0!==e.length&&e.length<=2},3904:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=(e,t)=>{let{twoCharacterTiles:r}=e,{cells:n}=t;for(let e=0;e<n.length-1;++e){let t=n[e],l=n[e+1],a=t.tile.character+l.tile.character;if(r.includes(a))return!1}return!0}},3594:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fillPatternRecursive=void 0;let n=r(8436),l=r(6452);t.fillPatternRecursive=(e,r,a,o,i,u)=>{let s=o.getIndexOfFirstCellWithoutTile();if(-1===s){r.has(i)&&o.getCollisions().every(e=>r.has(e.toString()))&&e.push(new l.FinalPattern(o.clone()));return}for(let f=0;f<u.length;++f){let d=u[f],c=o.cells[s].tile;o.cells[s].tile=d;let p=o.getIndexOfFirstCellWithoutTile(),g=i.indexOf(n.EMPTY_CELL),h=i.substring(0,g),b=i.substring(g+1);for(let n of d.isBlank?a.alphabet:[d.character]){let i=h+n,s=i+b;d.character=n,-1===p?r.has(s)&&o.getCollisions().every(e=>r.has(e.toString()))&&e.push(new l.FinalPattern(o.clone())):r.hasPrefix(i)&&(u.splice(f,1),(0,t.fillPatternRecursive)(e,r,a,o,s,u),u.splice(f,0,d))}o.cells[s].tile=c}},t.default=(e,r,n,l)=>{if(n.getEmptyCellsCount()>l.length)return[];let a=[];return(0,t.fillPatternRecursive)(a,e,r,n,n.toString(),l),a}},856:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=(e,t)=>{if(0===e.length)return[];let r=[];for(let n=t+1;n<e.length-1;++n)e[n+1].hasTile()||r.push(n);return r.push(e.length-1),r}},1331:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let l=r(6452),a=n(r(7984)),o=n(r(8618));t.default=(e,t)=>(0,o.default)({getNthVector:e=>t.getRow(e),vectorsCount:e.boardSize}).flatMap(r=>(0,a.default)({board:t,config:e,PatternModel:l.HorizontalPattern,cells:r}))},7984:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let l=n(r(856)),a=n(r(8182));t.default=({board:e,cells:t,config:r,PatternModel:n})=>(0,a.default)(t).flatMap(a=>{let o=(0,l.default)(t,a),i=[];for(let l of o){let o=new n(e,t.slice(a,l+1));o.canBePlaced(r)&&i.push(o)}return i})},9480:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let l=n(r(1331)),a=n(r(5069));t.default=(e,t)=>{let r=(0,l.default)(e,t),n=(0,a.default)(e,t);return r.concat(n)}},8182:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=e=>{if(0===e.length)return[];let t=[0];for(let r=1;r<e.length-1;++r)e[r-1].hasTile()||t.push(r);return t}},8618:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=({getNthVector:e,vectorsCount:t})=>Array.from({length:t},(t,r)=>e(r))},5069:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let l=r(6452),a=n(r(7984)),o=n(r(8618));t.default=(e,t)=>(0,o.default)({getNthVector:e=>t.getColumn(e),vectorsCount:e.boardSize}).flatMap(r=>(0,a.default)({board:t,config:e,PatternModel:l.VerticalPattern,cells:r}))},6628:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let n=r(8436);t.default=(e,t)=>{let r=t.reduce(({multiplier:t,score:r},l)=>{let a=e.getCellBonus(l),{characterMultiplier:o,wordMultiplier:i}=a&&a.canApply(e,l)?a.value:n.NO_BONUS,u=e.pointsMap[l.tile.character]||0;return{multiplier:t*i,score:r+(l.tile.isBlank?e.blankScore:u)*o}},{multiplier:1,score:0});return r.score*r.multiplier}},2352:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=e=>e.cells.filter(e=>e.isEmpty).map(e=>{let t=e.tile.isBlank?"!":"",r=e.tile.character+t;return[e.x,e.y,r].join(",")}).join("-")},4808:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let l=n(r(6628));t.default=(e,t)=>{let r=t.getEmptyCellsCount()===e.rackSize?e.bingoScore:0;return t.getCollisions().reduce((t,r)=>t+(0,l.default)(e,r.cells),(0,l.default)(e,t.cells))+r}},5555:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let l=n(r(2352));t.default=e=>{let t=new Set,r=[];for(let n of e){let e=(0,l.default)(n);t.has(e)||(t.add(e),r.push(n))}return r}},368:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.solve=t.getUniquePatterns=t.getPatternScore=t.getPatternHash=t.getCellsScore=t.generateVerticalPatterns=t.generateVectors=t.generateStartIndices=t.generatePatterns=t.generatePattern=t.generateHorizontalPatterns=t.generateEndIndices=t.fillPattern=t.areDigraphsValid=void 0;var l=r(3904);Object.defineProperty(t,"areDigraphsValid",{enumerable:!0,get:function(){return n(l).default}});var a=r(3594);Object.defineProperty(t,"fillPattern",{enumerable:!0,get:function(){return n(a).default}});var o=r(856);Object.defineProperty(t,"generateEndIndices",{enumerable:!0,get:function(){return n(o).default}});var i=r(1331);Object.defineProperty(t,"generateHorizontalPatterns",{enumerable:!0,get:function(){return n(i).default}});var u=r(7984);Object.defineProperty(t,"generatePattern",{enumerable:!0,get:function(){return n(u).default}});var s=r(9480);Object.defineProperty(t,"generatePatterns",{enumerable:!0,get:function(){return n(s).default}});var f=r(8182);Object.defineProperty(t,"generateStartIndices",{enumerable:!0,get:function(){return n(f).default}});var d=r(8618);Object.defineProperty(t,"generateVectors",{enumerable:!0,get:function(){return n(d).default}});var c=r(5069);Object.defineProperty(t,"generateVerticalPatterns",{enumerable:!0,get:function(){return n(c).default}});var p=r(6628);Object.defineProperty(t,"getCellsScore",{enumerable:!0,get:function(){return n(p).default}});var g=r(2352);Object.defineProperty(t,"getPatternHash",{enumerable:!0,get:function(){return n(g).default}});var h=r(4808);Object.defineProperty(t,"getPatternScore",{enumerable:!0,get:function(){return n(h).default}});var b=r(5555);Object.defineProperty(t,"getUniquePatterns",{enumerable:!0,get:function(){return n(b).default}});var v=r(6243);Object.defineProperty(t,"solve",{enumerable:!0,get:function(){return n(v).default}})},6243:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let l=n(r(3904)),a=n(r(3594)),o=n(r(9480)),i=n(r(4808)),u=n(r(5555));t.default=(e,t,r,n)=>{let s=(0,o.default)(t,r).flatMap(r=>(0,a.default)(e,t,r,n)),f=t.twoCharacterTiles.length>0?s.filter(e=>(0,l.default)(t,e)):s;return(0,u.default)(f).map((e,r)=>({cells:e.cells.map(e=>e.toJson()),collisions:e.getCollisions().map(e=>e.cells.map(e=>e.toJson())),id:r,points:(0,i.default)(t,e)}))}}};var t=require("../../webpack-api-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[977,911],()=>r(7534));module.exports=n})();
|
|
1
|
+
"use strict";(()=>{var e={};e.id=87,e.ids=[87],e.modules={9119:e=>{e.exports=require("@kamilmielnik/trie")},8048:e=>{e.exports=require("cheerio")},6953:e=>{e.exports=require("follow-redirects")},1118:e=>{e.exports=require("latinize")},145:e=>{e.exports=require("next/dist/compiled/next-server/pages-api.runtime.prod.js")},4616:e=>{e.exports=require("unzipper")},7773:e=>{e.exports=require("winston")},6113:e=>{e.exports=require("crypto")},7147:e=>{e.exports=require("fs")},2037:e=>{e.exports=require("os")},1017:e=>{e.exports=require("path")},7310:e=>{e.exports=require("url")},7534:(e,t,r)=>{r.r(t),r.d(t,{config:()=>k,default:()=>S,routeModule:()=>B});var n,l,a={};r.r(a),r.d(a,{config:()=>w,default:()=>x});var o=r(9150),i=r(1631),u=r(6835),s=r(7911),f=r(8436),d=r(9044),c=r(2954),p=r.n(c),g=r(368),h=r(6452),b=r(9927),v=r(9953),P=r(1525);(function(e){e.Ascending="ascending",e.Descending="descending"})(n||(n={})),function(e){e.BlanksCount="blanks-count",e.ConsonantsCount="consonants-count",e.Coordinates="coordinates",e.Points="points",e.TilesCount="tiles-count",e.VowelsCount="vowels-count",e.Word="word",e.WordsCount="words-count"}(l||(l={})),l.BlanksCount,l.ConsonantsCount,l.Coordinates,l.Points,l.TilesCount,l.VowelsCount,l.Word,l.WordsCount;let m=e=>Array.isArray(e)&&e.every(e=>"string"==typeof e),_=e=>(t,r)=>t.localeCompare(r,e),y=(e,t)=>e-t,C=(e,t)=>{let r=_(t);return(t,n)=>{let l=t[e],a=n[e];return"string"==typeof l&&"string"==typeof a?r(l,a):"number"==typeof l&&"number"==typeof a?y(l,a):0}},O=(e,t)=>"number"===t?String(e+1):"ABCDEFGHIJKLMNOPQRSTUVWXYZ"[e],j=(e,t)=>{if("hidden"===t)return"";let r=e.cells[0],n=r.x!==e.cells[1].x,l=O(r.x,"original"===t?"letter":"number"),a=O(r.y,"original"===t?"number":"letter");return n?`${a}${l}`:`${l}${a}`};l.BlanksCount,l.ConsonantsCount,l.Coordinates,l.Points,l.TilesCount,l.VowelsCount,l.Word,l.WordsCount,e=>C("wordsCount",e);let M=e=>{let{board:t,characters:r,game:n,locale:l}=e.body;if(!(0,h.isLocale)(l))throw Error('Invalid "locale" parameter');if(!(0,h.isGame)(n))throw Error('Invalid "game" parameter');if(!m(r)||0===r.length)throw Error('Invalid "characters" parameter');if(!(0,s.hasConfig)(n,l))throw Error(`No game "${n}" in "${l}"`);let a=(0,s.getConfig)(n,l);for(let e of r)if(!(0,v.Z)(e))throw Error('Invalid "characters" parameter');if(r.filter(e=>e===f.BLANK).length>a.blanksCount)throw Error("Too many blank tiles passed");if(!(0,h.isBoardJson)(t)||!(0,P.Z)(t,a))throw Error('Invalid "board" parameter');return{board:h.Board.fromJson(t),characters:r,config:a,locale:l}},w={api:{responseLimit:"25mb"}},x=async(e,t)=>{let r=(0,b.Z)(e);try{let{board:n,characters:l,config:a,locale:o}=M(e);p().info("solve - request",{meta:r,payload:{board:n.toString(),boardBlanksCount:n.getBlanksCount(),boardTilesCount:n.getTilesCount(),characters:l.join(""),game:e.body.game,locale:o}});let i=await d.dictionaries.get(o),u=l.map(e=>new h.Tile({character:e,isBlank:e===f.BLANK})),s=(0,g.solve)(i,a,n,u);t.status(200).send(s)}catch(n){let e=n instanceof Error?n.message:"Unknown error";p().error("solve - error",{error:n,meta:r}),t.status(500).send({error:"Server error",message:e})}},S=(0,u.l)(a,"default"),k=(0,u.l)(a,"config"),B=new o.PagesAPIRouteModule({definition:{kind:i.x.PAGES_API,page:"/api/solve",pathname:"/api/solve",bundlePath:"",filename:""},userland:a})},1525:(e,t,r)=>{r.d(t,{Z:()=>i});var n=r(9953);let l=(e,t)=>{let{isEmpty:r,tile:l,x:a,y:o}=e;return!(a<0)&&!(a>=t.boardSize)&&!(o<0)&&!(o>=t.boardSize)&&(!r||null===l)&&(null===l||!!(0,n.Z)(l.character))},a=(e,t)=>{if(e.length!==t.boardSize)return!1;for(let r of e)if(!l(r,t))return!1;return!0},o=(e,t)=>{for(let r of e.flat().filter(e=>e&&e.tile&&t.isTwoCharacterTilePrefix(e.tile.character)))for(let n of t.twoCharacterTiles){let t=r.y+1<e.length,l=r.x+1<e[0].length,a=e[r.y+1][r.x],o=e[r.y][r.x+1],i=t&&a.tile&&a.tile.character===n[1],u=l&&o.tile&&o.tile.character===n[1],s=i||u;if(r.tile&&n.startsWith(r.tile.character)&&s)return!1}return!0},i=(e,t)=>{if(e.length!==t.boardSize)return!1;for(let r of e)if(!a(r,t))return!1;return o(e,t)}},9953:(e,t,r)=>{r.d(t,{Z:()=>n});let n=e=>0!==e.length&&e.length<=2},3904:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=(e,t)=>{let{twoCharacterTiles:r}=e,{cells:n}=t;for(let e=0;e<n.length-1;++e){let t=n[e],l=n[e+1],a=t.tile.character+l.tile.character;if(r.includes(a))return!1}return!0}},3594:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.fillPatternRecursive=void 0;let n=r(8436),l=r(6452);t.fillPatternRecursive=(e,r,a,o,i,u)=>{let s=o.getIndexOfFirstCellWithoutTile();if(-1===s){r.has(i)&&o.getCollisions().every(e=>r.has(e.toString()))&&e.push(new l.FinalPattern(o.clone()));return}for(let f=0;f<u.length;++f){let d=u[f],c=o.cells[s].tile;o.cells[s].tile=d;let p=o.getIndexOfFirstCellWithoutTile(),g=i.indexOf(n.EMPTY_CELL),h=i.substring(0,g),b=i.substring(g+1);for(let n of d.isBlank?a.alphabet:[d.character]){let i=h+n,s=i+b;d.character=n,-1===p?r.has(s)&&o.getCollisions().every(e=>r.has(e.toString()))&&e.push(new l.FinalPattern(o.clone())):r.hasPrefix(i)&&(u.splice(f,1),(0,t.fillPatternRecursive)(e,r,a,o,s,u),u.splice(f,0,d))}o.cells[s].tile=c}},t.default=(e,r,n,l)=>{if(n.getEmptyCellsCount()>l.length)return[];let a=[];return(0,t.fillPatternRecursive)(a,e,r,n,n.toString(),l),a}},856:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=(e,t)=>{if(0===e.length)return[];let r=[];for(let n=t+1;n<e.length-1;++n)e[n+1].hasTile()||r.push(n);return r.push(e.length-1),r}},1331:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let l=r(6452),a=n(r(7984)),o=n(r(8618));t.default=(e,t)=>(0,o.default)({getNthVector:e=>t.getRow(e),vectorsCount:e.boardSize}).flatMap(r=>(0,a.default)({board:t,config:e,PatternModel:l.HorizontalPattern,cells:r}))},7984:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let l=n(r(856)),a=n(r(8182));t.default=({board:e,cells:t,config:r,PatternModel:n})=>(0,a.default)(t).flatMap(a=>{let o=(0,l.default)(t,a),i=[];for(let l of o){let o=new n(e,t.slice(a,l+1));o.canBePlaced(r)&&i.push(o)}return i})},9480:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let l=n(r(1331)),a=n(r(5069));t.default=(e,t)=>{let r=(0,l.default)(e,t),n=(0,a.default)(e,t);return r.concat(n)}},8182:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=e=>{if(0===e.length)return[];let t=[0];for(let r=1;r<e.length-1;++r)e[r-1].hasTile()||t.push(r);return t}},8618:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=({getNthVector:e,vectorsCount:t})=>Array.from({length:t},(t,r)=>e(r))},5069:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let l=r(6452),a=n(r(7984)),o=n(r(8618));t.default=(e,t)=>(0,o.default)({getNthVector:e=>t.getColumn(e),vectorsCount:e.boardSize}).flatMap(r=>(0,a.default)({board:t,config:e,PatternModel:l.VerticalPattern,cells:r}))},6628:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});let n=r(8436);t.default=(e,t)=>{let r=t.reduce(({multiplier:t,score:r},l)=>{let a=e.getCellBonus(l),{characterMultiplier:o,wordMultiplier:i}=a&&a.canApply(e,l)?a.value:n.NO_BONUS,u=e.pointsMap[l.tile.character]||0;return{multiplier:t*i,score:r+(l.tile.isBlank?e.blankScore:u)*o}},{multiplier:1,score:0});return r.score*r.multiplier}},2352:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.default=e=>e.cells.filter(e=>e.isEmpty).map(e=>{let t=e.tile.isBlank?"!":"",r=e.tile.character+t;return[e.x,e.y,r].join(",")}).join("-")},4808:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let l=n(r(6628));t.default=(e,t)=>{let r=t.getEmptyCellsCount()===e.rackSize?e.bingoScore:0;return t.getCollisions().reduce((t,r)=>t+(0,l.default)(e,r.cells),(0,l.default)(e,t.cells))+r}},5555:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let l=n(r(2352));t.default=e=>{let t=new Set,r=[];for(let n of e){let e=(0,l.default)(n);t.has(e)||(t.add(e),r.push(n))}return r}},368:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.solve=t.getUniquePatterns=t.getPatternScore=t.getPatternHash=t.getCellsScore=t.generateVerticalPatterns=t.generateVectors=t.generateStartIndices=t.generatePatterns=t.generatePattern=t.generateHorizontalPatterns=t.generateEndIndices=t.fillPattern=t.areDigraphsValid=void 0;var l=r(3904);Object.defineProperty(t,"areDigraphsValid",{enumerable:!0,get:function(){return n(l).default}});var a=r(3594);Object.defineProperty(t,"fillPattern",{enumerable:!0,get:function(){return n(a).default}});var o=r(856);Object.defineProperty(t,"generateEndIndices",{enumerable:!0,get:function(){return n(o).default}});var i=r(1331);Object.defineProperty(t,"generateHorizontalPatterns",{enumerable:!0,get:function(){return n(i).default}});var u=r(7984);Object.defineProperty(t,"generatePattern",{enumerable:!0,get:function(){return n(u).default}});var s=r(9480);Object.defineProperty(t,"generatePatterns",{enumerable:!0,get:function(){return n(s).default}});var f=r(8182);Object.defineProperty(t,"generateStartIndices",{enumerable:!0,get:function(){return n(f).default}});var d=r(8618);Object.defineProperty(t,"generateVectors",{enumerable:!0,get:function(){return n(d).default}});var c=r(5069);Object.defineProperty(t,"generateVerticalPatterns",{enumerable:!0,get:function(){return n(c).default}});var p=r(6628);Object.defineProperty(t,"getCellsScore",{enumerable:!0,get:function(){return n(p).default}});var g=r(2352);Object.defineProperty(t,"getPatternHash",{enumerable:!0,get:function(){return n(g).default}});var h=r(4808);Object.defineProperty(t,"getPatternScore",{enumerable:!0,get:function(){return n(h).default}});var b=r(5555);Object.defineProperty(t,"getUniquePatterns",{enumerable:!0,get:function(){return n(b).default}});var v=r(6243);Object.defineProperty(t,"solve",{enumerable:!0,get:function(){return n(v).default}})},6243:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});let l=n(r(3904)),a=n(r(3594)),o=n(r(9480)),i=n(r(4808)),u=n(r(5555));t.default=(e,t,r,n)=>{let s=(0,o.default)(t,r).flatMap(r=>(0,a.default)(e,t,r,n)),f=t.twoCharacterTiles.length>0?s.filter(e=>(0,l.default)(t,e)):s;return(0,u.default)(f).map((e,r)=>({cells:e.cells.map(e=>e.toJson()),collisions:e.getCollisions().map(e=>e.cells.map(e=>e.toJson())),id:r,points:(0,i.default)(t,e)}))}}};var t=require("../../webpack-api-runtime.js");t.C(e);var r=e=>t(t.s=e),n=t.X(0,[977,911],()=>r(7534));module.exports=n})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Super Scrabble Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="next-head-count" content="15"/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><title>Scrabble Solver 2 by Kamil Mielnik</title><meta charSet="utf-8"/><meta name="author" content="Kamil Mielnik"/><meta name="description" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="keywords" content="Scrabble Solver,Scrabble,Solver,Super Scrabble,Super Scrabble Solver,Board,Open-source,Open,Source,Word,Finder,Cheating,Literaki,Word,English,Français,Deutsch,Polski,فارسی,Español,SOWPODS,TWL06,SJP,FISE-2017,FISE-2,CNRTL,Kamil Mielnik"/><meta name="robots" content="index, follow, notranslate, noimageindex"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta property="og:type" content="website"/><meta property="og:url" content="https://scrabble-solver.org"/><meta property="og:image" content="https://scrabble-solver.org/og.png"/><meta property="og:image:type" content="image/png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="Scrabble Solver 2 - Free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish."/><meta name="next-head-count" content="15"/><link rel="apple-touch-icon-precomposed" sizes="57x57" href="icons/apple-touch-icon-57x57.png"/><link rel="apple-touch-icon-precomposed" sizes="114x114" href="icons/apple-touch-icon-114x114.png"/><link rel="apple-touch-icon-precomposed" sizes="72x72" href="icons/apple-touch-icon-72x72.png"/><link rel="apple-touch-icon-precomposed" sizes="144x144" href="icons/apple-touch-icon-144x144.png"/><link rel="apple-touch-icon-precomposed" sizes="60x60" href="icons/apple-touch-icon-60x60.png"/><link rel="apple-touch-icon-precomposed" sizes="120x120" href="icons/apple-touch-icon-120x120.png"/><link rel="apple-touch-icon-precomposed" sizes="76x76" href="icons/apple-touch-icon-76x76.png"/><link rel="apple-touch-icon-precomposed" sizes="152x152" href="icons/apple-touch-icon-152x152.png"/><link rel="icon" type="image/png" href="icons/favicon-196x196.png" sizes="196x196"/><link rel="icon" type="image/png" href="icons/favicon-96x96.png" sizes="96x96"/><link rel="icon" type="image/png" href="icons/favicon-32x32.png" sizes="32x32"/><link rel="icon" type="image/png" href="icons/favicon-16x16.png" sizes="16x16"/><link rel="icon" type="image/png" href="icons/favicon-128.png" sizes="128x128"/><link rel="icon" href="icons/favicon.svg"/><meta name="application-name" content="Scrabble Solver"/><meta name="msapplication-TileColor" content="#EFE3AE"/><meta name="msapplication-TileImage" content="icons/mstile-144x144.png"/><meta name="msapplication-square70x70logo" content="icons/mstile-70x70.png"/><meta name="msapplication-square150x150logo" content="icons/mstile-150x150.png"/><meta name="msapplication-wide310x150logo" content="icons/mstile-310x150.png"/><meta name="msapplication-square310x310logo" content="icons/mstile-310x310.png"/><link rel="preload" href="/_next/static/css/14625ff7b4d265d0.css" as="style"/><link rel="stylesheet" href="/_next/static/css/14625ff7b4d265d0.css" data-n-g=""/><link rel="preload" href="/_next/static/css/6682db14f926d4c7.css" as="style"/><link rel="stylesheet" href="/_next/static/css/6682db14f926d4c7.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/_next/static/chunks/webpack-c4acd79e87956a0e.js" defer=""></script><script src="/_next/static/chunks/framework-c623a49d0bf89652.js" defer=""></script><script src="/_next/static/chunks/main-8b0b4e610892a916.js" defer=""></script><script src="/_next/static/chunks/pages/_app-2912876c7b6e698e.js" defer=""></script><script src="/_next/static/chunks/pages/index-86d9ad372c48c8b7.js" defer=""></script><script src="/_next/static/TxfjxrH5h31sPQxPhrJzG/_buildManifest.js" defer=""></script><script src="/_next/static/TxfjxrH5h31sPQxPhrJzG/_ssgManifest.js" defer=""></script></head><body><div id="__next"><p style="color:transparent;pointer-events:none;position:absolute;user-select:none;transform:translateY(-9999px)">Scrabble Solver 2 is a free and open-source analysis tool for Scrabble, Super Scrabble & Literaki. Quickly find top scoring words using given letters and board state. Available in English, French, German, Polish & Spanish. Source code is available on GitHub - contributions are welcome!</p></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"version":"v2.14.0"},"__N_SSG":true},"page":"/","query":{},"buildId":"TxfjxrH5h31sPQxPhrJzG","isFallback":false,"gsp":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var e={};e.id=405,e.ids=[405,660],e.modules={6021:(e,t)=>{"use strict";Object.defineProperty(t,"l",{enumerable:!0,get:function(){return function e(t,a){return a in t?t[a]:"then"in t&&"function"==typeof t.then?t.then(t=>e(t,a)):"function"==typeof t&&"default"===a?t:void 0}}})},6130:e=>{e.exports={content:"DictionaryModal_content___jXD2",dictionary:"DictionaryModal_dictionary__Eu9Sx",dictionaryInput:"DictionaryModal_dictionaryInput__CKiX5"}},1069:e=>{e.exports={mapping:"Mapping_mapping__Ua6wj",description:"Mapping_description__nSNia",keys:"Mapping_keys__KmIcZ",group:"Mapping_group__MlkmV",slash:"Mapping_slash__hulS4",plus:"Mapping_plus__KE_ml"}},763:e=>{e.exports={button:"MenuModal_button__x3zTR",settings:"MenuModal_settings__XE_P3",settingsLabel:"MenuModal_settingsLabel__xYRLv",flag:"MenuModal_flag__NGaHf"}},3127:e=>{e.exports={title:"RemainingTilesModal_title__4rcbk",content:"RemainingTilesModal_content__NrmXd",badge:"RemainingTilesModal_badge__vZkrc",character:"RemainingTilesModal_character__16pGR"}},385:e=>{e.exports={character:"Character_character__Xry5W",finished:"Character_finished__Ee5Eu",overused:"Character_overused__WV6tJ",tile:"Character_tile__Ledy0",remaining:"Character_remaining__DFxBl",count:"Character_count__Bl6_O"}},1233:e=>{e.exports={content:"ResultsModal_content__vzX7N",results:"ResultsModal_results__FDN3k",dictionary:"ResultsModal_dictionary__o3cpd"}},7451:e=>{e.exports={option:"AutoGroupTilesSetting_option__dp8CH",label:"AutoGroupTilesSetting_label__MIKlN"}},573:e=>{e.exports={option:"ConfigSetting_option__pvmMK",label:"ConfigSetting_label__CeZI1"}},1422:e=>{e.exports={option:"InputModeSetting_option__9tdaY",label:"InputModeSetting_label__al6kL"}},9267:e=>{e.exports={option:"LocaleSetting_option__3uVpq",label:"LocaleSetting_label__VqJH9",flag:"LocaleSetting_flag__cnMgQ"}},6041:e=>{e.exports={option:"ShowCoordinatesSetting_option__teifi",label:"ShowCoordinatesSetting_label__h0REI"}},2551:e=>{e.exports={title:"WordsModal_title__UGHtI",badge:"WordsModal_badge__Ay_8V",word:"WordsModal_word__sCI06",invalid:"WordsModal_invalid__jgYeh",valid:"WordsModal_valid__JW5lM",icon:"WordsModal_icon___HWi4"}},2200:e=>{e.exports={nav:"index_nav__oayCy",navContent:"index_navContent__puCTa",navLogo:"index_navLogo__iI_za",logoContainer:"index_logoContainer__YyxQp",logo:"index_logo__jZUto",solver:"index_solver__wz8VS"}},1540:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.r(t),a.d(t,{config:()=>g,default:()=>u,getServerSideProps:()=>x,getStaticPaths:()=>h,getStaticProps:()=>p,reportWebVitals:()=>m,routeModule:()=>k,unstable_getServerProps:()=>b,unstable_getServerSideProps:()=>y,unstable_getStaticParams:()=>j,unstable_getStaticPaths:()=>v,unstable_getStaticProps:()=>_});var i=a(8877),n=a(4591),r=a(6021),l=a(4725),c=a(7807),o=a(2564),d=e([c,o]);[c,o]=d.then?(await d)():d;let u=(0,r.l)(o,"default"),p=(0,r.l)(o,"getStaticProps"),h=(0,r.l)(o,"getStaticPaths"),x=(0,r.l)(o,"getServerSideProps"),g=(0,r.l)(o,"config"),m=(0,r.l)(o,"reportWebVitals"),_=(0,r.l)(o,"unstable_getStaticProps"),v=(0,r.l)(o,"unstable_getStaticPaths"),j=(0,r.l)(o,"unstable_getStaticParams"),b=(0,r.l)(o,"unstable_getServerProps"),y=(0,r.l)(o,"unstable_getServerSideProps"),k=new i.PagesRouteModule({definition:{kind:n.x.PAGES,page:"/index",pathname:"/",bundlePath:"",filename:""},components:{App:c.default,Document:l.default},userland:o});s()}catch(e){s(e)}})},2862:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>u});var i=a(997),n=a(6689),r=a(9716),l=a(3940),c=a(6130),o=a.n(c),d=e([r,l]);[r,l]=d.then?(await d)():d;let u=(0,n.memo)(({className:e,isOpen:t,onClose:a})=>{let s=(0,l.qM)();return i.jsx(r.u_,{className:e,isOpen:t,title:s("dictionary"),onClose:a,children:(0,i.jsxs)("div",{className:o().content,children:[i.jsx(r.Xy,{className:o().dictionary}),i.jsx(r.Z$,{className:o().dictionaryInput})]})})});s()}catch(e){s(e)}})},9543:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>i.Z});var i=a(2862),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},1282:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>d});var i=a(997),n=a(6689),r=a(9716),l=a(3940),c=a(9131),o=e([r,l]);[r,l]=o.then?(await o)():o;let d=(0,n.memo)(({className:e,isOpen:t,onClose:a})=>{let s=(0,l.qM)(),n=(0,l.ix)(l.$o);return(0,i.jsxs)(r.u_,{className:e,isOpen:t,title:s("keyMap"),onClose:a,children:[(0,i.jsxs)(r.u_.Section,{title:s("keyMap.board-and-rack"),children:[i.jsx(c.v,{description:s("keyMap.board-and-rack.navigate"),mapping:[i.jsx(r.ki,{},"arrows")]}),i.jsx(c.v,{description:s("keyMap.board-and-rack.remove-tile"),mapping:[i.jsx(r.v6,{},"del"),i.jsx(r.kW,{},"backspace")]}),i.jsx(c.v,{description:s("keyMap.board-and-rack.submit"),mapping:[i.jsx(r.Ce,{},"del")]}),i.jsx(c.v,{description:s("keyMap.board.toggle-cell-filter"),mapping:[[i.jsx(r.e1,{},"ctrl"),i.jsx(r.sr,{children:"G"},"g")]]}),n.twoCharacterTiles.length>0&&i.jsx(c.v,{description:s("keyMap.board-and-rack.insert-two-letter-tile"),mapping:[[i.jsx(r.e1,{},"ctrl"),i.jsx(i.Fragment,{children:n.twoCharacterTiles.map(([e])=>i.jsx(r.sr,{children:e.toUpperCase()},e))})]]})]}),(0,i.jsxs)(r.u_.Section,{title:s("keyMap.board"),children:[i.jsx(c.v,{description:s("keyMap.board.toggle-blank"),mapping:[i.jsx(r.T,{},"space")]}),i.jsx(c.v,{description:s("keyMap.board.toggle-direction"),mapping:[i.jsx(r.ki,{},"arrows")]})]}),i.jsx(r.u_.Section,{title:s("keyMap.rack"),children:i.jsx(c.v,{description:s("keyMap.rack.insert-blank"),mapping:[i.jsx(r.T,{},"space")]})})]})});s()}catch(e){s(e)}})},9131:(e,t,a)=>{"use strict";a.d(t,{v:()=>o});var s=a(997),i=a(9003),n=a.n(i),r=a(6689),l=a(1069),c=a.n(l);let o=({className:e,description:t,mapping:a})=>(0,s.jsxs)("div",{className:n()(c().mapping,e),children:[s.jsx("h3",{className:c().description,children:t}),s.jsx("div",{className:c().keys,children:a.map((e,t)=>(0,s.jsxs)(r.Fragment,{children:[s.jsx("div",{className:c().group,children:Array.isArray(e)?(0,s.jsxs)(s.Fragment,{children:[e[0],s.jsx("span",{className:c().plus,children:"+"}),e[1]]}):e}),a.length>1&&t<a.length-1&&s.jsx("span",{className:c().slash,children:"/"})]},t))})]})},4209:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>i.Z});var i=a(1282),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},6335:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>x});var i=a(997),n=a(6689),r=a(9716),l=a(6303),c=a(7163),o=a(5280),d=a(3940),u=a(763),p=a.n(u),h=e([r,d]);[r,d]=h.then?(await h)():h;let x=(0,n.memo)(({className:e,isOpen:t,onClose:a,onShowDictionary:s,onShowRemainingTiles:n,onShowSettings:u,onShowWords:h})=>{let x=(0,d.qM)(),g=(0,d.ix)(d.fN),{Icon:m}=l.q[g];return(0,i.jsxs)(r.u_,{className:e,isOpen:t,title:x("menu"),onClose:a,children:[i.jsx(r.zx,{"aria-label":x("remaining-tiles"),className:p().button,Icon:c.xy,onClick:n,children:x("remaining-tiles")}),i.jsx(r.zx,{"aria-label":x("words"),className:p().button,Icon:c.Kz,onClick:h,children:x("words")}),i.jsx(r.zx,{"aria-label":x("dictionary"),className:p().button,Icon:c.PP,onClick:s,children:x("dictionary")}),i.jsx(r.zx.Link,{"aria-label":x("github"),className:p().button,href:o.h4,Icon:c.Ey,rel:"noopener noreferrer",target:"_blank",children:x("github")}),i.jsx(r.zx,{"aria-label":x("settings"),className:p().button,Icon:c.Oz,onClick:u,children:(0,i.jsxs)("div",{className:p().settings,children:[i.jsx("div",{className:p().settingsLabel,children:x("settings")}),i.jsx(m,{className:p().flag})]})})]})});s()}catch(e){s(e)}})},7051:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>i.Z});var i=a(6335),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},1300:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>g});var i=a(997),n=a(6689),r=a(9716),l=a(6303),c=a(172),o=a(5280),d=a(3940),u=a(5698),p=a(3127),h=a.n(p),x=e([r,d,u]);[r,d,u]=x.then?(await x)():x;let g=(0,n.memo)(({className:e,isOpen:t,onClose:a})=>{let s=(0,d.qM)(),n=(0,d.ix)(d.fN),p=(0,d.ix)(d.Yj),{tileFontSize:x}=(0,c.vc)(o.mM),{direction:g}=l.q[n];return i.jsx(r.u_,{className:e,isOpen:t,title:s("remaining-tiles"),onClose:a,children:p.map(({remainingCount:e,tiles:t,translationKey:a,totalCount:l})=>i.jsx(r.u_.Section,{title:(0,i.jsxs)("span",{className:h().title,children:[i.jsx("span",{children:s(a)}),(0,i.jsxs)(r.Ct,{className:h().badge,children:[("ltr"===g?e:l).toLocaleString(n)," / ",("ltr"===g?l:e).toLocaleString(n)]})]}),children:i.jsx("div",{className:h().content,style:{fontSize:x},children:t.map(e=>i.jsx("div",{className:h().character,children:i.jsx(u.z,{tile:e})},e.character))})},a))})});s()}catch(e){s(e)}})},8094:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>g});var i=a(997),n=a(7618),r=a(9003),l=a.n(r),c=a(9716),o=a(6303),d=a(5280),u=a(3940),p=a(385),h=a.n(p),x=e([c,u]);[c,u]=x.then?(await x)():x;let g=({tile:e})=>{let t=(0,u.ix)(u.fN),{direction:a}=o.q[t],{character:s,count:r,usedCount:p}=e,x=r-p,g=(0,u.ix)(e=>(0,u.Or)(e,s)),m="ltr"===a?x:r,_="ltr"===a?r:x;return(0,i.jsxs)("div",{className:l()(h().character,{[h().finished]:x<=0,[h().overused]:x<0}),children:[i.jsx(c.n9,{"aria-label":s,character:s,className:h().tile,disabled:!0,isBlank:s===n.BLANK,isValid:x>=0,points:g,raised:!0,size:d.mM}),i.jsx(c.Ex,{className:h().remaining,max:r,style:{width:d.mM},value:x}),(0,i.jsxs)("div",{className:h().count,children:[m.toLocaleString(t)," / ",_.toLocaleString(t)]})]})};s()}catch(e){s(e)}})},4950:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>i.Z});var i=a(8094),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},5698:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{z:()=>i.Z});var i=a(4950),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},1220:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>i.Z});var i=a(1300),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},1867:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>x});var i=a(997),n=a(6689),r=a(3291),l=a(9716),c=a(3180),o=a(7163),d=a(3940),u=a(1233),p=a.n(u),h=e([r,l,c,d]);[r,l,c,d]=h.then?(await h)():h;let x=(0,n.memo)(({className:e,isOpen:t,onClose:a})=>{let s=(0,r.useDispatch)(),u=(0,d.qM)(),{showResultsInModal:h}=(0,c.Ft)(),x=(0,d.ix)(d.x5),g=(0,d.ix)(d.Xk),m=x?x.findIndex(e=>e.id===g?.id):-1,_=(0,n.useMemo)(()=>({onClick:e=>{e===g?a():s(d._C.actions.changeResultCandidate(e))}}),[s,a,g]);return(0,n.useEffect)(()=>{t&&!h&&a()},[t,a,h]),i.jsx(l.u_,{className:e,footer:(0,i.jsxs)(i.Fragment,{children:[i.jsx(l.zx,{"aria-label":u("results.insert"),disabled:!g,Icon:o.Jr,tooltip:u("results.insert"),variant:"primary",onClick:()=>{g&&s(d._C.actions.applyResult(g)),a()},children:u("results.insert")}),i.jsx(l.zx,{"aria-label":u("results.preview"),disabled:!g,Icon:o.YO,tooltip:u("results.preview"),onClick:()=>{a()},children:u("results.preview")})]}),isOpen:t,title:u("results"),onClose:a,children:(0,i.jsxs)("div",{className:p().content,children:[i.jsx(l.u9,{callbacks:_,className:p().results,highlightedIndex:-1===m?void 0:m}),i.jsx(l.Xy,{className:p().dictionary})]})})});s()}catch(e){s(e)}})},606:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>i.Z});var i=a(1867),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},6311:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>u});var i=a(997),n=a(6689),r=a(9716),l=a(3180),c=a(3940),o=a(6922),d=e([r,l,c,o]);[r,l,c,o]=d.then?(await d)():d;let u=(0,n.memo)(({className:e,isOpen:t,onClose:a})=>{let s=(0,c.qM)(),n=(0,l.YQ)();return(0,i.jsxs)(r.u_,{className:e,isOpen:t,title:s("settings"),onClose:a,children:[i.jsx(r.u_.Section,{title:s("settings.game"),children:i.jsx(o.DG,{disabled:!t})}),i.jsx(r.u_.Section,{title:s("settings.language"),children:i.jsx(o.YR,{disabled:!t})}),i.jsx(r.u_.Section,{title:s("settings.showCoordinates"),children:i.jsx(o.P9,{disabled:!t})}),!n&&i.jsx(r.u_.Section,{title:s("settings.inputMode"),children:i.jsx(o.te,{disabled:!t})}),i.jsx(r.u_.Section,{title:s("settings.autoGroupTiles"),children:i.jsx(o.gy,{disabled:!t})})]})});s()}catch(e){s(e)}})},6637:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>h});var i=a(997),n=a(3291),r=a(9716),l=a(3940),c=a(7451),o=a.n(c),d=a(4110),u=a(6599),p=e([n,r,l]);[n,r,l]=p.then?(await p)():p;let h=({className:e,disabled:t})=>{let a=(0,n.useDispatch)(),s=(0,l.qM)(),c=(0,l.ix)(l.uz),p=[{label:s("settings.autoGroupTiles.left"),value:"left"},{label:s("settings.autoGroupTiles.right"),value:"right"},{label:s("settings.autoGroupTiles.null"),value:d.I}],h=e=>{let t=(0,u.H)(e.target.value);a(l.xj.actions.changeAutoGroupTiles(t))};return i.jsx("div",{className:e,children:p.map(e=>i.jsx(r.Y8,{checked:c===(0,u.H)(e.value),className:o().option,disabled:t,name:"autoGroupTiles",value:e.value,onChange:h,children:i.jsx("div",{className:o().label,children:e.label})},e.value))})};s()}catch(e){s(e)}})},4110:(e,t,a)=>{"use strict";a.d(t,{I:()=>s});let s="null"},4114:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>i.Z});var i=a(6637),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},6599:(e,t,a)=>{"use strict";a.d(t,{H:()=>i});var s=a(4110);let i=e=>{if("left"===e||"right"===e)return e;if(e===s.I)return null;throw Error(`"${e}" is not valid. Should be "left", "right", or "${s.I}"`)}},4094:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>h});var i=a(997),n=a(9418),r=a(4046),l=a(3291),c=a(9716),o=a(3940),d=a(573),u=a.n(d),p=e([l,c,o]);[l,c,o]=p.then?(await p)():p;let h=({className:e,disabled:t})=>{let a=(0,l.useDispatch)(),s=(0,o.ix)(o.J1),d=(0,o.ix)(o.fN),p=Object.values(n.games).map(e=>({disabled:!(0,n.hasConfig)(e.game,d),label:e.name,value:e.game})),h=e=>{(0,r.isGame)(e.target.value)&&a(o.xj.actions.changeGame(e.target.value))};return i.jsx("div",{className:e,children:p.map(e=>i.jsx(c.Y8,{checked:s===e.value,className:u().option,disabled:t||e.disabled,name:"game",value:e.value,onChange:h,children:i.jsx("div",{className:u().label,children:e.label})},e.value))})};s()}catch(e){s(e)}})},8792:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>i.Z});var i=a(4094),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},1125:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>p});var i=a(997),n=a(3291),r=a(9716),l=a(3940),c=a(1422),o=a.n(c),d=a(7491),u=e([n,r,l]);[n,r,l]=u.then?(await u)():u;let p=({className:e,disabled:t})=>{let a=(0,n.useDispatch)(),s=(0,l.qM)(),c=(0,l.ix)(l.Ub),u=[{label:s("settings.inputMode.keyboard"),value:"keyboard"},{label:s("settings.inputMode.touchscreen"),value:"touchscreen"}],p=e=>{let t=(0,d.H)(e.target.value);a(l.xj.actions.changeInputMode(t))};return i.jsx("div",{className:e,children:u.map(e=>i.jsx(r.Y8,{checked:c===e.value,className:o().option,disabled:t,name:"inputMode",value:e.value,onChange:p,children:i.jsx("div",{className:o().label,children:e.label})},e.value))})};s()}catch(e){s(e)}})},8724:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>i.Z});var i=a(1125),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},7491:(e,t,a)=>{"use strict";a.d(t,{H:()=>s});let s=e=>{if("keyboard"===e)return"keyboard";if("touchscreen"===e)return"touchscreen";throw Error(`"${e}" is not valid. Should be "keyboard" or "touchscreen"`)}},6686:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>g});var i=a(997),n=a(9003),r=a.n(n),l=a(3291),c=a(9716),o=a(6303),d=a(3940),u=a(9267),p=a.n(u),h=e([l,c,d]);[l,c,d]=h.then?(await h)():h;let x=Object.values(o.q).sort((e,t)=>e.name.localeCompare(t.name)),g=({className:e,disabled:t})=>{let a=(0,l.useDispatch)(),s=(0,d.ix)(d.fN),n=e=>{let t=e.target.value;a(d.xj.actions.changeLocale(t))};return i.jsx("div",{className:e,children:x.map(({Icon:a,...l})=>i.jsx(c.Y8,{checked:s===l.locale,className:r()(p().option,e,{[p().checked]:s===l.locale}),disabled:t,name:"locale",value:l.locale,onChange:n,children:(0,i.jsxs)("span",{className:p().label,children:[i.jsx(a,{className:p().flag}),i.jsx("span",{children:l.label})]})},l.locale))})};s()}catch(e){s(e)}})},8580:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>i.Z});var i=a(6686),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},4389:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>u});var i=a(997),n=a(3291),r=a(9716),l=a(3940),c=a(6041),o=a.n(c),d=e([n,r,l]);[n,r,l]=d.then?(await d)():d;let u=({className:e,disabled:t})=>{let a=(0,n.useDispatch)(),s=(0,l.qM)(),c=(0,l.ix)(l.kX),d=[{label:s("settings.showCoordinates.hidden"),value:"hidden"},{label:s("settings.showCoordinates.original"),value:"original"},{label:s("settings.showCoordinates.alternative"),value:"alternative"}],u=e=>{let t=e.target.value;a(l.xj.actions.changeShowCoordinates(t))};return i.jsx("div",{className:e,children:d.map(e=>i.jsx(r.Y8,{checked:String(c)===e.value,className:o().option,disabled:t,name:"showCoordinates",value:e.value,onChange:u,children:i.jsx("div",{className:o().label,children:e.label})},e.value))})};s()}catch(e){s(e)}})},58:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>i.Z});var i=a(4389),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},6922:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{DG:()=>n.Z,P9:()=>c.Z,YR:()=>l.Z,gy:()=>i.Z,te:()=>r.Z});var i=a(4114),n=a(8792),r=a(8724),l=a(8580),c=a(58),o=e([i,n,r,l,c]);[i,n,r,l,c]=o.then?(await o)():o,s()}catch(e){s(e)}})},7289:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>i.Z});var i=a(6311),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},2635:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>x});var i=a(997),n=a(9003),r=a.n(n),l=a(6689),c=a(9716),o=a(7163),d=a(3940),u=a(2551),p=a.n(u),h=e([c,d]);[c,d]=h.then?(await h)():h;let x=(0,l.memo)(({className:e,isOpen:t,onClose:a})=>{let s=(0,d.qM)(),n=(0,d.ix)(d.fN),{invalidWords:l,validWords:u}=(0,d.ix)(d.HM);return(0,i.jsxs)(c.u_,{className:e,isOpen:t,title:s("words"),onClose:a,children:[i.jsx(c.u_.Section,{title:(0,i.jsxs)("span",{className:p().title,children:[i.jsx("span",{children:s("words.invalid")}),i.jsx(c.Ct,{className:p().badge,children:l.length.toLocaleString(n)})]}),children:l.map((e,t)=>(0,i.jsxs)("div",{className:p().word,children:[i.jsx(o.X1,{className:r()(p().icon,p().invalid)})," ",e]},t))}),i.jsx(c.u_.Section,{title:(0,i.jsxs)("span",{className:p().title,children:[i.jsx("span",{children:s("words.valid")}),i.jsx(c.Ct,{className:p().badge,children:u.length.toLocaleString(n)})]}),children:u.map((e,t)=>(0,i.jsxs)("div",{className:p().word,children:[i.jsx(o.Jr,{className:r()(p().icon,p().valid)})," ",e]},t))})]})});s()}catch(e){s(e)}})},6534:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{Z:()=>i.Z});var i=a(2635),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},8239:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.d(t,{HN:()=>r.Z,QT:()=>i.Z,Rx:()=>d.Z,S9:()=>n.Z,TB:()=>o.Z,by:()=>l.Z,e_:()=>c.Z});var i=a(9543),n=a(4209),r=a(7051),l=a(1220),c=a(606),o=a(7289),d=a(6534),u=e([i,n,r,l,c,o,d]);[i,n,r,l,c,o,d]=u.then?(await u)():u,s()}catch(e){s(e)}})},4725:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>l});var s=a(997),i=a(331),n=a.n(i);class r extends n(){render(){return(0,s.jsxs)(i.Html,{lang:"en",children:[(0,s.jsxs)(i.Head,{children:[s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"57x57",href:"icons/apple-touch-icon-57x57.png"}),s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"114x114",href:"icons/apple-touch-icon-114x114.png"}),s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"72x72",href:"icons/apple-touch-icon-72x72.png"}),s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"144x144",href:"icons/apple-touch-icon-144x144.png"}),s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"60x60",href:"icons/apple-touch-icon-60x60.png"}),s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"120x120",href:"icons/apple-touch-icon-120x120.png"}),s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"76x76",href:"icons/apple-touch-icon-76x76.png"}),s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"152x152",href:"icons/apple-touch-icon-152x152.png"}),s.jsx("link",{rel:"icon",type:"image/png",href:"icons/favicon-196x196.png",sizes:"196x196"}),s.jsx("link",{rel:"icon",type:"image/png",href:"icons/favicon-96x96.png",sizes:"96x96"}),s.jsx("link",{rel:"icon",type:"image/png",href:"icons/favicon-32x32.png",sizes:"32x32"}),s.jsx("link",{rel:"icon",type:"image/png",href:"icons/favicon-16x16.png",sizes:"16x16"}),s.jsx("link",{rel:"icon",type:"image/png",href:"icons/favicon-128.png",sizes:"128x128"}),s.jsx("link",{rel:"icon",href:"icons/favicon.svg"}),s.jsx("meta",{name:"application-name",content:"Scrabble Solver"}),s.jsx("meta",{name:"msapplication-TileColor",content:"#EFE3AE"}),s.jsx("meta",{name:"msapplication-TileImage",content:"icons/mstile-144x144.png"}),s.jsx("meta",{name:"msapplication-square70x70logo",content:"icons/mstile-70x70.png"}),s.jsx("meta",{name:"msapplication-square150x150logo",content:"icons/mstile-150x150.png"}),s.jsx("meta",{name:"msapplication-wide310x150logo",content:"icons/mstile-310x150.png"}),s.jsx("meta",{name:"msapplication-square310x310logo",content:"icons/mstile-310x310.png"})]}),(0,s.jsxs)("body",{children:[s.jsx(i.Main,{}),s.jsx(i.NextScript,{})]})]})}}let l=r},2564:(e,t,a)=>{"use strict";a.a(e,async(e,s)=>{try{a.r(t),a.d(t,{default:()=>w,getStaticProps:()=>k});var i=a(997),n=a(7147),r=a.n(n),l=a(1017),c=a.n(l),o=a(6689),d=a(9931),u=a.n(d),p=a(3291),h=a(9716),x=a(3180),g=a(6303),m=a(8239),_=a(6994),v=a(3940),j=a(2200),b=a.n(j),y=e([p,h,x,m,v]);[p,h,x,m,v]=y.then?(await y)():y,u().setAppElement("#__next");let k=async()=>({props:{version:await S()}}),S=async()=>{let e=c().resolve(process.cwd(),"package.json"),t=await r().promises.readFile(e,"utf-8"),a=JSON.parse(t);return`v${a.version}`},w=({version:e})=>{let t=(0,p.useDispatch)(),a=(0,v.ix)(v.fN),[s,n]=(0,o.useState)(!1),[r,l]=(0,o.useState)(!1),[c,d]=(0,o.useState)(!1),[u,j]=(0,o.useState)(!1),[y,k]=(0,o.useState)(!1),[S,w]=(0,o.useState)(!1),[f,C]=(0,o.useState)(!1),[N,M]=(0,o.useState)(!1),Z=(0,o.useCallback)(()=>k(!0),[]),P=(0,o.useCallback)(()=>t((0,v.mc)()),[t]),q=(0,o.useCallback)(()=>n(!1),[]),z=(0,o.useCallback)(()=>l(!1),[]),T=(0,o.useCallback)(()=>d(!1),[]),I=(0,o.useCallback)(()=>j(!1),[]),E=(0,o.useCallback)(()=>k(!1),[]),O=(0,o.useCallback)(()=>w(!1),[]),R=(0,o.useCallback)(()=>C(!1),[]),A=(0,o.useCallback)(()=>n(!0),[]),G=(0,o.useCallback)(()=>l(!0),[]),L=(0,o.useCallback)(()=>d(!0),[]),D=(0,o.useCallback)(()=>j(!0),[]),W=(0,o.useCallback)(()=>w(!0),[]),H=(0,o.useCallback)(()=>C(!0),[]);return((0,x.gm)(g.q[a].direction),(0,x.ZK)(a),(0,x._)(),(0,x.qR)(()=>{(0,_.$)(),M(!0),t((0,v.j2)())}),N)?(0,i.jsxs)(i.Fragment,{children:[i.jsx("nav",{className:b().nav,children:(0,i.jsxs)("div",{className:b().navContent,children:[i.jsx("div",{className:b().navLogo,children:i.jsx("a",{className:b().logoContainer,href:"/",title:e,children:i.jsx(h.TR,{className:b().logo})})}),i.jsx(h._m,{onClear:P,onShowKeyMap:G,onShowMenu:L,onShowRemainingTiles:D,onShowSettings:W,onShowWords:H})]})}),i.jsx(h.ME,{className:b().solver,onShowResults:Z}),i.jsx(m.HN,{isOpen:c,onClose:T,onShowDictionary:A,onShowRemainingTiles:D,onShowSettings:W,onShowWords:H}),i.jsx(m.TB,{isOpen:S,onClose:O}),i.jsx(m.S9,{isOpen:r,onClose:z}),i.jsx(m.Rx,{isOpen:f,onClose:R}),i.jsx(m.by,{isOpen:u,onClose:I}),i.jsx(m.e_,{isOpen:y,onClose:E}),i.jsx(m.QT,{isOpen:s,onClose:q})]}):null};s()}catch(e){s(e)}})},6994:(e,t,a)=>{"use strict";a.d(t,{$:()=>i});let s=require("workbox-window"),i=()=>{globalThis.navigator&&"serviceWorker"in globalThis.navigator&&new s.Workbox("/service-worker.js").register({immediate:!0})}},4591:(e,t)=>{"use strict";var a;Object.defineProperty(t,"x",{enumerable:!0,get:function(){return a}}),function(e){e.PAGES="PAGES",e.PAGES_API="PAGES_API",e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE"}(a||(a={}))},9003:e=>{"use strict";e.exports=require("classnames")},9744:e=>{"use strict";e.exports=require("include-media-query-builder")},2785:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},968:e=>{"use strict";e.exports=require("next/head")},6689:e=>{"use strict";e.exports=require("react")},4620:e=>{"use strict";e.exports=require("react-cool-onclickoutside")},6405:e=>{"use strict";e.exports=require("react-dom")},8684:e=>{"use strict";e.exports=require("react-dom/server")},1848:e=>{"use strict";e.exports=require("react-highlight-words")},9931:e=>{"use strict";e.exports=require("react-modal")},551:e=>{"use strict";e.exports=require("react-window")},997:e=>{"use strict";e.exports=require("react/jsx-runtime")},6477:e=>{"use strict";e.exports=require("redux-saga/effects")},3453:e=>{"use strict";e.exports=require("store2")},1964:e=>{"use strict";e.exports=import("@floating-ui/react")},3258:e=>{"use strict";e.exports=import("@reduxjs/toolkit")},3291:e=>{"use strict";e.exports=import("react-redux")},5998:e=>{"use strict";e.exports=import("redux-saga")},7105:e=>{"use strict";e.exports=import("use-debounce")},7147:e=>{"use strict";e.exports=require("fs")},1017:e=>{"use strict";e.exports=require("path")}};var t=require("../webpack-runtime.js");t.C(e);var a=e=>t(t.s=e),s=t.X(0,[331,577,807],()=>a(1540));module.exports=s})();
|
|
1
|
+
(()=>{var e={};e.id=405,e.ids=[405,660],e.modules={6021:(e,a)=>{"use strict";Object.defineProperty(a,"l",{enumerable:!0,get:function(){return function e(a,t){return t in a?a[t]:"then"in a&&"function"==typeof a.then?a.then(a=>e(a,t)):"function"==typeof a&&"default"===t?a:void 0}}})},6130:e=>{e.exports={content:"DictionaryModal_content___jXD2",dictionary:"DictionaryModal_dictionary__Eu9Sx",dictionaryInput:"DictionaryModal_dictionaryInput__CKiX5"}},1069:e=>{e.exports={mapping:"Mapping_mapping__Ua6wj",description:"Mapping_description__nSNia",keys:"Mapping_keys__KmIcZ",group:"Mapping_group__MlkmV",slash:"Mapping_slash__hulS4",plus:"Mapping_plus__KE_ml"}},763:e=>{e.exports={button:"MenuModal_button__x3zTR",settings:"MenuModal_settings__XE_P3",settingsLabel:"MenuModal_settingsLabel__xYRLv",flag:"MenuModal_flag__NGaHf"}},3127:e=>{e.exports={title:"RemainingTilesModal_title__4rcbk",content:"RemainingTilesModal_content__NrmXd",badge:"RemainingTilesModal_badge__vZkrc",character:"RemainingTilesModal_character__16pGR"}},385:e=>{e.exports={character:"Character_character__Xry5W",finished:"Character_finished__Ee5Eu",overused:"Character_overused__WV6tJ",tile:"Character_tile__Ledy0",remaining:"Character_remaining__DFxBl",count:"Character_count__Bl6_O"}},1233:e=>{e.exports={content:"ResultsModal_content__vzX7N",results:"ResultsModal_results__FDN3k",dictionary:"ResultsModal_dictionary__o3cpd"}},7451:e=>{e.exports={option:"AutoGroupTilesSetting_option__dp8CH",label:"AutoGroupTilesSetting_label__MIKlN"}},573:e=>{e.exports={option:"ConfigSetting_option__pvmMK",label:"ConfigSetting_label__CeZI1"}},1422:e=>{e.exports={option:"InputModeSetting_option__9tdaY",label:"InputModeSetting_label__al6kL"}},9267:e=>{e.exports={option:"LocaleSetting_option__3uVpq",label:"LocaleSetting_label__VqJH9",flag:"LocaleSetting_flag__cnMgQ"}},6041:e=>{e.exports={option:"ShowCoordinatesSetting_option__teifi",label:"ShowCoordinatesSetting_label__h0REI"}},2551:e=>{e.exports={title:"WordsModal_title__UGHtI",badge:"WordsModal_badge__Ay_8V",word:"WordsModal_word__sCI06",invalid:"WordsModal_invalid__jgYeh",valid:"WordsModal_valid__JW5lM",icon:"WordsModal_icon___HWi4"}},2200:e=>{e.exports={nav:"index_nav__oayCy",navContent:"index_navContent__puCTa",navLogo:"index_navLogo__iI_za",logoContainer:"index_logoContainer__YyxQp",logo:"index_logo__jZUto",solver:"index_solver__wz8VS"}},1540:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.r(a),t.d(a,{config:()=>g,default:()=>u,getServerSideProps:()=>x,getStaticPaths:()=>h,getStaticProps:()=>p,reportWebVitals:()=>m,routeModule:()=>k,unstable_getServerProps:()=>b,unstable_getServerSideProps:()=>y,unstable_getStaticParams:()=>j,unstable_getStaticPaths:()=>v,unstable_getStaticProps:()=>_});var i=t(8877),n=t(4591),r=t(6021),l=t(4725),c=t(7807),o=t(2564),d=e([c,o]);[c,o]=d.then?(await d)():d;let u=(0,r.l)(o,"default"),p=(0,r.l)(o,"getStaticProps"),h=(0,r.l)(o,"getStaticPaths"),x=(0,r.l)(o,"getServerSideProps"),g=(0,r.l)(o,"config"),m=(0,r.l)(o,"reportWebVitals"),_=(0,r.l)(o,"unstable_getStaticProps"),v=(0,r.l)(o,"unstable_getStaticPaths"),j=(0,r.l)(o,"unstable_getStaticParams"),b=(0,r.l)(o,"unstable_getServerProps"),y=(0,r.l)(o,"unstable_getServerSideProps"),k=new i.PagesRouteModule({definition:{kind:n.x.PAGES,page:"/index",pathname:"/",bundlePath:"",filename:""},components:{App:c.default,Document:l.default},userland:o});s()}catch(e){s(e)}})},2862:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>u});var i=t(997),n=t(6689),r=t(9716),l=t(3940),c=t(6130),o=t.n(c),d=e([r,l]);[r,l]=d.then?(await d)():d;let u=(0,n.memo)(({className:e,isOpen:a,onClose:t})=>{let s=(0,l.qM)();return i.jsx(r.u_,{className:e,isOpen:a,title:s("dictionary"),onClose:t,children:(0,i.jsxs)("div",{className:o().content,children:[i.jsx(r.Xy,{className:o().dictionary}),i.jsx(r.Z$,{className:o().dictionaryInput})]})})});s()}catch(e){s(e)}})},9543:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>i.Z});var i=t(2862),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},1282:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>d});var i=t(997),n=t(6689),r=t(9716),l=t(3940),c=t(9131),o=e([r,l]);[r,l]=o.then?(await o)():o;let d=(0,n.memo)(({className:e,isOpen:a,onClose:t})=>{let s=(0,l.qM)(),n=(0,l.ix)(l.$o);return(0,i.jsxs)(r.u_,{className:e,isOpen:a,title:s("keyMap"),onClose:t,children:[(0,i.jsxs)(r.u_.Section,{label:s("keyMap.board-and-rack"),title:s("keyMap.board-and-rack"),children:[i.jsx(c.v,{description:s("keyMap.board-and-rack.navigate"),mapping:[i.jsx(r.ki,{},"arrows")]}),i.jsx(c.v,{description:s("keyMap.board-and-rack.remove-tile"),mapping:[i.jsx(r.v6,{},"del"),i.jsx(r.kW,{},"backspace")]}),i.jsx(c.v,{description:s("keyMap.board-and-rack.submit"),mapping:[i.jsx(r.Ce,{},"del")]}),n.twoCharacterTiles.length>0&&i.jsx(c.v,{description:s("keyMap.board-and-rack.insert-two-letter-tile"),mapping:[[i.jsx(r.e1,{},"ctrl"),i.jsx(i.Fragment,{children:n.twoCharacterTiles.map(([e])=>i.jsx(r.sr,{children:e.toUpperCase()},e))})]]})]}),(0,i.jsxs)(r.u_.Section,{label:s("keyMap.board"),title:s("keyMap.board"),children:[i.jsx(c.v,{description:s("keyMap.board.toggle-direction"),mapping:[i.jsx(r.ki,{},"arrows")]}),i.jsx(c.v,{description:s("keyMap.board.toggle-blank"),mapping:[i.jsx(r.T,{},"space")]}),i.jsx(c.v,{description:s("keyMap.board.toggle-cell-filter"),mapping:[[i.jsx(r.e1,{},"ctrl"),i.jsx(r.sr,{children:"G"},"g")]]})]}),i.jsx(r.u_.Section,{label:s("keyMap.rack"),title:s("keyMap.rack"),children:i.jsx(c.v,{description:s("keyMap.rack.insert-blank"),mapping:[i.jsx(r.T,{},"space")]})})]})});s()}catch(e){s(e)}})},9131:(e,a,t)=>{"use strict";t.d(a,{v:()=>o});var s=t(997),i=t(9003),n=t.n(i),r=t(6689),l=t(1069),c=t.n(l);let o=({className:e,description:a,mapping:t})=>(0,s.jsxs)("div",{className:n()(c().mapping,e),children:[s.jsx("h3",{className:c().description,children:a}),s.jsx("div",{className:c().keys,children:t.map((e,a)=>(0,s.jsxs)(r.Fragment,{children:[s.jsx("div",{className:c().group,children:Array.isArray(e)?(0,s.jsxs)(s.Fragment,{children:[e[0],s.jsx("span",{className:c().plus,children:"+"}),e[1]]}):e}),t.length>1&&a<t.length-1&&s.jsx("span",{className:c().slash,children:"/"})]},a))})]})},4209:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>i.Z});var i=t(1282),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},6335:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>x});var i=t(997),n=t(6689),r=t(9716),l=t(6303),c=t(8630),o=t(5280),d=t(3940),u=t(763),p=t.n(u),h=e([r,d]);[r,d]=h.then?(await h)():h;let x=(0,n.memo)(({className:e,isOpen:a,onClose:t,onShowDictionary:s,onShowRemainingTiles:n,onShowSettings:u,onShowWords:h})=>{let x=(0,d.qM)(),g=(0,d.ix)(d.fN),{Icon:m}=l.q[g];return(0,i.jsxs)(r.u_,{className:e,isOpen:a,title:x("menu"),onClose:t,children:[i.jsx(r.zx,{"aria-label":x("remaining-tiles"),className:p().button,Icon:c.xy,onClick:n,children:x("remaining-tiles")}),i.jsx(r.zx,{"aria-label":x("words"),className:p().button,Icon:c.Kz,onClick:h,children:x("words")}),i.jsx(r.zx,{"aria-label":x("dictionary"),className:p().button,Icon:c.PP,onClick:s,children:x("dictionary")}),i.jsx(r.zx.Link,{"aria-label":x("github"),className:p().button,href:o.h4,Icon:c.Ey,rel:"noopener noreferrer",target:"_blank",children:x("github")}),i.jsx(r.zx,{"aria-label":x("settings"),className:p().button,Icon:c.Oz,onClick:u,children:(0,i.jsxs)("div",{className:p().settings,children:[i.jsx("div",{className:p().settingsLabel,children:x("settings")}),i.jsx(m,{"aria-hidden":"true",className:p().flag,role:"img"})]})})]})});s()}catch(e){s(e)}})},7051:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>i.Z});var i=t(6335),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},1300:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>g});var i=t(997),n=t(6689),r=t(9716),l=t(6303),c=t(7833),o=t(5280),d=t(3940),u=t(5698),p=t(3127),h=t.n(p),x=e([r,d,u]);[r,d,u]=x.then?(await x)():x;let g=(0,n.memo)(({className:e,isOpen:a,onClose:t})=>{let s=(0,d.qM)(),n=(0,d.ix)(d.fN),p=(0,d.ix)(d.Yj),{tileFontSize:x}=(0,c.vc)(o.mM),{direction:g}=l.q[n];return i.jsx(r.u_,{className:e,isOpen:a,title:s("remaining-tiles"),onClose:t,children:p.map(({remainingCount:e,tiles:a,translationKey:t,totalCount:l})=>i.jsx(r.u_.Section,{label:s(t),title:(0,i.jsxs)("span",{className:h().title,children:[i.jsx("span",{children:s(t)}),(0,i.jsxs)(r.Ct,{className:h().badge,children:[("ltr"===g?e:l).toLocaleString(n)," / ",("ltr"===g?l:e).toLocaleString(n)]})]}),children:i.jsx("div",{className:h().content,style:{fontSize:x},children:a.map(e=>i.jsx("div",{className:h().character,children:i.jsx(u.z,{tile:e})},e.character))})},t))})});s()}catch(e){s(e)}})},8094:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>g});var i=t(997),n=t(7618),r=t(9003),l=t.n(r),c=t(9716),o=t(6303),d=t(5280),u=t(3940),p=t(385),h=t.n(p),x=e([c,u]);[c,u]=x.then?(await x)():x;let g=({tile:e})=>{let a=(0,u.ix)(u.fN),{direction:t}=o.q[a],{character:s,count:r,usedCount:p}=e,x=r-p,g=(0,u.ix)(e=>(0,u.Or)(e,s)),m="ltr"===t?x:r,_="ltr"===t?r:x;return(0,i.jsxs)("div",{className:l()(h().character,{[h().finished]:x<=0,[h().overused]:x<0}),children:[i.jsx(c.n9,{"aria-label":s,character:s,className:h().tile,disabled:!0,isBlank:s===n.BLANK,isValid:x>=0,points:g,raised:!0,size:d.mM}),i.jsx(c.Ex,{className:h().remaining,max:r,style:{width:d.mM},value:x}),(0,i.jsxs)("div",{className:h().count,children:[m.toLocaleString(a)," / ",_.toLocaleString(a)]})]})};s()}catch(e){s(e)}})},4950:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>i.Z});var i=t(8094),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},5698:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{z:()=>i.Z});var i=t(4950),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},1220:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>i.Z});var i=t(1300),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},1867:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>x});var i=t(997),n=t(6689),r=t(3291),l=t(9716),c=t(3180),o=t(8630),d=t(3940),u=t(1233),p=t.n(u),h=e([r,l,c,d]);[r,l,c,d]=h.then?(await h)():h;let x=(0,n.memo)(({className:e,isOpen:a,onClose:t})=>{let s=(0,r.useDispatch)(),u=(0,d.qM)(),{showResultsInModal:h}=(0,c.Ft)(),x=(0,d.ix)(d.x5),g=(0,d.ix)(d.Xk),m=x?x.findIndex(e=>e.id===g?.id):-1,_=(0,n.useMemo)(()=>({onClick:e=>{e===g?t():s(d._C.actions.changeResultCandidate(e))}}),[s,t,g]);return(0,n.useEffect)(()=>{a&&!h&&t()},[a,t,h]),i.jsx(l.u_,{className:e,footer:(0,i.jsxs)(i.Fragment,{children:[i.jsx(l.zx,{"aria-label":u("results.insert"),disabled:!g,Icon:o.Jr,tooltip:u("results.insert"),variant:"primary",onClick:()=>{g&&s(d._C.actions.applyResult(g)),t()},children:u("results.insert")}),i.jsx(l.zx,{"aria-label":u("results.preview"),disabled:!g,Icon:o.YO,tooltip:u("results.preview"),onClick:()=>{t()},children:u("results.preview")})]}),isOpen:a,title:u("results"),onClose:t,children:(0,i.jsxs)("div",{className:p().content,children:[i.jsx(l.u9,{callbacks:_,className:p().results,highlightedIndex:-1===m?void 0:m}),i.jsx(l.Xy,{className:p().dictionary})]})})});s()}catch(e){s(e)}})},606:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>i.Z});var i=t(1867),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},6311:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>u});var i=t(997),n=t(6689),r=t(9716),l=t(3180),c=t(3940),o=t(6922),d=e([r,l,c,o]);[r,l,c,o]=d.then?(await d)():d;let u=(0,n.memo)(({className:e,isOpen:a,onClose:t})=>{let s=(0,c.qM)(),n=(0,l.YQ)();return(0,i.jsxs)(r.u_,{className:e,isOpen:a,title:s("settings"),onClose:t,children:[i.jsx(r.u_.Section,{label:s("settings.game"),title:s("settings.game"),children:i.jsx(o.DG,{disabled:!a})}),i.jsx(r.u_.Section,{label:s("settings.language"),title:s("settings.language"),children:i.jsx(o.YR,{disabled:!a})}),i.jsx(r.u_.Section,{label:s("settings.showCoordinates"),title:s("settings.showCoordinates"),children:i.jsx(o.P9,{disabled:!a})}),!n&&i.jsx(r.u_.Section,{label:s("settings.inputMode"),title:s("settings.inputMode"),children:i.jsx(o.te,{disabled:!a})}),i.jsx(r.u_.Section,{label:s("settings.autoGroupTiles"),title:s("settings.autoGroupTiles"),children:i.jsx(o.gy,{disabled:!a})})]})});s()}catch(e){s(e)}})},6637:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>h});var i=t(997),n=t(3291),r=t(9716),l=t(3940),c=t(7451),o=t.n(c),d=t(4110),u=t(6599),p=e([n,r,l]);[n,r,l]=p.then?(await p)():p;let h=({className:e,disabled:a})=>{let t=(0,n.useDispatch)(),s=(0,l.qM)(),c=(0,l.ix)(l.uz),p=[{label:s("settings.autoGroupTiles.left"),value:"left"},{label:s("settings.autoGroupTiles.right"),value:"right"},{label:s("settings.autoGroupTiles.null"),value:d.I}],h=e=>{let a=(0,u.H)(e.target.value);t(l.xj.actions.changeAutoGroupTiles(a))};return i.jsx("div",{className:e,children:p.map(e=>i.jsx(r.Y8,{checked:c===(0,u.H)(e.value),className:o().option,disabled:a,name:"autoGroupTiles",value:e.value,onChange:h,children:i.jsx("div",{className:o().label,children:e.label})},e.value))})};s()}catch(e){s(e)}})},4110:(e,a,t)=>{"use strict";t.d(a,{I:()=>s});let s="null"},4114:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>i.Z});var i=t(6637),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},6599:(e,a,t)=>{"use strict";t.d(a,{H:()=>i});var s=t(4110);let i=e=>{if("left"===e||"right"===e)return e;if(e===s.I)return null;throw Error(`"${e}" is not valid. Should be "left", "right", or "${s.I}"`)}},4094:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>h});var i=t(997),n=t(9418),r=t(4046),l=t(3291),c=t(9716),o=t(3940),d=t(573),u=t.n(d),p=e([l,c,o]);[l,c,o]=p.then?(await p)():p;let h=({className:e,disabled:a})=>{let t=(0,l.useDispatch)(),s=(0,o.ix)(o.J1),d=(0,o.ix)(o.fN),p=Object.values(n.games).map(e=>({disabled:!(0,n.hasConfig)(e.game,d),label:e.name,value:e.game})),h=e=>{(0,r.isGame)(e.target.value)&&t(o.xj.actions.changeGame(e.target.value))};return i.jsx("div",{className:e,children:p.map(e=>i.jsx(c.Y8,{checked:s===e.value,className:u().option,disabled:a||e.disabled,name:"game",value:e.value,onChange:h,children:i.jsx("div",{className:u().label,children:e.label})},e.value))})};s()}catch(e){s(e)}})},8792:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>i.Z});var i=t(4094),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},1125:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>p});var i=t(997),n=t(3291),r=t(9716),l=t(3940),c=t(1422),o=t.n(c),d=t(7491),u=e([n,r,l]);[n,r,l]=u.then?(await u)():u;let p=({className:e,disabled:a})=>{let t=(0,n.useDispatch)(),s=(0,l.qM)(),c=(0,l.ix)(l.Ub),u=[{label:s("settings.inputMode.keyboard"),value:"keyboard"},{label:s("settings.inputMode.touchscreen"),value:"touchscreen"}],p=e=>{let a=(0,d.H)(e.target.value);t(l.xj.actions.changeInputMode(a))};return i.jsx("div",{className:e,children:u.map(e=>i.jsx(r.Y8,{checked:c===e.value,className:o().option,disabled:a,name:"inputMode",value:e.value,onChange:p,children:i.jsx("div",{className:o().label,children:e.label})},e.value))})};s()}catch(e){s(e)}})},8724:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>i.Z});var i=t(1125),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},7491:(e,a,t)=>{"use strict";t.d(a,{H:()=>s});let s=e=>{if("keyboard"===e)return"keyboard";if("touchscreen"===e)return"touchscreen";throw Error(`"${e}" is not valid. Should be "keyboard" or "touchscreen"`)}},6686:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>g});var i=t(997),n=t(9003),r=t.n(n),l=t(3291),c=t(9716),o=t(6303),d=t(3940),u=t(9267),p=t.n(u),h=e([l,c,d]);[l,c,d]=h.then?(await h)():h;let x=Object.values(o.q).sort((e,a)=>e.name.localeCompare(a.name)),g=({className:e,disabled:a})=>{let t=(0,l.useDispatch)(),s=(0,d.ix)(d.fN),n=e=>{let a=e.target.value;t(d.xj.actions.changeLocale(a))};return i.jsx("div",{className:e,children:x.map(({Icon:t,...l})=>i.jsx(c.Y8,{checked:s===l.locale,className:r()(p().option,e,{[p().checked]:s===l.locale}),disabled:a,name:"locale",value:l.locale,onChange:n,children:(0,i.jsxs)("span",{className:p().label,children:[i.jsx(t,{"aria-hidden":"true",className:p().flag,role:"img"}),i.jsx("span",{children:l.label})]})},l.locale))})};s()}catch(e){s(e)}})},8580:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>i.Z});var i=t(6686),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},4389:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>u});var i=t(997),n=t(3291),r=t(9716),l=t(3940),c=t(6041),o=t.n(c),d=e([n,r,l]);[n,r,l]=d.then?(await d)():d;let u=({className:e,disabled:a})=>{let t=(0,n.useDispatch)(),s=(0,l.qM)(),c=(0,l.ix)(l.kX),d=[{label:s("settings.showCoordinates.hidden"),value:"hidden"},{label:s("settings.showCoordinates.original"),value:"original"},{label:s("settings.showCoordinates.alternative"),value:"alternative"}],u=e=>{let a=e.target.value;t(l.xj.actions.changeShowCoordinates(a))};return i.jsx("div",{className:e,children:d.map(e=>i.jsx(r.Y8,{checked:String(c)===e.value,className:o().option,disabled:a,name:"showCoordinates",value:e.value,onChange:u,children:i.jsx("div",{className:o().label,children:e.label})},e.value))})};s()}catch(e){s(e)}})},58:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>i.Z});var i=t(4389),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},6922:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{DG:()=>n.Z,P9:()=>c.Z,YR:()=>l.Z,gy:()=>i.Z,te:()=>r.Z});var i=t(4114),n=t(8792),r=t(8724),l=t(8580),c=t(58),o=e([i,n,r,l,c]);[i,n,r,l,c]=o.then?(await o)():o,s()}catch(e){s(e)}})},7289:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>i.Z});var i=t(6311),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},2635:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>x});var i=t(997),n=t(9003),r=t.n(n),l=t(6689),c=t(9716),o=t(8630),d=t(3940),u=t(2551),p=t.n(u),h=e([c,d]);[c,d]=h.then?(await h)():h;let x=(0,l.memo)(({className:e,isOpen:a,onClose:t})=>{let s=(0,d.qM)(),n=(0,d.ix)(d.fN),{invalidWords:l,validWords:u}=(0,d.ix)(d.HM);return(0,i.jsxs)(c.u_,{className:e,isOpen:a,title:s("words"),onClose:t,children:[i.jsx(c.u_.Section,{label:s("words.invalid"),title:(0,i.jsxs)("span",{className:p().title,children:[i.jsx("span",{children:s("words.invalid")}),i.jsx(c.Ct,{className:p().badge,children:l.length.toLocaleString(n)})]}),children:l.map((e,a)=>(0,i.jsxs)("div",{className:p().word,children:[i.jsx(o.X1,{"aria-hidden":"true",className:r()(p().icon,p().invalid),role:"img"})," ",e]},a))}),i.jsx(c.u_.Section,{label:s("words.valid"),title:(0,i.jsxs)("span",{className:p().title,children:[i.jsx("span",{children:s("words.valid")}),i.jsx(c.Ct,{className:p().badge,children:u.length.toLocaleString(n)})]}),children:u.map((e,a)=>(0,i.jsxs)("div",{className:p().word,children:[i.jsx(o.Jr,{"aria-hidden":"true",className:r()(p().icon,p().valid),role:"img"})," ",e]},a))})]})});s()}catch(e){s(e)}})},6534:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{Z:()=>i.Z});var i=t(2635),n=e([i]);i=(n.then?(await n)():n)[0],s()}catch(e){s(e)}})},8239:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.d(a,{HN:()=>r.Z,QT:()=>i.Z,Rx:()=>d.Z,S9:()=>n.Z,TB:()=>o.Z,by:()=>l.Z,e_:()=>c.Z});var i=t(9543),n=t(4209),r=t(7051),l=t(1220),c=t(606),o=t(7289),d=t(6534),u=e([i,n,r,l,c,o,d]);[i,n,r,l,c,o,d]=u.then?(await u)():u,s()}catch(e){s(e)}})},4725:(e,a,t)=>{"use strict";t.r(a),t.d(a,{default:()=>l});var s=t(997),i=t(331),n=t.n(i);class r extends n(){render(){return(0,s.jsxs)(i.Html,{lang:"en",children:[(0,s.jsxs)(i.Head,{children:[s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"57x57",href:"icons/apple-touch-icon-57x57.png"}),s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"114x114",href:"icons/apple-touch-icon-114x114.png"}),s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"72x72",href:"icons/apple-touch-icon-72x72.png"}),s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"144x144",href:"icons/apple-touch-icon-144x144.png"}),s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"60x60",href:"icons/apple-touch-icon-60x60.png"}),s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"120x120",href:"icons/apple-touch-icon-120x120.png"}),s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"76x76",href:"icons/apple-touch-icon-76x76.png"}),s.jsx("link",{rel:"apple-touch-icon-precomposed",sizes:"152x152",href:"icons/apple-touch-icon-152x152.png"}),s.jsx("link",{rel:"icon",type:"image/png",href:"icons/favicon-196x196.png",sizes:"196x196"}),s.jsx("link",{rel:"icon",type:"image/png",href:"icons/favicon-96x96.png",sizes:"96x96"}),s.jsx("link",{rel:"icon",type:"image/png",href:"icons/favicon-32x32.png",sizes:"32x32"}),s.jsx("link",{rel:"icon",type:"image/png",href:"icons/favicon-16x16.png",sizes:"16x16"}),s.jsx("link",{rel:"icon",type:"image/png",href:"icons/favicon-128.png",sizes:"128x128"}),s.jsx("link",{rel:"icon",href:"icons/favicon.svg"}),s.jsx("meta",{name:"application-name",content:"Scrabble Solver"}),s.jsx("meta",{name:"msapplication-TileColor",content:"#EFE3AE"}),s.jsx("meta",{name:"msapplication-TileImage",content:"icons/mstile-144x144.png"}),s.jsx("meta",{name:"msapplication-square70x70logo",content:"icons/mstile-70x70.png"}),s.jsx("meta",{name:"msapplication-square150x150logo",content:"icons/mstile-150x150.png"}),s.jsx("meta",{name:"msapplication-wide310x150logo",content:"icons/mstile-310x150.png"}),s.jsx("meta",{name:"msapplication-square310x310logo",content:"icons/mstile-310x310.png"})]}),(0,s.jsxs)("body",{children:[s.jsx(i.Main,{}),s.jsx(i.NextScript,{})]})]})}}let l=r},2564:(e,a,t)=>{"use strict";t.a(e,async(e,s)=>{try{t.r(a),t.d(a,{default:()=>w,getStaticProps:()=>k});var i=t(997),n=t(7147),r=t.n(n),l=t(1017),c=t.n(l),o=t(6689),d=t(9931),u=t.n(d),p=t(3291),h=t(9716),x=t(3180),g=t(6303),m=t(8239),_=t(6994),v=t(3940),j=t(2200),b=t.n(j),y=e([p,h,x,m,v]);[p,h,x,m,v]=y.then?(await y)():y,u().setAppElement("#__next");let k=async()=>({props:{version:await S()}}),S=async()=>{let e=c().resolve(process.cwd(),"package.json"),a=await r().promises.readFile(e,"utf-8"),t=JSON.parse(a);return`v${t.version}`},w=({version:e})=>{let a=(0,p.useDispatch)(),t=(0,v.ix)(v.fN),[s,n]=(0,o.useState)(!1),[r,l]=(0,o.useState)(!1),[c,d]=(0,o.useState)(!1),[u,j]=(0,o.useState)(!1),[y,k]=(0,o.useState)(!1),[S,w]=(0,o.useState)(!1),[C,f]=(0,o.useState)(!1),[N,M]=(0,o.useState)(!1),Z=(0,o.useCallback)(()=>k(!0),[]),P=(0,o.useCallback)(()=>a((0,v.mc)()),[a]),q=(0,o.useCallback)(()=>n(!1),[]),T=(0,o.useCallback)(()=>l(!1),[]),z=(0,o.useCallback)(()=>d(!1),[]),I=(0,o.useCallback)(()=>j(!1),[]),E=(0,o.useCallback)(()=>k(!1),[]),O=(0,o.useCallback)(()=>w(!1),[]),R=(0,o.useCallback)(()=>f(!1),[]),G=(0,o.useCallback)(()=>n(!0),[]),A=(0,o.useCallback)(()=>l(!0),[]),L=(0,o.useCallback)(()=>d(!0),[]),D=(0,o.useCallback)(()=>j(!0),[]),W=(0,o.useCallback)(()=>w(!0),[]),H=(0,o.useCallback)(()=>f(!0),[]);return((0,x.gm)(g.q[t].direction),(0,x.ZK)(t),(0,x._)(),(0,x.qR)(()=>{(0,_.$)(),M(!0),a((0,v.j2)())}),N)?(0,i.jsxs)(i.Fragment,{children:[i.jsx("nav",{className:b().nav,children:(0,i.jsxs)("div",{className:b().navContent,children:[i.jsx("div",{className:b().navLogo,children:i.jsx("a",{className:b().logoContainer,href:"/",title:e,children:i.jsx(h.TR,{className:b().logo})})}),i.jsx(h._m,{onClear:P,onShowKeyMap:A,onShowMenu:L,onShowRemainingTiles:D,onShowSettings:W,onShowWords:H})]})}),i.jsx(h.ME,{className:b().solver,onShowResults:Z}),i.jsx(m.HN,{isOpen:c,onClose:z,onShowDictionary:G,onShowRemainingTiles:D,onShowSettings:W,onShowWords:H}),i.jsx(m.TB,{isOpen:S,onClose:O}),i.jsx(m.S9,{isOpen:r,onClose:T}),i.jsx(m.Rx,{isOpen:C,onClose:R}),i.jsx(m.by,{isOpen:u,onClose:I}),i.jsx(m.e_,{isOpen:y,onClose:E}),i.jsx(m.QT,{isOpen:s,onClose:q})]}):null};s()}catch(e){s(e)}})},6994:(e,a,t)=>{"use strict";t.d(a,{$:()=>i});let s=require("workbox-window"),i=()=>{globalThis.navigator&&"serviceWorker"in globalThis.navigator&&new s.Workbox("/service-worker.js").register({immediate:!0})}},4591:(e,a)=>{"use strict";var t;Object.defineProperty(a,"x",{enumerable:!0,get:function(){return t}}),function(e){e.PAGES="PAGES",e.PAGES_API="PAGES_API",e.APP_PAGE="APP_PAGE",e.APP_ROUTE="APP_ROUTE"}(t||(t={}))},9003:e=>{"use strict";e.exports=require("classnames")},9744:e=>{"use strict";e.exports=require("include-media-query-builder")},2785:e=>{"use strict";e.exports=require("next/dist/compiled/next-server/pages.runtime.prod.js")},968:e=>{"use strict";e.exports=require("next/head")},6689:e=>{"use strict";e.exports=require("react")},4620:e=>{"use strict";e.exports=require("react-cool-onclickoutside")},6405:e=>{"use strict";e.exports=require("react-dom")},8684:e=>{"use strict";e.exports=require("react-dom/server")},1848:e=>{"use strict";e.exports=require("react-highlight-words")},9931:e=>{"use strict";e.exports=require("react-modal")},551:e=>{"use strict";e.exports=require("react-window")},997:e=>{"use strict";e.exports=require("react/jsx-runtime")},6477:e=>{"use strict";e.exports=require("redux-saga/effects")},3453:e=>{"use strict";e.exports=require("store2")},1964:e=>{"use strict";e.exports=import("@floating-ui/react")},3258:e=>{"use strict";e.exports=import("@reduxjs/toolkit")},3291:e=>{"use strict";e.exports=import("react-redux")},5998:e=>{"use strict";e.exports=import("redux-saga")},7105:e=>{"use strict";e.exports=import("use-debounce")},7147:e=>{"use strict";e.exports=require("fs")},1017:e=>{"use strict";e.exports=require("path")}};var a=require("../webpack-runtime.js");a.C(e);var t=e=>a(a.s=e),s=a.X(0,[331,577,807],()=>t(1540));module.exports=s})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"pageProps":{"version":"v2.
|
|
1
|
+
{"pageProps":{"version":"v2.14.0"},"__N_SSG":true}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"/_app":"pages/_app.js","/
|
|
1
|
+
{"/_app":"pages/_app.js","/_document":"pages/_document.js","/_error":"pages/_error.js","/404":"pages/404.html","/api/dictionary/[locale]/[word]":"pages/api/dictionary/[locale]/[word].js","/api/verify":"pages/api/verify.js","/api/visit":"pages/api/visit.js","/api/dictionary/[locale]":"pages/api/dictionary/[locale].js","/":"pages/index.js","/api/solve":"pages/api/solve.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static/css/6682db14f926d4c7.css","static/chunks/pages/index-
|
|
1
|
+
self.__BUILD_MANIFEST={__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static/css/6682db14f926d4c7.css","static/chunks/pages/index-86d9ad372c48c8b7.js"],"/404":["static/chunks/pages/404-b0c2ccded2455be0.js"],"/_error":["static/chunks/pages/_error-6f16571cf9224b25.js"],sortedPages:["/","/404","/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|