From f6d435cd448e0f9428b531fcdb0a2e45633fedf8 Mon Sep 17 00:00:00 2001 From: Ziloka <50429450+ziloka@users.noreply.github.com> Date: Fri, 22 Mar 2024 17:58:51 -0400 Subject: [PATCH] temp commit PLEASE squash --- Cargo.lock | 744 +- Cargo.toml | 14 +- README.md | 3 + resources/blox.askplays.com.zip | Bin 0 -> 272870 bytes .../_DataURI/data.a0d8e3a6ba31d.txt | 1 + .../blox.askplays.com/Roboto-Regular.woff2 | Bin 0 -> 66064 bytes .../blox.askplays.com/css/game.css | 1119 + .../blox.askplays.com/index.html | 692 + .../blox.askplays.com/js/basic.js | 39 + .../blox.askplays.com/js/block.js | 196 + .../blox.askplays.com/js/computer.js | 1268 ++ .../blox.askplays.com/js/dist/script.js | 1 + .../blox.askplays.com/js/layout.js | 179 + .../blox.askplays.com/js/libgif.js | 424 + .../blox.askplays.com/js/opener.js | 15376 ++++++++++++++ .../blox.askplays.com/js/piece.js | 821 + .../blox.askplays.com/js/replay.js | 671 + .../blox.askplays.com/js/rubbable.js | 67 + .../blox.askplays.com/manifest.json | 1 + .../res/Discord-Logo-White.svg | 10 + .../res/icons/arrow_back_ios-icon.svg | 1 + .../res/icons/arrow_forward_ios-icon.svg | 1 + .../blox.askplays.com/res/icons/chat-icon.svg | 1 + .../res/icons/file_download-icon.svg | 1 + .../res/icons/group-icon.svg | 1 + .../res/icons/insert_emoticon-icon.svg | 1 + .../res/icons/launch-icon.svg | 1 + .../blox.askplays.com/res/icons/loop-icon.svg | 1 + .../res/icons/mirror-icon.svg | 1 + .../res/icons/play_arrow-icon.svg | 1 + .../res/icons/rotate_left-icon.svg | 1 + .../res/icons/rotate_right-icon.svg | 1 + .../res/icons/search-icon.svg | 1 + .../res/icons/settings-icon.svg | 1 + .../res/icons/south-icon.svg | 1 + .../res/icons/swap_horiz-icon.svg | 1 + .../res/icons/visibility_off-icon.svg | 1 + .../blox.askplays.com/service-worker.js | 1 + .../blox.askplays.com/style.css | 1023 + .../dist/TwemojiCountryFlags.woff2 | Bin 0 -> 78292 bytes .../www.googletagmanager.com/gtag/js.html | 110 + resources/ddrkirby.com.zip | Bin 0 -> 111039 bytes .../ddrkirby.com/4-Wide Trainer.html | 49 + .../4-Wide Trainer_files/bundle.js.download | 99 + .../bundle.js.download.info | 5 + .../deobfuscated-2023-11-08T02_04_39.388Z.js | 17048 ++++++++++++++++ ...bfuscated-2023-11-08T02_04_39.388Z.js.info | 5 + src/bin/client.rs | 85 +- src/bot/cold_clear.rs | 54 + src/bot/mod.rs | 2 + src/bot/wrapper.rs | 0 src/core/generator.rs | 47 - src/core/{ => logic}/board.rs | 4 +- src/core/{ => logic}/consts.rs | 0 src/core/logic/mod.rs | 4 + src/core/{action.rs => logic/score.rs} | 32 + src/core/{random.rs => logic/utils.rs} | 45 + src/core/mod.rs | 6 +- src/drawer.rs | 2 +- src/extensions/history.rs | 2 +- src/game.rs | 173 +- src/input.rs | 4 +- src/lib.rs | 5 +- src/settings.rs | 203 - src/ui.rs | 346 + tests/wallkicks.rs | 2 +- 66 files changed, 40629 insertions(+), 370 deletions(-) create mode 100644 resources/blox.askplays.com.zip create mode 100644 resources/blox.askplays.com/_DataURI/data.a0d8e3a6ba31d.txt create mode 100644 resources/blox.askplays.com/blox.askplays.com/Roboto-Regular.woff2 create mode 100644 resources/blox.askplays.com/blox.askplays.com/css/game.css create mode 100644 resources/blox.askplays.com/blox.askplays.com/index.html create mode 100644 resources/blox.askplays.com/blox.askplays.com/js/basic.js create mode 100644 resources/blox.askplays.com/blox.askplays.com/js/block.js create mode 100644 resources/blox.askplays.com/blox.askplays.com/js/computer.js create mode 100644 resources/blox.askplays.com/blox.askplays.com/js/dist/script.js create mode 100644 resources/blox.askplays.com/blox.askplays.com/js/layout.js create mode 100644 resources/blox.askplays.com/blox.askplays.com/js/libgif.js create mode 100644 resources/blox.askplays.com/blox.askplays.com/js/opener.js create mode 100644 resources/blox.askplays.com/blox.askplays.com/js/piece.js create mode 100644 resources/blox.askplays.com/blox.askplays.com/js/replay.js create mode 100644 resources/blox.askplays.com/blox.askplays.com/js/rubbable.js create mode 100644 resources/blox.askplays.com/blox.askplays.com/manifest.json create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/Discord-Logo-White.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/arrow_back_ios-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/arrow_forward_ios-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/chat-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/file_download-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/group-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/insert_emoticon-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/launch-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/loop-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/mirror-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/play_arrow-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/rotate_left-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/rotate_right-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/search-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/settings-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/south-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/swap_horiz-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/res/icons/visibility_off-icon.svg create mode 100644 resources/blox.askplays.com/blox.askplays.com/service-worker.js create mode 100644 resources/blox.askplays.com/blox.askplays.com/style.css create mode 100644 resources/blox.askplays.com/cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1/dist/TwemojiCountryFlags.woff2 create mode 100644 resources/blox.askplays.com/www.googletagmanager.com/gtag/js.html create mode 100644 resources/ddrkirby.com.zip create mode 100644 resources/ddrkirby.com/ddrkirby.com/4-Wide Trainer.html create mode 100644 resources/ddrkirby.com/ddrkirby.com/4-Wide Trainer_files/bundle.js.download create mode 100644 resources/ddrkirby.com/ddrkirby.com/4-Wide Trainer_files/bundle.js.download.info create mode 100644 resources/deobfuscated-2023-11-08T02_04_39.388Z.js create mode 100644 resources/deobfuscated-2023-11-08T02_04_39.388Z.js.info create mode 100644 src/bot/cold_clear.rs create mode 100644 src/bot/mod.rs create mode 100644 src/bot/wrapper.rs delete mode 100644 src/core/generator.rs rename src/core/{ => logic}/board.rs (99%) rename src/core/{ => logic}/consts.rs (100%) create mode 100644 src/core/logic/mod.rs rename src/core/{action.rs => logic/score.rs} (74%) rename src/core/{random.rs => logic/utils.rs} (64%) delete mode 100644 src/settings.rs create mode 100644 src/ui.rs diff --git a/Cargo.lock b/Cargo.lock index 44abc8b..dfc2fa4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,12 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" + [[package]] name = "adler" version = "1.0.2" @@ -10,13 +16,51 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "ahash" -version = "0.8.3" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01" dependencies = [ "cfg-if", "once_cell", "version_check", + "zerocopy", +] + +[[package]] +name = "aliasable" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "250f629c0161ad8107cf89319e990051fae62832fd343083bea452d93e2205fd" + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi", ] [[package]] @@ -33,21 +77,30 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bumpalo" -version = "3.13.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +checksum = "7f30e7476521f6f8af1a1c4c0b8cc94f0bee37d91763d0ca2665f299b6cd8aec" + +[[package]] +name = "bumpalo-herd" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c51ab7ee02d3459317cc16fec045966c9120733a10229541acaf3cc81b137c95" +dependencies = [ + "bumpalo", +] [[package]] name = "bytemuck" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" +checksum = "374d28ec25809ee0e23827c2ab573d729e293f281dfe393500e7ad618baa61c6" [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "cfg-if" @@ -55,6 +108,44 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "clap" +version = "2.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +dependencies = [ + "ansi_term", + "atty", + "bitflags", + "strsim", + "textwrap", + "unicode-width", + "vec_map", +] + +[[package]] +name = "cold-clear-2" +version = "0.1.0" +source = "git+https://github.com/MinusKelvin/cold-clear-2#ed8b19327b6bd1410ddd873d8611485bd45d8fae" +dependencies = [ + "ahash 0.7.8", + "bumpalo-herd", + "enum-map", + "enum_dispatch", + "enumset", + "futures", + "nohash", + "once_cell", + "ordered-float", + "ouroboros", + "parking_lot", + "puffin", + "rand", + "serde", + "serde_json", + "structopt", +] + [[package]] name = "color_quant" version = "1.1.0" @@ -70,25 +161,118 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "darling" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54e36fcd13ed84ffdfda6f5be89b31287cbb80c439841fe69e04841435464391" +dependencies = [ + "darling_core", + "darling_macro", +] + +[[package]] +name = "darling_core" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c2cf1c23a687a1feeb728783b993c4e1ad83d99f351801977dd809b48d0a70f" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "darling_macro" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a668eda54683121533a393014d8692171709ff57a7d61f187b6e782719f8933f" +dependencies = [ + "darling_core", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "enum-map" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e893a7ba6116821058dec84a6fb14fb2a97cd8ce5fd0f85d5a4e760ecd7329d9" +dependencies = [ + "enum-map-derive", +] + +[[package]] +name = "enum-map-derive" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84278eae0af6e34ff6c1db44c11634a694aafac559ff3080e4db4e4ac35907aa" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "enum_dispatch" +version = "0.3.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f33313078bb8d4d05a2733a94ac4c2d8a0df9a2b84424ebf4f33bfc224a890e" +dependencies = [ + "once_cell", + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "enumset" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "226c0da7462c13fb57e5cc9e0dc8f0635e7d27f276a3a7fd30054647f669007d" +dependencies = [ + "enumset_derive", +] + +[[package]] +name = "enumset_derive" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e08b6c6ab82d70f08844964ba10c7babb716de2ecaeab9be5717918a5177d3af" +dependencies = [ + "darling", + "proc-macro2", + "quote", + "syn 2.0.48", +] + [[package]] name = "fdeflate" -version = "0.3.0" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d329bdeac514ee06249dabc27877490f17f5d371ec693360768b838e19f3ae10" +checksum = "209098dd6dfc4445aa6111f0e98653ac323eaa4dfd212c9ca3931bf9955c31bd" dependencies = [ "simd-adler32", ] [[package]] name = "flate2" -version = "1.0.27" +version = "1.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" +checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" dependencies = [ "crc32fast", "miniz_oxide", ] +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + [[package]] name = "fontdue" version = "0.7.3" @@ -99,6 +283,106 @@ dependencies = [ "ttf-parser", ] +[[package]] +name = "futures" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" + +[[package]] +name = "futures-executor" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" + +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "futures-sink" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" + +[[package]] +name = "futures-task" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" + +[[package]] +name = "futures-util" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +dependencies = [ + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "slab", +] + +[[package]] +name = "getrandom" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + [[package]] name = "glam" version = "0.21.3" @@ -111,9 +395,33 @@ version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash", + "ahash 0.8.7", +] + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", ] +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "image" version = "0.24.7" @@ -128,17 +436,48 @@ dependencies = [ "png", ] +[[package]] +name = "instant" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "itoa" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + [[package]] name = "libc" -version = "0.2.147" +version = "0.2.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +checksum = "13e3bf6590cbc649f4d1a3eefc9d5d6eb746f5200ffb04e5e142700b8faa56e7" + +[[package]] +name = "lock_api" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +dependencies = [ + "autocfg", + "scopeguard", +] [[package]] name = "macroquad" -version = "0.4.2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44a29dcaa0719da224e075ba07d9aa577b4bd5f6d750820cee4ef1ad2da2ea00" +checksum = "a0bf249d79f5080e200334fe30ffca25582d682ee2e180768ad7f121ba9f8caa" dependencies = [ "bumpalo", "fontdue", @@ -165,11 +504,17 @@ dependencies = [ "libc", ] +[[package]] +name = "memchr" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" + [[package]] name = "miniquad" -version = "0.4.0-alpha.6" +version = "0.4.0-alpha.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a46033fb403c40c734dffcd4cef27252ff1c75221952b5c29dad15b8e1ef345f" +checksum = "18742c400c9aa2d9b4ca72d366a38c9e2d896386e50c2e6d905b6028543a0a0b" dependencies = [ "libc", "ndk-sys", @@ -193,6 +538,12 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e1bcdd74c20ad5d95aacd60ef9ba40fdf77f767051040541df557b7a9b2a2121" +[[package]] +name = "nohash" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0f889fb66f7acdf83442c35775764b51fed3c606ab9cee51500dbde2cf528ca" + [[package]] name = "num-integer" version = "0.1.45" @@ -216,9 +567,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" +checksum = "39e3200413f237f41ab11ad6d161bc7239c84dcb631773ccd7de3dfe4b5c267c" dependencies = [ "autocfg", ] @@ -234,9 +585,79 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.18.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" + +[[package]] +name = "ordered-float" +version = "2.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" +dependencies = [ + "num-traits", +] + +[[package]] +name = "ouroboros" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f357ef82d1b4db66fbed0b8d542cbd3c22d0bf5b393b3c257b9ba4568e70c9c3" +dependencies = [ + "aliasable", + "ouroboros_macro", + "stable_deref_trait", +] + +[[package]] +name = "ouroboros_macro" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44a0b52c2cbaef7dffa5fec1a43274afe8bd2a644fa9fc50a9ef4ff0269b1257" +dependencies = [ + "Inflector", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall", + "smallvec", + "winapi", +] + +[[package]] +name = "pin-project-lite" +version = "0.2.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "png" @@ -251,46 +672,299 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95fc56cda0b5c3325f5fbbd7ff9fda9e02bb00bb3dac51252d2f1bfa1cb8cc8c" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "puffin" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d55aa42bdcc200394f970f3c386c31dae30dedcc0b2f1efebfddce249cbbbe9" +dependencies = [ + "byteorder", + "once_cell", +] + [[package]] name = "quad-rand" version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "658fa1faf7a4cc5f057c9ee5ef560f717ad9d8dc66d975267f709624d6e1ab88" +[[package]] +name = "quote" +version = "1.0.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", +] + +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom", +] + +[[package]] +name = "redox_syscall" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" +dependencies = [ + "bitflags", +] + +[[package]] +name = "ryu" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" + +[[package]] +name = "scopeguard" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" + +[[package]] +name = "serde" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.197" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] + +[[package]] +name = "serde_json" +version = "1.0.114" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" +dependencies = [ + "itoa", + "ryu", + "serde", +] + [[package]] name = "simd-adler32" version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" +[[package]] +name = "slab" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" +dependencies = [ + "autocfg", +] + [[package]] name = "slotmap" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342" +checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" dependencies = [ "version_check", ] +[[package]] +name = "smallvec" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + +[[package]] +name = "structopt" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" +dependencies = [ + "clap", + "lazy_static", + "structopt-derive", +] + +[[package]] +name = "structopt-derive" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.48" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f3531638e407dfc0814761abb7c00a5b54992b849452a0646b7f65c9f770f3f" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "tetris" version = "0.1.0" dependencies = [ + "cold-clear-2", "macroquad", ] +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + [[package]] name = "ttf-parser" version = "0.15.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7b3e06c9b9d80ed6b745c7159c40b311ad2916abb34a49e9be2653b90db0d8dd" +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-segmentation" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "unicode-width" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + [[package]] name = "version_check" version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + [[package]] name = "winapi" version = "0.3.9" @@ -312,3 +986,23 @@ name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "zerocopy" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.48", +] diff --git a/Cargo.toml b/Cargo.toml index 98d7289..dc8a7ae 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,12 +15,18 @@ path = "src/bin/client.rs" [dependencies] macroquad = "0.4" +# futures = "0.3.30" + +# for replay files +# protobuf = "3.3.0" + +# qt or copperspice (no wasm support or x) for screenshots? # PC Finder # tetra-tools = { git = "https://github.com/wirelyre/tetra-tools" } # Play again a AI bot, rust bot -# cold-clear-2 = { git = "https://github.com/MinusKelvin/cold-clear-2" } +cold-clear-2 = { git = "https://github.com/MinusKelvin/cold-clear-2" } # claim with faster move gen https://github.com/citrus610/cold-clear-2 (better performance) # AI cheese bot, rust bot @@ -39,4 +45,8 @@ macroquad = "0.4" # Misa-mino, c++ bot # misa-mino = { git = "https://github.com/jezevec10/MisaMinoBot" } -# random fork, with new comments but idk what the commits are https://github.com/iclyxcly/MisaMino \ No newline at end of file +# random fork, with new comments but idk what the commits are https://github.com/iclyxcly/MisaMino + +# FrothyPizza, Tetris-Ai +# My fork https://github.com/ziloka/Tetris-AI-FrostyPizza +# \ No newline at end of file diff --git a/README.md b/README.md index 7d2e56f..ac997a0 100644 --- a/README.md +++ b/README.md @@ -48,3 +48,6 @@ https://www.youtube.com/watch?v=yIpk5TJ_uaI After ~37 minutes On windows the memory goes from 50mb to 20~15mb + + +https://github.com/thesilican/tetris-ai \ No newline at end of file diff --git a/resources/blox.askplays.com.zip b/resources/blox.askplays.com.zip new file mode 100644 index 0000000000000000000000000000000000000000..2762b98093616ffe030f81ec7cac316e766b7d10 GIT binary patch literal 272870 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�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≻yA@qd}>~8A4_+Lh61ZQ2;=>4i%{6 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
G zg`3XUx)=!NHTT=RCH|;=B*NaJPn2=9>Jk2m_^p_sU7%dS(qa`yj}$qCQXyR{U%8aI z5i^PbC1Mz%Or}PmVkvVS`+tkI|F^jE`Pp4ewre*fbt4(wveJrZfW^JxE)8>3d2D9)+X2ZV! z)fV|URf$p`DjW1QDn$;(cMJX@*djiOj+|Whu*+bugD^LocKVBet_F z5M=h!zDhb72#Dje6QxACfn@{%@`J#nVleStGv>w~3G%JmjM%6#EyCAbtv2jYp{=2d z{BF>I1N46VdS2gtFf78=5&n=oMu1p8s09Z-HV_#?nKqWoi4kOsWGmxz5OpfWPtn#g z;qvDf6qtlZ66otA$~T4_(%(ahm!D&>-?8`p_17`|^AVeYnNzNXIo}tGpu*R4- zwm;;C(^3TOjz21_i*(_2Hr)B$f4KdNf7E2QkU0pwM!VH#B;QvHuj(rG2JZI(Q?8D#!-jf= zw7Y0_639WgQ1NHIa5hA*P>E@Evvsu(`e$aLFS-+7lpcZ1A`q=W=yCH?cy>zU{gC@V zBSl<;;Nd-Yru+<6q%?0-DETn`?`|3I8^EE@5W?9%% zdf{hq*--efpp8Ybmf9LJ^X>M!0DTSIvNQ|VPF^$%&J$j_n*PapU5QD z0HnJ<*isl?XSuJro^?{bNRwfMV{oE-1D`JS3$=4T@+|E&#EOcrN0DUj{de+4pfgt zKnMlXGMaG8+U^XysADrTTeCI3284@$F$0Q5eH+?sp;AmMXlqNi6#MtCY=8|TbdBY% zPZmIeIy{znhiM5Xq%8+zbt>wn!@cV^kG=owsqUaT1_<=`5$PYnBl-Ia5E<)WE3G$ln{xP^ z4581)JHbSbI%)09Bn@w)m4Sf!puCu*R>V2cR8J?J5~PK wcAT|)0H4jcT!eS~`vF(AHxE?D>}Kv(1&r@8BjeM-S0-a0vm)9B^6%OBf2!FYiU0rr literal 0 HcmV?d00001 diff --git a/resources/blox.askplays.com/blox.askplays.com/css/game.css b/resources/blox.askplays.com/blox.askplays.com/css/game.css new file mode 100644 index 0000000..0570854 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/css/game.css @@ -0,0 +1,1119 @@ +#fps { + position: absolute; + bottom: 0px; + font-size: 24px; + user-select: none; +} + +#ping { + position: absolute; + right: 0px; + bottom: 0px; + font-size: 24px; + user-select: none; +} + +#redbar-canvas { + position: absolute; + bottom: 0px; + right: 0px; + font-size: 24px; + border: var(--border) solid 2px; + border-right: none; + padding: 0px; + display: none; +} + +#score { + /*position: absolute; + bottom: 0px;*/ + font-size: 64px; + max-width: 160px; + width:100%; + text-align: center; + flex-grow: 1; + align-items: center; + display: flex; + justify-content: center; + user-select: none; + overflow: hidden; +} + +#main { + display: flex; + justify-content: space-around; + padding: 20px; + grid-area: main; +} + +#cv { + flex-shrink: 0; + position: relative; +} + +#cv > #back-canvas { + position: absolute; + border: none; + /* top: 2px; + left: 2px; */ + z-index: 1; +} + +#canvas { + border: 2px solid var(--border); +} + +#left-canvas, #right-canvas { + position: relative; + display: flex; + flex-direction: column; +} + +/*#right-canvas { + display: flex; + flex-direction: column; +}*/ + +#hold-canvas, #queue-canvas { + margin-top: 2px; + width:128px; + height:128px; +} + +#cv > canvas { + border: var(--border) solid 2px; + z-index: 2; + position: absolute; +} + +#hold-canvas, #queue-canvas, #cv > canvas { + padding: 0px; +} + +.canvi-div { + margin: 20px; + margin-top: 0px; + display: inline-block; + width: 82px; + overflow: hidden; +} + +.canvi { + border: var(--border) solid 1px; + padding: 0px; + +} + +#canvi { + margin-top: 20px; +} + +#aside { + flex-grow: 1; + flex-shrink: 1; + display: flex; + flex-direction: column; + margin: 0px; + position: relative; + grid-area: aside; +} + +#opener-iframe { + display: none; + position: absolute; + top: 0; + left: 0; + bottom: 0; + right: 0; + width: 100%; + height: 100%; + border: none; +} + +#iframe-container { + display: none; + position: relative; + width: 100%; + overflow: hidden; + height: 100%; +} + +#help-button { + /* position: absolute; */ + right:0; + /* font-size: 40px; */ + /* padding: 20px; */ + float: right; + color: var(--accentActive); +} + +#chat { + color: var(--txt); + flex-grow: 1; + flex-shrink: 1; + display: flex; + flex-direction: column; + /*padding: 20px; + padding-left: 0px;*/ + /*margin: 20px; + margin-left: 0px;*/ + /*height: 648px;*/ + position: fixed; + bottom:10px; + right:10px; + /*background-color: rgba(51, 51, 51, 0.5);*/ + max-width:25%; + max-height: min(500px, 50%); + z-index: 3; +} + +.mobile#chat { + width: 100%; + position: unset; + max-width: 100%; + max-height: 100%; + z-index: 2; + background-color: var(--bg); +} + +#chat > h1 { + padding-bottom: 8px; + padding-left: 8px; + opacity: 0; + margin: 0; +} + +#chat-box { + color: var(--txt); + height:100%; + padding-right: 8px; + flex: 1; + /*padding: 8px;*/ + overflow-y: hidden; + opacity: 1; + -webkit-mask-image: linear-gradient(to top, rgba(0, 0, 0, 1.0) 125px, transparent min(250px, 50%));/*-webkit-gradient(linear, left top, left bottom, + from(rgba(0,0,0,0)), to(rgba(0,0,0,1)));*/ + mask-image: linear-gradient(to top, rgba(0, 0, 0, 1.0) 125px, transparent min(250px, 50%)); +} + +#chat:hover > #chat-box, #chat:focus-within > #chat-box { + opacity: 1; + overflow-y: scroll; + -webkit-mask-image: none; + mask-image: none; + padding-right: 0px; +} + +.mobile#chat #chat-box { + -webkit-mask-image: none !important; + mask-image: none !important; + overflow-y: scroll; +} + +#chat:hover > h1, #chat:focus-within > h1 { + opacity: 1; +} + +.mobile#chat h1 { + opacity: 1; +} + +#chat h1 > button, #emote-close { + font-size: inherit; + border: none; + color: inherit; + background-color: inherit; + padding: 0px; + cursor: pointer; +} + +#chat-box > p { + padding: 4px 8px; + margin: 0px; + word-break:break-word; +} + +#chat-box > p > span > span { + padding: 8px 0px; +} + +#chat-box::-webkit-scrollbar { + width: 8px; +} +#chat-box { + scrollbar-width: thin; + scrollbar-color: var(--thumbBG) var(--scrollbarBG); +} +#chat-box::-webkit-scrollbar-track { + background: var(--scrollbarBG); +} +#chat-box::-webkit-scrollbar-thumb { + background-color: var(--thumbBG) ; + border-radius: 6px; + border: 3px solid var(--scrollbarBG); +} + +#chat-input { + color: var(--txt); + padding: 8px; + background-color: var(--bg); + border: var(--border) solid 1px; + /*border-radius: 2px;*/ +} + +#chat-input:focus-visible { + outline: none; +} + +#emote-button { + position: absolute; + bottom: 5px; + right: 5px; + cursor: pointer; + user-select: none; +} + +#emote-button img { + display: block; +} + +#emote-menu { + display: none; + position: absolute; + background-color: var(--bg); + border: 1px solid var(--border); + bottom: 40px; +} + +#emotes { + padding: 20px; + padding-top: 0px; + max-height: 160px; + overflow-y: auto; +} + +.comment-stack { + margin-left: 4px; + border-radius: 8px; + padding: 2px 4px; + background-color: #222; + color: #fff; + margin: auto 0px auto 4px; +} + +.tagged { + background-color: #222; + border-radius: 8px; + padding: 2px 4px; + font-weight: bold; +} + +img.emote { + width: auto; + max-width: 24px; + max-height: 24px; + vertical-align: text-bottom; +} + +#emotes img.emote { + cursor: pointer; +} + +#stats { + position: relative; +} + +#attack-group { + position: relative; + height: 100%; + width: 100%; + user-select: none; +} + +#attack { + position: absolute; + bottom: 32px; + right: 34px; + /*max-height: 103px;*/ + top: 8px; + left: -8px; + overflow-y: hidden; +} + +#attack-fade { + position: absolute; + bottom: 32px; + right: 34px; + top: 8px; + left: -8px; + z-index: 1; + overflow-y: hidden; + background: linear-gradient(0deg, rgba(2,0,36,0) 50%, var(--bg) 100%); +} + +#map-tools { + position: relative; + height: 100%; + width: 100%; + user-select: none; + z-index: 3; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; +} + +#map-tools > * { + margin: 4px 0px; +} + +.tool-color { + width: 16px; + height: 16px; + border: var(--border) solid 1px; + cursor: pointer; +} + +#tool-auto, #tool-erase { + cursor: pointer; + display: flex; + justify-content: center; + width: 16px; + height: 16px; + border: var(--border) solid 1px; +} + +#players { + padding: 20px 0px; + display: flex; + flex-direction: column; + grid-area: players; +} + +/* #players > * { + border: var(--border) solid 1px; +} */ + +#players > .group { + border-top: none; +} + +#player-list { + /*width: 100px;*/ + min-width: 200px; + flex-shrink: 0; + border-top: none; + flex: 1; +} + +#player-list > span { + word-break:break-all; + padding-bottom: 8px; + margin: 0px; + display: block; +} + +#player-list > span > a { + max-width: 160px; + overflow: hidden; +} + +.spectator { + opacity: 0.5; +} + +#wait-bar { + width: 0px; + height: 4px; + margin-top: 4px; + background-color: #fff; +} + +#perma-wait-bar { + width: 0px; + height: 4px; + margin-top: 0px; + background-color: #999; +} + +#game-timer { + width: 100%; + height: 4px; + margin-top: 4px; + text-align: center; + font-size: 2rem; + user-select: none; + display: flex; + justify-content: center; + flex-direction: row; +} + +.time-bars { + position: absolute; + bottom: -20px; + left: 0px; + width: 100%; + height: 20px; + /* background-color: #fff; */ +} + +#start-bar { + /* top: 50%; */ + position: relative; + color: #95f; +} + +#start-disconnected { + position: absolute; + bottom: 4px; + font-size: 37.5%; + color: var(--warning); +} + +.center-bars { + position: absolute; + width: calc(100% - 4px); + height: calc(100% - 4px); + display: flex; + flex-direction: column; + justify-content:center; + /* padding: 2px; */ + pointer-events: none; + z-index: 3; + margin: 2px; + user-select: none; +} + +.center-bars > * { + position: absolute; + left: 0px; + width: 100%; + height: calc((100% - 4px)/5); + background-color: var(--bg); + font-size: 64px; + display: flex; + justify-content: center; + align-items: center; + text-align: center; +} + +#settings { + max-width: calc(100vw - 50px); +} + +#settings .title { + padding-bottom: 8px; +} + +.sidebar { + margin-left: 8px; +} + +.sidebar > * { + background-color: var(--bg2); + color: var(--txt); + border-radius: var(--roundness); + padding: 16px; + margin-top: 4px; + box-shadow: 0px 2px 4px #0008; +} + +.sidebar .group-header { + margin: 0px; +} + +.sidebar .group-body { + margin: 0px; + margin-top: 8px; +} + +#modes { + padding: 20px 0px; + display: none; + flex-direction: column; + grid-area: modes; +} + +#modes > .group { + border-top: none; +} + +#mode-list { + min-width: 200px; + flex-shrink: 0; + border-top: none; + flex: 1; + max-height: calc(85vh - 341px); + overflow-y: auto; + padding: 8px 8px; + display:flex; + flex-direction: column; +} + +#mode-list > button, button.menu-button { + word-break:break-all; + background-color: var(--bg); + padding: 4px 6px; + margin: 0px; + margin-bottom: 4px; + display: block; + border-radius: var(--roundness); + box-shadow: 0px 2px 4px #0006; + transition: all 0.25s; + text-align: center; + color: var(--txt); + border: var(--bg) solid 2px; + cursor: pointer; +} + +#mode-list > button:hover, #mode-list > button:focus, button.menu-button:is(:hover, :focus) { + background-color: var(--bg2); + color: var(--txt); + border: var(--border) solid 2px; +} + +#container { + display: flex; + flex-direction: row; + flex-wrap: wrap; + grid-template-areas: 'main' 'buttons' 'players' 'modes' 'aside'; +} + +body.focused { + display: flex; + flex-direction: column; + justify-content: space-around; +} + +.focused #container { + justify-content:center; +} + +.focused #players, .focused #modes, .focused #cog, .focused #header, .focused #footer, .focused #opener-iframe { + display: none !important; +} + +.focused #aside { + flex-grow: 0; +} + +#opener { + -webkit-appearance: none; + -moz-appearance: none; + text-indent: 0px; + text-overflow: ellipsis; + background-color: transparent; + color: var(--txt); + opacity: 1; + border: none; + border-radius: 0px; + max-width: 200px; + padding: 0px; + font-size: 14px; + margin-bottom: 2px; +} + +#btn-opener-search { + margin-bottom: 4px; + font-size: 16px; +} + +#mobile-buttons { + display: none; + justify-content: space-around; + flex-wrap: wrap; + user-select: none; + -webkit-user-select: none; + -webkit-touch-callout: none; + grid-area: buttons; +} + +#mobile-buttons > span { + background-color: rgba(153, 0, 255, 0.75); + width: 16vw; + height: 16vw; + text-align: center; + font-size: 16vw; + user-select: none; + touch-action: none; + position: fixed; + z-index: 2; +} + +#mobile-buttons > span > img { + pointer-events: none; + width: 16vw; + height: 16vw; +} + +#input-none { + visibility: hidden; + display: none; +} + +#custom-skin { + width: 100px; +} + +#custom-ghost { + width: 100px; +} + +#custom-skin-error { + color: #f55; +} + +#leaderboards-wrapper { + padding: 0px; +} + +#leaderboards { + position: absolute; + top: 5%; + left: 5%; + width: 90%; + height: 90%; + background-color: var(--bg); + /*padding: 0px;*/ + border: var(--border) solid 2px; + display: flex; + flex-direction: column; + z-index: 3; + border-radius: var(--roundness); + max-width: none; + max-height: none; +} + +#leaderboards > .title { + display: flex; + justify-content: center; +} + +#leaderboards > .group-header { + display: flex; + justify-content: center; +} + +#leaderboard { + margin:20px; + overflow-y: auto; + border: var(--border) solid 2px; + flex: 1; + border-radius: var(--roundness); +} + +#leaderboard-modes { + padding:20px; + padding-top: 0px; + display: flex; + justify-content: center; + flex-wrap: wrap; +} + +#leaderboard-modes > button { + padding: 8px; + border: var(--border) solid 2px; + background-color: var(--bg); + color: var(--accentActive); + cursor: pointer; +} + +#leaderboard-modes > span { + padding: 8px; + border: var(--border) solid 2px; + background-color: var(--bg); +} + +#opener-search .search { + display: grid; + grid-template-columns: auto 1fr; + align-items: center; +} + +#opener-search .results { + /* overflow-y: auto; */ + max-height: calc(100vh - 10rem - 3rem); + display: grid; + user-select: none; +} + +#opener-search .results .entry { + padding: 8px 8px; + margin: 0px 8px; + cursor: pointer; + border:none; + background: none; + color: var(--txt); + text-align: left; +} + +#opener-search .results .category-list { + cursor: auto; + display: flex; + flex-wrap: wrap; +} + +#opener-search .results .category-list > * { + color: var(--txt2); + margin-right: 4px; + background-color: var(--bg); + border-radius: var(--roundness); + padding: 4px 6px; + opacity: 0.7; +} + +#opener-search .results .category-list > .toggled { + opacity: 1; +} + +#categories { + display: flex; + align-items: center; + padding-left: 8px; + flex-wrap: wrap; +} + +#categories > div { + border: var(--bg) solid 2px; + background-color: var(--bg); + color: var(--txt2); + border-radius: var(--roundness); + padding: 2px 4px; + cursor: pointer; + margin-top: 4px; + box-shadow: 0px 2px 4px #0008; + transition: all 0.25s; + margin: 4px; + margin-top: 0px; +} + +#categories > div:hover { + border: var(--bg2) solid 2px; + background-color: var(--bg2); + color: var(--txt); +} + +#categories > div.toggled { + border: var(--border) solid 2px; + background-color: var(--bg2); + color: var(--txt); +} + +#help { + max-width: 800px; + position: static; + z-index: 3; + max-height: calc(100vh - 10rem); +} + +#help img { + max-width: 100%; + height: auto; +} + +#help .sections { + display: flex; + flex-direction: row; +} + +#help section { + padding: 20px; + max-width: 480px; +} + +#help > article { + overflow-y: auto; +} + +@media only screen and (max-width: 960px) { + #help .sections { + flex-direction: column; + } + #help > article { + overflow-y: scroll; + } + #help { + display: flex; + flex-direction: column; + } +} + +.controls-table td, .controls-table th { + padding: 4px; + border: var(--bg) solid 2px; + background-color: var(--bg); +} + +.controls-table .key-bind, .controls-table .button-bind { + border: var(--bg) solid 2px; + background-color: var(--bg); + color: var(--txt); + cursor: pointer; + transition: all 0.25s; +} + +.controls-table .key-bind:hover, .controls-table .button-bind:hover { + border: var(--border) solid 2px; + background-color: var(--bg2); +} + +.replay > input { + color: var(--txt); + border: var(--border) solid 1px; + background-color: var(--bg); + width: 100px; +} + +.replay > button { + margin-left: 4px; +} + +.replay > button, .button { + color: var(--txt); + border: var(--bg) solid 2px; + background-color: var(--bg); + cursor: pointer; + border-radius: var(--btnRoundness); + padding: 2px 4px; + margin-bottom: 4px; + margin-right: 4px; + box-shadow: 0px 2px 4px #0008; + transition: all 0.25s; +} + +.replay > button:hover, .button:hover, .replay > button:focus, .button:focus { + color: var(--txt); + border: var(--border) solid 2px; + background-color: var(--bg2); +} + +#mobile-chat { + font-size: 48px; + position: absolute; + top: 10px; + left: 10px; + display: none; + user-select: none; + cursor: pointer; +} + +#mobile-chat span { + content: ""; + padding: 8px; + border-radius: 8px; + background-color: #f55; + position: absolute; + bottom: 5px; + right: 5px; + display: none; +} + +#mobile-chat img { + height: 48px; +} + +#cog, .cog { + font-size: 60px; + top: 100px; + left: 26px; + color: var(--txt); + user-select: none; + cursor: pointer; + z-index: 1; +} + +#cog img, .cog img { + width: 60px; + height: 60px; + display: block; + margin: auto; +} + +#cog span, .cog span { + font-family: 'Roboto'; + font-size: 18.75%; + display: block; + text-align: center; +} + +#mobileReconnect { + display: block; + text-align: center; + padding: 10px 0px; + color: #fc5; + font-size: 80%; +} + +#settings { + width: auto; + max-width: calc(100vw - 100px); + max-height: calc(100vh - 10rem); + background-color: var(--bg2); + color: var(--txt); + z-index: 3; + border-radius: var(--roundness); + display: flex; + flex-direction: column; +} + +#lobby-windows { + position: absolute; + top: 100px; + left: 50px; + z-index: 3; +} + +#lobby-settings { + border: var(--border) solid 2px; + border-radius: var(--roundness); + padding: 20px; + background-color: var(--bg2); + color: var(--txt); + display: none; + z-index: 3; + box-shadow: 0px 2px 4px #0008; +} + +#lobby-browser { + border: var(--border) solid 2px; + border-radius: var(--roundness); + padding: 20px; + background-color: var(--bg2); + color: var(--txt); + display: none; + z-index: 3; + margin-bottom: 20px; + box-shadow: 0px 2px 4px #0008; +} + +#lobbies-list { + min-width: 150px; + margin: 8px 0px; +} + +#lobby-group { + margin-top: 4px; +} + +.lobby-data { + padding: 4px 6px; + cursor: pointer; + background-color: var(--bg); + margin: 0px; + margin-bottom: 4px; + border-radius: var(--roundness); + box-shadow: 0px 2px 4px #0006; + transition: all 0.25s; + color: var(--txt); + border: var(--bg) solid 2px; + display: flex; + justify-content: space-between; + gap: 8px; +} + +.lobby-type { + cursor: pointer; +} + +.lobby-type img { + display: block; +} + +.lobby-count { + float: right; +} + +.alert { + position: absolute; + top: 20px; + left: 40%; + background-color: var(--bg); + z-index: 3; + display: none; + border-radius: var(--roundness); + box-shadow: 0px 2px 4px #0008; +} + +.alert h1 { + margin: 10px; +} + +.alert div { + padding: 10px; +} + +.alert a { + color: var(--accentActive); +} + +.alert button { + margin: 10px; + padding: 10px; + color: var(--txt); + border: var(--txt) 2px solid; + border-radius: var(--roundness); + background-color: var(--accent); + cursor: pointer; +} + +#account-menu { + width: 57.125px; +} + +#account-wrapper { + position: fixed; + top: 0px; + height: 100%; + width: 100%; + display: flex; + justify-content: space-around; + background-color: rgba(0,0,0,0.75); + z-index: 3; +} + +#account { + text-align: center; + margin: auto; + border: var(--border) solid 2px; + padding: 20px; + background-color: var(--bg); + color: var(--txt); + font-size: 20px; + z-index: 3; + background-color: var(--bg); + pointer-events: auto; + border-radius: var(--roundness); +} + +#account .group-header { + font-size: 40px; +} + +#account * { + margin: 10px; +} + +#account input { + padding: 8px; + border-radius: 8px; + font-size: 16px; +} + +#account button { + padding: 8px; + border-radius: 8px; + font-size: 16px; + cursor: pointer; +} + +#account div { + display: flex; + justify-content: flex-end; + align-items: center; +} + +#account-status { + color: #f55; + min-height: 4px; +} + diff --git a/resources/blox.askplays.com/blox.askplays.com/index.html b/resources/blox.askplays.com/blox.askplays.com/index.html new file mode 100644 index 0000000..0fbb1d0 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/index.html @@ -0,0 +1,692 @@ + + + + + + + + + + + + + + + + + + + + + + + + Blox + + + + + + + + + + + + Skip To Game + +
+ + +
+
+ + + + Settings CogSettings + +
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ + + + + + +
+
+
+ + go to chat + + +
+
+
+ start game + + start game + hold piece + hard drop + left + right + soft drop + rotate counter clockwise + rotate clockwise +
+
+

Chat + + +

+
+ + emote menu +
+
Emotes
+
+
+
+
+
+
+
+ +
+
+
+ + Lobby Browser +
+
+ + +
+
+ + Lobby Settings +
+ Lobby Name + Password + Player Limit + Start Speed + Speed Increase + + Rotation System + Mode + Teams + Attack Table + Combo Table + Infinite Hold + Garbage Delay + Messiness (%) + No Four Wide +
+
+
+
+
+ + + + + + +
+

You have been redirected

+
Blox has changed domain from blox-server.herokuapp.com to blox.askplays.com.
Your settings have been transferred over successfully.
+ +
+
+

Please use new URL if possible

+
Blox has changed domain from blox-server.herokuapp.com to blox.askplays.com.
Your settings have been transferred over successfully.
+ + + +
+ + + + diff --git a/resources/blox.askplays.com/blox.askplays.com/js/basic.js b/resources/blox.askplays.com/blox.askplays.com/js/basic.js new file mode 100644 index 0000000..5a9f6f6 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/js/basic.js @@ -0,0 +1,39 @@ +window.addEventListener('DOMContentLoaded', () => { + var o = localStorage.getItem('username') + const t = document.getElementById('profile-dropdown') + if (null != o && !document.getElementById('profile-page') && t) { + const n = document.getElementById('account-menu') + t.style.display = 'block' + let e = document.createElement('a') + e.className = 'top' + e.id = 'profile-page' + e.innerText = 'Profile' + e.href = '/profile?player=' + o + n.parentElement.insertBefore(e, n) + n.remove() + document.getElementById('times-page').href = document + .getElementById('times-page') + .href.replace(/(.*times).*/, '$1?player=' + o) + } + o = JSON.parse(localStorage.getItem('settings')) + null != o && o.theme && (document.body.parentNode.className = o.theme) + document.getElementById('log-out') && + (document.getElementById('log-out').addEventListener('click', (e) => { + document.cookie = 'username=; Max-Age=-99999999;' + document.cookie = 'password=; Max-Age=-99999999;' + localStorage.removeItem('username') + localStorage.removeItem('password') + localStorage.removeItem('sessionID') + document.location.reload() + }), + document.getElementById('log-out').addEventListener('keydown', (e) => { + 'Enter' == e.code && + ((document.cookie = 'username=; Max-Age=-99999999;'), + (document.cookie = 'password=; Max-Age=-99999999;'), + localStorage.removeItem('username'), + localStorage.removeItem('password'), + localStorage.removeItem('sessionID'), + document.location.reload()) + })) + }) + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/js/block.js b/resources/blox.askplays.com/blox.askplays.com/js/block.js new file mode 100644 index 0000000..696fff8 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/js/block.js @@ -0,0 +1,196 @@ +let blockId = 0 +class Block { + constructor(t, s, i) { + this.x = t + this.y = s + this.color = i + this.id = blockId + } + update() {} + show() { + this.sprite( + prefix, + this.color, + bx + 16 * this.x * 2 * ratio, + 16 * this.y * 2 * ratio, + 0, + 32 * ratio, + 32 * ratio + ) + } + sprite(s, i, h = 0, p = 0, t, A = 16, e = 16) { + if (presetSkins.includes(s)) { + settings.webgl + ? drawImage(images[s + cols[i]], h, p, A, e) + : ((ctx.fillStyle = hexes[s][i]), ctx.fillRect(h, p, A, e)) + } else { + if ( + 'undefined' != typeof settings && + settings && + settings.skinConnected && + 'custom' == s + ) { + var o = sprites[s], + r = + (o || console.log(s), + (board[-1] = []), + (board[-2] = []), + (board[-3] = []), + (board[bW] = []), + 22) + let t = 4 * (cols[i] - 2) + 3 < cols[i] - 2 && (t += 116) + 0 == cols[i] && (t += 152) + var l = h / (32 * ratio), + c = p / (32 * ratio) + this.pAt(l - 1, c) && + this.pAt(1 + l, c) && + this.pAt(l, c - 1) && + this.pAt(l, 1 + c) + ? (t += 24) + : this.pAt(l - 1, c) && + this.pAt(1 + l, c) && + this.pAt(l, c - 1) && + !this.pAt(l, 1 + c) && + this.pAt(l - 1, c - 1) && + this.pAt(1 + l, c - 1) + ? (t += 46) + : !this.pAt(l - 1, c) && + this.pAt(1 + l, c) && + this.pAt(l, c - 1) && + this.pAt(l, 1 + c) && + this.pAt(1 + l, c - 1) && + this.pAt(1 + l, 1 + c) + ? (t += 23) + : this.pAt(l - 1, c) && + this.pAt(1 + l, c) && + !this.pAt(l, c - 1) && + this.pAt(l, 1 + c) && + this.pAt(l - 1, 1 + c) && + this.pAt(1 + l, 1 + c) + ? (t += 2) + : this.pAt(l - 1, c) && + !this.pAt(1 + l, c) && + this.pAt(l, c - 1) && + this.pAt(l, 1 + c) && + this.pAt(l - 1, c - 1) && + this.pAt(l - 1, 1 + c) + ? (t += 25) + : !this.pAt(l - 1, c) && + this.pAt(1 + l, c) && + !this.pAt(l, c - 1) && + this.pAt(l, 1 + c) && + this.pAt(1 + l, 1 + c) + ? (t += 1) + : this.pAt(l - 1, c) && + !this.pAt(1 + l, c) && + !this.pAt(l, c - 1) && + this.pAt(l, 1 + c) && + this.pAt(l - 1, 1 + c) + ? (t += 3) + : !this.pAt(l - 1, c) && + this.pAt(1 + l, c) && + this.pAt(l, c - 1) && + !this.pAt(l, 1 + c) && + this.pAt(1 + l, c - 1) + ? (t += 45) + : this.pAt(l - 1, c) && + !this.pAt(1 + l, c) && + this.pAt(l, c - 1) && + !this.pAt(l, 1 + c) && + this.pAt(l - 1, c - 1) + ? (t += 47) + : this.pAt(l - 1, c) || + this.pAt(1 + l, c) || + this.pAt(l, c - 1) || + !this.pAt(l, 1 + c) + ? !this.pAt(l - 1, c) && + !this.pAt(1 + l, c) && + this.pAt(l, c - 1) && + this.pAt(l, 1 + c) + ? (t += r) + : this.pAt(l - 1, c) || + this.pAt(1 + l, c) || + !this.pAt(l, c - 1) || + this.pAt(l, 1 + c) + ? this.pAt(l - 1, c) || + !this.pAt(1 + l, c) || + this.pAt(l, c - 1) || + this.pAt(l, 1 + c) + ? this.pAt(l - 1, c) && + this.pAt(1 + l, c) && + !this.pAt(l, c - 1) && + !this.pAt(l, 1 + c) + ? (t += 68) + : !this.pAt(l - 1, c) || + this.pAt(1 + l, c) || + this.pAt(l, c - 1) || + this.pAt(l, 1 + c) + ? this.pAt(l - 1, c) || + this.pAt(1 + l, c) || + this.pAt(l, c - 1) || + this.pAt(l, 1 + c) + ? !this.pAt(l - 1, c) && + this.pAt(1 + l, c) && + !this.pAt(l, c - 1) && + this.pAt(l, 1 + c) + ? (t += 88) + : this.pAt(l - 1, c) && + !this.pAt(1 + l, c) && + !this.pAt(l, c - 1) && + this.pAt(l, 1 + c) + ? (t += 89) + : !this.pAt(l - 1, c) && + this.pAt(1 + l, c) && + this.pAt(l, c - 1) && + !this.pAt(l, 1 + c) + ? (t += 110) + : this.pAt(l - 1, c) && + !this.pAt(1 + l, c) && + this.pAt(l, c - 1) && + !this.pAt(l, 1 + c) + ? (t += 111) + : this.pAt(l - 1, c) && + this.pAt(1 + l, c) && + this.pAt(l, c - 1) && + !this.pAt(l, 1 + c) + ? (t += 90) + : !this.pAt(l - 1, c) && + this.pAt(1 + l, c) && + this.pAt(l, c - 1) && + this.pAt(l, 1 + c) + ? (t += 91) + : this.pAt(l - 1, c) && + this.pAt(1 + l, c) && + !this.pAt(l, c - 1) && + this.pAt(l, 1 + c) + ? (t += 112) + : this.pAt(l - 1, c) && + !this.pAt(1 + l, c) && + this.pAt(l, c - 1) && + this.pAt(l, 1 + c) && + (t += 113) + : (t += 66) + : (t += 69) + : (t += 67) + : (t += 44) + : (t += 0) + r = o.sprites[t % o.sprites.length] + try { + ctx.drawImage(r, 0, 0, o.w, o.h, h, p, A, e) + } catch (t) {} + } else { + l = sprites[s] + c = l.sprites[cols[i] % l.sprites.length] + ctx.drawImage(c, 0, 0, l.w, l.h, h, p, A, e) + } + } + } + pAt(t, s) { + return ( + board[t][s] && + board[t][s].color == this.color && + board[t][s].id == this.id + ) + } +} diff --git a/resources/blox.askplays.com/blox.askplays.com/js/computer.js b/resources/blox.askplays.com/blox.askplays.com/js/computer.js new file mode 100644 index 0000000..9fdd460 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/js/computer.js @@ -0,0 +1,1268 @@ +class Computer { + constructor(i, t, s, e = 'Computer') { + this.type = i + this.canvas = t + this.board = new Board(t) + ;(this.board.player = this).board.target = s + this.worker = new Worker('/js/computerWorker.js') + let h = this + this.worker.onmessage = function (i) { + h.searching = false + null != i.data + ? (h.moves = i.data) + : (h.board.endGame(), this.terminate()) + } + this.delay = + { + 'extremely-easy': 800, + 'very-easy': 400, + easy: 200, + medium: 100, + hard: 50, + extreme: 25, + impossible: 1, + match: 1000000, + }[i] || 200 + this.nextTime = performance.now() + 1000 + this.moves = [] + this.depth = 4 + this.combinations = [] + this.maxComb = 20000 + this.shitLimit = 10 + this.goodLimit = 5 + this.searching = false + this.board.name = e + } + update() { + if (this.board.alive) { + if ( + this.nextTime < performance.now() || + (this.board.pieces <= pieces && 'match' == this.type) + ) { + if ( + (0 == this.moves.length && + 0 == this.searching && + (this.worker.postMessage({ + type: this.type, + depth: this.depth, + board: { + b: this.board.b, + holdBlock: this.board.holdBlock, + piece: this.board.piece, + queue: this.board.queue, + }, + }), + (this.searching = true)), + 'impossible' == this.type || 'match' == this.type) + ) { + for (; 0 < this.moves.length; ) { + var i = this.moves.shift() + this.board.action(i) + } + } else { + var t = this.moves.shift() + this.board.action(t) + } + this.nextTime = performance.now() + this.delay + } + this.board.updateBoard() + } + } + analyze() { + this.shitLimit = -20 + let i = [this.board.piece].concat(this.board.queue.slice()) + var t = this.board.holdBlock, + s = JSON.parse(JSON.stringify(this.board.b)) + let e = this.calcBoard(s, 0) + 'number' != typeof e && (e = 0) + this.combinations = [] + for (let i = 0; i < this.depth + 1; i++) { + this.combinations.push(0) + } + var h = this.processMoves(this.depth, s, i, t, e) + let r + var o = i[0] + this.combinations = [] + for (let i = 0; i < this.depth + 1; i++) { + this.combinations.push(0) + } + let l = i.slice() + ;(r = + (t ? (l[0] = t) : l.shift(), + this.processMoves(this.depth, s, l, o, e))) && + h && + r.score < h.score + ? (this.moves = [10].concat(r.moves)) + : h + ? (this.moves = h.moves) + : this.board.endGame() + } + processMoves(h, o, i, r, t) { + if (!(this.combinations[h] < this.maxComb)) { + return null + } + this.combinations[h]++ + let l = i.slice(), + c = [], + a = [] + var n = l[0] + if ((l.splice(0, 1), !n)) { + return null + } + var s = 'teal' == n.color ? 11 : 9 + for ( + let i = 0; + i < 4 && (h == this.depth || this.combinations[h - 1] != this.maxComb); + i++ + ) { + for ( + let r = 0; + r < s && (h == this.depth || this.combinations[h - 1] != this.maxComb); + r++ + ) { + let t = new PieceB(n.x, n.y, n.color), + s = [], + e = (0 != (t.r = i) && s.push([0, 4, 6, 5][i]), []) + for (let i = 0; i < o.length; i++) { + e[i] = o[i].slice() + } + let h = false + for (let i = 0; i < Math.ceil(r / 2); i++) { + if (t.collide(r % 2 == 0 ? -1 : 1, 0, e)) { + h = true + break + } + s.push(r % 2 == 0 ? 0 : 1) + t.x += r % 2 == 0 ? -1 : 1 + } + if (!h) { + for (; t.y < 20 && !t.collide(0, 1, e); ) { + t.y++ + } + t.setBlock(e) + s.push(7) + var d = this.calcBoard(e, t.y) + a.push({ + score: d, + moves: s, + brd: e, + }) + } + } + } + if (0 != c.length || this.combinations[h - 1] == this.maxComb) { + return c[bestBoard] || null + } + { + c = [] + a.sort((i, t) => i.score - t.score) + for (let i = 0; i < this.goodLimit; i++) { + c.push(a[i]) + } + let i = -1, + e = 1e400 + for (let s = 0; s < c.length; s++) { + if (c[s]) { + let t = c[s].score + if (1 < h && this.combinations[h - 1] < this.maxComb) { + var p = this.processMoves(h - 1, c[s].brd, l, r, c[s].score) + let i = l.slice() + r ? (i[0] = r) : i.shift() + var b = this.processMoves(h - 1, c[s].brd, i, l[0], c[s].score) + b && (!p || b.score < p.score) + ? (t = (t + b.score) / 2) + : p && (t = (t + p.score) / 2) + } + t < e && ((i = s), (e = t)) + } + } + return c[i] || null + } + } + calcBoard(h, i) { + let e = 0 + for (let s = i - 2; s < i + 2; s++) { + let t = 0 + for (let i = 0; i < 10; i++) { + void 0 !== h[i][s] && null !== h[i][s] && t++ + } + if (10 == t) { + e++ + for (let t = 0; t < 10; t++) { + for (let i = s; 20 <= i; i--) { + ;-20 < i ? (h[t][i] = h[t][i - 1]) : delete h[t][i] + } + } + } + } + let r = 0, + o = 0 + let l = 0, + c = [], + a = 0 + for (let e = 0; e < 10; e++) { + let t = false, + s = false + for (let i = 0; i < 20; i++) { + void 0 !== h[e][i] && null !== h[e][i] + ? ((t = t || true), + s || ((s = true), 20 - i > a && (a = 20 - i), c.push(20 - i)), + r++, + (o += 20 - i)) + : t && l++ + } + s || c.push(0) + } + let t = 0, + s = 0 + c[-1] = 20 + c[10] = 20 + for (let i = 0; i < 10; i++) { + 0 < i && 2 <= c[i] - c[i - 1] && (s += c[i] - c[i - 1] - 1) + i < 9 && 2 <= c[i] - c[i + 1] && (s += c[i] - c[i + 1] - 1) + 0 < i && 2 <= c[i - 1] - c[i] && (t += c[i - 1] - c[i] - 1) + i < 9 && 2 <= c[i + 1] - c[i] && (t += c[i + 1] - c[i] - 1) + } + 4 == e && (e = -20) + e *= 10 + ;(8 < a || 0 < l) && 0 < e && (e *= -1) + let n = 0 + if ( + (n = + 8 < a || 0 < l + ? (o / r) * 2 + o / 20 + 16 * l + 3 * s + t + 0 + : (o / r) * 0.5 + 10 * l + +t + e) + ) { + return n + } + } + } + function Board(t) { + this.player = null + this.b = JSON.parse(JSON.stringify(createBoard())) + this.seed = this.gameStart = this.curTime = c.seed + this.m = mode + this.settings = { + startSpeed: 1, + speedIncrease: 1, + speedLimit: 0, + rotationSystem: 'SRS', + mode: mode, + attackTable: [0, 1, 2, 4, 2, 4, 6, 10], + comboTable: [0, 0, 1, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5], + infiniteHold: false, + } + 1 == this.m && (this.settings.mode = 2) + 3 == this.m && (this.settings.mode = 3) + 4 == this.m && (this.settings.mode = 4) + 8 == this.m && (this.settings.mode = 1) + this.alive = true + this.won = false + this.updating = false + this.prevPiece = null + this.pieces = 0 + this.switched = false + this.holdBlock = null + this.lines = 0 + this.tempHeight = 4 + this.prevPoints = this.points = 0 + this.combo = this.pcs = 0 + this.actions = [] + this.attack = 0 + this.garbageStore = [] + this.garbageAmount = 0 + this.garbageHeight = 0 + this.lastSender = '' + this.glines = 0 + this.prevGarb = 10 + this.max_lines = 10 + this.gRNG = null + this.canvas = t + this.start = function () { + this.gameStart = new Date().getTime() + this.bag = new Bag(alea(this.seed), 7, 1) + this.gRNG = alea(this.seed) + this.queue = [] + for (let i = 0; i < 6; i++) { + this.addBlock() + } + var i + 5 <= colors.indexOf(this.queue[0].color) && + 2 == this.settings.mode && + ((i = this.queue[0]), + colors.indexOf(this.queue[1].color) < 5 + ? ((this.queue[0] = this.queue[1]), (this.queue[1] = i)) + : ((this.queue[0] = this.queue[2]), (this.queue[2] = i))) + this.piece = this.queue.splice(0, 1)[0] + 2 == this.settings.mode && (this.max_lines = 40) + 3 == this.settings.mode && + ((this.glines = 9), (this.max_lines = 10), (this.prevGarb = 10)) + this.alive = false + this.updating = false + this.alive = true + this.updateBoard() + } + this.action = function (e, h) { + if (this.alive && 0 <= e && e <= 22) { + this.curTime = new Date().getTime() + let i = { + t: this.curTime - this.gameStart, + a: Math.min(e, 15), + }, + t = + (h && (i.d = h), 15 < e && (i.aux = e % 16), this.actions.push(i), 0), + s = false + switch (e) { + case 0: + this.piece.collide(-1, 0, this.b) || this.piece.x-- + break + case 1: + this.piece.collide(1, 0, this.b) || this.piece.x++ + break + case 2: + for (; !this.piece.collide(-1, 0, this.b); ) { + this.piece.x-- + } + break + case 3: + for (; !this.piece.collide(1, 0, this.b); ) { + this.piece.x++ + } + break + case 4: + ;(t = this.piece.r), + (this.piece.r = (this.piece.r + 1) % 4), + (s = this.collisionRoutine( + this.piece, + t, + this.settings.rotationSystem, + this.b + )) && (this.piece.r = (this.piece.r - 1 + 4) % 4) + break + case 5: + ;(t = this.piece.r), + (this.piece.r = (this.piece.r - 1 + 4) % 4), + (s = this.collisionRoutine( + this.piece, + t, + this.settings.rotationSystem, + this.b + )) && (this.piece.r = (this.piece.r + 1) % 4) + break + case 6: + ;(t = this.piece.r), + (this.piece.r = (this.piece.r + 2) % 4), + (s = this.collisionRoutine( + this.piece, + t, + this.settings.rotationSystem, + this.b + )) && (this.piece.r = (this.piece.r + 2) % 4) + break + case 7: + for (; this.piece.y < 20 && !this.piece.collide(0, 1, this.b); ) { + this.piece.y++ + } + ;(this.prevPiece = this.piece), + this.piece.setBlock(this.b), + (this.piece = this.queue.splice(0, 1)[0]), + this.addBlock(), + (this.switched = false), + this.piece.collide(0, 0, this.b) && this.endGame() + break + case 8: + break + case 9: + this.piece.collide(0, 1, this.b) || this.piece.y++ + break + case 10: + var r + 0 == this.switched && + ((this.piece.x = + 'teal' == this.piece.color || 'yellow' == this.piece.color + ? 5 + : 4), + (this.piece.y = this.piece.r = 0), + null == this.holdBlock + ? ((this.holdBlock = this.piece), + (this.piece = this.queue.splice(0, 1)[0]), + this.addBlock()) + : ((r = this.holdBlock), + (this.holdBlock = this.piece), + (this.piece = r)), + this.settings.infiniteHold + ? (this.switched = false) + : (this.switched = true)) + break + case 11: + this.garbage(h[0], h[1]), + this.piece.collide(0, 0, this.b) && this.endGame() + break + case 21: + this.garbage(h[0], h[1], h[2]) + break + case 22: + this.setGarbage(h[0], h[1], h[2]) + } + } + } + this.updateBoard = function () { + this.updating = true + let t = 0, + h = + (this.prevPiece && + 'purple' == this.prevPiece.color && + (3 != this.prevPiece.r && + (0 < this.prevPiece.x + ? this.b[this.prevPiece.x - 1][this.prevPiece.y - 1] && t++ + : this.prevPiece.x - 1 < 0 && t++), + 1 != this.prevPiece.r && + (this.prevPiece.x < 9 + ? this.b[this.prevPiece.x + 1][this.prevPiece.y - 1] && t++ + : 9 < this.prevPiece.x + 1 && t++), + 0 < this.prevPiece.x + ? this.b[this.prevPiece.x - 1][this.prevPiece.y + 1] && t++ + : this.prevPiece.x - 1 < 0 && t++, + this.prevPiece.x < 9 + ? this.b[this.prevPiece.x + 1][this.prevPiece.y + 1] && t++ + : 9 < this.prevPiece.x + 1 && t++), + 0) + for (let e = -20; e < 20; e++) { + let t = 0, + s = false + for (i = 0; i < 10 && this.b[i][e]; i++) { + t++ + 'garbage' == this.b[i][e].color && (s = true) + } + if (10 == t) { + for (let i = 0; i < 10; i++) { + delete this.b[i][e] + } + h++ + s && this.garbageHeight-- + for (let t = e; -20 <= t; t--) { + for (i = 0; i < 10; i++) { + ;-20 < t + ? (this.b[i][t - 1] && this.b[i][t - 1].y++, + (this.b[i][t] = this.b[i][t - 1])) + : delete this.b[i][t] + } + } + } + } + if ( + ((this.prevPoints = this.points), + 3 <= t + ? (1 == h && (this.points += this.settings.attackTable[4]), + 2 == h && (this.points += this.settings.attackTable[5]), + 3 == h && (this.points += this.settings.attackTable[6])) + : (1 == h && (this.points += this.settings.attackTable[0]), + 2 == h && (this.points += this.settings.attackTable[1]), + 3 == h && (this.points += this.settings.attackTable[2]), + 4 == h && (this.points += this.settings.attackTable[3])), + 0 < h) + ) { + this.lines += h + this.tempHeight -= h + let s = true + for (let t = 0; t < 10; t++) { + for (let i = 0; i < 20; i++) { + this.b[t][i] && (s = false) + } + } + if ( + (s && + ((this.points += this.settings.attackTable[7]), + 1 == this.settings.mode && ((this.tempHeight = 4), this.pcs++)), + this.combo < 12 + ? (this.points += this.settings.comboTable[this.combo]) + : (this.points += this.settings.comboTable[11]), + this.combo++, + 6 == this.settings.mode) + ) { + for (let t = 1; t < 1 + h; t++) { + for (let i = 0; i < 6; i++) { + 2 < i + ? (this.b[i + 4][t] = new Block(i, t, 'garbage')) + : (this.b[i][t] = new Block(i, t, 'garbage')) + } + } + this.action(22, [h, 3, 4, 0]) + } + } else { + null != this.prevPiece && + (6 == this.settings.mode ? this.endGame() : (this.combo = 0)) + } + if (null != this.prevPiece && 1 == this.settings.mode) { + let t = true + for (let i = 0; i < 10; i++) { + this.b[i][19 - this.tempHeight] && (t = false) + } + t || this.endGame() + } + let s = this.points - this.prevPoints + if (null != this.prevPiece && this.alive) { + if (0 < h) { + for (let i = 0; i < this.garbageStore.length; i++) { + if (!(s >= this.garbageStore[i].num)) { + this.garbageStore[i].num -= s + this.garbageAmount -= s + break + } + if ( + ((s -= this.garbageStore[i].num), + (this.garbageAmount -= this.garbageStore[i].num), + this.garbageStore.splice(i, 1), + 0 == s) + ) { + break + } + } + } else { + for (let i = 0; i < this.garbageStore.length; i++) { + this.action(11, [this.garbageStore[i].num, this.garbageStore[i].rand]) + this.lastSender = this.garbageStore[i].send + this.garbageAmount -= this.garbageStore[i].num + this.garbageStore.splice(i, 1) + i-- + } + } + } + if ( + (null != this.prevPiece && this.pieces++, + (this.attack += this.points - this.prevPoints), + this.alive && + this.piece.collide(0, 0, this.b) && + null != this.prevPiece && + this.endGame(), + this.alive && 0 == this.settings.mode && 0 < s && this.send(s), + 2 == this.settings.mode && 40 <= this.lines && this.endGame(true), + 3 == this.settings.mode) + ) { + let s = 0, + e = 0, + i = 0 + for (let t = 0; t < 9; t++) { + s = 0 + for (let i = (e = 0); i < 10; i++) { + this.b[i][11 + t] ? 'garbage' == this.b[i][11 + t].color && e++ : s++ + } + if (1 == s && 9 == e) { + i = 9 - t + break + } + } + 0 == i && this.endGame(true) + s = 0 + for (let i = (e = 0); i < 10; i++) { + this.b[i][10] ? 'garbage' == this.b[i][10].color && e++ : s++ + } + let h = 1 == s && 9 == e + for (; this.glines < this.max_lines && i < 9 && !h; ) { + this.glines++ + i++ + let t = [] + for (let i = 0; i < 10; i++) { + t[i] = i + } + var r = t.slice(0, this.prevGarb).concat(t.slice(this.prevGarb + 1, 10)) + this.prevGarb = r[Math.floor(this.gRNG() * r.length)] + this.action(11, [1, this.prevGarb]) + s = 0 + for (let i = (e = 0); i < 10; i++) { + this.b[i][10] ? 'garbage' == this.b[i][10].color && e++ : s++ + } + h = 1 == s && 9 == e + } + } + this.prevPiece = null + this.updating = false + let e = [] + for (i = 0; i < 10; i++) { + e[i] = [] + for (let t = 0; t < 20; t++) { + this.b[i][t] + ? settings.skinConnected + ? (e[i][t] = this.b[i][t]) + : (e[i][t] = this.b[i][t].color) + : (e[i][t] = null) + } + } + this.canvas.board = e + this.canvas.ghost = this.piece + drawBoard(this.canvas) + } + this.endGame = function (i) { + if (this.alive) { + this.alive = false + this.won = !!i + let t = 0, + s = -1 + for (let i = 0; i < computers.length; i++) { + computers[i].board.alive && (t++, (s = i)) + } + if (-1 != s) { + let i = '' + (t + 1 + (aiBattle ? 0 : 1)) + i.endsWith(1) + ? (i += 'st') + : i.endsWith(2) + ? (i += 'nd') + : i.endsWith(3) + ? (i += 'rd') + : (i += 'th') + this.canvas.position = i + 1 == t && + computers[s] && + aiBattle && + ((computers[s].canvas.position = '1st'), + (computers[s].winner = true), + (computers[s].alive = false), + drawBoard(computers[s].canvas)) + } else { + this.canvas.position = '2nd' + for (let i = 0; i < localBoards.length; i++) { + localBoards[i].alive && (localBoards[i].winner = true) + } + } + drawBoard(this.canvas) + this.player.worker.terminate() + } + } + this.update = function () { + this.alive + } + this.getRandomizerBlock = function () { + var i = this.bag.getBlock() + return 'teal' == colors[i] || 'yellow' == colors[i] + ? new PieceB(5, 0, colors[i]) + : new PieceB(4, 0, colors[i]) + } + this.addBlock = function () { + this.queue.push(this.getRandomizerBlock()) + } + this.send = function (t) { + if (this.alive) { + let i = localBoards.filter((i) => i != this)[ + Math.floor(Math.random() * (localBoards.length - 1)) + ] + i.garbageStore.push({ + num: t, + rand: Math.floor(10 * Math.random()), + send: this.name, + time: performance.now(), + }) + i.garbageAmount += t + } + } + this.garbage = function (s, e, h = 1) { + if (this.alive) { + for (let t = 0; t < 20; t++) { + for (let i = 0; i < 10; i++) { + t < 20 - s + ? (this.b[i][t + s] && (this.b[i][t + s].y += s), + (this.b[i][t] = this.b[i][t + s])) + : delete this.b[i][t] + } + } + for (let t = 0; t < s; t++) { + for (let i = 0; i < 10; i++) { + i < e || i - e >= h + ? (this.b[i][19 - t] = new Block(i, 19 - t, 'garbage')) + : delete this.b[i][19 - t] + } + } + this.garbageHeight += s + this.piece.y -= s + blockId++ + } + } + this.setGarbage = function (i, s, e = 1) { + if (this.alive) { + for (let t = 0; t < i; t++) { + for (let i = 0; i < 10; i++) { + i < s || i - s >= e + ? (this.b[i][1 + t] = new Block(i, 1 + t, 'garbage')) + : delete this.b[i][1 + t] + } + } + } + } + this.encodeReplay = function (i) { + let t = { + v: 3.3, + softDropId: 2, + gameStart: this.gameStart, + gameEnd: this.gameStart + i, + seed: this.seed, + m: 1, + bs: 0, + se: 2, + das: 133, + r: 0, + }, + s = + (1 == this.settings.mode + ? (t.m = 8 << 16) + : 2 == this.settings.mode + ? (t.m = 65537) + : 3 == this.settings.mode + ? (t.m = 196609) + : 4 == this.settings.mode + ? (t.m = 4 << 16) + : (t.m = 2 << 16), + new Replayer()) + s.actions = this.actions + i = s.saveBinaryActionsV3() + i = { + c: t, + d: i, + } + return LZString.compressToEncodedURIComponent(JSON.stringify(i)) + } + this.collisionRoutine = function (t, i, s, e) { + let h = true + if ('BRS' == s) { + h = + (h = + (h = + (h = + (h = + (h = + (h = h && this.collide(t, 0, 0, e)) && + this.collide(t, 0, 1, e)) && this.collide(t, 1, 1, e)) && + this.collide(t, -1, 1, e)) && this.collide(t, 0, 2, e)) && + this.collide(t, 1, 2, e)) && this.collide(t, -1, 2, e) + h = + (h = + (h = + (h = + (h = + (h = + (h = + (h = + (h = + (h = + (h = + (h = + 'teal' == t.color + ? (h = + (h = + (h = h && this.collide(t, 2, 1, e)) && + this.collide(t, -2, 1, e)) && + this.collide(t, 2, 2, e)) && + this.collide(t, -2, 2, e) + : h) && this.collide(t, 1, 0, e)) && + this.collide(t, -1, 0, e)) && + this.collide(t, 0, -1, e)) && + this.collide(t, 1, -1, e)) && + this.collide(t, -1, -1, e)) && this.collide(t, 2, 0, e)) && + this.collide(t, -2, 0, e)) && this.collide(t, 2, 1, e)) && + this.collide(t, -2, 1, e)) && this.collide(t, 2, -1, e)) && + this.collide(t, -2, -1, e) + 'teal' == t.color && + (h = + (h = + (h = h && this.collide(t, 0, -2, e)) && + this.collide(t, 1, -2, e)) && this.collide(t, -1, -2, e)) + } else { + if ('SRS' == s && (h = h && this.collide(t, 0, 0, e))) { + var r = i, + o = t.r + if (2 == Math.abs(o - r)) { + for ( + let i = 0; + i < 2 && (h = this.collideSRS(t, spins180[r][i], e)); + i++ + ) {} + } else { + for ( + let i = 0; + i < 5 && + ('teal' == t.color + ? (0 == r && 3 == o && (h = this.collideSRS(t, iSpins[0][i], e)), + 3 == r && 0 == o && (h = this.collideSRS(t, iSpins[1][i], e)), + 3 == r && 2 == o && (h = this.collideSRS(t, iSpins[2][i], e)), + 2 == r && 3 == o && (h = this.collideSRS(t, iSpins[3][i], e)), + 2 == r && 1 == o && (h = this.collideSRS(t, iSpins[4][i], e)), + 1 == r && 2 == o && (h = this.collideSRS(t, iSpins[5][i], e)), + 1 == r && 0 == o && (h = this.collideSRS(t, iSpins[6][i], e)), + 0 == r && 1 == o && (h = this.collideSRS(t, iSpins[7][i], e))) + : (0 == r && + 3 == o && + (h = this.collideSRS(t, otherSpins[0][i], e)), + 3 == r && + 0 == o && + (h = this.collideSRS(t, otherSpins[1][i], e)), + 3 == r && + 2 == o && + (h = this.collideSRS(t, otherSpins[2][i], e)), + 2 == r && + 3 == o && + (h = this.collideSRS(t, otherSpins[3][i], e)), + 2 == r && + 1 == o && + (h = this.collideSRS(t, otherSpins[4][i], e)), + 1 == r && + 2 == o && + (h = this.collideSRS(t, otherSpins[5][i], e)), + 1 == r && + 0 == o && + (h = this.collideSRS(t, otherSpins[6][i], e)), + 0 == r && + 1 == o && + (h = this.collideSRS(t, otherSpins[7][i], e))), + h); + i++ + ) {} + } + } + } + return h + } + this.collide = function (i, t, s, e) { + return !!i.collide(t, s, e) || ((i.x += t), (i.y += s), false) + } + this.collideSRS = function (i, t, s) { + return ( + !!i.collide(t[0], -1 * t[1], s) || + ((i.x += t[0]), (i.y += -1 * t[1]), false) + ) + } + this.start() + } + class PieceB { + constructor(i, t, s) { + this.x = i + this.y = t + this.r = 0 + this.color = s + } + update() {} + collide(i, t, s) { + if ('blue' == this.color) { + if ( + this.coll( + this.x + rX(-1, -1, this.r) + i, + this.y + rY(-1, -1, this.r) + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(-1, 0, this.r) + i, + this.y + rY(-1, 0, this.r) + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(0, 0, this.r) + i, + this.y + rY(0, 0, this.r) + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(1, 0, this.r) + i, + this.y + rY(1, 0, this.r) + t, + s + ) + ) { + return true + } + } else { + if ('orange' == this.color) { + if ( + this.coll( + this.x + rX(1, -1, this.r) + i, + this.y + rY(1, -1, this.r) + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(-1, 0, this.r) + i, + this.y + rY(-1, 0, this.r) + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(0, 0, this.r) + i, + this.y + rY(0, 0, this.r) + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(1, 0, this.r) + i, + this.y + rY(1, 0, this.r) + t, + s + ) + ) { + return true + } + } else { + if ('green' == this.color) { + if ( + this.coll( + this.x + rX(1, -1, this.r) + i, + this.y + rY(1, -1, this.r) + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(-1, 0, this.r) + i, + this.y + rY(-1, 0, this.r) + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(0, 0, this.r) + i, + this.y + rY(0, 0, this.r) + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(0, -1, this.r) + i, + this.y + rY(0, -1, this.r) + t, + s + ) + ) { + return true + } + } else { + if ('red' == this.color) { + if ( + this.coll( + this.x + rX(-1, -1, this.r) + i, + this.y + rY(-1, -1, this.r) + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(1, 0, this.r) + i, + this.y + rY(1, 0, this.r) + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(0, 0, this.r) + i, + this.y + rY(0, 0, this.r) + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(0, -1, this.r) + i, + this.y + rY(0, -1, this.r) + t, + s + ) + ) { + return true + } + } else { + if ('yellow' == this.color) { + if ( + this.coll( + this.x + rX(-0.5, -0.5, this.r) - 0.5 + i, + this.y + rY(-0.5, -0.5, this.r) - 0.5 + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(-0.5, 0.5, this.r) - 0.5 + i, + this.y + rY(-0.5, 0.5, this.r) - 0.5 + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(0.5, 0.5, this.r) - 0.5 + i, + this.y + rY(0.5, 0.5, this.r) - 0.5 + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(0.5, -0.5, this.r) - 0.5 + i, + this.y + rY(0.5, -0.5, this.r) - 0.5 + t, + s + ) + ) { + return true + } + } else { + if ('teal' == this.color) { + if ( + this.coll( + this.x + rX(-1.5, -0.5, this.r) - 0.5 + i, + this.y + rY(-1.5, -0.5, this.r) - 0.5 + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(-0.5, -0.5, this.r) - 0.5 + i, + this.y + rY(-0.5, -0.5, this.r) - 0.5 + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(0.5, -0.5, this.r) - 0.5 + i, + this.y + rY(0.5, -0.5, this.r) - 0.5 + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(1.5, -0.5, this.r) - 0.5 + i, + this.y + rY(1.5, -0.5, this.r) - 0.5 + t, + s + ) + ) { + return true + } + } else { + if ('purple' == this.color) { + if ( + this.coll( + this.x + rX(-1, 0, this.r) + i, + this.y + rY(-1, 0, this.r) + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(1, 0, this.r) + i, + this.y + rY(1, 0, this.r) + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(0, 0, this.r) + i, + this.y + rY(0, 0, this.r) + t, + s + ) + ) { + return true + } + if ( + this.coll( + this.x + rX(0, -1, this.r) + i, + this.y + rY(0, -1, this.r) + t, + s + ) + ) { + return true + } + } + } + } + } + } + } + } + return false + } + setBlock(i) { + 'blue' == this.color + ? ((i[this.x + rX(-1, -1, this.r)][this.y + rY(-1, -1, this.r)] = + new Block( + this.x + rX(-1, -1, this.r), + this.y + rY(-1, -1, this.r), + this.color + )), + (i[this.x + rX(-1, 0, this.r)][this.y + rY(-1, 0, this.r)] = new Block( + this.x + rX(-1, 0, this.r), + this.y + rY(-1, 0, this.r), + this.color + )), + (i[this.x][this.y] = new Block(this.x, this.y, this.color)), + (i[this.x + rX(1, 0, this.r)][this.y + rY(1, 0, this.r)] = new Block( + this.x + rX(1, 0, this.r), + this.y + rY(1, 0, this.r), + this.color + ))) + : 'orange' == this.color + ? ((i[this.x + rX(1, -1, this.r)][this.y + rY(1, -1, this.r)] = new Block( + this.x + rX(1, -1, this.r), + this.y + rY(1, -1, this.r), + this.color + )), + (i[this.x + rX(-1, 0, this.r)][this.y + rY(-1, 0, this.r)] = new Block( + this.x + rX(-1, 0, this.r), + this.y + rY(-1, 0, this.r), + this.color + )), + (i[this.x][this.y] = new Block(this.x, this.y, this.color)), + (i[this.x + rX(1, 0, this.r)][this.y + rY(1, 0, this.r)] = new Block( + this.x + rX(1, 0, this.r), + this.y + rY(1, 0, this.r), + this.color + ))) + : 'green' == this.color + ? ((i[this.x + rX(1, -1, this.r)][this.y + rY(1, -1, this.r)] = new Block( + this.x + rX(1, -1, this.r), + this.y + rY(1, -1, this.r), + this.color + )), + (i[this.x + rX(-1, 0, this.r)][this.y + rY(-1, 0, this.r)] = new Block( + this.x + rX(-1, 0, this.r), + this.y + rY(-1, 0, this.r), + this.color + )), + (i[this.x][this.y] = new Block(this.x, this.y, this.color)), + (i[this.x + rX(0, -1, this.r)][this.y + rY(0, -1, this.r)] = new Block( + this.x + rX(0, -1, this.r), + this.y + rY(0, -1, this.r), + this.color + ))) + : 'red' == this.color + ? ((i[this.x + rX(-1, -1, this.r)][this.y + rY(-1, -1, this.r)] = + new Block( + this.x + rX(-1, -1, this.r), + this.y + rY(-1, -1, this.r), + this.color + )), + (i[this.x + rX(1, 0, this.r)][this.y + rY(1, 0, this.r)] = new Block( + this.x + rX(1, 0, this.r), + this.y + rY(1, 0, this.r), + this.color + )), + (i[this.x][this.y] = new Block(this.x, this.y, this.color)), + (i[this.x + rX(0, -1, this.r)][this.y + rY(0, -1, this.r)] = new Block( + this.x + rX(0, -1, this.r), + this.y + rY(0, -1, this.r), + this.color + ))) + : 'yellow' == this.color + ? ((i[this.x + rX(-0.5, -0.5, this.r) - 0.5][ + this.y + rY(-0.5, -0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(-0.5, -0.5, this.r) - 0.5, + this.y + rY(-0.5, -0.5, this.r) - 0.5, + this.color + )), + (i[this.x + rX(-0.5, 0.5, this.r) - 0.5][ + this.y + rY(-0.5, 0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(-0.5, 0.5, this.r) - 0.5, + this.y + rY(-0.5, 0.5, this.r) - 0.5, + this.color + )), + (i[this.x + rX(0.5, 0.5, this.r) - 0.5][ + this.y + rY(0.5, 0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(0.5, 0.5, this.r) - 0.5, + this.y + rY(0.5, 0.5, this.r) - 0.5, + this.color + )), + (i[this.x + rX(0.5, -0.5, this.r) - 0.5][ + this.y + rY(0.5, -0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(0.5, -0.5, this.r) - 0.5, + this.y + rY(0.5, -0.5, this.r) - 0.5, + this.color + ))) + : 'teal' == this.color + ? ((i[this.x + rX(-1.5, -0.5, this.r) - 0.5][ + this.y + rY(-1.5, -0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(-1.5, -0.5, this.r) - 0.5, + this.y + rY(-1.5, -0.5, this.r) - 0.5, + this.color + )), + (i[this.x + rX(-0.5, -0.5, this.r) - 0.5][ + this.y + rY(-0.5, -0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(-0.5, -0.5, this.r) - 0.5, + this.y + rY(-0.5, -0.5, this.r) - 0.5, + this.color + )), + (i[this.x + rX(0.5, -0.5, this.r) - 0.5][ + this.y + rY(0.5, -0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(0.5, -0.5, this.r) - 0.5, + this.y + rY(0.5, -0.5, this.r) - 0.5, + this.color + )), + (i[this.x + rX(1.5, -0.5, this.r) - 0.5][ + this.y + rY(1.5, -0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(1.5, -0.5, this.r) - 0.5, + this.y + rY(1.5, -0.5, this.r) - 0.5, + this.color + ))) + : 'purple' == this.color && + ((i[this.x + rX(-1, 0, this.r)][this.y + rY(-1, 0, this.r)] = new Block( + this.x + rX(-1, 0, this.r), + this.y + rY(-1, 0, this.r), + this.color + )), + (i[this.x + rX(1, 0, this.r)][this.y + rY(1, 0, this.r)] = new Block( + this.x + rX(1, 0, this.r), + this.y + rY(1, 0, this.r), + this.color + )), + (i[this.x][this.y] = new Block(this.x, this.y, this.color)), + (i[this.x + rX(0, -1, this.r)][this.y + rY(0, -1, this.r)] = new Block( + this.x + rX(0, -1, this.r), + this.y + rY(0, -1, this.r), + this.color + ))) + blockId++ + } + coll(i, t, s) { + return i < 0 || 9 < i || 19 < t || !!s[i][t] + } + } + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/js/dist/script.js b/resources/blox.askplays.com/blox.askplays.com/js/dist/script.js new file mode 100644 index 0000000..502b69a --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/js/dist/script.js @@ -0,0 +1 @@ +"use strict";var _a,__awaiter=this&&this.__awaiter||function(e,r,s,l){return new(s=s||Promise)(function(a,t){function o(e){try{i(l.next(e))}catch(e){t(e)}}function n(e){try{i(l.throw(e))}catch(e){t(e)}}function i(e){var t;e.done?a(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(o,n)}i((l=l.apply(e,r||[])).next())})};let canvas,ctx;const sprites={};let width=0,height=0,ratio,piece=null,bx=0,gamemode=0,points=0,wait=0,counter=0,scounter=0,gcounter=0,gifcounter=0,speed=0,board=[],keys={},rotations=0;const colors=["teal","yellow","purple","orange","blue","green","red"],scoreNames=["Total","PC Mode","40 Lines","Digger","Survival","The Almost Death","Four Wide"];let holdBlock=null,queue=[],switched=!1,settingsMenu=!1,account=!1,DAS=133,ARR=10,softDrop=10,softDropDAS=0,keyBinds=["KeyZ","KeyC","KeyX","ShiftLeft","KeyR","ArrowLeft","ArrowRight","ArrowDown","Space","KeyG","KeyM","KeyV","Enter","KeyN","KeyE","KeyQ","ControlLeft","KeyT"],prevX=0,prevY=0,prevPiece="",prevBoard=[],prevRot=0,prevPoints=0,mode=0,effects={shadow:!1,reverseShadow:!1,pieceShadow:!1,lineClear:!0,hardDrop:!1},tempHeight=4,delta=0,curTime=0,prevTime=0,frameBuffer=[],fps=0,pcs=0,combo=0,attackTable=[0,1,2,4,2,4,6,10],comboTable=[0,0,1,1,1,2,2,3,3,4,4,4,5],prefix="default",garbageHeight=0,leader="",username=null!=(_a=getCookie("username"))?_a:"guest"+Math.floor(1e7*Math.random()),sUsername=null,lobbyName="",lobbyId="",list=[],spectators={},scores={},teamScores=[0,0,0],online=!0,lines=0,max_lines=40,glines=0,g=0,alive=!1,started=!1,startTimer1=0,startTimer2=0,drawRequest=0,requestingLoop=!1,requestingRender=!1,gravityTimer=0,gPrevTime=0;const nameColors={guest:"#aaa",user:void 0,mod:"#95f",admin:"#f55",info:"#3B8EEA",success:"#5f5",error:"#f55",achievement:"#FFD700"},nameTitles={guest:"Guest",user:"",mod:"Moderator",admin:"Admin",info:"Info",error:"Error",achievement:"Achievement"},themeBGHex={dark:"#333",night:"#000",light:"#fff"},themeRGB={dark:"51, 51, 51",night:"0, 0, 0",light:"255, 255, 255"},themeGrid={dark:"34, 34, 34",night:"34, 34, 34",light:"153, 153, 153"},themeBorder={dark:"255, 255, 255",night:"255, 255, 255",light:"0, 0, 0"};let type="user",permaWait=0,lockTime=0,canvi={},peakY=0,winner=!1,teamWinner=0,lockDelay=1e3,bindKey=!1,bindButton=!1,keyToBind=-1,buttonToBind=-1,keyTimers=[],keyDASed=[],preInputs=[],garbageStore=[],garbageAmount=0,pieces=0,attack=0,position="",skinImg,ghostImg,skinGif=null,skinType="image/png",gifFrame=0,bag=null,pps=0,apm=0,kpp=0,prevGarb=10,are=0,replay,sendActions=[],lineEffect=[],trailEffect=[],effectSettings={lTime:100,lStartO:1,lStopO:0,tTime:50,tColor:!1,tStartO:.5,tStopO:0},plays=0,otherSpins=[[[0,0],[-1,0],[-1,1],[0,-2],[-1,-2]],[[0,0],[1,0],[1,-1],[0,2],[1,2]],[[0,0],[1,0],[1,-1],[0,2],[1,2]],[[0,0],[-1,0],[-1,1],[0,-2],[-1,-2]],[[0,0],[1,0],[1,1],[0,-2],[1,-2]],[[0,0],[-1,0],[-1,-1],[0,2],[-1,2]],[[0,0],[-1,0],[-1,-1],[0,2],[-1,2]],[[0,0],[1,0],[1,1],[0,-2],[1,-2]]],iSpins=[[[0,0],[-2,0],[1,0],[-2,-1],[1,2]],[[0,0],[2,0],[-1,0],[2,1],[-1,-2]],[[0,0],[-1,0],[2,0],[-1,2],[2,-1]],[[0,0],[1,0],[-2,0],[1,-2],[-2,1]],[[0,0],[2,0],[-1,0],[2,1],[-1,-2]],[[0,0],[-2,0],[1,0],[-2,-1],[1,2]],[[0,0],[1,0],[-2,0],[1,-2],[-2,1]],[[0,0],[-1,0],[2,0],[-1,2],[2,-1]]],spins180=[[[0,0],[0,1]],[[0,0],[-1,0]],[[0,0],[0,-1]],[[0,0],[1,0]]],rotationSystem="SRS",allSpin=!1,prevTwist=!1,prevMini=!1,validRun=!0,customRun=!1,timesMode=2,lastSender=!1,scaling=!1,showFps=!1,frameLimiter=0,frameLimit=60,infiniteHold=!1,replayCodes={MOVE_LEFT:0,MOVE_RIGHT:1,DAS_LEFT:2,DAS_RIGHT:3,ROTATE_LEFT:4,ROTATE_RIGHT:5,ROTATE_180:6,HARD_DROP:7,SOFT_DROP_BEGIN_END:8,GRAVITY_STEP:9,HOLD_BLOCK:10,GARBAGE_ADD:11,SGARBAGE_ADD:12,REDBAR_SET:13,ARR_MOVE:14,AUX:15,AFK:16,BLOCK_SET:17,MOVE_TO:18,RANDOMIZER:19,MATRIX_MOD:20,WIDE_GARBAGE_ADD:21,WIDE_GARBAGE_SET:22},gRNG,multiplayer=!1,timeElt,ppsElt,apmElt,linesElt,piecesElt,fpsNode,timeNode,ppsNode,apmNode,linesNode,piecesNode,kppNode,computerType="none",computers=[],localBoards=[],computerCount=1,pcFinder,pcFound=null,pcIndex=0,pcsFound=[],pcFinderCurrent=!1,pcStartTime=0,aiBattle=!1,tempBoard={garbageAmount:0,garbageStore:[],winner:!1,alive:!0},team=0,teams=!1,startSpeed=1,speedIncrease=1,speedLimit=0,bW=10,bH=20;const DefaultSettings={name:"lobby",password:"",playerLimit:0,startSpeed:1,speedIncrease:1,speedLimit:0,rotationSystem:"SRS",mode:0,teams:!1,attackTable:[0,1,2,4,2,4,6,10],comboTable:[0,0,1,1,1,2,2,3,3,4,4,4,5],infiniteHold:!1,width:10,height:20,garbageDelay:333,messiness:0,noFourWide:!1,allSpin:!1};let activeSettings=Object.assign({},DefaultSettings),lobbySettings=Object.assign({},DefaultSettings),localSettings=Object.assign({},DefaultSettings),holdCanvas,queueCanvas,backCanvas,redbarCanvas,hCtx,qCtx,bCtx,rCtx,pHoldBlock=null,pQueue=[],pScore="",pGarbageAmount=0,showBoard=!0,leaderboardMode=2,tool="auto",mapBoard=[],mouseBtn=[],record=0,resetTime=0,desynced=!1;const idToCode={"input-restart":4,"input-left":5,"input-right":6,"input-soft":7,"input-hard":8,"input-ccw":0,"input-180":2,"input-cw":1,"input-hold":3};let curOpener="none",boardEditor=!1,pieceSequence=[],showOpener=!0,mirrorOpener=!1;const mirrorPiece={teal:"teal",yellow:"yellow",purple:"purple",blue:"orange",orange:"blue",red:"green",green:"red"},pieceToLetter={teal:"I",yellow:"O",purple:"T",blue:"J",orange:"L",red:"Z",green:"S"};let showTips=!0,bags=[],pAttackName="",settings={theme:"dark",attackLog:!0,mobilePositions:[{left:"2vw",bottom:"22vw"},{},{left:"42vw",bottom:"22vw"},{right:"22vw",bottom:"22vw"},{right:"2vw",bottom:"22vw"},{left:"2vw",bottom:"2vw"},{left:"22vw",bottom:"2vw"},{left:"42vw",bottom:"2vw"},{right:"22vw",bottom:"2vw"},{right:"2vw",bottom:"2vw"}],showTips:!0,moreSpace:!0,showRotationCenter:!1,segmentedAttackBar:!0,scaling:!1,logInputTime:!1,deadzone:.5,disableGamepad:!1,buttonBinds:[6,7,2,1,3,14,15,13,0,11,4,5],showFps:!1,showPing:!1,doubleHardDrop:!0,lockingBar:!0,skinConnected:!1,webgl:!1,preciseInput:!1,performanceMode:!1,behindBoard:!0,previewAlpha:25,centerBoard:!1,showTimer:!1,pcOnscreen:!0,bagSeperator:!1,openerPreviewColors:{teal:"#0F9BD7",yellow:"#E39F02",purple:"#AF298A",orange:"#E35B02",blue:"#2141C6",green:"#59B101",red:"#D70F37",garbage:"#686868"}},mobileMove=!1,mobileButton=-1,mOffX=0,mOffY=0,focusingChat=!1,variation="variation",setSeed=!1,pcPractice=!1,blockPositions=[],prevBlock,prevTool="color",placedPieces=[],emotes={catJAM:"5f1b0186cf6d2144653d2970",Clap:"55b6f480e66682f576dd94f5",PogU:"5e4e7a1f08b4447d56a92967",EZ:"5590b223b344e2c42a9e28e3",ratJAM:"5f43037db2efd65d77e8a88f",Sadge:"5e0fa9d40550d42106b8a489",OMEGADANCE:"60eb51cc8ed8b373e4220fb4",Pog:"5ff827395ef7d10c7912c106",smileW:"https://cdn.discordapp.com/emojis/896181693118038026.png?size=96"},tipsInterval=null,consoleTimer=!1,inputTimes=[],inputTimer=0;const c={v:3.3,softDropId:2,gameStart:1621320197436,gameEnd:1621320296216,seed:"qjw1nh",m:1,bs:0,se:2,das:133,r:0};let keyPresses=0,score=0,gamepads=[],gamepadconnected=!1,focusMode=!1,boardHistory=[],pieceHistory=[],openers={},openerData={},playerData={},playerElt=null,playMode=0,mapMode=!1,winCon=0,winConCount=10,hardDropTime=0,noMove=!1,categories={},categoryColors={"T-spin opener":"#9b88bf","PC opener":"#ffffff",Fourwide:"#9e3737","Guaranteed First Bag":"#1c9600",Competitive:"#ff0000","First Bag TSD":"#FF00FF","Air TSD":"#ff8ae2",DT:"#4d00b8",BT:"#33007a",TT:"#1d0045","C-Spin":"#689914",STSD:"#91a5ba",Trinity:"#a7d0fa",STD:"#f2ff00",MTSD:"#f5ab00",DPC:"#0d00ff",Hyper:"#00ff1e",Fin:"#0011ff",Neo:"#0011ff",Iso:"#0011ff",Meme:"#4f98ff","Breaks B2B":"#8c6649",Beginner:"#32d9d6",Intermediate:"#d9d932",Advanced:"#cc2121"},usePcFinderWorker=!0;class Game{constructor(){this.consts={ratio:window.devicePixelRatio,res:"res"},this.spriteData={}}}const GAME=new Game;function prep(){if(null!=document){canvas=safeGetById("canvas"),ctx=canvas.getContext("2d"),null!=getCookie("settings")&&(settings=Object.assign(settings,JSON.parse(getCookie("settings")||"")),document.body.parentNode.className=settings.theme);const r=new URLSearchParams(window.location.search);if(null!=r.get("redirect")&&(a=JSON.parse(null!=(a=r.get("settings"))?a:""),Object.assign(localStorage,a)),!1===location.host.includes("askplays")&&null==localStorage.getItem("no-redirect")&&(r.set("redirect","true"),r.set("settings",JSON.stringify(localStorage)),safeGetById("wrong-url").style.display="block",safeGetById("redirect-url").href="https://blox.askplays.com/?"+r),r.get("mode")||"true"===r.get("login"))safeGetById("players")&&playOffline(!1);else if(null!=r.get("opener")){opener=safeGetById("opener").value=r.get("opener").replace("+"," ");const d=document.getElementById("opener");""==(null===d||void 0===d?void 0:d.value)&&(opener=d.value="none"),setTimeout(()=>{if(null!=(e=openerData[opener])&&e.link){safeGetById("opener-source").href=openerData[opener].link;const o=safeGetById("opener-iframe");o.src=openerData[opener].link,o.style.display="block",o.style.height=safeGetById("main").style.height,safeGetById("iframe-container").style.display="block"}let t=safeGetById("variation");if(t.innerHTML="",openers[opener]){var a=Object.keys(openers[opener]);for(let e=0;e'+a[e]+"";var e=Object.keys(openers[opener]);void 0===openers[opener][variation]&&(variation=e[0])}safeGetById("variation-span").style.display=""!=t.innerHTML&&1{var t;mouseBtn[e.button]=1,"none"==opener&&3==playMode?(null!=(t=safeGetById("opener-search-wrapper"))&&t.classList.remove("hidden"),openerSearch(document.querySelector("#opener-search .searchbar").value=""),setTimeout(()=>{document.querySelector("#opener-search .searchbar").focus()},1)):0!=gamemode&&2!=gamemode&&3!=gamemode||0!=e.button||mapMode?0!=gamemode&&2!=gamemode&&3!=gamemode||!mouseBtn[0]&&!mouseBtn[2]||!mapMode||mapMakerTool(e.offsetX*devicePixelRatio,e.offsetY*devicePixelRatio,!!mouseBtn[2]):(setSettings(localSettings),startGame(),sendEvent("singlePlay",mode))}),document.addEventListener("mouseup",e=>{mouseBtn[e.button]=0}),canvas.addEventListener("contextmenu",e=>e.preventDefault()),canvas.addEventListener("mousemove",e=>{if(0!=gamemode&&2!=gamemode&&3!=gamemode||!mouseBtn[0]&&!mouseBtn[2]||!mapMode){if(boardEditor){var t=e.offsetX*devicePixelRatio,a=e.offsetY*devicePixelRatio;if(piece&&0<=t&&0<=a&&to&&!piece.collide(-1,0);)piece.x--;for(;piece.yn&&!piece.collide(0,-1);)piece.y--}}}else mapMakerTool(e.offsetX*devicePixelRatio,e.offsetY*devicePixelRatio,!!mouseBtn[2])}),document.getElementById("piece-queue")){playMode=2,mapMode=!0,online=!1,safeGetById("modes").style.display="flex",canvas.style.touchAction="none",canvas.addEventListener("touchstart",t=>{for(let e=0;e{for(let e=0;e{localSettings.mode=parseInt(e.target.value),e.target.blur()});for(const c of document.getElementsByClassName("tool-color"))c.addEventListener("click",e=>{tool="color",safeGetById("draw-color").value=e.target.dataset.color||""});safeListen("tool-auto","click",e=>{tool="auto"}),safeListen("tool-erase","click",e=>{tool="erase"}),safeListen("board-width","change",e=>{for(bW=parseInt(e.target.value),resize();mapBoard.length{bH=parseInt(e.target.value),resize()})}safeListen("cog","mousedown",e=>{0==e.button&&(safeGetById("settings-wrapper").classList.toggle("hidden"),settingsMenu=!settingsMenu)}),safeListen("mobileReconnect","click",e=>{connect()}),safeListen("--100","mousedown",e=>{0==e.button&&playOnline()}),safeListen("singleplayer","mousedown",e=>{0==e.button&&playOffline()}),safeListen("custom","mousedown",e=>{0==e.button&&playCustom()}),safeListen("opener-practice","mousedown",e=>{0==e.button&&playOpener()}),safeListen("--100","keydown",e=>{"Enter"==e.code&&playOnline()}),safeListen("singleplayer","keydown",e=>{"Enter"==e.code&&playOffline()}),safeListen("custom","keydown",e=>{"Enter"==e.code&&playCustom()}),safeListen("opener-practice","keydown",e=>{"Enter"==e.code&&playOpener()});const s=document.getElementById("account-menu");s?(s.addEventListener("click",accountMenu),s.addEventListener("keydown",accountMenu)):console.log("already logged in"),safeListen("login","click",e=>{var t;websocket.readyState===WebSocket.OPEN?(username=safeGetById("username").value,t=safeGetById("password").value,setCookie("username",username),safeGetById("password").value="",doSend("login",{username:username,password:t,lobbyName:lobbyName})):safeGetById("account-status").innerText="Failed to login due to closed connection"}),safeListen("register","click",e=>{var t;websocket.readyState===WebSocket.OPEN?username.match(/^[^ ]+$/)&&safeGetById("password").value.match(/^[^ ]+$/)?50{bindKey=!0,keyToBind=t,a.innerText="-binding-"}),e++}e=0;for(let a of document.getElementsByClassName("button-bind")){let t=e;a.innerText=settings.buttonBinds[e]+"",a.addEventListener("click",e=>{bindButton=!0,buttonToBind=t,a.innerText="-binding-"}),e++}safeListen("mobile-move","click",e=>{mobileMove=e.target.checked;for(let t=0;t{e.target.checked?(e=window.innerHeight-safeGetById("main").getBoundingClientRect().height-safeGetById("header").getBoundingClientRect().height,safeGetById("mobile-buttons").style.height=e+"px"):safeGetById("mobile-buttons").style.height="0px"}),safeListen("mobile-reset","click",e=>{settings.mobilePositions=[{left:"2vw",bottom:"22vw"},{},{left:"42vw",bottom:"22vw"},{right:"22vw",bottom:"22vw"},{right:"2vw",bottom:"22vw"},{left:"2vw",bottom:"2vw"},{left:"22vw",bottom:"2vw"},{left:"42vw",bottom:"2vw"},{right:"22vw",bottom:"2vw"},{right:"2vw",bottom:"2vw"}],settings.moreSpace=!0,setCookie("settings",JSON.stringify(settings)),mobileLayout()}),safeListen("deadzone","change",e=>{settings.deadzone=parseInt(e.target.value)/100,setCookie("settings",JSON.stringify(settings))}),safeListen("leaderboard-page","click",e=>{safeGetById("leaderboards-wrapper").classList.remove("hidden"),1==safeGetById("leaderboard-content").childElementCount&&doSend("leaderboard",{num:2,dups:!1})}),safeListen("leaderboard-page","keydown",e=>{"Enter"==e.code&&(safeGetById("leaderboards-wrapper").classList.remove("hidden"),1==safeGetById("leaderboard-content").childElementCount&&doSend("leaderboard",{num:2,dups:!1}))});var t=document.getElementById("leaderboard-modes");if(t)for(let e=0;e{doSend("leaderboard",{num:leaderboardMode=parseInt(a.value),dups:safeGetById("duplicates").checked});let t='PositionPlayer';[1,5,6,7,8].includes(leaderboardMode)&&(t+="Score"),t+="TimePiecesPPSDateReplay",safeGetById("leaderboard-content").innerHTML=t,safeGetById("leaderboard-loading").classList.remove("hidden"),safeGetById("leaderboard-title").innerText=e.target.innerText+" Leaderboard"})}safeListen("duplicates","click",e=>{doSend("leaderboard",{num:leaderboardMode,dups:e.target.checked})}),safeListen("chat-type","click",e=>{"(global)"==e.target.innerText?(e.target.innerText="(lobby)",doSend("chat","lobby")):(e.target.innerText="(global)",doSend("chat","global"))}),safeListen("chat-type","keydown",e=>{"Enter"==e.code&&("(global)"==e.target.innerText?(e.target.innerText="(lobby)",doSend("chat","lobby")):(e.target.innerText="(global)",doSend("chat","global")))}),safeListen("DAS","change",e=>{setCookie("DAS",safeGetById("DAS").value),validRun=!1}),safeListen("ARR","change",e=>{setCookie("ARR",safeGetById("ARR").value),validRun=!1}),safeListen("SOFT_DROP","change",e=>{setCookie("SOFT_DROP",safeGetById("SOFT_DROP").value),validRun=!1}),safeListen("SOFT_DROP_DAS","change",e=>{setCookie("SOFT_DROP_DAS",safeGetById("SOFT_DROP_DAS").value),validRun=!1});for(let e=0;e{effects[t.dataset.key]=t.checked,setCookie("effects",JSON.stringify(effects))})}for(let e=0;e{effectSettings[a]=t.checked,setCookie("EFFECTSETTINGS",JSON.stringify(effectSettings))}):t.addEventListener("change",e=>{effectSettings[a]=parseInt(t.value),setCookie("EFFECTSETTINGS",JSON.stringify(effectSettings))})}safeGetById("settings-controls")&&(safeGetById("settings-controls").style.display="block");for(let a=0;a{t.classList.toggle("rotated")?document.getElementsByClassName("effect-set")[a].style.display="block":document.getElementsByClassName("effect-set")[a].style.display="none"})}for(let o=0;o{for(const a of document.getElementsByClassName("expand-content"))a.style.display="none";let t=document.querySelector("button.expand-button.toggled");t&&t.classList.remove("toggled"),document.getElementsByClassName("expand-content")[o].style.display="block",e.target.classList.add("toggled")})}safeListen("SKINS","change",e=>{if(setCookie("SKIN",e.target.value),"custom"!=e.target.value){let e=safeGetById("skin-connected"),t=(e.checked=!1,new CustomEvent("click"));(t.target=e).dispatchEvent(t)}}),safeListen("theme","change",e=>{document.body.parentNode.className=e.target.value}),safeListen("show-fps","click",e=>{setCookie("show-fps",""+e.target.checked),showFps=e.target.checked}),safeListen("frame-limiter","change",e=>{setCookie("frame-limiter",e.target.value),frameLimiter=parseInt(e.target.value)}),safeListen("frame-limit","change",e=>{setCookie("frame-limit",e.target.value),frameLimit=parseInt(e.target.value)}),safeListen("performance-mode","click",e=>{e.target.checked&&(safeGetById("precise-input").checked=!0,settings.preciseInput=e.target.checked,setCookie("settings",JSON.stringify(settings)))}),safeListen("mobile-chat","click",e=>{document.body.parentElement.scrollTop=document.body.parentElement.scrollHeight,safeGetById("chat-notification").style.display="none"});for(let e=0;e{settings[e.target.dataset.key]=e.target.checked,setCookie("settings",JSON.stringify(settings))})):"number"==p.type?(p.value=settings[p.dataset.key],p.addEventListener("change",e=>{settings[e.target.dataset.key]=parseInt(e.target.value),setCookie("settings",JSON.stringify(settings))})):"text"==p.type?(p.value=settings[p.dataset.key],p.addEventListener("change",e=>{settings[e.target.dataset.key]=e.target.value,setCookie("settings",JSON.stringify(settings))})):"SELECT"==p.nodeName&&(p.value=settings[p.dataset.key],p.addEventListener("change",e=>{settings[e.target.dataset.key]=e.target.value,setCookie("settings",JSON.stringify(settings))}))}var a=document.getElementById("categories");if(a)for(var o of a.children)o.addEventListener("click",e=>{categories[e.target.dataset.category||""]=e.target.classList.toggle("toggled"),openerSearch(document.querySelector("#opener-search .searchbar").value)}),e++;if(safeListen("mode-select","change",e=>{localSettings.mode=+e.target.value,mode!=localSettings.mode&&history.pushState(null,"",(1==playMode?"?mode=":"?cmode=")+localSettings.mode),safeGetById("lock-delay-span")&&(safeGetById("lock-delay-span").style.display=5==localSettings.mode?"block":"none")}),safeListen("START_SPEED","change",e=>{localSettings.startSpeed=+e.target.value,2!=playMode&&(validRun=!1)}),safeListen("nogravity","click",e=>{1{rotationSystem=e.target.value,localSettings.rotationSystem=e.target.value,validRun=!1}),safeListen("all-spin","click",e=>{allSpin=e.target.checked,localSettings.allSpin=e.target.checked,validRun=!1}),safeListen("board-width","change",e=>{localSettings.width=Math.max(Math.min(+e.target.value,1e3),4),e.target.value=""+localSettings.width,2!=playMode&&(validRun=!1)}),safeListen("board-height","change",e=>{localSettings.height=Math.max(Math.min(+e.target.value,1e3),1),e.target.value=""+localSettings.height,2!=playMode&&(validRun=!1)}),safeListen("hold-mode","click",e=>{infiniteHold=e.target.checked,localSettings.infiniteHold=e.target.checked,validRun=!1}),safeListen("opener","change",e=>{var t;if(opener=e.target.value,null!=(t=openerData[opener])&&t.link){safeGetById("opener-source").href=openerData[opener].link;const i=safeGetById("opener-iframe");i.src=openerData[opener].link,i.style.display="block",i.style.height=safeGetById("main").style.height,safeGetById("iframe-container").style.display="block"}else safeGetById("opener-source").href="https://docs.google.com/document/d/1-N6Q0PAbECbXZRYoa_tMKksksimQy9fqWGkQYwrCLxY/edit";variation="",e.target.blur();let a=safeGetById("variation");if(a.innerHTML="",openers[opener]){var o=Object.keys(openers[opener]);for(let e=0;e'+o[e]+""}safeGetById("variation-span").style.display=""!=a.innerHTML&&1{variation=e.target.value,e.target.blur()}),safeListen("set-seed","click",e=>{setSeed=e.target.checked,e.target.blur()}),safeListen("random-opener","click",e=>{e.target.checked&&(opener=safeGetById("opener").value=getRandomOpener()),e.target.blur(),safeGetById("opener").dispatchEvent(new CustomEvent("change"))}),safeListen("random-variation","click",e=>{let t=safeGetById("variation");e.target.checked&&openers[opener]&&1{e.target.blur()}),safeListen("reset-fault","click",e=>{e.target.blur()}),safeListen("pc-practice","click",e=>{pcPractice=e.target.checked,e.target.blur()}),safeGetById("pcfinder-find").innerText=`Find PC (${keyBinds[14]})`,safeListen("pcfinder-find","click",e=>{findPC()}),safeListen("chat-input","keyup",e=>{"Enter"==e.key&&""!=safeGetById("chat-input").value&&(username==sUsername&&""!=sUsername?(createComment(username,safeGetById("chat-input").value,"",type),doSend("message",safeGetById("chat-input").value),safeGetById("chat-input").value=""):(createComment("","failed to send message","#f55"),doSend("guest",username))),"Escape"==e.key&&(safeGetById("chat-input").blur(),focusingChat=!1)}),safeGetById("mode-list"))if(mapMode)for(let t=0;t{var t,a=tool;e.target.getAttribute("tool")?tool=null!=(t=e.target.getAttribute("tool"))?t:"":null!=(t=e.target.parentElement)&&t.getAttribute("tool")&&(tool=null!=(e=null==(t=e.target.parentElement)?void 0:t.getAttribute("tool"))?e:""),"edit"==tool?(tool=a,endGame(!1)):"test"==tool&&(tool=a,startGame())})}else for(let t=0;t{e.preventDefault()}),e.addEventListener("click",e=>{e=+(null!=(e=e.target.dataset.mode)?e:0);mode!=e&&history.pushState(null,"",(1==playMode?"?mode=":"?cmode=")+e),mode=e,safeGetById("opener").value="none",alive=!1,localSettings.mode=mode,localSettings.startSpeed=1,safeGetById("hold-span").style.display=1==mode?"inline-block":"none",safeGetById("ai-span").style.display=0==mode?"inline-block":"none",safeGetById("lock-delay-span").style.display=5==mode?"inline-block":"none",1!=mode&&(safeGetById("hold-mode").checked=infiniteHold=!1),setSettings(localSettings),startGame(),sendEvent("singlePlay",mode)})}mapMode&&(safeListen("win-con","change",e=>{0==(winCon=+e.target.value)?winConCount=10:1!=winCon&&2!=winCon||(winConCount=1),safeGetById("win-con-count").value=""+winConCount}),safeListen("win-con-count","change",e=>{winConCount=+e.target.value}),safeListen("load-map","click",e=>{var a=safeGetById("map-code").value,o=["teal","yellow","purple","orange","blue","green","red","garbage"];for(let t=0;t{settings.skinConnected?sprites.custom=new Sprite(skinImg,{width:48,height:48,animSpeed:12}):sprites.custom=new Sprite(skinImg,{width:skinImg.height,height:skinImg.height,animSpeed:12})}),safeListen("custom-skin","change",e=>{(skinImg=new Image).src=e.target.value,skinImg.onload=e=>{setCookie("SKINS","custom"),safeGetById("SKINS").value=prefix="custom",settings.skinConnected?sprites.custom=new Sprite(e.target,{width:48,height:48,animSpeed:12}):sprites.custom=new Sprite(e.target,{width:e.target.height,height:e.target.height,animSpeed:12}),setCookie("custom-skin",e.target.src)},loadCustomSkin()}),safeListen("custom-ghost","change",e=>{""==e.target.value?(document.cookie="custom-ghost=",localStorage.removeItem("custom-ghost"),sprites.outline=sprites.outline2):((ghostImg=new Image).src=e.target.value,ghostImg.onload=e=>{sprites.outline=new Sprite(e.target,{width:e.target.height,height:e.target.height,animSpeed:12}),setCookie("custom-ghost",e.target.src)})});var n=document.getElementsByClassName("opener-preview-colors");for(let e=0;e{e=e.target;settings.openerPreviewColors[f]=e.value,hexes.preview[f]=e.value,setCookie("settings",JSON.stringify(settings))})}safeListen("volume","change",e=>{setCookie("volume",e.target.value)}),safeListen("team-red","click",i(1)),safeListen("team-blue","click",i(2)),safeListen("waiting-mode","change",e=>{localSettings.mode=+e.target.value}),safeListen("ai-depth","change",e=>{safeGetById("total-checks").innerText=""+2*Math.pow(10,+e.target.value-1)}),safeListen("help-button","click",e=>{safeGetById("help-wrapper").classList.toggle("hidden")}),safeListen("emote-button","click",e=>{safeGetById("emote-menu").style.display="block"==safeGetById("emote-menu").style.display?"none":"block";const t=safeGetById("emotes");if(0==t.childElementCount){var a=Object.keys(emotes);for(let e=0;e':t.innerHTML+='';for(let e=0;e{safeGetById("chat-input").value+=`:${e.target.dataset.copyText}:`,safeGetById("chat-input").focus()})}}),safeListen("emote-close","click",e=>{safeGetById("emote-menu").style.display="block"==safeGetById("emote-menu").style.display?"none":"block"}),safeListen("mirror-opener","click",e=>{e.currentTarget.classList.toggle("toggled"),mirrorOpener=!mirrorOpener}),safeListen("show-opener","click",e=>{e.currentTarget.classList.toggle("toggled"),showOpener=!showOpener});var a=document.getElementById("lobby-group");if(a)for(const u of a.children)"checkbox"==u.type?u.addEventListener("click",e=>{doSend("setting",{key:e.target.dataset.key,value:e.target.checked})}):"table"==u.className?u.addEventListener("change",t=>{try{let e=JSON.parse("["+t.target.value+"]");for(const a of e)if("number"!=typeof a)throw"not number";if(e.length!=JSON.parse("["+t.target.defaultValue+"]").length)throw"list not long enough";doSend("setting",{key:t.target.dataset.key,value:e}),t.target.value=e.toString()}catch(e){t.target.value=t.target.defaultValue}}):u.addEventListener("change",e=>{var t=""==e.target.value||isNaN(+e.target.value)?e.target.value:+e.target.value;doSend("setting",{key:e.target.dataset.key,value:t})});if(null!=(a=document.querySelector("#opener-search .searchbar"))&&a.addEventListener("keyup",t=>{if(openerSearch(t.target.value),"Enter"===t.code){t=document.querySelector("#opener-search .results").firstChild;let e=safeGetById("opener");e.value=t.innerText,e.dispatchEvent(new CustomEvent("change")),safeGetById("opener-search-wrapper").classList.add("hidden")}}),safeListen("opener-search-wrapper","click",e=>{e.target==e.currentTarget&&e.target.classList.add("hidden")}),safeListen("help-wrapper","click",e=>{e.target==e.currentTarget&&e.target.classList.add("hidden")}),safeListen("leaderboards-wrapper","click",e=>{e.target==e.currentTarget&&e.target.classList.add("hidden")}),safeListen("account-wrapper","click",e=>{e.target==e.currentTarget&&e.target.classList.add("hidden")}),safeListen("settings-wrapper","click",e=>{e.target==e.currentTarget&&e.target.classList.add("hidden")}),safeListen("btn-opener-search","click",e=>{var t;null!=(t=safeGetById("opener-search-wrapper"))&&t.classList.remove("hidden"),openerSearch(document.querySelector("#opener-search .searchbar").value=""),document.querySelector("#opener-search .searchbar").focus()}),timeElt=safeGetById("TIME"),ppsElt=safeGetById("PPS"),apmElt=safeGetById("APM"),linesElt=safeGetById("LINES"),piecesElt=safeGetById("stats-pieces"),fpsNode=document.createTextNode(""),timeNode=document.createTextNode("0"),ppsNode=document.createTextNode("0"),apmNode=document.createTextNode("0"),linesNode=document.createTextNode("0"),piecesNode=document.createTextNode("0"),kppNode=document.createTextNode("0"),safeGetById("fps").appendChild(fpsNode),safeGetById("TIME").appendChild(timeNode),safeGetById("PPS").appendChild(ppsNode),safeGetById("APM").appendChild(apmNode),safeGetById("LINES").appendChild(linesNode),safeGetById("stats-pieces").appendChild(piecesNode),safeGetById("kpp").appendChild(kppNode),null!=getCookie("username")&&document.getElementById("account-menu")){safeGetById("account-menu").removeEventListener("click",accountMenu),safeGetById("account-menu").removeEventListener("keydown",accountMenu),username=null!=(a=getCookie("username"))?a:username,safeGetById("profile-dropdown").style.display="block";let e=safeGetById("account-menu");e.id="profile-page",e.innerText="Profile",e.href="/profile",safeGetById("profile-page").href=safeGetById("profile-page").href.replace(/(.*profile).*/,"$1?player="+username),safeGetById("times-page").href=safeGetById("times-page").href.replace(/(.*times).*/,"$1?player="+username)}fetch("./res/emotes.json").then(e=>e.json()).then(e=>{emotes=e}),fetch("./res/openers.json").then(e=>e.json()).then(e=>{openerData=e}),safeListen("chat-box","copy",e=>{if(null==document.getSelection())return"";let t=document.getSelection(),a=t.getRangeAt(0),o=a.cloneContents(),n="";if("TEXTAREA"!==e.target.nodeName&&"INPUT"!==e.target.nodeName){for(var i of o.childNodes.values())3===i.nodeType?n+=i.textContent:1===i.nodeType&&"IMG"===i.nodeName?n+=`:${i.dataset.copyText}:`:1!==i.nodeType||"TEXTAREA"!==i.nodeName&&"INPUT"!==i.nodeName?n+=function e(t){let a="";for(var o of t.childNodes.values())3===o.nodeType?a+=o.textContent:1===o.nodeType&&"IMG"===o.nodeName?a+=`:${o.dataset.copyText}:`:1!==o.nodeType||"TEXTAREA"!==o.nodeName&&"INPUT"!==o.nodeName?a+=e(o):a+=o.value;return a}(i):n+=i.value;e.clipboardData.setData("text/plain",n),e.preventDefault()}});const l=safeGetById("cv");function i(t){return e=>{2==team?safeGetById("team-blue").classList.remove("toggled"):1==team&&safeGetById("team-red").classList.remove("toggled"),e.currentTarget.classList.add("toggled"),doSend("team",team=t);for(let e=0;e{e=e.target;settings.skinConnected?sprites.custom=new Sprite(e,{width:48,height:48,animSpeed:12}):sprites.custom=new Sprite(e,{width:e.height,height:e.height,animSpeed:12,xoffset:372==e.width&&30==e.height?1:0})},"undefined"!=typeof SuperGif?loadCustomSkin():setTimeout(loadCustomSkin,500)),getCookie("custom-ghost"));null!=e&&(ghostImg=new Image,safeGetById("custom-ghost").value=ghostImg.src=e,ghostImg.onload=e=>{sprites.outline=new Sprite(e.target,{width:e.target.height,height:e.target.height,animSpeed:12})}),safeGetById("volume").value=null!=(e=getCookie("volume"))?e:"0",scaling&&resize(),showFps=safeGetById("show-fps").checked=null!=getCookie("show-fps")?"true"==getCookie("show-fps"):showFps,frameLimiter=+(null!=(e=getCookie("frame-limiter"))?e:frameLimiter),safeGetById("frame-limiter").value=""+frameLimiter,frameLimit=+(null!=(e=getCookie("frame-limit"))?e:frameLimit),safeGetById("frame-limit").value=""+frameLimit}prevTime=performance.now(),"undefined"==typeof otherPage&&requestAnimFrame(loop)}function loop(e){update(e),render(),requestingLoop=!1}function update(e){if(curTime=null!=e?e:performance.now(),settings.performanceMode||(drawRequest&&cancelAnimationFrame(drawRequest),0==frameLimiter?requestAnimFrame(loop):1==frameLimiter?setTimeout(loop,1e3/frameLimit):2==frameLimiter&&setTimeout(loop,1)),(delta=curTime-prevTime)<0&&(delta=0),settings.disableGamepad||pollGamepads(),settings.performanceMode||(1!=keys[keyBinds[4]]||alive&&0!=multiplayer||(gamemode=2,setSettings(localSettings),startGame(),sendEvent("singlePlay",mode),keys[keyBinds[4]]=2,boardEditor&&(pieceSequence=[])),1!=keys[keyBinds[9]]||alive||username!=leader||(doSend("multiStart",{}),keys[keyBinds[9]]=2)),1==gamemode){0Math.min(Math.max(60,fps),1e3)&&(frameBuffer=frameBuffer.splice(0,Math.min(Math.max(60,fps),1e3))),(are-=delta)<=0&&(settings.performanceMode?wait+=curTime-gPrevTime:wait+=delta,counter+=delta,scounter+=delta,gcounter+=delta),DAS=+safeGetById("DAS").value,ARR=+safeGetById("ARR").value,softDrop=+safeGetById("SOFT_DROP").value,softDropDAS=+safeGetById("SOFT_DROP_DAS").value,0!=resetTime&&counter>1e3*resetTime&&(setSettings(localSettings),startGame(),sendEvent("singlePlay",mode)),3==playMode&&safeGetById("opener")&&(opener=safeGetById("opener").value),online||0!=mode||"none"==computerType||(garbageStore=tempBoard.garbageStore,garbageAmount=tempBoard.garbageAmount,winner=tempBoard.winner),0<=counter){scounter>4e4/(speed+1)/activeSettings.speedIncrease&&speed<1e3&&("0"!=safeGetById("START_SPEED").value||alive)&&0==mode&&(multiplayer||playMode<2)&&(scounter-=4e4/(speed+1)/activeSettings.speedIncrease,speed++,safeGetById("SPEED").value=""+speed,200<=lockDelay&&0==(lockDelay=200*Math.ceil((1e3-speed)/200))&&(lockDelay=100));let e=600;var l=document.getElementById("lock-delay");if(l&&(e=+l.value),5==mode&&(speed=2e4,lockTime=wait),((lockDelay=6001e3*g&&4==mode){gcounter-=1e3*g;let t=[];for(let e=0;e1e3/speed||lockTime>lockDelay)){let e=wait;if(piece.collide(0,1)){if(lockTime>lockDelay){if(11e3/speed&&!piece.collide(0,1);)piece.y++,noMove=!1,action("GRAVITY_STEP"),e-=1e3/speed,piece.y>peakY&&5!=mode&&(gPrevTime=performance.now(),wait=e,permaWait=0,peakY=piece.y),settings.preciseInput&&keyDASed[5]&&leftDAS(),settings.preciseInput&&keyDASed[6]&&rightDAS()}if(settings.performanceMode&&requestGravity(),are<=0&&started&&""==prevPiece&&!settings.preciseInput&&doControls(),""!=prevPiece){if(pieces++,kpp=Math.round(keyPresses/pieces*10)/10||0,piecesElt&&(piecesElt.innerText=""+pieces),null!=(l=document.getElementById("reset-fault"))&&l.checked){0==placedPieces.length&&(placedPieces=getPieceOrder());var o=Math.floor((pieces-1)/7);let e=0;if(openers[opener]&&openers[opener][variation]&&(e=Math.min(openers[opener][variation].pieces.length-7*o,7)),["DPC","7th PC"].includes(opener)&&"All"==variation&&("DPC"==opener&&7bH-1)&&e++,prevXbW-1||prevY+1>bH-1)&&e++,0bW-1&&e++,1!=prevRot||3!=e||board[prevX-1][prevY-1]||(e--,n=!0),3!=prevRot||3!=e||board[prevX+1][prevY-1]||(e--,n=!0)),0),s=!1;for(let o=-20;o=winConCount&&endGame(!0),tempHeight-=i;let a=!0;for(let t=0;t=winConCount&&endGame(!0)),t="All Clear",7==mode&&(1==i&&(o=4100),2==i&&(o=4400),3==i&&(o=4800),4==i&&(o=5600),"All Clear"==pAttackName&&(o=8400))),combo=garbageStore[e].num)){garbageStore[e].num-=a,garbageAmount-=a;break}if(a-=garbageStore[e].num,garbageAmount-=garbageStore[e].num,garbageStore.splice(e,1),0==a)break}else{alive;for(let e=0;eperformance.now());e++)garbage(garbageStore[e].num,garbageStore[e].rand),lastSender=garbageStore[e].send,garbageAmount-=garbageStore[e].num,garbageStore.splice(e,1),e--}online||0!=mode||"none"==computerType||(tempBoard.garbageStore=garbageStore,tempBoard.garbageAmount=garbageAmount)}if(attack+=f,started&&null!==piece&&void 0!==piece&&piece.collide(0,0)&&endGame(),7==mode&&0comboTable.length&&0comboTable.length&&0comboTable.length&&0e!=tempBoard)[Math.floor(Math.random()*(localBoards.length-1))];e.garbageStore.push({num:a,rand:Math.floor(10*Math.random()),send:username,time:(new Date).getTime()}),e.garbageAmount+=a}}else{for(let t=0;t10*skinGif.get_frames()[gifFrame].delay;)gifcounter-=10*skinGif.get_frames()[gifFrame].delay,gifFrame=(gifFrame+1)%skinGif.get_frames().length;sprites[prefix+gifFrame]&&(prefix+=gifFrame)}if(0==gamemode||2==gamemode||3==gamemode){if(mapMode&&3!=gamemode){8!=mode&&10==bW&&20==bH||(ctx.save(),bW/bH<=1?ctx.scale(20/bH,20/bH):ctx.scale(20/bW,20/bW),bCtx.save(),bW/bH<=1?bCtx.scale(20/bH,20/bH):bCtx.scale(20/bW,20/bW)),bCtx.clearRect(0,0,width,height),bCtx.lineWidth=2*ratio,bCtx.strokeStyle="rgba("+themeGrid[settings.theme]+", 1)";var t=board;board=mapBoard;for(let a=0;a{if(consoleTimer){if(inputTimes.unshift(performance.now()-inputTimer),50e+t)/inputTimes.length).toString().substr(0,5)+" ms",consoleTimer=!1}})),e.repeat||"input"==document.activeElement.localName||(keys[e.code]=1),bindKey&&(keyBinds[keyToBind]=e.code,setCookie("keyBinds",JSON.stringify(keyBinds)),document.getElementsByClassName("key-bind")[keyToBind].innerText=e.code,bindKey=!1),!bindButton||"Delete"!=e.code&&"Backspace"!=e.code||(settings.buttonBinds[buttonToBind]=-1,setCookie("settings",JSON.stringify(settings)),document.getElementsByClassName("button-bind")[buttonToBind].innerText="-1",bindButton=!1),document.activeElement&&"body"==document.activeElement.localName&&0==e.repeat&&(e.code==keyBinds[12]&&"BODY"==document.activeElement.tagName&&(safeGetById("chat").style.display="flex",document.activeElement!=safeGetById("chat-input")&&"Enter"==keyBinds[12]&&(focusingChat=!0),safeGetById("chat-input").focus(),e.preventDefault()),e.code==keyBinds[14]&&1!=mode&&1=Object.keys(openers[opener]).length?Object.keys(openers[opener])[0]:Object.keys(openers[opener])[n],safeGetById("variation").value=variation),e.code==keyBinds[16]&&0'+t+"")}if(e.code==keyBinds[5]&&(keyPresses++,piece.collide(-1,0)||(piece.x--,doWait(),action("MOVE_LEFT"),keys[keyBinds[5]]>=1+DAS&&(keys[keyBinds[5]]-=ARR)),settings.preciseInput&&(keyTimers[5]=setTimeout(leftDAS,DAS),clearTimeout(keyTimers[6]),keyDASed[7]&&softDAS()),delete keys[keyBinds[6]],keyDASed[6]=!1),e.code==keyBinds[6]&&(keyPresses++,piece.collide(1,0)||(piece.x++,doWait(),action("MOVE_RIGHT"),keys[keyBinds[6]]>=1+DAS&&(keys[keyBinds[6]]-=ARR)),settings.preciseInput&&(keyTimers[6]=setTimeout(rightDAS,DAS),clearTimeout(keyTimers[5]),keyDASed[7]&&softDAS()),delete keys[keyBinds[5]],keyDASed[5]=!1),e.code==keyBinds[0]&&(keyPresses++,i=piece.x+(["teal","yellow"].includes(piece.color)?0:.5),n=piece.y+(["teal","yellow"].includes(piece.color)?0:.5),t=piece.r,piece.r=(piece.r+1)%4,collisionRoutine(piece,t)?piece.r=(piece.r-1+4)%4:(noMove=!0,doWait()),keys[keyBinds[0]]=2,action("ROTATE_LEFT"),prevMini=i!=piece.x+(["teal","yellow"].includes(piece.color)?0:.5)||n!=piece.y+(["teal","yellow"].includes(piece.color)?0:.5),settings.preciseInput&&keyDASed[5]&&leftDAS(),settings.preciseInput&&keyDASed[6]&&rightDAS(),settings.preciseInput&&keyDASed[7]&&softDAS()),e.code==keyBinds[1]&&(keyPresses++,t=piece.x+(["teal","yellow"].includes(piece.color)?0:.5),i=piece.y+(["teal","yellow"].includes(piece.color)?0:.5),n=piece.r,piece.r=(piece.r-1+4)%4,collisionRoutine(piece,n)?piece.r=(piece.r+1+4)%4:(noMove=!0,doWait()),keys[keyBinds[1]]=2,action("ROTATE_RIGHT"),prevMini=t!=piece.x+(["teal","yellow"].includes(piece.color)?0:.5)||i!=piece.y+(["teal","yellow"].includes(piece.color)?0:.5),settings.preciseInput&&keyDASed[5]&&leftDAS(),settings.preciseInput&&keyDASed[6]&&rightDAS(),settings.preciseInput&&keyDASed[7]&&softDAS()),e.code==keyBinds[2]&&(n=piece.x+(["teal","yellow"].includes(piece.color)?0:.5),t=piece.y+(["teal","yellow"].includes(piece.color)?0:.5),i=piece.r,piece.r=(piece.r+2)%4,collisionRoutine(piece,i)?piece.r=(piece.r+2)%4:(noMove=!0,doWait()),keys[keyBinds[2]]=2,action("ROTATE_180"),prevMini=n!=piece.x+(["teal","yellow"].includes(piece.color)?0:.5)||t!=piece.y+(["teal","yellow"].includes(piece.color)?0:.5),settings.preciseInput&&keyDASed[5]&&leftDAS(),settings.preciseInput&&keyDASed[6]&&rightDAS(),settings.preciseInput&&keyDASed[7]&&softDAS()),e.code==keyBinds[7]){if(piece.collide(0,1)||(0peakY&&5!=mode?(gPrevTime=performance.now(),wait=0,permaWait=0,peakY=piece.y):doWait(),keys[keyBinds[7]]>=1+softDrop&&(keys[keyBinds[7]]-=softDrop)),0==softDrop&&0==softDropDAS){for(;!piece.collide(0,1);)piece.y++,noMove=!1,action("GRAVITY_STEP");piece.y>peakY&&5!=mode?(gPrevTime=performance.now(),wait=0,permaWait=0,peakY=piece.y):doWait(),settings.preciseInput&&(keyDASed[7]=!0)}else settings.preciseInput&&(keyTimers[7]=setTimeout(softDAS,softDropDAS));settings.preciseInput&&keyDASed[5]&&leftDAS(),settings.preciseInput&&keyDASed[6]&&rightDAS(),settings.preciseInput&&keyDASed[7]&&softDAS()}if(e.code!=keyBinds[3]||switched||(keyPresses++,1bW-1||t>bH-1||void 0!==board[e][t]&&null!==board[e][t]}function rX(e,t,a){return 0===a?e:1===a?t:2===a?-e:-t}function rY(e,t,a){return 0===a?t:1===a?-e:2===a?-t:e}function collide(e,t,a){return rotations++,e.collide(t,a)?(rotations--,!0):(e.x+=t,e.y+=a,!1)}function collideSRS(e,t){return rotations++,e.collide(t[0],-1*t[1])?(rotations--,!0):(e.x+=t[0],e.y+=-1*t[1],!1)}function collideRSRS(e,t){return rotations++,e.collide(-1*t[0],t[1])?(rotations--,!0):(e.x+=-1*t[0],e.y+=t[1],!1)}function collisionRoutine(t,e){let a=!0;if("BRS"==rotationSystem)a=(a=(a=(a=(a=(a=(a=a&&collide(t,0,0))&&collide(t,0,1))&&collide(t,1,1))&&collide(t,-1,1))&&collide(t,0,2))&&collide(t,1,2))&&collide(t,-1,2),a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a="teal"==t.color?(a=(a=(a=a&&collide(t,2,1))&&collide(t,-2,1))&&collide(t,2,2))&&collide(t,-2,2):a)&&collide(t,1,0))&&collide(t,-1,0))&&collide(t,0,-1))&&collide(t,1,-1))&&collide(t,-1,-1))&&collide(t,2,0))&&collide(t,-2,0))&&collide(t,2,1))&&collide(t,-2,1))&&collide(t,2,-1))&&collide(t,-2,-1),"teal"==t.color&&(a=(a=(a=a&&collide(t,0,-2))&&collide(t,1,-2))&&collide(t,-1,-2));else if("SRS"==rotationSystem){if(a=a&&collide(t,0,0)){var o=e,n=t.r;if(2==Math.abs(n-o))for(let e=0;e<2&&(a=collideSRS(t,spins180[o][e]));e++);else for(let e=0;e<5&&("teal"==t.color?(0==o&&3==n&&(a=collideSRS(t,iSpins[0][e])),3==o&&0==n&&(a=collideSRS(t,iSpins[1][e])),3==o&&2==n&&(a=collideSRS(t,iSpins[2][e])),2==o&&3==n&&(a=collideSRS(t,iSpins[3][e])),2==o&&1==n&&(a=collideSRS(t,iSpins[4][e])),1==o&&2==n&&(a=collideSRS(t,iSpins[5][e])),1==o&&0==n&&(a=collideSRS(t,iSpins[6][e])),0==o&&1==n&&(a=collideSRS(t,iSpins[7][e]))):(0==o&&3==n&&(a=collideSRS(t,otherSpins[0][e])),3==o&&0==n&&(a=collideSRS(t,otherSpins[1][e])),3==o&&2==n&&(a=collideSRS(t,otherSpins[2][e])),2==o&&3==n&&(a=collideSRS(t,otherSpins[3][e])),2==o&&1==n&&(a=collideSRS(t,otherSpins[4][e])),1==o&&2==n&&(a=collideSRS(t,otherSpins[5][e])),1==o&&0==n&&(a=collideSRS(t,otherSpins[6][e])),0==o&&1==n&&(a=collideSRS(t,otherSpins[7][e]))),a);e++);}}else if("RSRS"==rotationSystem){if(a){var i=t.r,r=e;if(2==Math.abs(r-i))for(let e=1;0<=e&&(a=collideRSRS(t,spins180[i][e]));e--);else for(let e=4;0<=e&&("teal"==t.color?(0==i&&3==r&&(a=collideRSRS(t,iSpins[0][e])),3==i&&0==r&&(a=collideRSRS(t,iSpins[1][e])),3==i&&2==r&&(a=collideRSRS(t,iSpins[2][e])),2==i&&3==r&&(a=collideRSRS(t,iSpins[3][e])),2==i&&1==r&&(a=collideRSRS(t,iSpins[4][e])),1==i&&2==r&&(a=collideRSRS(t,iSpins[5][e])),1==i&&0==r&&(a=collideRSRS(t,iSpins[6][e])),0==i&&1==r&&(a=collideRSRS(t,iSpins[7][e]))):(0==i&&3==r&&(a=collideRSRS(t,otherSpins[0][e])),3==i&&0==r&&(a=collideRSRS(t,otherSpins[1][e])),3==i&&2==r&&(a=collideRSRS(t,otherSpins[2][e])),2==i&&3==r&&(a=collideRSRS(t,otherSpins[3][e])),2==i&&1==r&&(a=collideRSRS(t,otherSpins[4][e])),1==i&&2==r&&(a=collideRSRS(t,otherSpins[5][e])),1==i&&0==r&&(a=collideRSRS(t,otherSpins[6][e])),0==i&&1==r&&(a=collideRSRS(t,otherSpins[7][e]))),a);e--);}a=a&&collide(t,0,0)}else"NES"==rotationSystem&&(a=a&&collide(t,0,0));return a}function getCookie(e){let t=null;try{localStorage&&(t=localStorage.getItem(e))}catch(e){}if(null!=t)return t;for(var a=e+"=",o=decodeURIComponent(document.cookie).split(";"),n=0;n{safeGetById("start-bar").classList.add("hidden"),getPiece(),started=!0,(alive||1==playMode&&0!=mode)&&doSend("replayStart",mode);for(const e of preInputs)keyDown({code:e,repeat:!1});prevTime=performance.now(),gPrevTime=performance.now(),counter=scounter=gcounter=wait=0,requestLoop()},1e3),clearTimeout(startTimer1),startTimer1=window.setTimeout(()=>{safeGetById("start-bar").children[0].innerText="GO!"},500),safeGetById("start-bar").children[0].innerText="READY",safeGetById("start-bar").classList.remove("hidden")),c.seed=e||LZString.compressToEncodedURIComponent(c.gameStart+""),mapMode&&(""!=safeGetById("map-seed").value&&(c.seed=safeGetById("map-seed").value),safeGetById("map-tools").classList.add("hidden")),3==playMode&&null!=new URLSearchParams(window.location.search).get("opener")){if(safeGetById("random-opener").checked){opener=safeGetById("opener").value=getRandomOpener();let t=safeGetById(variation="variation");if(t.innerHTML="",openers[opener]){var a=Object.keys(openers[opener]);for(let e=0;e'+a[e]+"";1=-bH;t--)for(let e=0;e-bH){const p=board[e][t-1];p&&p.y++,board[e][t]=board[e][t-1]}else board[e][t]=null}}pieces++,getPiece()}"PCO"==opener&&(queue[0].x=1,queue[0].color="teal")}if(mapMode){var i={I:"teal",O:"yellow",T:"purple",L:"orange",J:"blue",S:"green",Z:"red"},t=queue.slice(),s=(queue=[],safeGetById("piece-queue").value.toUpperCase());for(let e=0;e{requestLoop()},lockDelay-wait):window.setTimeout(()=>{requestLoop()},1e3/speed-wait+1))}function leftDAS(){if(piece&&!piece.collide(-1,0)){if(0!=ARR)piece.x--,doWait(),action("MOVE_LEFT"),clearTimeout(keyTimers[5]),keyTimers[5]=setTimeout(leftDAS,ARR);else for(doWait(),action("DAS_LEFT");!piece.collide(-1,0);)piece.x--;settings.preciseInput&&keyDASed[7]&&softDAS(),settings.performanceMode&&requestRender()}keyDASed[5]=!0}function rightDAS(){if(piece&&!piece.collide(1,0)){if(0!=ARR)piece.x++,doWait(),action("MOVE_RIGHT"),clearTimeout(keyTimers[6]),keyTimers[6]=setTimeout(rightDAS,ARR);else for(doWait(),action("DAS_RIGHT");!piece.collide(1,0);)piece.x++;settings.preciseInput&&keyDASed[7]&&softDAS(),settings.performanceMode&&requestRender()}keyDASed[6]=!0}function softDAS(){if(piece&&!piece.collide(0,1)){if(0!=softDrop)piece.y++,noMove=!1,action("GRAVITY_STEP"),piece.y>peakY&&5!=mode?(gPrevTime=performance.now(),wait=0,permaWait=0,peakY=piece.y):doWait(),clearTimeout(keyTimers[7]),keyTimers[7]=setTimeout(softDAS,softDrop);else for(doWait();!piece.collide(0,1);)piece.y++,noMove=!1,action("GRAVITY_STEP");settings.preciseInput&&keyDASed[5]&&leftDAS(),settings.preciseInput&&keyDASed[6]&&rightDAS(),settings.performanceMode&&requestRender()}keyDASed[7]=!0}function doControls(){if(keys[keyBinds[5]]&&piece&&!piece.collide(-1,0)){if(keys[keyBinds[5]]>=1+DAS&&0!=ARR&&(piece.x--,doWait(),action("MOVE_LEFT"),keys[keyBinds[5]]>=1+DAS&&(keys[keyBinds[5]]-=ARR)),keys[keyBinds[5]]>=1+DAS&&0==ARR)for(doWait(),action("DAS_LEFT");!piece.collide(-1,0);)piece.x--;keys[keyBinds[5]]+=delta,keys[keyBinds[6]]=0}if(keys[keyBinds[6]]&&piece&&!piece.collide(1,0)){if(keys[keyBinds[6]]>=1+DAS&&0!=ARR&&(piece.x++,doWait(),action("MOVE_RIGHT"),keys[keyBinds[6]]>=1+DAS&&(keys[keyBinds[6]]-=ARR)),keys[keyBinds[6]]>=1+DAS&&0==ARR)for(doWait(),action("DAS_RIGHT");!piece.collide(1,0);)piece.x++;keys[keyBinds[6]]+=delta,keys[keyBinds[5]]=0}if(keys[keyBinds[7]]&&piece&&!piece.collide(0,1)){if(keys[keyBinds[7]]>=1+softDropDAS&&(keys[keyBinds[7]]>=1+softDrop&&0peakY&&5!=mode?(gPrevTime=performance.now(),wait=0,permaWait=0,peakY=piece.y):doWait(),keys[keyBinds[7]]>=1+softDrop&&(keys[keyBinds[7]]-=softDrop)),0==softDrop)){for(;!piece.collide(0,1);)piece.y++,noMove=!1,action("GRAVITY_STEP");piece.y>peakY&&5!=mode?(gPrevTime=performance.now(),wait=0,permaWait=0,peakY=piece.y):doWait()}keys[keyBinds[7]]+=delta}}function findPC(a=0){if(piece&&bag&&1!=mode&&0!=playMode){const l=safeGetById("pcfinder-showing"),d=safeGetById("pcfinder-action");var[o,n]=getPCDepth();o+=2.5*a,n+=a;let t=queue,e=(bag.bag.length+1+queue.length)%7;if(o==(e=0==(e=holdBlock?(bag.bag.length+2+queue.length)%7:e)?7:e)&&(t=holdBlock?t.slice(0,o-2):t.slice(0,o-1)),pcFinderCurrent&&0=pcsFound.length&&(pcIndex=0),pcFound=pcsFound[pcIndex],0{safeGetById("custom-skin-error").innerText="Couldn't load image file extension\n",console.log("Can't get Image Type")}))?e:"image/png"))try{(skinGif=new SuperGif({gif:skinImg})).load(()=>{if(null!=skinGif){var t=skinGif.get_frames();for(let e=0;e{const e=new Image;e.src=GAME.consts.res+"/"+t+".png",e.onload=e=>{o++,sprites[t.replace(".png","")]=new Sprite(e.target,GAME.spriteData[t]),o==a.length&&init()}})}function resize(){if(holdCanvas){mobileCheck()&&!inMobileLayout&&mobileLayout(),ratio=scaling?1:window.devicePixelRatio;700<=window.innerHeight&&mobileCheck();let e=1;var t=bW/bH,a=t<=1?t:1,t=1patch notes for version 1.1.1, live now! (17. July)'),setTimeout(notConnected,100),settings.performanceMode&&requestRender(),mobileCheck()&&safeGetById("mobileReconnect").classList.add("hidden")},websocket.onclose=function(e){createComment("","DISCONNECTED","#f55"),console.log("DISCONNECTED"),createComment("","","#f55","user",''),mobileCheck()&&safeGetById("mobileReconnect").classList.remove("hidden"),sUsername=""},websocket.onmessage=function(t){var e,a,o,i;if(t.data.startsWith("{")&&t.data.endsWith("}")){let n=JSON.parse(t.data);if("garbage"==n.type)0==mode&&!0===alive&&(garbageStore.push({num:n.data.lines,rand:n.data.c,send:n.data.sender,time:performance.now()}),garbageAmount+=n.data.lines);else if("login"==n.type)if(!1!==n.data){if(username=n.data.name,sUsername=n.data.name,type=n.data.type,account=!1,setCookie("username",n.data.name),setCookie("sessionID",n.data.id),safeGetById("account-wrapper").classList.add("hidden"),safeGetById("password").value="",!document.getElementById("profile-page")){safeGetById("account-menu").removeEventListener("click",accountMenu),safeGetById("account-menu").removeEventListener("keydown",accountMenu),safeGetById("profile-dropdown").style.display="block";let e=safeGetById("account-menu");e.id="profile-page",e.innerText="Profile",e.href="/profile",safeGetById("profile-page").href=safeGetById("profile-page").href.replace(/(.*profile).*/,"$1?player="+username),safeGetById("times-page").href=safeGetById("times-page").href.replace(/(.*times).*/,"$1?player="+username)}}else safeGetById("account-status").innerText="Username or Password invalid",localStorage.removeItem("username"),localStorage.removeItem("sessionID");else if("register"==n.type)n.data?safeGetById("account-status").innerText="Registered successfully":safeGetById("account-status").innerText="Username already taken";else if("guest"==n.type)!1!==n.data?(username=n.data.name,sUsername=n.data.name,type=n.data.type):(safeGetById("account-status").innerText="Username already taken, UNLUCKY",createComment("","[ERROR] Username already taken","","error"));else if("lobby"==n.type){const y=document.getElementById("player-list");y&&(y.innerHTML=""),endGame(),multiplayer=!1,"private"!=n.data.type&&0==online?playOnline(!1):"private"==n.data.type&&1==online&&(null!=new URLSearchParams(window.location.search).get("opener")?playOpener:null!=new URLSearchParams(window.location.search).get("cmode")?playCustom:playOffline)(!1);let o=n.data.list;spectators=n.data.spectators,scores=n.data.scores,0<(teamScores=n.data.teamScores||[0,0,0]).length&&(safeGetById("teamScore1").innerText=""+teamScores[1],safeGetById("teamScore2").innerText=""+teamScores[2]),list=[],leader=n.data.leader;const g=document.getElementById("isLeader");g&&(g.style.display=leader==username?"unset":"none"),lobbyName=n.data.name,lobbyId=n.data.id,document.getElementById("lobby-name")&&(safeGetById("lobby-name").value=n.data.name);for(let a=0;a':'',s=`${o[a][4]}`;let e=document.createElement("span"),t=(e.innerHTML=r+s,addPlayerCard(o[a][0],o[a][1]));t.style.filter=["","url(#red-wash)","url(#blue-wash)"][o[a][2]],e.appendChild(t),e.appendChild(htmlToElement(''+[')),e.appendChild(htmlToElement(`${scores[o[a][0]]||0}`)),void 0!==spectators[o[a][0]]&&e.classList.add("spectator"),y.appendChild(e)}if(lobbySettings=n.data.settings,document.getElementById("lobby-group")){for(const h of safeGetById("lobby-group").children)"INPUT"===h.tagName&&("checkbox"===h.type?h.checked=lobbySettings[null!=(e=h.dataset.key)?e:""]:h.value=lobbySettings[null!=(e=h.dataset.key)?e:""]),"main"==lobbyName||leader!=username?h.disabled=!0:h.disabled=!1;safeGetById("isTeams").style.display=lobbySettings.teams?"unset":"none",safeGetById("team-red").classList.remove("toggled"),safeGetById("team-blue").classList.remove("toggled")}!1===lobbySettings.teams&&(team=0),document.getElementById("lobby-browser")&&(safeGetById("lobby-browser").style.display="none"),createComment("","[INFO] joined lobby "+lobbyName,"","info"),doSend("analytics",{mobile:mobileCheck()}),online&&"main"!=lobbyName&&!mapMode&&history.pushState(null,"","?lobby="+lobbyId)}else if("message"==n.type)createComment(n.data.user,n.data.msg,"",n.data.type,n.data.html||null,!0);else if("join"==n.type){if(safeGetById("player-list")){createComment("","","","guest",'[+] '+n.data.name+"");var t=n.data.name==leader?'':'',l=`${n.data.flag}`;let e=document.createElement("span");e.innerHTML=t+l,e.appendChild(addPlayerCard(n.data.name,n.data.type)),e.appendChild(htmlToElement('')),e.appendChild(htmlToElement('0')),safeGetById("player-list").appendChild(e)}list.push(n.data.name)}else if("leave"==n.type){createComment("","","","guest",'[] '+n.data+"");for(let e=0;e'+(Math.round(m.time%1e3)+"").padStart(3,"0")+"",w.innerText=m.pieces,I.innerText=m.pps,m.date){let e=new Date;e.setTime(m.date),T.innerText=e.toLocaleDateString()+" "+e.toLocaleTimeString()}else T.innerText="undefined";m.replay?G.innerHTML=''+m.replay+"":G.innerText="Replay not found",k.appendChild(B),k.appendChild(S),p&&((e=document.createElement("td")).innerText=m.score,k.appendChild(e)),k.appendChild(x),k.appendChild(w),k.appendChild(I),k.appendChild(T),k.appendChild(G),safeGetById("leaderboard-content").appendChild(k)}}else if("killed"==n.type)createComment("","You killed "+n.data,"","guest");else if("replay"==n.type)if(n.data){let t=document.createElement("p"),e=document.createElement("a");if(t.style.color="#fff",e.href="../replay?id="+n.data,e.target="_blank",e.innerText="replay/"+n.data,t.appendChild(e),safeGetById("chat-box")){safeGetById("chat-box").appendChild(t);let e=safeGetById("chat-box");e.scrollTop=e.scrollHeight}}else createComment("","no replay :(","","guest");else if("board"==n.type){void 0!==canvi[n.data.ghost.name]&&null!=canvi[n.data.ghost.name]||createCanvas(n.data.ghost.name),n.data.ghost&&(canvi[n.data.ghost.name].ghost=n.data.ghost);for(let t=0;t',lobby:'',locked:''}[E.type],a.innerText=E.name+(""!=E.leader?" ("+E.leader+")":""),0!=E.playerLimit?o.innerText=E.playerCount+"/"+E.playerLimit:o.innerText=E.playerCount,e.className="lobby-data",t.classList.value="lobby-type material-icons-outlined icon",a.className="lobby-name",o.className="lobby-count",e.addEventListener("click",e=>{doSend("join",E.id)})}}else if("confirmJoin"==n.type)doSend("confirmJoin",{id:n.data.id,pass:prompt("Password for lobby: "+n.data.name)});else if("error"==n.type){if(console.error(n.data.message),3===n.data.code){let e=new URLSearchParams(window.location.search);e.delete("lobby"),history.pushState(null,"","/"+e)}}else if("setting"==n.type){lobbySettings[n.data.key]=n.data.value;for(const R of safeGetById("lobby-group").children)"INPUT"===R.tagName&&("checkbox"===R.type?R.checked=lobbySettings[null!=(i=R.dataset.key)?i:""]:R.value=lobbySettings[null!=(i=R.dataset.key)?i:""]);if("teams"==n.data.key)if(safeGetById("isTeams").style.display=lobbySettings.teams?"unset":"none",1==n.data.value)teamScores=[0,0,0],safeGetById("teamScore1").innerText="0",safeGetById("teamScore2").innerText="0";else{team=0,safeGetById("team-red").classList.remove("toggled"),safeGetById("team-blue").classList.remove("toggled"),canvas.style.borderColor=["rgba("+themeBorder[settings.theme]+", 1)","#f00","#00f"][team];for(let e=0;e'}}const L=document.getElementById("isLeader");if(username==u){if(safeGetById("lobby-group"))for(const D of safeGetById("lobby-group").children)D.disabled=!0;L&&(L.style.display="none")}if(username==leader){if(safeGetById("lobby-group"))for(const M of safeGetById("lobby-group").children)M.disabled=!1;L&&(L.style.display="unset")}}else if("playerInfo"==n.type){if(!mapMode){const A=safeGetById("player-list").children;for(let e=0;e`)}}else"playerCard"==n.type&&(n.data.positions.TAD=n.data.positions["The Almost Death"],delete n.data.positions["The Almost Death"],playerData[n.data.username]=n.data,(null==(l=document.getElementById("player-name"))?void 0:l.innerText)==n.data.username&&updatePlayerCard(n.data.username))}},websocket.onerror=function(e){console.log(e),createComment("","[ERROR] Server Closed","#f55")}}function buildPacket(e,t){return{type:e,data:t}}function notConnected(){if(username!==sUsername){getCookie("password")&&(doSend("login",{username:username,password:getCookie("password"),lobbyName:"main"}),localStorage.removeItem("password"));const t=new URLSearchParams(window.location.search);var e=null!=t.get("mode")||null!=t.get("opener")||null!=t.get("cmode")||"true"===t.get("leaderboard")||"true"===t.get("login"),e=(null!=t.get("mode")&&(mode=+t.get("mode")),null!=t.get("cmode")&&(mode=+t.get("cmode")),localSettings.mode=mode,mapMode?lobbyName="":null!=t.get("lobby")?lobbyName=t.get("lobby"):0!=mode||!1===online||"undefined"!=typeof otherPage||e?lobbyName="":online&&"main"!=lobbyName&&""!=lobbyName?lobbyName=lobbyName:online&&(lobbyName="main"),getCookie("sessionID"));e?doSend("session",{username:username,id:e,lobbyName:lobbyName}):doSend("guest",{username:username,lobbyName:lobbyName}),setTimeout(notConnected,1e3)}else{const a=new URLSearchParams(window.location.search);"true"===a.get("leaderboard")&&(safeGetById("leaderboards-wrapper").classList.remove("hidden"),1==safeGetById("leaderboard-content").childElementCount&&doSend("leaderboard",{num:2,dups:!1}),paramDelete("leaderboard")),"true"===a.get("login")&&(account=!account,safeGetById("account-wrapper").classList.remove("hidden"),paramDelete("login")),settings.performanceMode&&requestRender()}}function doSend(e,t){e={type:e,data:t};if(websocket.readyState!==WebSocket.OPEN)return-1;websocket.send(JSON.stringify(e))}function sendPacket(e){websocket.send(JSON.stringify(e))}function createComment(e,t,a="",o="user",n="",i=!1){let r=document.createElement("p"),s=document.createElement("span"),l=document.createElement("a"),d=document.createElement("span");r.style.color=a,l.style.color=nameColors[o],""!=e?(l.href="../profile?player="+e,l.target="_blank",l.innerText=e,l.addEventListener("mouseenter",showPlayerCard),l.addEventListener("mouseleave",hidePlayerCard),s.appendChild(l),s.appendChild(htmlToElement(": "))):"user"!=o&&(r.style.color=nameColors[o]),d.innerText=t,n&&""!=n&&(d.innerHTML+=n),""!=e&&e!=username&&(d.innerHTML.match(new RegExp("(^| )(@{0,1}"+username+")( |,|.|$)"))&&(r.style.backgroundColor="#711"),d.innerHTML=d.innerHTML.replace(new RegExp("(^| )(@{0,1}"+username+")(?= |,|.|$)","g"),'$1$2'));var c=Object.keys(emotes);for(let e=0;e'):d.innerHTML=d.innerHTML.replace(new RegExp(":"+c[e]+":","gi"),'');if(s.appendChild(d),r.appendChild(s),safeGetById("chat-box")){if(safeGetById("chat-box").lastChild&&s.innerHTML==(null==(a=safeGetById("chat-box").lastChild)?void 0:a.firstChild).innerHTML){const p=safeGetById("chat-box").lastChild;p.childElementCount<2?p.appendChild(htmlToElement('2')):p.lastChild.innerHTML=""+(+p.lastChild.innerHTML+1)}else safeGetById("chat-box").appendChild(r);let e=safeGetById("chat-box");e.scrollTop=e.scrollHeight}return mobileCheck()&&i&&(safeGetById("chat-notification").style.display="block"),r}function createCanvas(e){let t=document.createElement("div"),a=document.createElement("canvas");t.classList.value="canvi-div",a.classList.value="canvi",canvasSize(a,80,160,!0);const o=a.getContext("2d");o.imageSmoothingEnabled=!1,a.board=createBoard(),drawBoard(a),canvi[e]=a,t.appendChild(a);let n=document.createElement("span");return n.innerText=e,t.appendChild(n),safeGetById("canvi").appendChild(t),a}function addPlayer(e,t){var a=e==leader?'':'';let o=document.createElement("span");o.innerHTML=a,o.appendChild(addPlayerCard(e,t)),safeGetById("player-list").appendChild(o)}function addPlayerCard(e,t="user"){if(""==e)throw new Error("empty username");let a=document.createElement("a");return a.style.color=nameColors[t],a.title=nameTitles[t],a.href="../profile?player="+e,a.target="_blank",a.innerText=e,a.addEventListener("mouseenter",showPlayerCard),a.addEventListener("mouseleave",hidePlayerCard),a}function showPlayerCard(t){var a,o,n;if(null!=t.target&&t.target instanceof HTMLAnchorElement){let e=safeGetById("player-card");e.classList.remove("hidden"),t.clientX+288>innerWidth?e.style.left=innerWidth-288+"px":e.style.left=t.clientX+10+"px",t.clientY+108>innerHeight?e.style.top=(null!=(a=null==(a=document.body.parentElement)?void 0:a.scrollTop)?a:0+t.clientY-108)+"px":e.style.top=(null!=(a=null==(a=document.body.parentElement)?void 0:a.scrollTop)?a:0+t.clientY)+"px",safeGetById("player-name").innerText=t.target.innerText,safeGetById("player-stats").children[0].innerText="W/L",safeGetById("player-stats").children[1].innerText="Single",safeGetById("player-stats").children[2].innerText="0/Achieved",safeGetById("player-positions").innerHTML="",safeGetById("player-loading").classList.remove("hidden"),void 0!==playerData[t.target.innerText]?updatePlayerCard(t.target.innerText):doSend("playerCard",t.target.innerText),null!=(playerElt=t.currentTarget)&&(t=(a=playerElt.getBoundingClientRect()).left+a.width/2,o=a.top-a.height/2,n=e.getBoundingClientRect(),e.style.left=t-n.width/2+"px",t+n.width/2>innerWidth&&(e.style.left=innerWidth-n.width-10+"px"),t-n.width/2<0&&(e.style.left="10px"),e.style.top=(null!=(t=null==(t=document.body.parentElement)?void 0:t.scrollTop)?t:0)+o-n.height+"px",o-n.height<0&&(e.style.top=(null!=(n=null==(t=document.body.parentElement)?void 0:t.scrollTop)?n:0)+o+2*a.height+"px"))}}function hidePlayerCard(e){let t=safeGetById("player-card");t.classList.add("hidden")}function updatePlayerCard(e){var t,a,o,n=playerData[e],e=(safeGetById("player-loading").classList.add("hidden"),safeGetById("player-stats").children[0].innerText=n.stats.wins+"/"+n.stats.losses,safeGetById("player-stats").children[1].innerText=n.counts[0],n.achievements&&(safeGetById("player-stats").children[2].innerText=Object.keys(n.achievements).length+"/68"),safeGetById("player-positions").innerHTML="",Object.keys(n.positions)),i={1:"#FFD700",2:"#ccc",3:"#cd7f32"};for(const s of e)safeGetById("player-positions").innerHTML+=`${s}: #${n.positions[s]}`;let r=safeGetById("player-card");null!=playerElt&&(a=(e=playerElt.getBoundingClientRect()).top-e.height/2,o=r.getBoundingClientRect(),r.style.top=(null!=(t=null==(t=document.body.parentElement)?void 0:t.scrollTop)?t:0)+a-o.height+"px",a-o.height<0&&(r.style.top=(null!=(o=null==(t=document.body.parentElement)?void 0:t.scrollTop)?o:0)+a+2*e.height+"px"))}function playOnline(e=!0){var t=playMode,a=(playMode=0,safeGetById("players").style.display="flex",safeGetById("modes").style.display="none",safeGetById("stats"));safeGetById("players")&&(safeGetById("players").appendChild(a),safeGetById("players").children[0].appendChild(safeGetById("help-button"))),resetSettings(),online=!0,team=0,safeGetById("opener").value="none",safeGetById("iframe-container").style.display="none",safeGetById("set-seed").checked=safeGetById("random-opener").checked=safeGetById("reset-finish").checked=safeGetById("reset-fault").checked=!1,safeGetById("reset-time").value="0",mode=0,localSettings.mode=mode,gamemode=0,alive=!1,canvi={},safeGetById("canvi").innerHTML="",rotationSystem="SRS",safeGetById("canvi").innerHTML="",websocket&&websocket.readyState!=websocket.OPEN&&connect(),e&&0!=t&&doSend("join",lobbyName="main"),history.pushState(null,"","/")}function playOffline(t=!0){if(!mapMode||safeGetById("piece-queue")){var a=playMode,o=(playMode=1,safeGetById("players")&&(safeGetById("players").style.display="none"),safeGetById("modes")&&(safeGetById("modes").style.display="flex",safeGetById("modes").children[0].firstChild.data="Modes",safeGetById("modes").children[1].style.display="flex"),safeGetById("stats"));safeGetById("modes")&&(safeGetById("modes").appendChild(o),safeGetById("modes").children[0].appendChild(safeGetById("help-button"))),safeGetById("single-group")&&(safeGetById("single-group").style.display="inline-block"),safeGetById("custom-group")&&(safeGetById("custom-group").style.display="none"),safeGetById("pcfinder-group")&&(safeGetById("pcfinder-group").style.display="none"),safeGetById("mode-span")&&(safeGetById("mode-span").style.display="none"),safeGetById("hold-span")&&(safeGetById("hold-span").style.display=1==mode?"inline-block":"none"),safeGetById("ai-span")&&(safeGetById("ai-span").style.display=0==mode?"inline-block":"none"),safeGetById("board-span")&&(safeGetById("board-span").style.display="none"),safeGetById("lock-delay-span")&&(safeGetById("lock-delay-span").style.display="none"),safeGetById("opener-span")&&(safeGetById("opener-span").style.display="none"),resetSettings(),online=!1,team=0,safeGetById("opener").value="none",safeGetById("iframe-container").style.display="none",safeGetById("set-seed").checked=safeGetById("random-opener").checked=safeGetById("reset-finish").checked=safeGetById("reset-fault").checked=!1,safeGetById("reset-time").value="0",mode=+(null!=(o=new URLSearchParams(window.location.search).get("mode"))?o:0),localSettings.mode=mode,gamemode=0,alive=!1,canvi={},safeGetById("canvi").innerHTML="",safeGetById("canvi")&&(safeGetById("canvi").innerHTML=""),safeGetById("lobby-settings")&&(safeGetById("lobby-settings").style.display="none"),websocket&&websocket.readyState!=websocket.OPEN&&connect(),t&&0==a&&(lobbyName="private",doSend("createLobby",""));let e=new URLSearchParams(window.location.search);e.set("mode",""+mode),e.delete("opener"),e.delete("lobby"),e.delete("cmode"),history.pushState(null,"","?"+e.toString())}else safeGetById("modes")&&(safeGetById("modes").style.display="flex")}function playCustom(t=!0){if(mapMode&&document.getElementById("piece-queue"))safeGetById("modes")&&(safeGetById("modes").style.display="flex");else{var a=playMode,o=(playMode=2,safeGetById("players")&&(safeGetById("players").style.display="none"),safeGetById("modes")&&(safeGetById("modes").style.display="flex",safeGetById("modes").children[0].firstChild.data="Custom",safeGetById("modes").children[1].style.display="none"),safeGetById("stats"));safeGetById("modes")&&(safeGetById("modes").appendChild(o),safeGetById("modes").children[0].appendChild(safeGetById("help-button"))),safeGetById("single-group")&&(safeGetById("single-group").style.display="none"),safeGetById("custom-group")&&(safeGetById("custom-group").style.display="inline-block"),safeGetById("pcfinder-group")&&(safeGetById("pcfinder-group").style.display="inline-block"),safeGetById("mode-span")&&(safeGetById("mode-span").style.display="block"),safeGetById("hold-span")&&(safeGetById("hold-span").style.display="block"),safeGetById("ai-span")&&(safeGetById("ai-span").style.display="block"),safeGetById("board-span")&&(safeGetById("board-span").style.display="block"),safeGetById("opener-span")&&(safeGetById("opener-span").style.display="none"),resetSettings(),mode=+(null!=(o=new URLSearchParams(window.location.search).get("cmode"))?o:0),localSettings.mode=mode,safeGetById("lock-delay-span")&&(safeGetById("lock-delay-span").style.display=5==mode?"block":"none"),online=!1,team=0,safeGetById("opener").value="none",safeGetById("iframe-container").style.display="none",safeGetById("set-seed").checked=safeGetById("random-opener").checked=safeGetById("reset-finish").checked=safeGetById("reset-fault").checked=!1,safeGetById("reset-time").value="0",safeGetById("mode-select").value=""+mode,gamemode=0,alive=!1,canvi={},safeGetById("canvi").innerHTML="",safeGetById("canvi")&&(safeGetById("canvi").innerHTML=""),safeGetById("lobby-settings")&&(safeGetById("lobby-settings").style.display="none"),websocket&&websocket.readyState!=websocket.OPEN&&connect(),t&&0==a&&(lobbyName="private",doSend("createLobby",""));let e=new URLSearchParams(window.location.search);e.set("cmode",""+mode),e.delete("opener"),e.delete("lobby"),e.delete("mode"),history.pushState(null,"","?"+e.toString())}}function playOpener(e=!0){var t=playMode;playMode=3,safeGetById("players")&&(safeGetById("players").style.display="none"),safeGetById("modes")&&(safeGetById("modes").style.display="flex",safeGetById("modes").children[0].firstChild.data="Opener",safeGetById("modes").children[1].style.display="none");let a=new URLSearchParams(window.location.search);var o=safeGetById("stats"),o=(safeGetById("modes")&&(safeGetById("modes").appendChild(o),safeGetById("modes").children[0].appendChild(safeGetById("help-button"))),safeGetById("single-group")&&(safeGetById("single-group").style.display="none"),safeGetById("custom-group")&&(safeGetById("custom-group").style.display="inline-block"),safeGetById("pcfinder-group")&&(safeGetById("pcfinder-group").style.display="inline-block"),safeGetById("mode-span")&&(safeGetById("mode-span").style.display="none"),safeGetById("hold-span")&&(safeGetById("hold-span").style.display=1==mode?"inline-block":"none"),safeGetById("ai-span")&&(safeGetById("ai-span").style.display="none"),safeGetById("board-span")&&(safeGetById("board-span").style.display="block"),safeGetById("lock-delay-span")&&(safeGetById("lock-delay-span").style.display="none"),safeGetById("opener-span")&&(safeGetById("opener-span").style.display="block"),safeGetById("opener").value);resetSettings(),safeGetById("opener").value=o,online=!1,team=0,safeGetById("reset-time").value="0",mode=0,localSettings.mode=mode,gamemode=0,alive=!1,canvi={},safeGetById("canvi").innerHTML="",safeGetById("canvi")&&(safeGetById("canvi").innerHTML=""),safeGetById("lobby-settings")&&(safeGetById("lobby-settings").style.display="none"),websocket&&websocket.readyState!=websocket.OPEN&&connect(),e&&0==t&&(lobbyName="private",doSend("createLobby","")),opener=safeGetById("opener").value,null==a.get("opener")&&a.set("opener","none"==opener?"":opener),a.delete("mode"),a.delete("lobby"),a.delete("cmode"),history.pushState(null,"","?"+a.toString())}function setBlock(o,e,t,a,n,i=!0){if("blue"==a?(o[e+rX(-1,-1,n)][t+rY(-1,-1,n)]=a,o[e+rX(-1,0,n)][t+rY(-1,0,n)]=a,o[e][t]=a,o[e+rX(1,0,n)][t+rY(1,0,n)]=a):"orange"==a?(o[e+rX(1,-1,n)][t+rY(1,-1,n)]=a,o[e+rX(-1,0,n)][t+rY(-1,0,n)]=a,o[e][t]=a,o[e+rX(1,0,n)][t+rY(1,0,n)]=a):"green"==a?(o[e+rX(1,-1,n)][t+rY(1,-1,n)]=a,o[e+rX(-1,0,n)][t+rY(-1,0,n)]=a,o[e][t]=a,o[e+rX(0,-1,n)][t+rY(0,-1,n)]=a):"red"==a?(o[e+rX(-1,-1,n)][t+rY(-1,-1,n)]=a,o[e+rX(1,0,n)][t+rY(1,0,n)]=a,o[e][t]=a,o[e+rX(0,-1,n)][t+rY(0,-1,n)]=a):"yellow"==a?(o[e+rX(-.5,-.5,n)-.5][t+rY(-.5,-.5,n)-.5]=a,o[e+rX(-.5,.5,n)-.5][t+rY(-.5,.5,n)-.5]=a,o[e+rX(.5,.5,n)-.5][t+rY(.5,.5,n)-.5]=a,o[e+rX(.5,-.5,n)-.5][t+rY(.5,-.5,n)-.5]=a):"teal"==a?(o[e+rX(-1.5,-.5,n)-.5][t+rY(-1.5,-.5,n)-.5]=a,o[e+rX(-.5,-.5,n)-.5][t+rY(-.5,-.5,n)-.5]=a,o[e+rX(.5,-.5,n)-.5][t+rY(.5,-.5,n)-.5]=a,o[e+rX(1.5,-.5,n)-.5][t+rY(1.5,-.5,n)-.5]=a):"purple"==a&&(o[e+rX(-1,0,n)][t+rY(-1,0,n)]=a,o[e+rX(1,0,n)][t+rY(1,0,n)]=a,o[e][t]=a,o[e+rX(0,-1,n)][t+rY(0,-1,n)]=a),i)for(let a=-20;a<20;a++){let t=0;for(let e=0;e<10;e++)o[e][a]&&t++;if(10==t)for(let t=0;t<10;t++)for(let e=a;-20<=e;e--)-20=i?a[e][bH-1-t]="garbage":a[e][bH-1-t]=null;return a}function setGarbage(a,e,o,n=1){for(let t=0;t=n?a[e][1+t]="garbage":a[e][1+t]=null;return a}function createBoard(){let t=[];for(let e=0;e{throw"err"});return e.blob()})}function getImageType(e){return __awaiter(this,void 0,void 0,function*(){return e.includes(".")?"image/"+e.split(".").pop():(yield getImageBlob(e).catch(()=>{throw"err"})).type})}function initComputers(){tempBoard={garbageAmount:0,garbageStore:[],winner:!1,alive:!0},computers=[],localBoards=[],canvi={},safeGetById("canvi").innerHTML="",(aiBattle=safeGetById("ai-battle").checked)||localBoards.push(tempBoard);for(let t=0;ta&&(a=20-e));return(bW*a-o)%4!=0&&a++,[(bW*a-o)/4,a]}function setSettings(e){safeGetById("START_SPEED").value=speed=e.startSpeed,speedIncrease=e.speedIncrease,speedLimit=e.speedLimit,rotationSystem=e.rotationSystem,mode=e.mode,teams=e.teams,attackTable=e.attackTable,comboTable=e.comboTable,infiniteHold=e.infiniteHold,bW=e.width,bH=e.height,allSpin=e.allSpin,activeSettings=Object.assign({},e)}function getSettings(){return{startSpeed:+safeGetById("START_SPEED").value,speedIncrease:speedIncrease,speedLimit:speedLimit,rotationSystem:rotationSystem,mode:mode,attackTable:attackTable,comboTable:comboTable,infiniteHold:infiniteHold}}function resetSettings(){localSettings=Object.assign({},DefaultSettings),safeGetById("opener").value="none",safeGetById("set-seed").checked=safeGetById("random-opener").checked=safeGetById("reset-finish").checked=safeGetById("reset-fault").checked=!1,safeGetById("ai-mode").value="none",safeGetById("reset-time").value="0",safeGetById("lock-delay").value="600",safeGetById("lock-delay-decrease").checked=!0,safeGetById("nogravity").checked=!1,safeGetById("all-spin").checked=!1,safeGetById("hold-mode").checked=!1}function playTip(o=-1){if(settings.showTips){let e=o,t,a=[1,2,3,4,5,6,7,8];switch(getCookie("sessionID")&&a.splice(a.indexOf(3),1),e=-1==e?a[Math.floor(Math.random()*a.length)]:e){case 0:t=createComment("","","","user",'TIP: Enter fullscreen by pressing F11 to get a bigger board.');break;case 1:t=createComment("","","","user","TIP: You can change your settings, controls and skins in the settings cog on the left.");break;case 2:t=createComment("","","","user",'TIP: Join the discord! Chat with other players, play together and share your achievements!');break;case 3:t=createComment("","","","user","TIP: Remember to login so you can submit scores to the leaderboard!");break;case 4:t=createComment("","","","user",'TIP: Want to whip out som sick APM in main. You can practice your openers in Opener Practice :smileW:');break;case 5:t=createComment("","","","user",'TIP: Lacking Opener diversity? You can practice new openers in Opener Practice');break;case 6:t=createComment("","","","user","TIP: “Git Gud„ - Jakko 2021");break;case 7:t=createComment("","","","user","TIP: “You're Bad„ - Bacchess 2021");break;case 8:t=createComment("","","","user","TIP: “If you know the enemy and you know yourself, you need not fear the result of a hundred battles„ - Sun Tzu");break;case 9:t=createComment("","","","user","TIP: Bare ")}}}function mapMakerTool(e,t,o=!1){if(0<=e&&0<=t&&ebW-1||t>bH-1||!!a[e][t]};for(let n=0;n<7;n++){for(let o=0;o<4;o++){for(let a=0;a<6;a++){for(let t=0;t<6;t++){var d=createBoard();let e=new PieceB(r-3+a,s-3+t,colors[n]);for(e.coll=l,e.r=o;e.x<4&&e.collide(0,0,d);)e.x++;for(;6e.color);if(0{"SuperShape"!=e.constructor.name?e.color&&""!=e.color&&a.push(e.color):a=a.concat(superShapes[e.color].orders[0])})}}return a}function getFullOpener(){let t=[];if(openers[opener]&&openers[opener][variation]&&0{"SuperShape"!=e.constructor.name?e.color&&""!=e.color&&t.push(e.color):t=t.concat(superShapes[e.color].orders[0])})}return t}function getRandomOpener(){var e=Object.keys(openers);return e[Math.floor(Math.random()*e.length)]}function getRandomVariation(){var e=Object.keys(openers[opener]);return e[Math.floor(Math.random()*e.length)]}function accountMenu(e){"code"in e&&"Enter"!=e.code||(account=!account,safeGetById("account-wrapper").classList.remove("hidden"))}function paramDelete(e){const t=new URLSearchParams(window.location.search);t.delete(e),history.pushState(null,"","?"+t.toString())}function paramSet(e,t){const a=new URLSearchParams(window.location.search);a.set(e,t),history.pushState(null,"","?"+a.toString())}function copyText(e){e=null==(e=e.target.parentElement)?void 0:e.children[1];e.select(),e.setSelectionRange(0,99999),document.execCommand("copy")}function safeListen(e,t,a){const o=document.getElementById(e);o?o.addEventListener(t,a):console.error("Element not found: "+e)}function safeGetById(e){var t=document.getElementById(e);if(t)return t;throw new Error("Element not found: "+e)}function arraysMatch(e,t){if(e.length!==t.length)return!1;for(var a=0;a{let t=safeGetById("opener");t.value=e.target.innerText,t.dispatchEvent(new CustomEvent("change")),safeGetById("opener-search-wrapper").classList.add("hidden")}),a.appendChild(e);const i=document.createElement("div");i.className="category-list entry";for(const r of openerData[o].categories)i.innerHTML+=``+r+"";a.appendChild(i)}}}function gamepadHandler(e,t){e=e.gamepad;t?(gamepads[e.index]=e,gamepadconnected||showGamepad()):delete gamepads[e.index]}function pollGamepads(){try{gamepads=navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads():[]}catch(e){console.error("Error polling gamepads: "+e)}for(var e=0;en||o.axes[2]>n)&&(keys[keyBinds[idToCode["input-right"]]]||keyDown({code:keyBinds[idToCode["input-right"]],repeat:!1}),t=!0,a.push(idToCode["input-right"])),(o.axes[1]>n||o.axes[3]>n)&&(keys[keyBinds[idToCode["input-soft"]]]||keyDown({code:keyBinds[idToCode["input-soft"]],repeat:!1}),t=!0,a.push(idToCode["input-soft"]));for(let e=0;en||o.axes[2]>n||a.includes(idToCode["input-right"])||delete keys[keyBinds[idToCode["input-right"]]],o.axes[1]>n||o.axes[3]>n||a.includes(idToCode["input-soft"])||delete keys[keyBinds[idToCode["input-soft"]]],t)break}}}function showGamepad(){safeGetById("gamepad-controls").classList.remove("hidden"),safeGetById("deadzone").value=""+Math.floor(100*settings.deadzone),gamepadconnected=!0}function sendEvent(e,t){"undefined"!=typeof pa&&"function"==typeof pa.track&&pa.track({name:e+t}),gtag("event",e,{event_category:"Game",value:t})}function canvasSize(e,t,a,o=!0){o?(e.style.width=t+"px",e.style.height=a+"px",e.width=t*window.devicePixelRatio,e.height=a*window.devicePixelRatio):(o=window.devicePixelRatio,e.style.width=Math.round(t/o)+"px",e.style.height=Math.round(a/o)+"px",e.width=t,e.height=a)}window.requestAnimFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e,t){window.setTimeout(e,1e3/60)},HTMLCanvasElement.prototype.size=(e,t,a=!0)=>{height=a?(canvas.style.width=e+"px",canvas.style.height=t+"px",width=canvas.width=e*window.devicePixelRatio,canvas.height=t*window.devicePixelRatio):(a=window.devicePixelRatio,canvas.style.width=Math.round(e/a)+"px",canvas.style.height=Math.round(t/a)+"px",width=canvas.width=e,canvas.height=t)},window.mobileCheck=function(){let e=!1;var t;return t=navigator.userAgent||navigator.vendor||window.opera,e=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(t)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(t.substr(0,4))?!0:e},"complete"===document.readyState||"interactive"===document.readyState?prep():document.addEventListener("DOMContentLoaded",prep),"serviceWorker"in navigator&&navigator.serviceWorker.register("/service-worker.js"); \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/js/layout.js b/resources/blox.askplays.com/blox.askplays.com/js/layout.js new file mode 100644 index 0000000..04ecd57 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/js/layout.js @@ -0,0 +1,179 @@ +let inMobileLayout = false +function mobileLayout() { + if (((inMobileLayout = true), document.getElementById('container'))) { + let i = { + mobilePositions: [ + { + left: '2vw', + bottom: '22vw', + }, + {}, + { + left: '42vw', + bottom: '22vw', + }, + { + right: '22vw', + bottom: '22vw', + }, + { + right: '2vw', + bottom: '22vw', + }, + { + left: '2vw', + bottom: '2vw', + }, + { + left: '22vw', + bottom: '2vw', + }, + { + left: '42vw', + bottom: '2vw', + }, + { + right: '22vw', + bottom: '2vw', + }, + { + right: '2vw', + bottom: '2vw', + }, + ], + moreSpace: true, + } + if ( + ((i = Object.assign(i, JSON.parse(localStorage.getItem('settings')))), + (document.getElementById('container').style.display = 'grid'), + (document.getElementById('main').style.justifyContent = 'center'), + document.getElementById('chat') && + (document + .getElementById('aside') + .appendChild(document.getElementById('chat')), + (document.getElementById('chat').classList += ' mobile')), + document.getElementById('mobile-buttons')) + ) { + var e + document.getElementById('mobile-buttons').style.display = 'flex' + document.getElementById('mobile-controls').classList.remove('hidden') + document.getElementById('settings').style.left = '20px' + document.getElementById('settings').style.right = '20px' + document.getElementById('mobile-chat').style.display = 'block' + i.moreSpace && + ((e = + window.innerHeight - + document.getElementById('main').getBoundingClientRect().height - + document.getElementById('header').getBoundingClientRect().height), + (document.getElementById('mobile-buttons').style.height = e + 'px')) + for ( + let o = 0; + o < document.getElementById('mobile-buttons').childElementCount; + o++ + ) { + let e = document.getElementById('mobile-buttons').children[o] + 'SPAN' === e.tagName && + (e.addEventListener( + 'touchstart', + (e) => { + var t + document.activeElement.blur() + mobileMove || + ((t = keyBinds[idToCode[e.currentTarget.id]]), + keyDown({ + code: t, + repeat: false, + })) + mobileMove && + -1 == mobileButton && + ((mobileButton = o), + (mOffX = + e.touches[0].clientX - + e.currentTarget.getBoundingClientRect().x), + (mOffY = + e.currentTarget.getBoundingClientRect().height - + (e.touches[0].clientY - + e.currentTarget.getBoundingClientRect().y))) + }, + { passive: true } + ), + e.addEventListener('touchend', (e) => { + e = keyBinds[idToCode[e.currentTarget.id]] + keyUp({ code: e }) + }), + e.addEventListener('click', (e) => { + e.preventDefault() + }), + i.mobilePositions[o].left && + ((e.style.right = ''), (e.style.left = i.mobilePositions[o].left)), + i.mobilePositions[o].right && + ((e.style.left = ''), (e.style.right = i.mobilePositions[o].right)), + i.mobilePositions[o].bottom && + (e.style.bottom = i.mobilePositions[o].bottom)) + } + document.body.addEventListener('touchmove', (t) => { + if (mobileMove && -1 != mobileButton) { + var o = ((t.touches[0].clientX - mOffX) / window.innerWidth) * 100, + t = + ((window.innerHeight - (t.touches[0].clientY + mOffY)) / + window.innerWidth) * + 100 + let e = + document.getElementById('mobile-buttons').children[mobileButton] + e && + (o <= 42 + ? ((e.style.left = o + 'vw'), (e.style.right = '')) + : ((e.style.right = 84 - o + 'vw'), (e.style.left = '')), + (e.style.bottom = t + 'vw')) + } + }) + document.body.addEventListener('touchend', (e) => { + if (mobileMove && -1 != mobileButton) { + var t = + document.getElementById('mobile-buttons').children[mobileButton] + if (t) { + let e = { bottom: t.style.bottom } + t.style.left && (e.left = t.style.left) + t.style.right && (e.right = t.style.right) + i.mobilePositions[mobileButton] = e + setCookie('settings', JSON.stringify(i)) + } + mobileButton = -1 + } + }) + } + } + document + .getElementById('other-dropdown') + .appendChild(document.getElementById('leaderboard-page')) + document + .getElementById('other-dropdown') + .appendChild(document.getElementById('map-maker')) + document.getElementById('about-page') && + document + .getElementById('other-dropdown') + .appendChild(document.getElementById('about-page')) + document + .getElementById('other-dropdown') + .appendChild(document.getElementById('discord-page')) +} +const mobileCheck = function () { + if (navigator.userAgentData) { + return navigator.userAgentData.mobile + } + let e = false + var t + return ( + (t = navigator.userAgent || navigator.vendor || window.opera), + (e = + /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test( + t + ) || + /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test( + t.substr(0, 4) + ) + ? true + : e) + ) +} +mobileCheck() && !inMobileLayout && mobileLayout() diff --git a/resources/blox.askplays.com/blox.askplays.com/js/libgif.js b/resources/blox.askplays.com/blox.askplays.com/js/libgif.js new file mode 100644 index 0000000..cd61202 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/js/libgif.js @@ -0,0 +1,424 @@ +!function (e, t) { + 'function' == typeof define && define.amd ? define([], t) : 'object' == typeof exports ? module.exports = t() : e.SuperGif = t(); +}(this, function () { + function ne(e) { + this.data = e; + this.len = this.data.length; + this.pos = 0; + this.readByte = function () { + if (this.pos >= this.data.length) { + throw new Error('Attempted to read past end of stream.'); + } + return e instanceof Uint8Array ? e[this.pos++] : 255 & e.charCodeAt(this.pos++); + }; + this.readBytes = function (e) { + for (var t = [], n = 0; n < e; n++) { + t.push(this.readByte()); + } + return t; + }; + this.read = function (e) { + for (var t = '', n = 0; n < e; n++) { + t += String.fromCharCode(this.readByte()); + } + return t; + }; + this.readUnsigned = function () { + var e = this.readBytes(2); + return (e[1] << 8) + e[0]; + }; + } + function re(i, o) { + function s() { + for (var e, t = ''; e = i.readByte(), t += i.read(e), 0 !== e;) { + ; + } + return t; + } + o = o || {}; + var r = function (e) { + for (var t = [], n = 0; n < e; n++) { + t.push(i.readBytes(3)); + } + return t; + }, t = function (e) { + function t(e) { + var t; + i.readByte(); + ; + ; + 'NETSCAPE' === e.identifier ? (t = e, i.readByte(), t.unknown = i.readByte(), t.iterations = i.readUnsigned(), t.terminator = i.readByte(), o.app && o.app.NETSCAPE && o.app.NETSCAPE(t)) : ((t = e).appData = s(), o.app && o.app[t.identifier] && o.app[t.identifier](t)); + } + var n, r; + switch (e.label = i.readByte(), e.label) { + case 249: + e.extType = 'gce', a = e, i.readByte(), r = c(i.readByte()), a.reserved = r.splice(0, 3), a.disposalMethod = d(r.splice(0, 3)), a.userInput = r.shift(), a.transparencyGiven = r.shift(), a.delayTime = i.readUnsigned(), a.transparencyIndex = i.readByte(), a.terminator = i.readByte(), o.gce && o.gce(a); + break; + case 254: + e.extType = 'com', (r = e).comment = s(), o.com && o.com(r); + break; + case 1: + ; + var a = e; + i.readByte(), a.ptHeader = i.readBytes(12), a.ptData = s(), o.pte && o.pte(a); + break; + case 255: + e.extType = 'app', t(e); + break; + default: + e.extType = 'unknown', (n = e).data = s(), o.unknown && o.unknown(n); + } + }, n = function (e) { + function t(e, t) { + for (var n = new Array(e.length), r = e.length / t, a = [ + 0, + 4, + 2, + 1 + ], i = [ + 8, + 8, + 4, + 2 + ], o = 0, s = 0; s < 4; s++) { + for (var l = a[s]; l < r; l += i[s]) { + c = void 0; + var d = l, c = o; + c = e.slice(c * t, (c + 1) * t); + n.splice.apply(n, [ + d * t, + t + ].concat(c)); + o++; + } + } + return n; + } + ; + ; + ; + ; + var n = c(i.readByte()), n = (e.lctFlag = n.shift(), e.interlaced = n.shift(), e.sorted = n.shift(), e.reserved = n.splice(0, 2), e.lctSize = d(n.splice(0, 3)), e.lctFlag && (e.lct = r(1 << e.lctSize + 1)), e.lzwMinCodeSize = i.readByte(), s()); + ; + e.interlaced && (e.pixels = t(e.pixels, e.width)); + o.img && o.img(e); + }, a = function () { + var e = { + identifier: i.read(8), + authCode: i.read(3), + extType: 'pte', + leftPos: i.readUnsigned(), + topPos: i.readUnsigned(), + width: i.readUnsigned(), + height: i.readUnsigned(), + pixels: h(e.lzwMinCodeSize, n), + width: i.readUnsigned(), + height: i.readUnsigned(), + gctFlag: l.shift(), + colorRes: d(l.splice(0, 3)), + sorted: l.shift(), + gctSize: d(l.splice(0, 3)), + bgColor: i.readByte(), + pixelAspectRatio: i.readByte() + }; + switch (e.sentinel = i.readByte(), String.fromCharCode(e.sentinel)) { + case '!': + e.type = 'ext', t(e); + break; + case ',': + e.type = 'img', n(e); + break; + case ';': + e.type = 'eof', o.eof && o.eof(e); + break; + default: + throw new Error('Unknown block: 0x' + e.sentinel.toString(16)); + } + 'eof' !== e.type && setTimeout(a, 0); + }, e = {}; + if (e.sig = i.read(3), e.ver = i.read(3), 'GIF' !== e.sig) { + throw new Error('Not a GIF file.'); + } + ; + ; + var l = c(i.readByte()); + ; + ; + ; + ; + ; + ; + e.gctFlag && (e.gct = r(1 << e.gctSize + 1)); + o.hdr && o.hdr(e); + setTimeout(a, 0); + } + var d = function (e) { + return e.reduce(function (e, t) { + return 2 * e + t; + }, 0); + }, c = function (e) { + for (var t = [], n = 7; 0 <= n; n--) { + t.push(!!(e & 1 << n)); + } + return t; + }, h = function (e, r) { + for (var t, n, a = 0, i = [], o = 1 << e, s = 1 + o, l = e + 1, d = [];;) { + if (n = t, (t = function (e) { + for (var t = 0, n = 0; n < e; n++) { + r.charCodeAt(a >> 3) & 1 << (7 & a) && (t |= 1 << n); + a++; + } + return t; + }(l)) === o) { + c = void 0; + d = []; + l = e + 1; + for (var c = 0; c < o; c++) { + d[c] = [c]; + } + d[o] = []; + d[s] = null; + } else { + if (t === s) { + break; + } + if (t < d.length) { + n !== o && d.push(d[n].concat(d[t][0])); + } else { + if (t !== d.length) { + throw new Error('Invalid LZW code.'); + } + d.push(d[n].concat(d[n][0])); + } + i.push.apply(i, d[t]); + d.length === 1 << l && l < 12 && l++; + } + } + return i; + }; + return function (e) { + var t, n, a; + for (t in e) + o[t] = e[t]; + null && null && (o.is_vp = true); + function N() { + _ = g; + w = g = f = p = null; + } + function D() { + try { + re(n, te); + } catch (e) { + r('parse'); + } + } + function F(e, t) { + A.width = e * O(); + A.height = t * O(); + I.style.minWidth = e * O() + 'px'; + U.width = e; + U.height = t; + U.style.width = e + 'px'; + U.style.height = t + 'px'; + U.getContext('2d').setTransform(1, 0, 0, 1, 0, 0); + } + function r(e) { + W = e; + a = { + width: B.width, + height: B.height + }; + b = []; + E.fillStyle = 'black'; + E.fillRect(0, 0, null || a.width, null || a.height); + E.strokeStyle = 'red'; + E.lineWidth = 3; + E.moveTo(0, 0); + E.lineTo(null || a.width, null || a.height); + E.moveTo(0, null || a.height); + E.lineTo(null || a.width, 0); + E.stroke(); + } + function M() { + w && (b.push({ + data: w.getImageData(0, 0, a.width, a.height), + delay: f + }), T.push({ + x: 0, + y: 0 + })); + } + var i, G, s, l, d, j, c, h, W = null, u = false, p = null, f = null, g = null, y = null, _ = null, w = null, v = null, m = true, x = false, b = [], T = [], B = o.gif, H = (void 0 === o.auto_play && (o.auto_play = !B.getAttribute('rel:auto_play') || '1' == B.getAttribute('rel:auto_play')), function hasOwnProperty() { [native code] }('on_end') ? o.on_end : null), q = function hasOwnProperty() { [native code] }('loop_delay') ? o.loop_delay : 0, L = function hasOwnProperty() { [native code] }('loop_mode') ? o.loop_mode : 'auto', C = !function hasOwnProperty() { [native code] }('draw_while_loading') || o.draw_while_loading, V = !!C && (!function hasOwnProperty() { [native code] }('show_progress_bar') || o.show_progress_bar), X = function hasOwnProperty() { [native code] }('progressbar_height') ? o.progressbar_height : 25, Z = function hasOwnProperty() { [native code] }('progressbar_background_color') ? o.progressbar_background_color : 'rgba(255,255,255,0.4)', J = function hasOwnProperty() { [native code] }('progressbar_foreground_color') ? o.progressbar_foreground_color : 'rgba(255,0,22,.8)', K = function (e, t, n) { + var r, a, i; + n && V && (n = X, o.is_vp ? i = x ? (a = (0 + null - n) / O(), n /= O(), r = 0 / O() + e / t * (null / O()), A.width / O()) : (a = 0 + null - n, r = 0 + e / t * null, A.width) : (a = (A.height - n) / (x ? O() : 1), r = e / t * A.width / (x ? O() : 1), i = A.width / (x ? O() : 1), n /= x ? O() : 1), E.fillStyle = Z, E.fillRect(r, a, i - r, n), E.fillStyle = J, E.fillRect(0, a, r, n)); + }, P = (l = -1, j = function () { + return (l + 1 + b.length) % b.length; + }, i = !(c = function (e) { + l += e; + S(); + }), { + init: function () { + W || (null && null || E.scale(O(), O()), o.auto_play ? h() : (l = 0, S())); + }, + step: h = function () { + i || setTimeout(s, 0); + }, + play: function () { + m = true; + h(); + }, + pause: function () { + m = false; + }, + playing: m, + move_relative: c, + current_frame: function () { + return l; + }, + length: function () { + return b.length; + }, + move_to: function (e) { + l = e; + S(); + } + }); + function S() { + var e; + (l = parseInt(l, 10)) > b.length - 1 && (l = 0); + e = T[l = l < 0 ? 0 : l]; + U.getContext('2d').putImageData(b[l].data, e.x, e.y); + E.globalCompositeOperation = 'copy'; + E.drawImage(U, 0, 0); + } + function Q(e) { + K(n.pos, n.data.length, e); + } + function Y() { + } + function k(t, n) { + return function (e) { + t(e); + Q(n); + }; + } + function $() { + var e = B.parentNode, t = document.createElement('div'); + A = document.createElement('canvas'); + E = A.getContext('2d'); + I = document.createElement('div'); + U = document.createElement('canvas'); + t.width = A.width = B.width; + t.height = A.height = B.height; + I.style.minWidth = B.width + 'px'; + t.className = 'jsgif'; + I.className = 'jsgif_toolbar'; + t.appendChild(A); + t.appendChild(I); + e && (e.insertBefore(t, B), e.removeChild(B)); + null && null && F(null, null); + R = true; + } + function ee(e) { + return !u && (z = e || false, u = true, b = [], N(), !(v = w = _ = y = null)); + } + var A, E, I, U, te = { + hdr: k(function (e) { + F((a = e).width, a.height); + }), + gce: k(function (e) { + M(); + N(); + p = e.transparencyGiven ? e.transparencyIndex : null; + f = e.delayTime; + g = e.disposalMethod; + }), + com: k(Y), + app: { NETSCAPE: k(Y) }, + img: k(function (e) { + w = w || U.getContext('2d'); + var t = b.length, n = e.lctFlag ? e.lct : a.gct, r = (0 < t && (3 === _ ? null !== y ? w.putImageData(b[y].data, 0, 0) : w.clearRect(v.leftPos, v.topPos, v.width, v.height) : y = t - 1, 2 === _ && w.clearRect(v.leftPos, v.topPos, v.width, v.height)), w.getImageData(e.leftPos, e.topPos, e.width, e.height)); + e.pixels.forEach(function (e, t) { + e !== p && (r.data[4 * t + 0] = n[e][0], r.data[4 * t + 1] = n[e][1], r.data[4 * t + 2] = n[e][2], r.data[4 * t + 3] = 255); + }); + w.putImageData(r, e.leftPos, e.topPos); + x || (E.scale(O(), O()), x = true); + C && (E.drawImage(U, 0, 0), C = o.auto_play); + v = e; + }, !(d = 0)), + eof: function (e) { + M(); + Q(false); + null && null || (A.width = a.width * O(), A.height = a.height * O()); + P.init(); + u = false; + z && z(B); + } + }, O = function () { + var e = o.max_width && a && a.width > o.max_width ? o.max_width / a.width : 1; + return e; + }, R = !(s = function () { + var e; + (i = m) && (c(1), e = (e = 10 * b[l].delay) || 100, 0 === j() ? (e += q, setTimeout(G, e)) : setTimeout(s, e)); + }), z = !(G = function () { + null !== H && H(B); + d++; + false !== L || d < 0 ? s() : m = i = false; + }); + return { + play: P.play, + pause: P.pause, + move_relative: P.move_relative, + move_to: P.move_to, + get_frames: function () { + return b; + }, + get_playing: function () { + return m; + }, + get_canvas: function () { + return A; + }, + get_canvas_scale: function () { + return O(); + }, + get_loading: function () { + return u; + }, + get_auto_play: function () { + return o.auto_play; + }, + get_length: function () { + return P.length(); + }, + get_current_frame: function () { + return P.current_frame(); + }, + load_url: function (e, t) { + ee(t) && ((t = new XMLHttpRequest()).open('GET', e, true), 'overrideMimeType' in t ? t.overrideMimeType('text/plain; charset=x-user-defined') : 'responseType' in t ? t.responseType = 'arraybuffer' : t.setRequestHeader('Accept-Charset', 'x-user-defined'), t.onloadstart = function () { + R || $(); + }, t.onload = function (e) { + 200 != this.status && r('xhr - response'); + 'response' in this || (this.response = new VBArray(this.responseText).toArray().map(String.fromCharCode).join('')); + var t = this.response; + 0 < t.toString().indexOf('ArrayBuffer') && (t = new Uint8Array(t)); + n = new ne(t); + setTimeout(D, 0); + }, t.onprogress = function (e) { + e.lengthComputable && K(e.loaded, e.total, true); + }, t.onerror = function () { + r('xhr'); + }, t.send()); + }, + load: function (e) { + this.load_url(B.getAttribute('rel:animated_src') || B.src, e); + }, + load_raw: function (e, t) { + ee(t) && (R || $(), n = new ne(e), setTimeout(D, 0)); + }, + set_frame_offset: function (e, t) { + T[e] ? (void 0 !== t.x && (T[e].x = t.x), void 0 !== t.y && (T[e].y = t.y)) : T[e] = t; + } + }; + }; +}); \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/js/opener.js b/resources/blox.askplays.com/blox.askplays.com/js/opener.js new file mode 100644 index 0000000..adb399f --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/js/opener.js @@ -0,0 +1,15376 @@ +function getOrder(n) { + var w = bags.slice(7 * Math.floor(pieces / 7), 7 * Math.floor(pieces / 7) + 7) + if (!n) { + return w + } + let i = [] + for (let e = 0; e < w.length; e++) { + ;-1 != n.indexOf(w[e]) && i.push(w[e]) + } + return i + } + function getOrderDPC(n) { + var w = bags.slice(7 * Math.floor(pieces / 7)) + if (!n) { + return w + } + let i = [] + for (let e = 0; e < w.length; e++) { + ;-1 != n.indexOf(w[e]) && i.push(w[e]) + } + return i + } + class SuperShape { + constructor(e, n, w, i = 0) { + this.x = e + this.y = n + this.r = i + this.color = w + } + show(c) { + var P = this.getOrder() + for (let i = 0; i < superShapes[this.color].orders.length; i++) { + let w = true + for ( + let n = 0; + n < superShapes[this.color].orders[i].length && !(n >= P.length); + n++ + ) { + let e = superShapes[this.color].orders[i][n] + if ((ssInfo[this.color].s && (e = mirrorPiece[e]), P[n] != e)) { + w = false + break + } + } + if (w) { + for (let n = 0; n < superShapes[this.color].orders[i].length; n++) { + var l = + superShapes[this.color].variations[superShapes[this.color].oToV[i]][ + n + ] + let e = new Piece(this.x + l.x, this.y + l.y, l.color, l.r) + c ^ this.r && + (ssInfo[this.color].mirror + ? ((e.color = mirrorPiece[e.color]), + 'teal' == e.color || 'yellow' == e.color + ? (e.x = ssInfo[this.color].w - this.x + (1 - l.x)) + : (e.x = ssInfo[this.color].w - this.x - l.x), + (e.r = (4 - e.r) % 4)) + : (e.x = ssInfo[this.color].w - this.x + l.x)) + e.show() + } + break + } + } + } + setBlock(c, P = false, l = 0) { + var r = this.getOrder() + for (let i = 0; i < superShapes[this.color].orders.length; i++) { + let w = true + for ( + let n = 0; + n < superShapes[this.color].orders[i].length && !(n >= r.length); + n++ + ) { + let e = superShapes[this.color].orders[i][n] + if ((ssInfo[this.color].s && (e = mirrorPiece[e]), r[n] != e)) { + w = false + break + } + } + if (w) { + for (let n = 0; n < superShapes[this.color].orders[i].length; n++) { + var o = + superShapes[this.color].variations[superShapes[this.color].oToV[i]][ + n + ] + let e = new Piece(this.x + o.x, this.y + o.y, o.color, o.r) + P ^ this.r && + (ssInfo[this.color].mirror + ? ((e.color = mirrorPiece[e.color]), + 'teal' == e.color || 'yellow' == e.color + ? (e.x = ssInfo[this.color].w - this.x + (1 - o.x)) + : (e.x = ssInfo[this.color].w - this.x - o.x), + (e.r = (4 - e.r) % 4)) + : (e.x = ssInfo[this.color].w - this.x + o.x)) + 0 == l + ? setBlock(c, e.x, e.y, e.color, e.r, false) + : ((e.y += lines), e.setBlock()) + } + break + } + } + } + getOrder() { + let e = [] + switch (this.color) { + case 'flower': + case '2stair': + case '3stair': + e = getOrder(['red', 'yellow', 'green']) + break + case 'ferb': + case 'square': + e = getOrder(['blue', 'orange', 'yellow', 'teal']) + break + case 'antenna': + case 'hammer': + e = getOrder(['blue', 'orange']) + break + case 'fence': + e = getOrder(['blue', 'orange', 'teal']) + break + case 'flag': + e = getOrder(['red', 'green', 'teal']) + break + case 'club': + e = getOrder(['red', 'green', 'orange']) + break + case 'gun': + e = getOrder(['blue', 'orange']) + } + return e + } + } + const superShapes = { + flower: { + orders: [ + ['yellow', 'red', 'green'], + ['yellow', 'green', 'red'], + ['green', 'yellow', 'red'], + ['red', 'yellow', 'green'], + ['green', 'red', 'yellow'], + ['red', 'green', 'yellow'], + ], + oToV: [0, 0, 1, 2, 3, 3], + variations: [ + [ + new Piece(0, 1, 'yellow'), + new Piece(-1, -1, 'red', 1), + new Piece(1, -1, 'green', 1), + ], + [ + new Piece(0, 1, 'green'), + new Piece(-1, 0, 'yellow'), + new Piece(0, -1, 'red'), + ], + [ + new Piece(-1, 1, 'red'), + new Piece(1, 0, 'yellow'), + new Piece(-1, -1, 'green'), + ], + [ + new Piece(-1, 0, 'green', 1), + new Piece(1, 0, 'red', 1), + new Piece(0, -1, 'yellow'), + ], + ], + }, + '2stair': { + orders: [ + ['green', 'red', 'yellow'], + ['green', 'yellow', 'red'], + ['red', 'green', 'yellow'], + ['yellow', 'green', 'red'], + ['yellow', 'red', 'green'], + ['red', 'yellow', 'green'], + ], + oToV: [0, 0, 0, 0, 1, 1], + variations: [ + [ + new Piece(-1, 1, 'green'), + new Piece(-1, -1, 'red', 1), + new Piece(1, -1, 'yellow'), + ], + [ + new Piece(-1, 1, 'yellow'), + new Piece(-1, -1, 'green'), + new Piece(1, -1, 'red', 1), + ], + ], + }, + '3stair': { + orders: [ + ['green', 'red', 'yellow'], + ['green', 'yellow', 'red'], + ['red', 'green', 'yellow'], + ['yellow', 'green', 'red'], + ['yellow', 'red', 'green'], + ['red', 'yellow', 'green'], + ], + oToV: [0, 0, 0, 0, 1, 1], + variations: [ + [ + new Piece(0, 1, 'green'), + new Piece(-1, 0, 'red', 1), + new Piece(1, -1, 'yellow'), + ], + [ + new Piece(-1, 1, 'yellow'), + new Piece(0, -1, 'green'), + new Piece(1, 0, 'red', 1), + ], + ], + }, + ferb: { + orders: [ + ['yellow', 'orange', 'blue', 'teal'], + ['yellow', 'orange', 'teal', 'blue'], + ['yellow', 'blue', 'orange', 'teal'], + ['yellow', 'blue', 'teal', 'orange'], + ['yellow', 'teal', 'orange', 'blue'], + ['yellow', 'teal', 'blue', 'orange'], + ['orange', 'yellow', 'blue', 'teal'], + ['orange', 'yellow', 'teal', 'blue'], + ['orange', 'blue', 'yellow', 'teal'], + ['orange', 'blue', 'teal', 'yellow'], + ['orange', 'teal', 'yellow', 'blue'], + ['orange', 'teal', 'blue', 'yellow'], + ['blue', 'yellow', 'orange', 'teal'], + ['blue', 'yellow', 'teal', 'orange'], + ['blue', 'orange', 'yellow', 'teal'], + ['blue', 'orange', 'teal', 'yellow'], + ['blue', 'teal', 'yellow', 'orange'], + ['blue', 'teal', 'orange', 'yellow'], + ['teal', 'yellow', 'orange', 'blue'], + ['teal', 'yellow', 'blue', 'orange'], + ['teal', 'orange', 'yellow', 'blue'], + ['teal', 'orange', 'blue', 'yellow'], + ['teal', 'blue', 'yellow', 'orange'], + ['teal', 'blue', 'orange', 'yellow'], + ], + oToV: [ + 0, 0, 2, 2, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 0, 0, 1, 1, 2, 2, + ], + variations: [ + [ + new Piece(-1, 2, 'yellow'), + new Piece(0, -1, 'orange', 2), + new Piece(-1, -1, 'teal', 1), + new Piece(0, -2, 'blue'), + ], + [ + new Piece(-2, 1, 'orange', 3), + new Piece(-2, -2, 'blue', 3), + new Piece(0, 0, 'teal', 1), + new Piece(1, -1, 'yellow'), + ], + [ + new Piece(-1, 1, 'blue', 1), + new Piece(-1, -2, 'orange', 1), + new Piece(-1, 0, 'teal', 1), + new Piece(1, -1, 'yellow'), + ], + ], + }, + square: { + orders: [ + ['yellow', 'orange', 'blue', 'teal'], + ['yellow', 'orange', 'teal', 'blue'], + ['yellow', 'blue', 'orange', 'teal'], + ['yellow', 'blue', 'teal', 'orange'], + ['yellow', 'teal', 'orange', 'blue'], + ['yellow', 'teal', 'blue', 'orange'], + ['orange', 'yellow', 'blue', 'teal'], + ['orange', 'yellow', 'teal', 'blue'], + ['orange', 'blue', 'yellow', 'teal'], + ['orange', 'blue', 'teal', 'yellow'], + ['orange', 'teal', 'yellow', 'blue'], + ['orange', 'teal', 'blue', 'yellow'], + ['blue', 'yellow', 'orange', 'teal'], + ['blue', 'yellow', 'teal', 'orange'], + ['blue', 'orange', 'yellow', 'teal'], + ['blue', 'orange', 'teal', 'yellow'], + ['blue', 'teal', 'yellow', 'orange'], + ['blue', 'teal', 'orange', 'yellow'], + ['teal', 'yellow', 'orange', 'blue'], + ['teal', 'yellow', 'blue', 'orange'], + ['teal', 'orange', 'yellow', 'blue'], + ['teal', 'orange', 'blue', 'yellow'], + ['teal', 'blue', 'yellow', 'orange'], + ['teal', 'blue', 'orange', 'yellow'], + ], + oToV: [ + 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 5, 5, 5, 5, 5, 5, 0, 0, 7, 4, 5, 4, + ], + variations: [ + [ + new Piece(0, 0, 'yellow'), + new Piece(1, -1, 'orange', 1), + new Piece(0, 2, 'teal', 0), + new Piece(-2, -1, 'blue', 3), + ], + [ + new Piece(0, 0, 'yellow'), + new Piece(1, -1, 'orange', 1), + new Piece(0, 2, 'teal', 0), + new Piece(-2, -1, 'blue', 3), + ], + [ + new Piece(0, 0, 'yellow'), + new Piece(-2, 0, 'orange', 3), + new Piece(0, -1, 'teal', 0), + new Piece(1, 0, 'blue', 1), + ], + [ + new Piece(-2, 1, 'orange', 3), + new Piece(-2, -2, 'blue', 3), + new Piece(0, 0, 'teal', 1), + new Piece(1, -1, 'yellow'), + ], + [ + new Piece(0, -1, 'yellow'), + new Piece(-2, -1, 'orange', 3), + new Piece(0, 2, 'teal', 0), + new Piece(1, -1, 'blue', 1), + ], + [ + new Piece(0, -2, 'orange', 2), + new Piece(0, 1, 'blue', 0), + new Piece(-1, 0, 'teal', 1), + new Piece(1, 0, 'yellow'), + ], + [ + new Piece(0, 1, 'yellow'), + new Piece(1, 0, 'orange', 1), + new Piece(0, -1, 'teal', 0), + new Piece(-2, 0, 'blue', 3), + ], + [ + new Piece(-1, 1, 'orange', 0), + new Piece(-1, -2, 'blue', 2), + new Piece(2, 0, 'teal', 1), + new Piece(-1, 0, 'yellow'), + ], + ], + }, + antenna: { + orders: [ + ['blue', 'orange'], + ['orange', 'blue'], + ], + oToV: [0, 1], + variations: [ + [new Piece(0, 1, 'blue'), new Piece(0, -1, 'orange', 3)], + [new Piece(0, 1, 'orange'), new Piece(0, -1, 'blue', 1)], + ], + }, + hammer: { + orders: [ + ['blue', 'orange'], + ['orange', 'blue'], + ], + oToV: [0, 1], + variations: [ + [new Piece(0, 0, 'blue', 3), new Piece(0, -2, 'orange', 2)], + [new Piece(0, 0, 'orange', 1), new Piece(0, -2, 'blue', 2)], + ], + }, + fence: { + orders: [ + ['orange', 'blue', 'teal'], + ['orange', 'teal', 'blue'], + ['blue', 'orange', 'teal'], + ['blue', 'teal', 'orange'], + ['teal', 'orange', 'blue'], + ['teal', 'blue', 'orange'], + ], + oToV: [0, 0, 1, 1, 0, 1], + variations: [ + [ + new Piece(-1, 0, 'orange', 2), + new Piece(2, 0, 'teal', 1), + new Piece(-1, -1, 'blue', 0), + ], + [ + new Piece(0, -1, 'orange', 0), + new Piece(-1, 0, 'teal', 1), + new Piece(0, 0, 'blue', 2), + ], + ], + }, + flag: { + orders: [ + ['red', 'green', 'teal'], + ['red', 'teal', 'green'], + ['green', 'red', 'teal'], + ['green', 'teal', 'red'], + ['teal', 'red', 'green'], + ['teal', 'green', 'red'], + ], + oToV: [0, 1, 0, 0, 1, 1], + variations: [ + [ + new Piece(0, -1, 'red', 1), + new Piece(2, -1, 'teal', 1), + new Piece(1, 1, 'green', 1), + ], + [ + new Piece(1, -2, 'red', 1), + new Piece(2, 1, 'teal', 1), + new Piece(0, 0, 'green', 1), + ], + ], + }, + club: { + orders: [ + ['red', 'green', 'orange'], + ['red', 'orange', 'green'], + ['green', 'red', 'orange'], + ['green', 'orange', 'red'], + ['orange', 'red', 'green'], + ['orange', 'green', 'red'], + ], + oToV: [0, 1, 0, 0, 0, 1], + variations: [ + [ + new Piece(-1, 0, 'red', 1), + new Piece(1, -2, 'orange', 2), + new Piece(1, 0, 'green'), + ], + [ + new Piece(2, -1, 'red', 1), + new Piece(-1, 0, 'orange', 2), + new Piece(0, -1, 'green'), + ], + ], + }, + gun: { + orders: [ + ['blue', 'orange'], + ['orange', 'blue'], + ], + oToV: [1, 0], + variations: [ + [new Piece(0, 0, 'blue', 0), new Piece(-2, 0, 'orange', 3)], + [new Piece(0, 0, 'orange', 2), new Piece(-2, 0, 'blue', 3)], + ], + }, + }, + ssInfo = { + flower: { + mirror: false, + w: 10, + }, + '2stair': { + mirror: true, + w: 9, + s: true, + }, + '3stair': { + mirror: true, + w: 9, + s: true, + }, + ferb: { + mirror: true, + w: 9, + s: true, + }, + square: { + mirror: false, + w: 10, + }, + antenna: { + mirror: false, + w: 9, + }, + hammer: { + mirror: false, + w: 9, + }, + fence: { + mirror: false, + w: 10, + }, + flag: { + mirror: true, + w: 9, + s: true, + }, + club: { + mirror: true, + w: 9, + }, + gun: { + mirror: true, + w: 9, + s: true, + }, + DPC: { + mirror: true, + w: 10, + }, + } + class DPC extends SuperShape { + show(e) { + let n = getOrderDPC() + switch (n[0]) { + case 'yellow': + 'blue' == (n = getOrderDPC(['yellow', 'blue', 'yellow']))[1] + ? this.showPieces(1, 0) + : 'yellow' == n[1] + ? this.showPieces(2, 0) + : this.showPieces(3, 0) + break + case 'teal': + 'yellow' == (n = getOrderDPC(['teal', 'teal', 'orange', 'yellow']))[1] + ? this.showPieces(4, 0) + : 'teal' == n[1] + ? this.showPieces(5, 0) + : 'orange' == n[1] + ? this.showPieces(6, 0) + : this.showPieces(7, 0) + break + case 'green': + 'green' == (n = getOrderDPC(['green', 'green', 'yellow']))[1] + ? this.showPieces(8, 0) + : 'yellow' == n[1] && this.showPieces(9, 0) + break + case 'red': + 'red' == (n = getOrderDPC(['red', 'red', 'yellow']))[1] + ? this.showPieces(8, 1) + : 'yellow' == n[1] && this.showPieces(9, 1) + break + case 'blue': + 'yellow' == (n = getOrderDPC(['blue', 'yellow', 'blue']).slice(1))[0] + ? 'red' == (n = getOrderDPC(['red', 'green']))[0] + ? this.showPieces(10, 0) + : 'green' == n[0] && this.showPieces(11, 0) + : 'blue' == n[0] && this.showPieces(12, 0) + break + case 'orange': + 'yellow' == + (n = getOrderDPC(['orange', 'yellow', 'orange']).slice(1))[0] + ? 'green' == (n = getOrderDPC(['red', 'green']))[0] + ? this.showPieces(10, 1) + : 'red' == n[0] && this.showPieces(11, 1) + : 'orange' == n[0] && this.showPieces(12, 1) + break + case 'purple': + this.showPieces(13, 0) + } + } + showPieces(e, w) { + var i = openers[this.color][Object.keys(openers[this.color])[e]].pieces, + c = pieces % 35 == 0 ? 1 : i.length + for (let n = 0; n < c; n++) { + var P = i[n] + let e = new Piece(this.x + P.x, this.y + P.y, P.color, P.r) + w ^ this.r && + (ssInfo[this.color].mirror + ? ((e.color = mirrorPiece[e.color]), + 'teal' == e.color || 'yellow' == e.color + ? (e.x = 10 - P.x) + : (e.x = 9 - P.x), + (e.r = (4 - e.r) % 4)) + : (e.x = ssInfo[this.color].w - this.x + P.x)) + e.show() + } + } + setPieces(w, e, i) { + var c = openers[this.color][Object.keys(openers[this.color])[e]].pieces, + P = pieces % 35 == 0 ? 1 : c.length + for (let n = 0; n < P; n++) { + var l = c[n] + let e = new Piece(this.x + l.x, this.y + l.y, l.color, l.r) + i ^ this.r && + (ssInfo[this.color].mirror + ? ((e.color = mirrorPiece[e.color]), + 'teal' == e.color || 'yellow' == e.color + ? (e.x = 10 - l.x) + : (e.x = 9 - l.x), + (e.r = (4 - e.r) % 4)) + : (e.x = ssInfo[this.color].w - this.x + l.x)) + 0 == this.setType + ? setBlock(w, e.x, e.y, e.color, e.r, false) + : e.setBlock() + } + } + setBlock(e, n = 0, w = 0) { + this.setType = w + let i = getOrderDPC() + switch (i[0]) { + case 'yellow': + 'blue' == (i = getOrderDPC(['yellow', 'blue', 'yellow']))[1] + ? this.setPieces(e, 1, 0) + : 'yellow' == i[1] + ? this.setPieces(e, 2, 0) + : this.setPieces(e, 3, 0) + break + case 'teal': + 'yellow' == (i = getOrderDPC(['teal', 'teal', 'orange', 'yellow']))[1] + ? this.setPieces(e, 4, 0) + : 'teal' == i[1] + ? this.setPieces(e, 5, 0) + : 'orange' == i[1] + ? this.setPieces(e, 6, 0) + : this.setPieces(e, 7, 0) + break + case 'green': + 'green' == (i = getOrderDPC(['green', 'green', 'yellow']))[1] + ? this.setPieces(e, 8, 0) + : 'yellow' == i[1] && this.setPieces(e, 9, 0) + break + case 'red': + 'red' == (i = getOrderDPC(['red', 'red', 'yellow']))[1] + ? this.setPieces(e, 8, 1) + : 'yellow' == i[1] && this.setPieces(e, 9, 1) + break + case 'blue': + 'yellow' == (i = getOrderDPC(['blue', 'yellow', 'blue']).slice(1))[0] + ? 'red' == (i = getOrderDPC(['red', 'green']))[0] + ? this.setPieces(e, 10, 0) + : 'green' == i[0] && this.setPieces(e, 11, 0) + : 'blue' == i[0] && this.setPieces(e, 12, 0) + break + case 'orange': + 'yellow' == + (i = getOrderDPC(['orange', 'yellow', 'orange']).slice(1))[0] + ? 'green' == (i = getOrderDPC(['red', 'green']))[0] + ? this.setPieces(e, 10, 1) + : 'red' == i[0] && this.setPieces(e, 11, 1) + : 'orange' == i[0] && this.setPieces(e, 12, 1) + break + case 'purple': + this.setPieces(e, 13, 0) + } + } + setPieces2(e, n, w) { + var n = openers[this.color][Object.keys(openers[this.color])[n]].pieces, + i = (pieces % 35 == 0 || n.length, pieces), + c = n[i] + console.log(n[i]) + let P = new Piece(this.x + c.x, this.y + c.y, c.color, c.r) + w ^ this.r && + (ssInfo[this.color].mirror + ? ((P.color = mirrorPiece[P.color]), + 'teal' == P.color || 'yellow' == P.color + ? (P.x = 10 - c.x) + : (P.x = 9 - c.x), + (P.r = (4 - P.r) % 4)) + : (P.x = ssInfo[this.color].w - this.x + c.x)) + P.setBlock() + } + setBlock2(e, n = 0) { + let w = getOrderDPC() + switch (w[0]) { + case 'yellow': + 'blue' == (w = getOrderDPC(['yellow', 'blue', 'yellow']))[1] + ? this.setPieces2(e, 1, 0) + : 'yellow' == w[1] + ? this.setPieces2(e, 2, 0) + : this.setPieces2(e, 3, 0) + break + case 'teal': + 'yellow' == (w = getOrderDPC(['teal', 'teal', 'orange', 'yellow']))[1] + ? this.setPieces2(e, 4, 0) + : 'teal' == w[1] + ? this.setPieces2(e, 5, 0) + : 'orange' == w[1] + ? this.setPieces2(e, 6, 0) + : this.setPieces2(e, 7, 0) + break + case 'green': + 'green' == (w = getOrderDPC(['green', 'green', 'yellow']))[1] + ? this.setPieces2(e, 8, 0) + : 'yellow' == w[1] && this.setPieces2(e, 9, 0) + break + case 'red': + 'red' == (w = getOrderDPC(['red', 'red', 'yellow']))[1] + ? this.setPieces2(e, 8, 1) + : 'yellow' == w[1] && this.setPieces2(e, 9, 1) + break + case 'blue': + 'yellow' == (w = getOrderDPC(['blue', 'yellow', 'blue']).slice(1))[0] + ? 'red' == (w = getOrderDPC(['red', 'green']))[0] + ? this.setPieces2(e, 10, 0) + : 'green' == w[0] && this.setPieces2(e, 11, 0) + : 'blue' == w[0] && this.setPieces2(e, 12, 0) + break + case 'orange': + 'yellow' == + (w = getOrderDPC(['orange', 'yellow', 'orange']).slice(1))[0] + ? 'green' == (w = getOrderDPC(['red', 'green']))[0] + ? this.setPieces2(e, 10, 1) + : 'red' == w[0] && this.setPieces2(e, 11, 1) + : 'orange' == w[0] && this.setPieces2(e, 12, 1) + break + case 'purple': + this.setPieces2(e, 13, 0) + } + } + getPieces() { + let e = getOrderDPC() + switch (e[0]) { + case 'yellow': + return ( + 'blue' == (e = getOrderDPC(['yellow', 'blue', 'yellow']))[1] + ? openers[this.color][Object.keys(openers[this.color])[1]] + : 'yellow' == e[1] + ? openers[this.color][Object.keys(openers[this.color])[2]] + : openers[this.color][Object.keys(openers[this.color])[3]] + ).pieces + case 'teal': + return ( + 'yellow' == (e = getOrderDPC(['teal', 'teal', 'orange', 'yellow']))[1] + ? openers[this.color][Object.keys(openers[this.color])[4]] + : 'teal' == e[1] + ? openers[this.color][Object.keys(openers[this.color])[5]] + : 'orange' == e[1] + ? openers[this.color][Object.keys(openers[this.color])[6]] + : openers[this.color][Object.keys(openers[this.color])[7]] + ).pieces + case 'green': + if ('green' == (e = getOrderDPC(['green', 'green', 'yellow']))[1]) { + return openers[this.color][Object.keys(openers[this.color])[8]].pieces + } + if ('yellow' == e[1]) { + return openers[this.color][Object.keys(openers[this.color])[9]].pieces + } + break + case 'red': + if ('red' == (e = getOrderDPC(['red', 'red', 'yellow']))[1]) { + return mirrorPieces( + openers[this.color][Object.keys(openers[this.color])[8]].pieces + ) + } + if ('yellow' == e[1]) { + return mirrorPieces( + openers[this.color][Object.keys(openers[this.color])[9]].pieces + ) + } + break + case 'blue': + if ( + 'yellow' == (e = getOrderDPC(['blue', 'yellow', 'blue']).slice(1))[0] + ) { + if ('red' == (e = getOrderDPC(['red', 'green']))[0]) { + return openers[this.color][Object.keys(openers[this.color])[10]] + .pieces + } + if ('green' == e[0]) { + return openers[this.color][Object.keys(openers[this.color])[11]] + .pieces + } + } else { + if ('blue' == e[0]) { + return openers[this.color][Object.keys(openers[this.color])[12]] + .pieces + } + } + break + case 'orange': + if ( + 'yellow' == + (e = getOrderDPC(['orange', 'yellow', 'orange']).slice(1))[0] + ) { + if ('green' == (e = getOrderDPC(['red', 'green']))[0]) { + return mirrorPieces( + openers[this.color][Object.keys(openers[this.color])[10]].pieces + ) + } + if ('red' == e[0]) { + return mirrorPieces( + openers[this.color][Object.keys(openers[this.color])[11]].pieces + ) + } + } else { + if ('orange' == e[0]) { + return mirrorPieces( + openers[this.color][Object.keys(openers[this.color])[12]].pieces + ) + } + } + break + case 'purple': + return openers[this.color][Object.keys(openers[this.color])[13]].pieces + } + } + } + class SeventhPC extends SuperShape { + show(e) { + var n = getOrder() + .slice(0, 3) + .map((e) => PieceToLetter[e]) + .join('') + this.showPieces(seventhTable[n], 0) + } + showPieces(e, w) { + var i = openers[this.color][e].pieces, + c = i.length + for (let n = 0; n < c; n++) { + var P = i[n] + let e = new Piece(this.x + P.x, this.y + P.y, P.color, P.r) + w ^ this.r && + (ssInfo[this.color].mirror + ? ((e.color = mirrorPiece[e.color]), + 'teal' == e.color || 'yellow' == e.color + ? (e.x = 10 - P.x) + : (e.x = 9 - P.x), + (e.r = (4 - e.r) % 4)) + : (e.x = ssInfo[this.color].w - this.x + P.x)) + e.show() + } + } + setPieces(w, e, i) { + var c = openers[this.color][e].pieces, + P = c.length + for (let n = 0; n < P; n++) { + var l = c[n] + let e = new Piece(this.x + l.x, this.y + l.y, l.color, l.r) + i ^ this.r && + (ssInfo[this.color].mirror + ? ((e.color = mirrorPiece[e.color]), + 'teal' == e.color || 'yellow' == e.color + ? (e.x = 10 - l.x) + : (e.x = 9 - l.x), + (e.r = (4 - e.r) % 4)) + : (e.x = ssInfo[this.color].w - this.x + l.x)) + setBlock(w, e.x, e.y, e.color, e.r, false) + } + } + setBlock(e, n = 0) { + var w = getOrder() + .slice(0, 3) + .map((e) => PieceToLetter[e]) + .join('') + this.setPieces(e, seventhTable[w], 0) + } + setPiecesObj(e, n, w) { + var i = openers[this.color][n].pieces, + c = i.length + for (let n = 0; n < c; n++) { + var P = i[n] + let e = new Piece(this.x + P.x, this.y + P.y, P.color, P.r) + w ^ this.r && + (ssInfo[this.color].mirror + ? ((e.color = mirrorPiece[e.color]), + 'teal' == e.color || 'yellow' == e.color + ? (e.x = 10 - P.x) + : (e.x = 9 - P.x), + (e.r = (4 - e.r) % 4)) + : (e.x = ssInfo[this.color].w - this.x + P.x)) + e.setBlock() + } + } + setBlockObj(e, n = 0) { + var w = getOrder() + .slice(0, 3) + .map((e) => PieceToLetter[e]) + .join('') + this.setPiecesObj(e, seventhTable[w], 0) + } + getPieces() { + var e = getOrder() + .slice(0, 3) + .map((e) => PieceToLetter[e]) + .join('') + return openers[this.color][seventhTable[e]].pieces + } + } + const PieceToLetter = { + red: 'Z', + orange: 'L', + yellow: 'O', + green: 'S', + teal: 'I', + blue: 'J', + purple: 'T', + }, + seventhTable = { + TIL: 'TIL', + TIJ: 'TIJ', + TIS: 'TIS', + TIZ: 'TIZ', + TIO: 'TIO', + TLI: 'TIL', + TLJ: 'TLJ', + TLS: 'TLS', + TLZ: 'TLZ', + TLO: 'TLO', + TJI: 'TIJ', + TJL: 'TLJ', + TJS: 'TJS', + TJZ: 'TJZ', + TJO: 'TJO', + TSI: 'TIS', + TSL: 'TLS', + TSJ: 'TJS', + TSZ: 'TSZ', + TSO: 'TSO', + TZI: 'TIZ', + TZL: 'TLZ', + TZJ: 'TJZ', + TZS: 'TSZ', + TZO: 'TZO', + TOI: 'TIO', + TOL: 'TLO', + TOJ: 'TJO', + TOS: 'TSO', + TOZ: 'TZO', + ITL: 'TIL', + ITJ: 'TIJ', + ITS: 'TIS', + ITZ: 'TIZ', + ITO: 'TIO', + ILT: 'TIL', + ILJ: 'ILJ', + ILS: 'ILS', + ILZ: 'ILZ', + ILO: 'ILO', + IJT: 'TIJ', + IJL: 'ILJ', + IJS: 'IJS', + IJZ: 'IJZ', + IJO: 'IJO', + IST: 'TIS', + ISL: 'ILS', + ISJ: 'IJS', + ISZ: 'ISZ', + ISO: 'ISO', + IZT: 'TIZ', + IZL: 'ILZ', + IZJ: 'IJZ', + IZS: 'ISZ', + IZO: 'IZO', + IOT: 'TIO', + IOL: 'ILO', + IOJ: 'IJO', + IOS: 'ISO', + IOZ: 'IZO', + LTI: 'TIL', + LTJ: 'TLJ', + LTS: 'TLS', + LTZ: 'TLZ', + LTO: 'TLO', + LIT: 'TIL', + LIJ: 'ILJ', + LIS: 'ILS', + LIZ: 'ILZ', + LIO: 'ILO', + LJT: 'TLJ', + LJI: 'ILJ', + LJS: 'LJS', + LJZ: 'LJZ', + LJO: 'LJO', + LST: 'TLS', + LSI: 'ILS', + LSJ: 'LJS', + LSZ: 'LSZ', + LSO: 'LSO', + LZT: 'TLZ', + LZI: 'ILZ', + LZJ: 'LJZ', + LZS: 'LSZ', + LZO: 'LZO', + LOT: 'TLO', + LOI: 'ILO', + LOJ: 'LJO', + LOS: 'LSO', + LOZ: 'LZO', + JTI: 'TIJ', + JTL: 'TLJ', + JTS: 'TJS', + JTZ: 'TJZ', + JTO: 'TJO', + JIT: 'TIJ', + JIL: 'ILJ', + JIS: 'IJS', + JIZ: 'IJZ', + JIO: 'IJO', + JLT: 'TLJ', + JLI: 'ILJ', + JLS: 'LJS', + JLZ: 'LJZ', + JLO: 'LJO', + JST: 'TJS', + JSI: 'IJS', + JSL: 'LJS', + JSZ: 'JSZ', + JSO: 'JSO', + JZT: 'TJZ', + JZI: 'IJZ', + JZL: 'LJZ', + JZS: 'JSZ', + JZO: 'JZO', + JOT: 'TJO', + JOI: 'IJO', + JOL: 'LJO', + JOS: 'JSO', + JOZ: 'JZO', + STI: 'TIS', + STL: 'TLS', + STJ: 'TJS', + STZ: 'TSZ', + STO: 'TSO', + SIT: 'TIS', + SIL: 'ILS', + SIJ: 'IJS', + SIZ: 'ISZ', + SIO: 'ISO', + SLT: 'TLS', + SLI: 'ILS', + SLJ: 'LJS', + SLZ: 'LSZ', + SLO: 'LSO', + SJT: 'TJS', + SJI: 'IJS', + SJL: 'LJS', + SJZ: 'JSZ', + SJO: 'JSO', + SZT: 'TSZ', + SZI: 'ISZ', + SZL: 'LSZ', + SZJ: 'JSZ', + SZO: 'SZO', + SOT: 'TSO', + SOI: 'ISO', + SOL: 'LSO', + SOJ: 'JSO', + SOZ: 'SZO', + ZTI: 'TIZ', + ZTL: 'TLZ', + ZTJ: 'TJZ', + ZTS: 'TSZ', + ZTO: 'TZO', + ZIT: 'TIZ', + ZIL: 'ILZ', + ZIJ: 'IJZ', + ZIS: 'ISZ', + ZIO: 'IZO', + ZLT: 'TLZ', + ZLI: 'ILZ', + ZLJ: 'LJZ', + ZLS: 'LSZ', + ZLO: 'LZO', + ZJT: 'TJZ', + ZJI: 'IJZ', + ZJL: 'LJZ', + ZJS: 'JSZ', + ZJO: 'JZO', + ZST: 'TSZ', + ZSI: 'ISZ', + ZSL: 'LSZ', + ZSJ: 'JSZ', + ZSO: 'SZO', + ZOT: 'TZO', + ZOI: 'IZO', + ZOL: 'LZO', + ZOJ: 'JZO', + ZOS: 'SZO', + OTI: 'TIO', + OTL: 'TLO', + OTJ: 'TJO', + OTS: 'TSO', + OTZ: 'TZO', + OIT: 'TIO', + OIL: 'ILO', + OIJ: 'IJO', + OIS: 'ISO', + OIZ: 'IZO', + OLT: 'TLO', + OLI: 'ILO', + OLJ: 'LJO', + OLS: 'LSO', + OLZ: 'LZO', + OJT: 'TJO', + OJI: 'IJO', + OJL: 'LJO', + OJS: 'JSO', + OJZ: 'JZO', + OST: 'TSO', + OSI: 'ISO', + OSL: 'LSO', + OSJ: 'JSO', + OSZ: 'SZO', + OZT: 'TZO', + OZI: 'IZO', + OZL: 'LZO', + OZJ: 'JZO', + OZS: 'SZO', + TTI: 'TTI', + TTL: 'TTL', + TTJ: 'TTJ', + TTS: 'TTS', + TTZ: 'TTZ', + TTO: 'TTO', + TIT: 'TTI', + TII: 'TII', + TLT: 'TTL', + TLL: 'TLL', + TJT: 'TTJ', + TJJ: 'TJJ', + TST: 'TTS', + TSS: 'TSS', + TZT: 'TTZ', + TZZ: 'TZZ', + TOT: 'TTO', + TOO: 'TOO', + ITT: 'TTI', + ITI: 'TII', + IIT: 'TII', + IIL: 'IIL', + IIJ: 'IIJ', + IIS: 'IIS', + IIZ: 'IIZ', + IIO: 'IIO', + ILI: 'IIL', + ILL: 'ILL', + IJI: 'IIJ', + IJJ: 'IJJ', + ISI: 'IIS', + ISS: 'ISS', + IZI: 'IIZ', + IZZ: 'IZZ', + IOI: 'IIO', + IOO: 'IOO', + LTT: 'TTL', + LTL: 'TLL', + LII: 'IIL', + LIL: 'ILL', + LLT: 'TLL', + LLI: 'ILL', + LLJ: 'LLJ', + LLS: 'LLS', + LLZ: 'LLZ', + LLO: 'LLO', + LJL: 'LLJ', + LJJ: 'LJJ', + LSL: 'LLS', + LSS: 'LSS', + LZL: 'LLZ', + LZZ: 'LZZ', + LOL: 'LLO', + LOO: 'LOO', + JTT: 'TTJ', + JTJ: 'TJJ', + JII: 'IIJ', + JIJ: 'IJJ', + JLL: 'LLJ', + JLJ: 'LJJ', + JJT: 'TJJ', + JJI: 'IJJ', + JJL: 'LJJ', + JJS: 'JJS', + JJZ: 'JJZ', + JJO: 'JJO', + JSJ: 'JJS', + JSS: 'JSS', + JZJ: 'JJZ', + JZZ: 'JZZ', + JOJ: 'JJO', + JOO: 'JOO', + STT: 'TTS', + STS: 'TSS', + SII: 'IIS', + SIS: 'ISS', + SLL: 'LLS', + SLS: 'LSS', + SJJ: 'JJS', + SJS: 'JSS', + SST: 'TSS', + SSI: 'ISS', + SSL: 'LSS', + SSJ: 'JSS', + SSZ: 'SSZ', + SSO: 'SSO', + SZS: 'SSZ', + SZZ: 'SZZ', + SOS: 'SSO', + SOO: 'SOO', + ZTT: 'TTZ', + ZTZ: 'TZZ', + ZII: 'IIZ', + ZIZ: 'IZZ', + ZLL: 'LLZ', + ZLZ: 'LZZ', + ZJJ: 'JJZ', + ZJZ: 'JZZ', + ZSS: 'SSZ', + ZSZ: 'SZZ', + ZZT: 'TZZ', + ZZI: 'IZZ', + ZZL: 'LZZ', + ZZJ: 'JZZ', + ZZS: 'SZZ', + ZZO: 'ZZO', + ZOZ: 'ZZO', + ZOO: 'ZOO', + OTT: 'TTO', + OTO: 'TOO', + OII: 'IIO', + OIO: 'IOO', + OLL: 'LLO', + OLO: 'LOO', + OJJ: 'JJO', + OJO: 'JOO', + OSS: 'SSO', + OSO: 'SOO', + OZZ: 'ZZO', + OZO: 'ZOO', + OOT: 'TOO', + OOI: 'IOO', + OOL: 'LOO', + OOJ: 'JOO', + OOS: 'SOO', + OOZ: 'ZOO', + } + function mirrorPieces(e) { + let n = [] + for (const w of e) { + let e = new Piece(w.x, w.y, w.color, w.r) + e.color = mirrorPiece[e.color] + 'teal' == e.color || 'yellow' == e.color + ? (e.x = 10 - w.x) + : (e.x = 9 - w.x) + e.r = (4 - e.r) % 4 + n.push(e) + } + return n + } + openers = { + 'DT Cannon': { + variation: { + pieces: [ + new Piece(4, 19, 'orange', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(6, 18, 'teal', 3), + new Piece(8, 19, 'blue', 0), + new Piece(8, 18, 'red', 0), + new Piece(4, 18, 'green', 0), + new Piece(4, 16, 'purple', 0), + new Piece(0, 16, 'blue', 3), + new Piece(9, 16, 'teal', 3), + new Piece(8, 16, 'yellow', 0), + new Piece(5, 14, 'green', 1), + new Piece(3, 14, 'orange', 1), + new Piece(6, 14, 'red', 3), + new Piece(2, 17, 'purple', 2), + new Piece(2, 16, 'purple', 1), + ], + seed: 'IwNgLATC0MwgrDA7EoA', + }, + }, + 'BT Cannon': { + '1-1': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(5, 20, 'teal', 0), + new Piece(8, 19, 'red', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(8, 17, 'green', 3), + new Piece(4, 18, 'purple', 0), + new Piece(1, 16, 'orange', 2), + new Piece(3, 16, 'blue', 3), + new Piece(5, 15, 'green', 2), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(3, 14, 'red', 1), + new Piece(8, 14, 'orange', 1), + new Piece(6, 17, 'purple', 2), + new Piece(7, 16, 'purple', 1), + new Piece(1, 12, 'orange', 3), + new Piece(3, 12, 'yellow', 0), + new Piece(8, 12, 'red', 0), + new Piece(5, 14, 'blue', 0), + new Piece(4, 12, 'green', 3), + new Piece(1, 12, 'teal', 1), + new Piece(5, 10, 'blue', 3), + new Piece(9, 10, 'teal', 3), + new Piece(3, 10, 'orange', 0), + new Piece(1, 9, 'green', 1), + new Piece(2, 9, 'red', 0), + new Piece(1, 7, 'yellow', 0), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAHAnFKAGGAmYQ', + }, + '1-2': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(5, 20, 'teal', 0), + new Piece(1, 19, 'blue', 0), + new Piece(4, 18, 'purple', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(1, 16, 'orange', 2), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 16, 'blue', 3), + new Piece(9, 15, 'teal', 3), + new Piece(5, 15, 'green', 2), + new Piece(8, 14, 'orange', 1), + new Piece(3, 14, 'red', 1), + new Piece(6, 17, 'purple', 2), + new Piece(1, 13, 'blue', 0), + new Piece(3, 12, 'yellow', 0), + new Piece(8, 12, 'red', 0), + new Piece(5, 13, 'teal', 1), + new Piece(1, 11, 'green', 1), + new Piece(7, 16, 'purple', 1), + new Piece(5, 13, 'orange', 3), + new Piece(1, 9, 'green', 1), + new Piece(9, 10, 'teal', 3), + new Piece(5, 10, 'blue', 3), + new Piece(4, 10, 'yellow', 0), + new Piece(6, 12, 'purple', 3), + new Piece(2, 9, 'orange', 1), + new Piece(3, 8, 'red', 0), + ], + seed: 'IwNg7ArAzAHAnCYMAskg', + }, + '1-3': { + pieces: [ + new Piece(5, 19, 'purple', 0), + new Piece(2, 19, 'blue', 0), + new Piece(8, 19, 'red', 0), + new Piece(1, 18, 'teal', 1), + new Piece(8, 17, 'green', 3), + new Piece(3, 18, 'orange', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(3, 16, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 14, 'red', 1), + new Piece(8, 14, 'orange', 1), + new Piece(5, 15, 'green', 2), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(3, 12, 'yellow', 0), + new Piece(1, 13, 'blue', 0), + new Piece(8, 12, 'red', 0), + new Piece(1, 11, 'green', 1), + new Piece(5, 13, 'teal', 1), + new Piece(7, 16, 'purple', 1), + new Piece(5, 13, 'orange', 3), + new Piece(3, 9, 'green', 1), + new Piece(4, 9, 'orange', 1), + new Piece(4, 7, 'yellow', 0), + new Piece(5, 10, 'blue', 3), + new Piece(1, 9, 'red', 2), + new Piece(9, 10, 'teal', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAHAnCALFKcZA', + }, + '1-4': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(8, 19, 'red', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'purple', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 16, 'orange', 2), + new Piece(8, 14, 'orange', 1), + new Piece(3, 14, 'red', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(3, 16, 'blue', 3), + new Piece(5, 15, 'green', 2), + new Piece(6, 17, 'purple', 2), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(4, 12, 'green', 3), + new Piece(8, 12, 'red', 0), + new Piece(1, 12, 'orange', 3), + new Piece(3, 12, 'yellow', 0), + new Piece(1, 12, 'teal', 1), + new Piece(3, 10, 'yellow', 0), + new Piece(9, 10, 'teal', 3), + new Piece(5, 10, 'blue', 3), + new Piece(4, 9, 'orange', 1), + new Piece(5, 8, 'red', 0), + new Piece(1, 9, 'green', 1), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAHAnHATMMAGGQ', + }, + '1-5': { + pieces: [ + new Piece(1, 19, 'orange', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'purple', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(1, 16, 'blue', 2), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 14, 'red', 1), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(3, 16, 'blue', 3), + new Piece(5, 15, 'green', 2), + new Piece(8, 14, 'orange', 1), + new Piece(8, 12, 'red', 0), + new Piece(1, 13, 'blue', 0), + new Piece(3, 12, 'yellow', 0), + new Piece(5, 13, 'teal', 1), + new Piece(1, 11, 'green', 1), + new Piece(7, 16, 'purple', 1), + new Piece(5, 13, 'orange', 3), + new Piece(1, 10, 'red', 0), + new Piece(3, 9, 'green', 1), + new Piece(4, 9, 'orange', 1), + new Piece(9, 10, 'teal', 3), + new Piece(5, 10, 'blue', 3), + new Piece(1, 8, 'yellow', 0), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAHAnNCcBMUg', + }, + '1-6': { + pieces: [ + new Piece(5, 19, 'purple', 0), + new Piece(8, 19, 'red', 0), + new Piece(2, 19, 'blue', 0), + new Piece(8, 17, 'green', 3), + new Piece(3, 18, 'orange', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(8, 14, 'orange', 1), + new Piece(3, 16, 'blue', 3), + new Piece(3, 14, 'red', 1), + new Piece(5, 15, 'green', 2), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(3, 12, 'yellow', 0), + new Piece(1, 13, 'blue', 0), + new Piece(7, 16, 'purple', 1), + new Piece(8, 12, 'red', 0), + new Piece(1, 11, 'green', 1), + new Piece(5, 13, 'teal', 1), + new Piece(5, 13, 'orange', 3), + new Piece(9, 10, 'teal', 3), + new Piece(1, 10, 'red', 0), + new Piece(0, 7, 'orange', 3), + new Piece(2, 7, 'yellow', 0), + new Piece(2, 9, 'green', 3), + new Piece(5, 10, 'blue', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAHAnAgTCCAWIA', + }, + '1-7': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(8, 19, 'red', 0), + new Piece(5, 19, 'purple', 0), + new Piece(3, 18, 'orange', 0), + new Piece(8, 17, 'green', 3), + new Piece(2, 19, 'blue', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(8, 14, 'orange', 1), + new Piece(3, 14, 'red', 1), + new Piece(3, 16, 'blue', 3), + new Piece(9, 15, 'teal', 3), + new Piece(5, 15, 'green', 2), + new Piece(1, 15, 'yellow', 0), + new Piece(6, 17, 'purple', 2), + new Piece(1, 13, 'blue', 0), + new Piece(8, 12, 'red', 0), + new Piece(7, 16, 'purple', 1), + new Piece(3, 12, 'yellow', 0), + new Piece(1, 11, 'green', 1), + new Piece(5, 13, 'teal', 1), + new Piece(5, 13, 'orange', 3), + new Piece(5, 10, 'blue', 3), + new Piece(9, 10, 'teal', 3), + new Piece(1, 10, 'red', 0), + new Piece(1, 8, 'green', 0), + new Piece(4, 10, 'yellow', 0), + new Piece(3, 8, 'orange', 2), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnADHALDYMBMQ', + }, + '1-8': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(1, 19, 'blue', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(4, 18, 'purple', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(1, 16, 'orange', 2), + new Piece(5, 16, 'green', 0), + new Piece(8, 14, 'orange', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(6, 17, 'purple', 2), + new Piece(9, 15, 'teal', 3), + new Piece(3, 16, 'blue', 3), + new Piece(3, 14, 'red', 1), + new Piece(1, 13, 'blue', 0), + new Piece(1, 11, 'green', 1), + new Piece(3, 12, 'yellow', 0), + new Piece(7, 16, 'purple', 1), + new Piece(8, 12, 'red', 0), + new Piece(5, 13, 'orange', 3), + new Piece(5, 13, 'teal', 1), + new Piece(5, 10, 'blue', 3), + new Piece(6, 12, 'purple', 3), + new Piece(9, 10, 'teal', 3), + new Piece(1, 10, 'red', 0), + new Piece(3, 9, 'orange', 3), + new Piece(2, 8, 'green', 1), + new Piece(3, 7, 'yellow', 0), + ], + seed: 'IwNg7ArAzAnADAJgTEcAcQ', + }, + '1-9': { + pieces: [ + new Piece(2, 19, 'blue', 0), + new Piece(8, 19, 'red', 0), + new Piece(5, 19, 'purple', 0), + new Piece(3, 18, 'orange', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 18, 'teal', 1), + new Piece(3, 16, 'blue', 3), + new Piece(5, 15, 'green', 2), + new Piece(3, 14, 'red', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(8, 14, 'orange', 1), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(7, 16, 'purple', 1), + new Piece(8, 12, 'red', 0), + new Piece(3, 12, 'yellow', 0), + new Piece(1, 12, 'orange', 3), + new Piece(1, 12, 'teal', 1), + new Piece(5, 14, 'blue', 0), + new Piece(4, 12, 'green', 3), + new Piece(4, 10, 'yellow', 0), + new Piece(1, 10, 'red', 0), + new Piece(2, 8, 'green', 1), + new Piece(5, 10, 'blue', 3), + new Piece(9, 10, 'teal', 3), + new Piece(3, 6, 'orange', 2), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAHAnGOAWOAGYQ', + }, + '1-10': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'purple', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(1, 16, 'orange', 2), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(5, 16, 'green', 0), + new Piece(8, 14, 'orange', 1), + new Piece(6, 17, 'purple', 2), + new Piece(3, 16, 'blue', 3), + new Piece(3, 14, 'red', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(8, 12, 'red', 0), + new Piece(1, 13, 'blue', 0), + new Piece(3, 12, 'yellow', 0), + new Piece(1, 11, 'green', 1), + new Piece(5, 13, 'teal', 1), + new Piece(7, 16, 'purple', 1), + new Piece(5, 13, 'orange', 3), + new Piece(4, 10, 'green', 3), + new Piece(0, 8, 'red', 3), + new Piece(1, 6, 'orange', 2), + new Piece(2, 10, 'blue', 0), + new Piece(6, 9, 'yellow', 0), + new Piece(9, 10, 'teal', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnADAJgBxVTIA', + }, + '1-11': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(1, 19, 'blue', 0), + new Piece(5, 20, 'teal', 0), + new Piece(8, 17, 'green', 3), + new Piece(4, 18, 'purple', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(1, 16, 'orange', 2), + new Piece(3, 16, 'blue', 3), + new Piece(8, 14, 'orange', 1), + new Piece(3, 14, 'red', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(5, 15, 'green', 2), + new Piece(6, 17, 'purple', 2), + new Piece(7, 16, 'purple', 1), + new Piece(8, 12, 'red', 0), + new Piece(1, 13, 'blue', 0), + new Piece(1, 11, 'green', 1), + new Piece(3, 12, 'yellow', 0), + new Piece(5, 13, 'orange', 3), + new Piece(5, 13, 'teal', 1), + new Piece(2, 10, 'blue', 0), + new Piece(4, 10, 'green', 3), + new Piece(2, 8, 'orange', 3), + new Piece(9, 10, 'teal', 3), + new Piece(1, 8, 'red', 1), + new Piece(6, 9, 'yellow', 0), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnADFKJrCA', + }, + '2-1': { + pieces: [ + new Piece(5, 19, 'purple', 0), + new Piece(3, 18, 'orange', 0), + new Piece(1, 18, 'teal', 1), + new Piece(2, 19, 'blue', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(3, 14, 'red', 1), + new Piece(6, 17, 'purple', 2), + new Piece(9, 15, 'teal', 3), + new Piece(3, 16, 'blue', 3), + new Piece(5, 15, 'green', 2), + new Piece(8, 14, 'orange', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(2, 11, 'green', 3), + new Piece(5, 13, 'teal', 1), + new Piece(8, 12, 'red', 0), + new Piece(2, 13, 'yellow', 0), + new Piece(0, 12, 'blue', 3), + new Piece(7, 16, 'purple', 1), + new Piece(5, 13, 'orange', 3), + new Piece(1, 10, 'green', 0), + new Piece(5, 10, 'blue', 3), + new Piece(9, 10, 'teal', 3), + new Piece(6, 12, 'purple', 3), + new Piece(1, 8, 'red', 1), + new Piece(4, 10, 'yellow', 0), + new Piece(1, 6, 'orange', 2), + ], + seed: 'IwNg7ArAzAnADAFgEwmADjkA', + }, + '2-2': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(1, 19, 'orange', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(1, 16, 'blue', 2), + new Piece(4, 18, 'purple', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(5, 16, 'green', 0), + new Piece(8, 14, 'orange', 1), + new Piece(3, 16, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 14, 'red', 1), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(2, 13, 'yellow', 0), + new Piece(5, 13, 'teal', 1), + new Piece(3, 11, 'green', 1), + new Piece(8, 12, 'red', 0), + new Piece(7, 16, 'purple', 1), + new Piece(5, 13, 'orange', 3), + new Piece(0, 12, 'blue', 3), + new Piece(5, 10, 'blue', 3), + new Piece(6, 12, 'purple', 3), + new Piece(9, 10, 'teal', 3), + new Piece(4, 10, 'yellow', 0), + new Piece(1, 10, 'green', 0), + new Piece(3, 8, 'red', 0), + new Piece(1, 8, 'orange', 2), + ], + seed: 'IwNg7ArAzAnADGOAmALCKQ', + }, + '2-3': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(8, 19, 'red', 0), + new Piece(1, 19, 'blue', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(1, 16, 'orange', 2), + new Piece(8, 17, 'green', 3), + new Piece(4, 18, 'purple', 0), + new Piece(8, 15, 'green', 3), + new Piece(4, 16, 'orange', 2), + new Piece(1, 15, 'yellow', 0), + new Piece(5, 16, 'teal', 0), + new Piece(8, 13, 'blue', 2), + new Piece(3, 14, 'red', 1), + new Piece(6, 17, 'purple', 2), + new Piece(7, 16, 'purple', 1), + new Piece(2, 13, 'yellow', 0), + new Piece(3, 11, 'green', 1), + new Piece(5, 13, 'orange', 3), + new Piece(8, 12, 'red', 0), + new Piece(0, 12, 'blue', 3), + new Piece(5, 13, 'teal', 1), + new Piece(1, 10, 'yellow', 0), + new Piece(0, 7, 'blue', 3), + new Piece(5, 10, 'orange', 1), + new Piece(5, 8, 'green', 3), + new Piece(3, 9, 'red', 2), + new Piece(9, 10, 'teal', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnADCATDWig', + }, + '2-4': { + pieces: [ + new Piece(1, 19, 'orange', 0), + new Piece(5, 20, 'teal', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(8, 19, 'red', 0), + new Piece(4, 18, 'purple', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 16, 'blue', 2), + new Piece(8, 15, 'green', 3), + new Piece(4, 16, 'orange', 2), + new Piece(8, 13, 'blue', 2), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 14, 'red', 1), + new Piece(5, 16, 'teal', 0), + new Piece(6, 17, 'purple', 2), + new Piece(8, 12, 'red', 0), + new Piece(7, 16, 'purple', 1), + new Piece(5, 13, 'orange', 3), + new Piece(3, 11, 'green', 1), + new Piece(2, 13, 'yellow', 0), + new Piece(5, 13, 'teal', 1), + new Piece(0, 12, 'blue', 3), + new Piece(3, 10, 'red', 0), + new Piece(5, 10, 'orange', 1), + new Piece(3, 8, 'green', 0), + new Piece(9, 10, 'teal', 3), + new Piece(1, 10, 'yellow', 0), + new Piece(5, 8, 'blue', 2), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnADBOMBMcpA', + }, + '2-5': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(1, 16, 'orange', 2), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'purple', 0), + new Piece(6, 17, 'purple', 2), + new Piece(5, 16, 'green', 0), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(3, 16, 'blue', 3), + new Piece(8, 14, 'orange', 1), + new Piece(3, 14, 'red', 1), + new Piece(3, 11, 'green', 1), + new Piece(8, 12, 'red', 0), + new Piece(7, 16, 'purple', 1), + new Piece(2, 13, 'yellow', 0), + new Piece(0, 12, 'blue', 3), + new Piece(5, 13, 'orange', 3), + new Piece(5, 13, 'teal', 1), + new Piece(4, 10, 'green', 3), + new Piece(0, 9, 'orange', 3), + new Piece(9, 10, 'teal', 3), + new Piece(2, 9, 'blue', 2), + new Piece(1, 8, 'red', 0), + new Piece(6, 9, 'yellow', 0), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnADADjlYYxA', + }, + '2-6': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 19, 'orange', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(1, 16, 'blue', 2), + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'purple', 0), + new Piece(8, 14, 'orange', 1), + new Piece(3, 16, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(5, 15, 'green', 2), + new Piece(3, 14, 'red', 1), + new Piece(6, 17, 'purple', 2), + new Piece(7, 16, 'purple', 1), + new Piece(8, 12, 'red', 0), + new Piece(5, 13, 'orange', 3), + new Piece(2, 13, 'yellow', 0), + new Piece(5, 13, 'teal', 1), + new Piece(3, 11, 'green', 1), + new Piece(0, 12, 'blue', 3), + new Piece(4, 10, 'yellow', 0), + new Piece(3, 8, 'orange', 0), + new Piece(1, 9, 'green', 2), + new Piece(9, 10, 'teal', 3), + new Piece(1, 8, 'red', 1), + new Piece(5, 10, 'blue', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnADBALADhMxQ', + }, + '2-7': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 19, 'blue', 0), + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'purple', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(1, 16, 'orange', 2), + new Piece(3, 16, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(5, 15, 'green', 2), + new Piece(8, 14, 'orange', 1), + new Piece(3, 14, 'red', 1), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(2, 13, 'yellow', 0), + new Piece(3, 11, 'green', 1), + new Piece(8, 12, 'red', 0), + new Piece(5, 13, 'teal', 1), + new Piece(7, 16, 'purple', 1), + new Piece(0, 12, 'blue', 3), + new Piece(5, 13, 'orange', 3), + new Piece(3, 9, 'green', 1), + new Piece(1, 10, 'yellow', 0), + new Piece(5, 10, 'blue', 3), + new Piece(4, 9, 'orange', 1), + new Piece(5, 8, 'red', 0), + new Piece(9, 10, 'teal', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnADADhHALMATEA', + }, + '2-8': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(8, 19, 'red', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(1, 16, 'orange', 2), + new Piece(5, 20, 'teal', 0), + new Piece(8, 17, 'green', 3), + new Piece(4, 18, 'purple', 0), + new Piece(5, 16, 'green', 0), + new Piece(3, 16, 'blue', 3), + new Piece(3, 14, 'red', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(8, 14, 'orange', 1), + new Piece(6, 17, 'purple', 2), + new Piece(8, 12, 'red', 0), + new Piece(3, 11, 'green', 1), + new Piece(5, 13, 'teal', 1), + new Piece(7, 16, 'purple', 1), + new Piece(5, 13, 'orange', 3), + new Piece(2, 13, 'yellow', 0), + new Piece(0, 12, 'blue', 3), + new Piece(4, 10, 'green', 3), + new Piece(4, 7, 'red', 3), + new Piece(9, 10, 'teal', 3), + new Piece(6, 9, 'yellow', 0), + new Piece(0, 9, 'orange', 3), + new Piece(2, 9, 'blue', 2), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnMBMAGALFAHBIA', + }, + '2-9': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(2, 19, 'blue', 0), + new Piece(5, 19, 'purple', 0), + new Piece(3, 18, 'orange', 0), + new Piece(1, 18, 'teal', 1), + new Piece(8, 17, 'green', 3), + new Piece(2, 17, 'yellow', 0), + new Piece(5, 16, 'green', 0), + new Piece(3, 16, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(3, 14, 'red', 1), + new Piece(8, 14, 'orange', 1), + new Piece(6, 17, 'purple', 2), + new Piece(8, 12, 'red', 0), + new Piece(3, 11, 'green', 1), + new Piece(7, 16, 'purple', 1), + new Piece(5, 13, 'teal', 1), + new Piece(2, 13, 'yellow', 0), + new Piece(5, 13, 'orange', 3), + new Piece(0, 12, 'blue', 3), + new Piece(1, 10, 'yellow', 0), + new Piece(5, 10, 'blue', 3), + new Piece(9, 10, 'teal', 3), + new Piece(0, 7, 'orange', 3), + new Piece(2, 7, 'green', 1), + new Piece(3, 9, 'red', 2), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnMpmADgAxA', + }, + '2-10': { + pieces: [ + new Piece(5, 19, 'purple', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(2, 19, 'blue', 0), + new Piece(3, 18, 'orange', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(3, 16, 'blue', 3), + new Piece(5, 15, 'green', 2), + new Piece(3, 14, 'red', 1), + new Piece(8, 14, 'orange', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(5, 13, 'teal', 1), + new Piece(8, 12, 'red', 0), + new Piece(7, 16, 'purple', 1), + new Piece(3, 11, 'green', 1), + new Piece(2, 13, 'yellow', 0), + new Piece(0, 12, 'blue', 3), + new Piece(5, 13, 'orange', 3), + new Piece(5, 10, 'orange', 1), + new Piece(3, 9, 'red', 2), + new Piece(4, 7, 'blue', 3), + new Piece(9, 10, 'teal', 3), + new Piece(1, 10, 'yellow', 0), + new Piece(5, 8, 'green', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnMAMZRhkA', + }, + '2-11': { + pieces: [ + new Piece(1, 19, 'orange', 0), + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'purple', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(1, 16, 'blue', 2), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(8, 14, 'orange', 1), + new Piece(5, 16, 'green', 0), + new Piece(9, 15, 'teal', 3), + new Piece(3, 16, 'blue', 3), + new Piece(3, 14, 'red', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(6, 17, 'purple', 2), + new Piece(2, 13, 'yellow', 0), + new Piece(8, 12, 'red', 0), + new Piece(5, 13, 'teal', 1), + new Piece(7, 16, 'purple', 1), + new Piece(0, 12, 'blue', 3), + new Piece(3, 11, 'green', 1), + new Piece(5, 13, 'orange', 3), + new Piece(4, 10, 'blue', 2), + new Piece(1, 10, 'yellow', 0), + new Piece(2, 8, 'green', 1), + new Piece(4, 8, 'red', 1), + new Piece(9, 10, 'teal', 3), + new Piece(5, 9, 'orange', 0), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnMUBYBMZxA', + }, + '2-12': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(1, 19, 'blue', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(8, 17, 'green', 3), + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'purple', 0), + new Piece(1, 16, 'orange', 2), + new Piece(8, 14, 'orange', 1), + new Piece(5, 16, 'green', 0), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 16, 'blue', 3), + new Piece(3, 14, 'red', 1), + new Piece(2, 13, 'yellow', 0), + new Piece(0, 12, 'blue', 3), + new Piece(8, 12, 'red', 0), + new Piece(3, 11, 'green', 1), + new Piece(5, 13, 'teal', 1), + new Piece(7, 16, 'purple', 1), + new Piece(5, 13, 'orange', 3), + new Piece(10, 10, 'teal', 1), + new Piece(5, 10, 'orange', 1), + new Piece(1, 10, 'yellow', 0), + new Piece(3, 9, 'red', 2), + new Piece(1, 8, 'blue', 0), + new Piece(5, 8, 'green', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnMBMEAcAGJUg', + }, + '2-13': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(5, 19, 'purple', 0), + new Piece(8, 17, 'green', 3), + new Piece(2, 19, 'blue', 0), + new Piece(3, 18, 'orange', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(3, 14, 'red', 1), + new Piece(3, 16, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(8, 14, 'orange', 1), + new Piece(9, 15, 'teal', 3), + new Piece(5, 15, 'green', 2), + new Piece(6, 17, 'purple', 2), + new Piece(7, 16, 'purple', 1), + new Piece(2, 13, 'yellow', 0), + new Piece(5, 13, 'orange', 3), + new Piece(8, 12, 'red', 0), + new Piece(0, 12, 'blue', 3), + new Piece(3, 11, 'green', 1), + new Piece(5, 13, 'teal', 1), + new Piece(5, 10, 'orange', 1), + new Piece(3, 9, 'red', 2), + new Piece(9, 10, 'teal', 3), + new Piece(1, 10, 'yellow', 0), + new Piece(5, 8, 'green', 3), + new Piece(3, 8, 'blue', 0), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnMBMcZgAxA', + }, + '2-14': { + pieces: [ + new Piece(1, 19, 'orange', 0), + new Piece(5, 20, 'teal', 0), + new Piece(8, 19, 'red', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(8, 17, 'green', 3), + new Piece(4, 18, 'purple', 0), + new Piece(1, 16, 'blue', 2), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 16, 'blue', 3), + new Piece(3, 14, 'red', 1), + new Piece(5, 15, 'green', 2), + new Piece(8, 14, 'orange', 1), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(7, 16, 'purple', 1), + new Piece(2, 13, 'yellow', 0), + new Piece(3, 11, 'green', 1), + new Piece(5, 13, 'orange', 3), + new Piece(8, 12, 'red', 0), + new Piece(0, 12, 'blue', 3), + new Piece(5, 13, 'teal', 1), + new Piece(3, 9, 'green', 1), + new Piece(4, 9, 'orange', 1), + new Piece(9, 10, 'teal', 3), + new Piece(5, 10, 'blue', 3), + new Piece(6, 12, 'purple', 3), + new Piece(1, 10, 'yellow', 0), + new Piece(2, 7, 'red', 1), + ], + seed: 'IwNg7ArAzAnMVihGAOIA', + }, + '3-1': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(4, 18, 'purple', 0), + new Piece(1, 19, 'blue', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(1, 16, 'orange', 2), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 14, 'red', 1), + new Piece(6, 17, 'purple', 2), + new Piece(3, 16, 'blue', 3), + new Piece(5, 15, 'green', 2), + new Piece(8, 14, 'orange', 1), + new Piece(9, 15, 'teal', 3), + new Piece(7, 16, 'purple', 1), + new Piece(2, 13, 'green', 0), + new Piece(2, 11, 'orange', 2), + new Piece(5, 14, 'blue', 0), + new Piece(2, 10, 'yellow', 0), + new Piece(8, 12, 'red', 0), + new Piece(1, 12, 'teal', 1), + new Piece(4, 12, 'green', 3), + new Piece(5, 10, 'blue', 3), + new Piece(1, 8, 'red', 1), + new Piece(4, 10, 'yellow', 0), + new Piece(1, 6, 'orange', 2), + new Piece(9, 10, 'teal', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnKAMJ4A4ZA', + }, + '3-2': { + pieces: [ + new Piece(5, 19, 'purple', 0), + new Piece(1, 18, 'teal', 1), + new Piece(2, 19, 'blue', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(3, 18, 'orange', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(5, 16, 'green', 0), + new Piece(3, 16, 'blue', 3), + new Piece(8, 14, 'orange', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 14, 'red', 1), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(1, 12, 'teal', 1), + new Piece(2, 13, 'green', 0), + new Piece(2, 11, 'orange', 2), + new Piece(8, 12, 'red', 0), + new Piece(2, 10, 'yellow', 0), + new Piece(1, 8, 'orange', 2), + new Piece(9, 10, 'teal', 3), + new Piece(3, 8, 'red', 0), + new Piece(4, 12, 'green', 3), + new Piece(4, 10, 'yellow', 0), + new Piece(5, 10, 'blue', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnMYwExhABiA', + }, + '3-3': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(5, 19, 'purple', 0), + new Piece(3, 18, 'orange', 0), + new Piece(2, 19, 'blue', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 18, 'teal', 1), + new Piece(3, 14, 'red', 1), + new Piece(8, 14, 'orange', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(3, 16, 'blue', 3), + new Piece(5, 15, 'green', 2), + new Piece(2, 13, 'green', 0), + new Piece(2, 11, 'orange', 2), + new Piece(1, 12, 'teal', 1), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(8, 12, 'red', 0), + new Piece(2, 10, 'yellow', 0), + new Piece(4, 12, 'green', 3), + new Piece(5, 10, 'blue', 3), + new Piece(1, 8, 'red', 1), + new Piece(4, 10, 'yellow', 2), + new Piece(3, 8, 'orange', 0), + new Piece(9, 10, 'teal', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnMAswoCYYA4g', + }, + '3-4': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(1, 19, 'blue', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(1, 16, 'orange', 2), + new Piece(8, 17, 'green', 3), + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'purple', 0), + new Piece(8, 14, 'orange', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 14, 'red', 1), + new Piece(3, 16, 'blue', 3), + new Piece(9, 15, 'teal', 3), + new Piece(5, 15, 'green', 2), + new Piece(6, 17, 'purple', 2), + new Piece(8, 12, 'red', 0), + new Piece(2, 13, 'green', 0), + new Piece(2, 11, 'orange', 2), + new Piece(1, 12, 'teal', 1), + new Piece(2, 10, 'yellow', 0), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(4, 12, 'green', 3), + new Piece(1, 8, 'red', 1), + new Piece(4, 10, 'blue', 2), + new Piece(9, 10, 'teal', 3), + new Piece(1, 6, 'orange', 2), + new Piece(6, 9, 'yellow', 0), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnMAcMLwEzyA', + }, + '3-5': { + pieces: [ + new Piece(2, 19, 'blue', 0), + new Piece(5, 19, 'purple', 0), + new Piece(3, 18, 'orange', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(2, 17, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(9, 15, 'teal', 3), + new Piece(5, 16, 'green', 0), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 16, 'blue', 3), + new Piece(3, 14, 'red', 1), + new Piece(8, 14, 'orange', 1), + new Piece(6, 17, 'purple', 2), + new Piece(1, 12, 'teal', 1), + new Piece(7, 16, 'purple', 1), + new Piece(8, 12, 'red', 0), + new Piece(2, 13, 'green', 0), + new Piece(2, 11, 'orange', 2), + new Piece(5, 14, 'blue', 0), + new Piece(2, 10, 'yellow', 0), + new Piece(4, 12, 'green', 3), + new Piece(4, 10, 'blue', 2), + new Piece(4, 8, 'red', 1), + new Piece(9, 10, 'teal', 3), + new Piece(5, 9, 'orange', 0), + new Piece(2, 8, 'yellow', 0), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnMMRCALFIA', + }, + '3-6': { + pieces: [ + new Piece(5, 19, 'purple', 0), + new Piece(8, 19, 'red', 0), + new Piece(3, 18, 'orange', 0), + new Piece(8, 17, 'green', 3), + new Piece(0, 18, 'teal', 3), + new Piece(2, 19, 'blue', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(8, 14, 'orange', 1), + new Piece(3, 16, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(5, 15, 'green', 2), + new Piece(3, 14, 'red', 1), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(2, 13, 'green', 0), + new Piece(8, 12, 'red', 0), + new Piece(1, 12, 'teal', 1), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(2, 11, 'orange', 2), + new Piece(2, 10, 'yellow', 0), + new Piece(4, 12, 'green', 3), + new Piece(5, 10, 'blue', 3), + new Piece(3, 9, 'orange', 3), + new Piece(1, 8, 'red', 1), + new Piece(9, 10, 'teal', 3), + new Piece(6, 8, 'yellow', 0), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnATADhMMyg', + }, + '3-7': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(8, 19, 'red', 0), + new Piece(4, 18, 'purple', 0), + new Piece(1, 19, 'blue', 0), + new Piece(8, 17, 'green', 3), + new Piece(2, 18, 'yellow', 0), + new Piece(1, 16, 'orange', 2), + new Piece(3, 16, 'blue', 3), + new Piece(8, 14, 'orange', 1), + new Piece(3, 14, 'red', 1), + new Piece(5, 15, 'green', 2), + new Piece(9, 15, 'teal', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(6, 17, 'purple', 2), + new Piece(2, 13, 'green', 0), + new Piece(2, 11, 'orange', 2), + new Piece(1, 12, 'teal', 1), + new Piece(2, 10, 'yellow', 0), + new Piece(8, 12, 'red', 0), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(4, 12, 'green', 3), + new Piece(4, 10, 'blue', 2), + new Piece(1, 8, 'orange', 2), + new Piece(6, 9, 'yellow', 0), + new Piece(4, 7, 'red', 3), + new Piece(9, 10, 'teal', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnATGUAWMAGIA', + }, + '3-8': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(8, 19, 'red', 0), + new Piece(1, 19, 'blue', 0), + new Piece(8, 17, 'green', 3), + new Piece(2, 18, 'yellow', 0), + new Piece(4, 18, 'purple', 0), + new Piece(1, 16, 'orange', 2), + new Piece(9, 15, 'teal', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 16, 'blue', 3), + new Piece(8, 14, 'orange', 1), + new Piece(5, 15, 'green', 2), + new Piece(3, 14, 'red', 1), + new Piece(6, 17, 'purple', 2), + new Piece(2, 13, 'green', 0), + new Piece(2, 11, 'orange', 2), + new Piece(2, 10, 'yellow', 0), + new Piece(1, 12, 'teal', 1), + new Piece(8, 12, 'red', 0), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(1, 8, 'orange', 2), + new Piece(6, 12, 'purple', 3), + new Piece(9, 10, 'teal', 3), + new Piece(4, 12, 'green', 3), + new Piece(4, 10, 'blue', 2), + new Piece(6, 9, 'yellow', 0), + new Piece(3, 8, 'red', 0), + ], + seed: 'IwNg7ArAzAnATHALDYAOGQ', + }, + '4-1': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(5, 19, 'purple', 0), + new Piece(1, 18, 'teal', 1), + new Piece(2, 19, 'blue', 0), + new Piece(3, 18, 'orange', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(5, 16, 'green', 0), + new Piece(8, 14, 'orange', 1), + new Piece(9, 15, 'teal', 3), + new Piece(3, 16, 'blue', 3), + new Piece(3, 14, 'red', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(6, 17, 'purple', 2), + new Piece(7, 16, 'purple', 1), + new Piece(1, 12, 'teal', 1), + new Piece(5, 14, 'blue', 0), + new Piece(2, 13, 'green', 0), + new Piece(2, 11, 'orange', 2), + new Piece(8, 12, 'red', 0), + new Piece(4, 10, 'yellow', 0), + new Piece(2, 10, 'yellow', 0), + new Piece(4, 12, 'green', 3), + new Piece(9, 10, 'teal', 3), + new Piece(1, 8, 'red', 1), + new Piece(1, 6, 'orange', 2), + new Piece(5, 10, 'blue', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnFwCZjAAzCA', + }, + '4-2': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(5, 19, 'purple', 0), + new Piece(2, 19, 'blue', 0), + new Piece(3, 18, 'orange', 0), + new Piece(8, 17, 'green', 3), + new Piece(2, 17, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(5, 16, 'green', 0), + new Piece(8, 14, 'orange', 1), + new Piece(3, 16, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(3, 14, 'red', 1), + new Piece(6, 17, 'purple', 2), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(2, 13, 'green', 0), + new Piece(8, 12, 'red', 0), + new Piece(2, 11, 'orange', 2), + new Piece(4, 10, 'yellow', 0), + new Piece(1, 12, 'teal', 1), + new Piece(9, 10, 'teal', 3), + new Piece(2, 10, 'yellow', 0), + new Piece(4, 12, 'green', 3), + new Piece(1, 8, 'orange', 2), + new Piece(5, 10, 'blue', 3), + new Piece(3, 8, 'red', 0), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnATDCAGYYAcQ', + }, + '4-3': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 19, 'orange', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(1, 16, 'blue', 2), + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'purple', 0), + new Piece(8, 14, 'orange', 1), + new Piece(3, 16, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 14, 'red', 1), + new Piece(9, 15, 'teal', 3), + new Piece(5, 15, 'green', 2), + new Piece(6, 17, 'purple', 2), + new Piece(2, 13, 'green', 0), + new Piece(7, 16, 'purple', 1), + new Piece(1, 12, 'teal', 1), + new Piece(8, 12, 'red', 0), + new Piece(5, 14, 'blue', 0), + new Piece(2, 11, 'orange', 2), + new Piece(4, 10, 'yellow', 0), + new Piece(9, 10, 'teal', 3), + new Piece(4, 12, 'green', 3), + new Piece(3, 8, 'orange', 2), + new Piece(4, 7, 'yellow', 0), + new Piece(1, 9, 'red', 2), + new Piece(5, 10, 'blue', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnF8AZwSA', + }, + '4-4': { + pieces: [ + new Piece(2, 19, 'blue', 0), + new Piece(8, 19, 'red', 0), + new Piece(5, 19, 'purple', 0), + new Piece(3, 18, 'orange', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 18, 'teal', 1), + new Piece(3, 16, 'blue', 3), + new Piece(3, 14, 'red', 1), + new Piece(9, 15, 'teal', 3), + new Piece(5, 15, 'green', 2), + new Piece(8, 14, 'orange', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(6, 17, 'purple', 2), + new Piece(8, 12, 'red', 0), + new Piece(7, 16, 'purple', 1), + new Piece(2, 13, 'green', 0), + new Piece(5, 14, 'blue', 0), + new Piece(2, 11, 'orange', 2), + new Piece(4, 10, 'yellow', 0), + new Piece(1, 12, 'teal', 1), + new Piece(1, 10, 'red', 0), + new Piece(1, 8, 'yellow', 0), + new Piece(4, 12, 'green', 3), + new Piece(5, 10, 'blue', 3), + new Piece(9, 10, 'teal', 3), + new Piece(3, 8, 'orange', 2), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnFUA4QAYISA', + }, + '4-5': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(2, 19, 'blue', 0), + new Piece(8, 17, 'green', 3), + new Piece(5, 19, 'purple', 0), + new Piece(3, 18, 'orange', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(8, 14, 'orange', 1), + new Piece(3, 14, 'red', 1), + new Piece(3, 16, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(5, 15, 'green', 2), + new Piece(6, 17, 'purple', 2), + new Piece(9, 15, 'teal', 3), + new Piece(2, 13, 'green', 0), + new Piece(2, 11, 'orange', 2), + new Piece(7, 16, 'purple', 1), + new Piece(1, 12, 'teal', 1), + new Piece(8, 12, 'red', 0), + new Piece(5, 14, 'blue', 0), + new Piece(4, 10, 'yellow', 0), + new Piece(2, 10, 'yellow', 0), + new Piece(9, 10, 'teal', 3), + new Piece(3, 8, 'orange', 0), + new Piece(1, 8, 'red', 1), + new Piece(4, 12, 'green', 3), + new Piece(5, 10, 'blue', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnFAMEBMAWe8g', + }, + '5-1': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(1, 19, 'orange', 0), + new Piece(4, 18, 'purple', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 18, 'yellow', 0), + new Piece(1, 16, 'blue', 2), + new Piece(3, 14, 'red', 1), + new Piece(8, 15, 'green', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(8, 13, 'blue', 2), + new Piece(4, 16, 'orange', 2), + new Piece(5, 16, 'teal', 0), + new Piece(6, 17, 'purple', 2), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(5, 12, 'teal', 3), + new Piece(4, 12, 'yellow', 0), + new Piece(8, 12, 'red', 0), + new Piece(0, 12, 'orange', 3), + new Piece(2, 12, 'green', 1), + new Piece(3, 10, 'red', 1), + new Piece(9, 10, 'teal', 3), + new Piece(1, 10, 'green', 0), + new Piece(6, 9, 'yellow', 0), + new Piece(4, 9, 'orange', 1), + new Piece(0, 8, 'blue', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnFAsFgA54CYg', + }, + '5-2': { + pieces: [ + new Piece(5, 19, 'purple', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(2, 19, 'blue', 0), + new Piece(1, 18, 'teal', 1), + new Piece(3, 18, 'orange', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(5, 16, 'green', 0), + new Piece(8, 14, 'orange', 1), + new Piece(9, 15, 'teal', 3), + new Piece(3, 16, 'blue', 3), + new Piece(3, 14, 'red', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(6, 17, 'purple', 2), + new Piece(8, 12, 'red', 0), + new Piece(7, 16, 'purple', 1), + new Piece(0, 12, 'orange', 3), + new Piece(4, 12, 'yellow', 0), + new Piece(5, 14, 'blue', 0), + new Piece(2, 12, 'green', 1), + new Piece(5, 12, 'teal', 3), + new Piece(6, 9, 'yellow', 0), + new Piece(3, 10, 'red', 0), + new Piece(4, 8, 'green', 1), + new Piece(1, 10, 'blue', 2), + new Piece(9, 10, 'teal', 3), + new Piece(0, 8, 'orange', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnFEAYAsEzCA', + }, + '5-3': { + pieces: [ + new Piece(2, 19, 'blue', 0), + new Piece(3, 18, 'orange', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(5, 19, 'purple', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(5, 16, 'green', 0), + new Piece(9, 15, 'teal', 3), + new Piece(8, 14, 'orange', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(6, 17, 'purple', 2), + new Piece(3, 16, 'blue', 3), + new Piece(3, 14, 'red', 1), + new Piece(0, 12, 'orange', 3), + new Piece(2, 12, 'green', 1), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(4, 12, 'yellow', 0), + new Piece(5, 12, 'teal', 3), + new Piece(8, 12, 'red', 0), + new Piece(1, 10, 'blue', 2), + new Piece(1, 9, 'green', 0), + new Piece(1, 7, 'orange', 2), + new Piece(6, 9, 'yellow', 0), + new Piece(9, 10, 'teal', 3), + new Piece(3, 9, 'red', 2), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnFIAYAsCZiA', + }, + '5-4': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(8, 19, 'red', 0), + new Piece(4, 18, 'purple', 0), + new Piece(1, 19, 'orange', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 18, 'yellow', 0), + new Piece(1, 16, 'blue', 2), + new Piece(8, 14, 'orange', 1), + new Piece(5, 16, 'green', 0), + new Piece(3, 16, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 14, 'red', 1), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(0, 12, 'orange', 3), + new Piece(2, 12, 'green', 1), + new Piece(8, 12, 'red', 0), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(4, 12, 'yellow', 0), + new Piece(5, 12, 'teal', 3), + new Piece(1, 10, 'green', 0), + new Piece(6, 9, 'yellow', 0), + new Piece(1, 8, 'red', 1), + new Piece(9, 10, 'teal', 3), + new Piece(3, 10, 'orange', 2), + new Piece(4, 8, 'blue', 1), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnFZhoiQ', + }, + '5-5': { + pieces: [ + new Piece(2, 19, 'blue', 0), + new Piece(5, 19, 'purple', 0), + new Piece(8, 19, 'red', 0), + new Piece(1, 18, 'teal', 1), + new Piece(8, 17, 'green', 3), + new Piece(3, 18, 'orange', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(8, 14, 'orange', 1), + new Piece(3, 14, 'red', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 16, 'blue', 3), + new Piece(5, 15, 'green', 2), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(8, 12, 'red', 0), + new Piece(4, 12, 'yellow', 0), + new Piece(0, 12, 'orange', 3), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(1, 12, 'green', 3), + new Piece(5, 12, 'teal', 3), + new Piece(6, 9, 'yellow', 0), + new Piece(2, 9, 'red', 1), + new Piece(9, 10, 'teal', 3), + new Piece(3, 10, 'orange', 2), + new Piece(3, 7, 'green', 1), + new Piece(0, 9, 'blue', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnLYAZIiA', + }, + '5-6': { + pieces: [ + new Piece(2, 19, 'blue', 0), + new Piece(5, 19, 'purple', 0), + new Piece(3, 18, 'orange', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 18, 'teal', 1), + new Piece(3, 16, 'blue', 3), + new Piece(3, 14, 'red', 1), + new Piece(8, 14, 'orange', 1), + new Piece(9, 15, 'teal', 3), + new Piece(5, 15, 'green', 2), + new Piece(1, 15, 'yellow', 0), + new Piece(6, 17, 'purple', 2), + new Piece(4, 12, 'yellow', 0), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(8, 12, 'red', 0), + new Piece(5, 12, 'teal', 3), + new Piece(0, 12, 'orange', 3), + new Piece(2, 12, 'green', 1), + new Piece(9, 10, 'teal', 3), + new Piece(3, 9, 'green', 1), + new Piece(5, 9, 'orange', 2), + new Piece(1, 10, 'blue', 2), + new Piece(1, 9, 'yellow', 0), + new Piece(3, 8, 'red', 0), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnF5SgBiUA', + }, + '5-7': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 19, 'blue', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'purple', 0), + new Piece(1, 16, 'orange', 2), + new Piece(3, 14, 'red', 1), + new Piece(8, 15, 'green', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(4, 16, 'orange', 2), + new Piece(8, 13, 'blue', 2), + new Piece(5, 15, 'teal', 2), + new Piece(6, 17, 'purple', 2), + new Piece(0, 12, 'orange', 3), + new Piece(2, 12, 'green', 1), + new Piece(4, 12, 'yellow', 0), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(8, 12, 'red', 0), + new Piece(5, 12, 'teal', 3), + new Piece(5, 9, 'orange', 2), + new Piece(1, 10, 'yellow', 0), + new Piece(6, 12, 'purple', 3), + new Piece(0, 7, 'blue', 3), + new Piece(2, 10, 'red', 3), + new Piece(1, 8, 'green', 3), + new Piece(9, 10, 'teal', 3), + ], + seed: 'IwNg7ArAzAnALABlFATGIA', + }, + '5-8': { + pieces: [ + new Piece(5, 19, 'purple', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 18, 'teal', 1), + new Piece(3, 18, 'orange', 0), + new Piece(2, 19, 'blue', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(8, 14, 'orange', 1), + new Piece(3, 16, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 14, 'red', 1), + new Piece(5, 15, 'green', 2), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(8, 12, 'red', 0), + new Piece(4, 12, 'yellow', 0), + new Piece(0, 12, 'orange', 3), + new Piece(7, 16, 'purple', 1), + new Piece(1, 12, 'green', 3), + new Piece(5, 14, 'blue', 0), + new Piece(5, 12, 'teal', 3), + new Piece(5, 9, 'orange', 2), + new Piece(3, 10, 'red', 1), + new Piece(1, 10, 'green', 0), + new Piece(4, 7, 'blue', 1), + new Piece(9, 10, 'teal', 3), + new Piece(2, 8, 'yellow', 0), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnALMATABhhEQ', + }, + '5-9': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'purple', 0), + new Piece(8, 19, 'red', 0), + new Piece(1, 19, 'orange', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(1, 16, 'blue', 2), + new Piece(8, 17, 'green', 3), + new Piece(3, 14, 'red', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 16, 'blue', 3), + new Piece(9, 15, 'teal', 3), + new Piece(5, 15, 'green', 2), + new Piece(8, 14, 'orange', 1), + new Piece(6, 17, 'purple', 2), + new Piece(4, 12, 'yellow', 0), + new Piece(0, 12, 'orange', 3), + new Piece(8, 12, 'red', 0), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(2, 12, 'green', 1), + new Piece(5, 12, 'teal', 3), + new Piece(2, 10, 'green', 1), + new Piece(3, 10, 'red', 0), + new Piece(5, 9, 'orange', 0), + new Piece(0, 9, 'blue', 3), + new Piece(4, 8, 'yellow', 0), + new Piece(9, 10, 'teal', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnALABhBGAmGQ', + }, + '5-10': { + pieces: [ + new Piece(2, 19, 'blue', 0), + new Piece(3, 18, 'orange', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(2, 17, 'yellow', 0), + new Piece(5, 19, 'purple', 0), + new Piece(1, 18, 'teal', 1), + new Piece(3, 14, 'red', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(6, 17, 'purple', 2), + new Piece(3, 16, 'blue', 3), + new Piece(5, 15, 'green', 2), + new Piece(8, 14, 'orange', 1), + new Piece(9, 15, 'teal', 3), + new Piece(0, 12, 'orange', 3), + new Piece(2, 12, 'green', 1), + new Piece(4, 12, 'yellow', 0), + new Piece(7, 16, 'purple', 1), + new Piece(8, 12, 'red', 0), + new Piece(5, 14, 'blue', 0), + new Piece(5, 12, 'teal', 3), + new Piece(0, 9, 'blue', 3), + new Piece(1, 7, 'yellow', 0), + new Piece(1, 10, 'green', 3), + new Piece(3, 10, 'red', 0), + new Piece(9, 10, 'teal', 3), + new Piece(5, 9, 'orange', 0), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnFAcAmADCiQ', + }, + '5-11': { + pieces: [ + new Piece(5, 19, 'purple', 0), + new Piece(2, 19, 'blue', 0), + new Piece(3, 18, 'orange', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(3, 16, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(8, 14, 'orange', 1), + new Piece(3, 14, 'red', 1), + new Piece(5, 15, 'green', 2), + new Piece(6, 17, 'purple', 2), + new Piece(0, 12, 'orange', 3), + new Piece(4, 12, 'yellow', 0), + new Piece(8, 12, 'red', 0), + new Piece(7, 16, 'purple', 1), + new Piece(5, 14, 'blue', 0), + new Piece(2, 12, 'green', 1), + new Piece(5, 12, 'teal', 3), + new Piece(4, 8, 'orange', 3), + new Piece(5, 8, 'green', 3), + new Piece(3, 10, 'red', 0), + new Piece(3, 8, 'yellow', 0), + new Piece(1, 10, 'blue', 2), + new Piece(9, 10, 'teal', 3), + new Piece(6, 12, 'purple', 3), + ], + seed: 'IwNg7ArAzAnALFCEBMYZA', + }, + 'Compromise 1-1': { + pieces: [ + new Piece(5, 19, 'purple', 0), + new Piece(1, 18, 'teal', 1), + new Piece(3, 18, 'orange', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(2, 19, 'blue', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(9, 15, 'orange', 1), + new Piece(2, 16, 'teal', 0), + new Piece(0, 13, 'blue', 3), + new Piece(2, 14, 'yellow', 0), + new Piece(4, 16, 'green', 0), + new Piece(6, 17, 'red', 0), + new Piece(7, 15, 'purple', 2), + new Piece(3, 11, 'red', 1), + new Piece(1, 11, 'green', 0), + new Piece(7, 14, 'yellow', 0), + new Piece(5, 14, 'orange', 1), + new Piece(9, 12, 'blue', 1), + new Piece(8, 11, 'teal', 3), + new Piece(3, 14, 'purple', 3), + new Piece(8, 8, 'yellow', 0), + new Piece(4, 8, 'red', 1), + new Piece(1, 9, 'orange', 2), + new Piece(4, 12, 'green', 0), + new Piece(5, 10, 'blue', 0), + new Piece(9, 9, 'teal', 3), + new Piece(6, 12, 'purple', 2), + ], + seed: 'IwNg7ArAzAnAHGEEAMwZA', + }, + 'Compromise 1-2': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'purple', 0), + new Piece(8, 19, 'red', 0), + new Piece(1, 19, 'orange', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 16, 'blue', 2), + new Piece(9, 15, 'orange', 1), + new Piece(4, 16, 'green', 0), + new Piece(2, 16, 'teal', 0), + new Piece(6, 17, 'red', 0), + new Piece(0, 13, 'blue', 3), + new Piece(2, 14, 'yellow', 0), + new Piece(7, 15, 'purple', 2), + new Piece(6, 14, 'orange', 2), + new Piece(6, 14, 'teal', 0), + new Piece(1, 11, 'green', 0), + new Piece(9, 13, 'yellow', 0), + new Piece(3, 11, 'red', 1), + new Piece(9, 10, 'blue', 1), + new Piece(3, 14, 'purple', 3), + new Piece(4, 12, 'green', 0), + new Piece(5, 10, 'blue', 0), + new Piece(4, 8, 'red', 1), + new Piece(8, 9, 'orange', 1), + new Piece(1, 9, 'teal', 1), + new Piece(2, 9, 'yellow', 0), + new Piece(6, 12, 'purple', 2), + ], + seed: 'IwNg7ArAzAnAHDATABmBEQ', + }, + 'Compromise 2-1': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(5, 19, 'purple', 0), + new Piece(3, 18, 'orange', 0), + new Piece(8, 17, 'green', 3), + new Piece(2, 19, 'blue', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(9, 15, 'teal', 3), + new Piece(3, 16, 'orange', 1), + new Piece(7, 15, 'red', 3), + new Piece(3, 14, 'blue', 2), + new Piece(1, 15, 'yellow', 0), + new Piece(5, 15, 'green', 2), + new Piece(4, 14, 'teal', 0), + new Piece(6, 14, 'purple', 2), + new Piece(3, 11, 'blue', 3), + new Piece(8, 13, 'green', 0), + new Piece(4, 11, 'red', 3), + new Piece(0, 12, 'orange', 3), + new Piece(2, 12, 'yellow', 3), + new Piece(6, 12, 'purple', 2), + new Piece(1, 10, 'blue', 0), + new Piece(8, 10, 'green', 3), + new Piece(9, 8, 'teal', 3), + new Piece(6, 12, 'purple', 2), + new Piece(1, 9, 'red', 0), + new Piece(4, 9, 'yellow', 0), + new Piece(3, 7, 'orange', 2), + ], + seed: 'IwNg7ArAzAnAHDGAmKwAsQ', + }, + 'Compromise 2-2': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(2, 19, 'blue', 0), + new Piece(3, 18, 'orange', 0), + new Piece(5, 19, 'purple', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(2, 17, 'yellow', 0), + new Piece(3, 16, 'orange', 1), + new Piece(3, 14, 'blue', 2), + new Piece(7, 15, 'red', 3), + new Piece(9, 15, 'teal', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(5, 15, 'green', 2), + new Piece(4, 13, 'red', 0), + new Piece(8, 13, 'green', 0), + new Piece(2, 13, 'teal', 2), + new Piece(2, 11, 'orange', 0), + new Piece(1, 12, 'blue', 0), + new Piece(5, 11, 'yellow', 0), + new Piece(6, 12, 'purple', 2), + new Piece(6, 12, 'purple', 2), + new Piece(1, 10, 'blue', 0), + new Piece(4, 9, 'yellow', 0), + new Piece(3, 7, 'orange', 2), + new Piece(9, 10, 'teal', 3), + new Piece(6, 12, 'purple', 2), + new Piece(5, 9, 'green', 3), + new Piece(1, 8, 'red', 2), + ], + seed: 'IwNg7ArAzAnDwA5jAjIA', + }, + 'Compromise 3': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(1, 19, 'blue', 0), + new Piece(4, 18, 'purple', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(1, 16, 'orange', 2), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(8, 14, 'orange', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 16, 'blue', 3), + new Piece(3, 14, 'red', 1), + new Piece(5, 15, 'green', 2), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 2), + new Piece(4, 13, 'red', 0), + new Piece(9, 11, 'teal', 3), + new Piece(7, 11, 'green', 3), + new Piece(1, 13, 'blue', 0), + new Piece(2, 12, 'yellow', 0), + new Piece(1, 10, 'orange', 2), + new Piece(6, 12, 'purple', 2), + ], + seed: 'IwNg7ArAzAnDUCYAskRA', + }, + 'Compromise 4': { + pieces: [ + new Piece(1, 19, 'orange', 0), + new Piece(5, 20, 'teal', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(4, 18, 'purple', 0), + new Piece(1, 16, 'blue', 2), + new Piece(9, 15, 'teal', 3), + new Piece(3, 16, 'blue', 3), + new Piece(3, 14, 'red', 1), + new Piece(5, 15, 'green', 2), + new Piece(1, 15, 'yellow', 0), + new Piece(8, 14, 'orange', 1), + new Piece(6, 17, 'purple', 2), + new Piece(7, 11, 'green', 3), + new Piece(3, 12, 'red', 1), + new Piece(1, 13, 'yellow', 0), + new Piece(7, 16, 'purple', 1), + new Piece(9, 11, 'orange', 1), + new Piece(6, 14, 'blue', 0), + new Piece(5, 13, 'teal', 1), + new Piece(6, 12, 'purple', 2), + ], + seed: 'IwNg7ArAzAnDUguYQ', + }, + }, + PCO: { + Connected: { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(3, 18, 'purple', 3), + new Piece(4, 17, 'red', 0), + new Piece(1, 16, 'orange', 2), + new Piece(5, 19, 'green', 0), + ], + seed: 'IwNgzGAcDskJwAZrAEwBYg', + }, + Disconnected: { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(1, 16, 'orange', 2), + new Piece(9, 18, 'purple', 1), + new Piece(7, 19, 'red', 0), + new Piece(8, 17, 'green', 0), + ], + seed: 'IwNgzGAcDskJwCYAMlhyA', + }, + }, + 'Grace System': { + variation: { + pieces: [ + new Piece(4, 18, 'green', 3), + new Piece(3, 20, 'teal', 0), + new Piece(1, 18, 'red', 1), + new Piece(3, 18, 'yellow', 0), + new Piece(1, 16, 'orange', 2), + new Piece(4, 16, 'blue', 2), + ], + seed: 'IwNgLATC1grAnAZnvIA', + }, + }, + TKI: { + Fonzie: { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(9, 19, 'yellow', 0), + new Piece(6, 18, 'green', 3), + new Piece(8, 17, 'blue', 0), + new Piece(4, 18, 'red', 0), + new Piece(2, 18, 'purple', 2), + ], + seed: 'IwNgzArBYCwAzDgThHIA', + }, + 'Flat top': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(6, 18, 'blue', 2), + new Piece(5, 17, 'red', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(3, 17, 'green', 3), + new Piece(0, 18, 'orange', 3), + new Piece(2, 18, 'purple', 2), + ], + seed: 'IwNgzGAcDsAsK1mAnMoA', + }, + 'Castle top': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(4, 18, 'red', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(9, 16, 'blue', 1), + new Piece(6, 18, 'green', 3), + new Piece(2, 18, 'purple', 2), + ], + seed: 'IwNgzGAcDsAsoAZJlkA', + }, + 'Early J': { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(8, 18, 'red', 0), + new Piece(5, 20, 'teal', 0), + new Piece(6, 18, 'yellow', 0), + new Piece(0, 18, 'orange', 3), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + ], + seed: 'IwNgzGAcDsAs-UgBkkA', + }, + Dingle: { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'red', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(6, 18, 'green', 3), + new Piece(0, 18, 'orange', 3), + new Piece(2, 18, 'purple', 2), + new Piece(2, 16, 'blue', 1), + ], + seed: 'IwNgzGAcDsAsCsAGWYCcAmIA', + }, + }, + Stickspin: { + JOL: { + pieces: [ + new Piece(6, 19, 'red', 0), + new Piece(1, 18, '', 3), + new SuperShape(3, 18, 'gun', 0), + new Piece(0, 18, 'teal', 3), + new Piece(9, 19, 'yellow', 0), + new Piece(8, 16, 'green', 3), + new Piece(7, 17, 'purple', 3), + new Piece(8, 14, 'yellow', 0), + new Piece(1, 15, 'green', 1), + new Piece(9, 14, 'teal', 3), + new Piece(3, 17, '', 3), + new Piece(5, 17, 'red', 1), + new SuperShape(3, 17, 'hammer', 0), + new Piece(6, 15, 'purple', 2), + new Piece(1, 13, 'yellow', 2), + new Piece(7, 12, 'red', 0), + new Piece(9, 10, 'teal', 3), + new Piece(2, 13, 'blue', 1), + new Piece(4, 14, 'green', 0), + new Piece(3, 12, 'orange', 1), + new Piece(6, 14, 'purple', 1), + ], + seed: 'IwNgzGAckKwOwRMALEA', + }, + LJ: { + pieces: [ + new Piece(6, 19, 'red', 0), + new Piece(1, 18, '', 3), + new SuperShape(3, 18, 'gun', 0), + new Piece(9, 19, 'yellow', 3), + new Piece(0, 18, 'teal', 3), + new Piece(8, 16, 'green', 3), + new Piece(7, 17, 'purple', 3), + new Piece(0, 15, 'green', 3), + new Piece(8, 14, 'yellow', 0), + new Piece(9, 14, 'teal', 3), + new Piece(4, 17, 'red', 3), + new Piece(3, 17, '', 3), + new SuperShape(3, 17, 'hammer', 0), + new Piece(6, 15, 'purple', 2), + new Piece(4, 14, 'green', 0), + new Piece(1, 13, 'orange', 3), + new Piece(7, 12, 'red', 0), + new Piece(3, 12, 'blue', 1), + new Piece(9, 11, 'yellow', 0), + new Piece(1, 12, 'teal', 1), + new Piece(6, 14, 'purple', 1), + ], + seed: 'IwNgzGAckKzcAGBMg', + }, + 'OJL/OLJSI': { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(6, 19, 'red', 0), + new SuperShape(3, 18, 'gun', 0), + new Piece(1, 18, '', 3), + new Piece(0, 18, 'teal', 3), + new Piece(8, 16, 'green', 3), + new Piece(7, 17, 'purple', 3), + new Piece(5, 17, 'red', 1), + new SuperShape(3, 17, 'hammer', 0), + new Piece(3, 15, '', 2), + new Piece(0, 15, 'green', 3), + new Piece(9, 14, 'teal', 3), + new Piece(8, 14, 'yellow', 3), + new Piece(6, 15, 'purple', 2), + new Piece(4, 14, 'green', 0), + new Piece(2, 14, 'yellow', 0), + new SuperShape(2, 12, 'fence', 0), + new Piece(1, 12, '', 2), + new Piece(7, 12, 'red', 0), + new Piece(1, 11, '', 0), + new Piece(6, 14, 'purple', 1), + ], + seed: 'IwNgzGAckKwOwRMALEA', + }, + LOJ: { + pieces: [ + new SuperShape(3, 18, 'gun', 0), + new Piece(1, 18, 'teal', 1), + new Piece(1, 18, '', 3), + new Piece(9, 19, 'yellow', 0), + new Piece(8, 16, 'green', 3), + new Piece(6, 19, 'red', 0), + new Piece(7, 17, 'purple', 3), + new Piece(3, 17, '', 3), + new Piece(8, 14, 'yellow', 0), + new SuperShape(3, 17, 'hammer', 0), + new Piece(9, 14, 'teal', 3), + new Piece(0, 15, 'green', 3), + new Piece(4, 17, 'red', 3), + new Piece(6, 15, 'purple', 2), + new Piece(1, 13, 'orange', 3), + new Piece(3, 13, 'yellow', 0), + new Piece(4, 14, 'green', 0), + new Piece(7, 12, 'red', 0), + new Piece(1, 12, 'teal', 1), + new Piece(2, 11, 'blue', 0), + new Piece(6, 14, 'purple', 1), + ], + seed: 'IwNgzGAckKwJwBYwHZJyA', + }, + JOSI: { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(1, 18, '', 3), + new Piece(9, 19, 'yellow', 0), + new Piece(6, 19, 'red', 0), + new SuperShape(3, 18, 'gun', 0), + new Piece(8, 16, 'green', 3), + new Piece(7, 17, 'purple', 3), + new SuperShape(3, 17, 'hammer', 0), + new Piece(3, 15, '', 2), + new Piece(0, 15, 'green', 3), + new Piece(4, 17, 'red', 3), + new Piece(9, 14, 'teal', 3), + new Piece(8, 14, 'yellow', 0), + new Piece(6, 15, 'purple', 2), + new Piece(2, 13, 'blue', 1), + new Piece(4, 14, 'green', 0), + new Piece(1, 13, 'yellow', 0), + new Piece(7, 12, 'red', 0), + new Piece(8, 10, 'orange', 3), + new Piece(3, 12, 'teal', 3), + new Piece(6, 14, 'purple', 1), + ], + seed: 'IwNgzGAckgDArJATGeQ', + }, + }, + Hachispin: { + 1: { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(2, 18, 'orange', 2), + new Piece(6, 19, 'yellow', 0), + new Piece(8, 19, 'green', 0), + new Piece(3, 17, 'blue', 2), + new Piece(6, 16, 'red', 1), + new Piece(7, 17, 'purple', 2), + new Piece(9, 17, 'orange', 1), + new Piece(6, 17, 'purple', 1), + new Piece(3, 16, 'red', 0), + new Piece(8, 15, 'teal', 1), + new Piece(0, 14, 'blue', 3), + new Piece(5, 15, 'green', 0), + new Piece(9, 15, 'yellow', 0), + ], + seed: 'IwNgzGCcAcwOwUnATEA', + }, + Pwn: { + pieces: [ + new Piece(1, 18, 'red', 3), + new Piece(5, 19, 'orange', 0), + new Piece(4, 18, 'yellow', 0), + new Piece(0, 18, 'teal', 3), + new Piece(8, 19, 'green', 0), + new Piece(5, 17, 'blue', 3), + new Piece(7, 17, 'purple', 1), + new Piece(3, 16, 'red', 0), + new Piece(0, 14, 'blue', 3), + new Piece(8, 17, 'green', 3), + new Piece(5, 15, 'orange', 0), + new Piece(9, 15, 'teal', 3), + new Piece(8, 15, 'yellow', 0), + new Piece(1, 16, 'purple', 3), + ], + seed: 'IwNgzGBMDsXQHBSQ', + }, + 'Surrealist S': { + pieces: [ + new Piece(4, 19, 'yellow', 0), + new Piece(9, 18, 'teal', 3), + new Piece(6, 18, 'orange', 2), + new Piece(7, 17, 'blue', 2), + new Piece(1, 19, 'red', 0), + new Piece(3, 16, 'green', 3), + new Piece(2, 17, 'purple', 2), + new Piece(9, 14, 'teal', 3), + new Piece(3, 14, 'green', 3), + new Piece(1, 16, 'orange', 2), + new Piece(2, 15, 'yellow', 0), + new Piece(5, 12, 'blue', 1), + new Piece(7, 16, 'red', 0), + new Piece(5, 16, 'purple', 3), + new Piece(1, 15, 'teal', 1), + new Piece(9, 11, 'yellow', 0), + new Piece(4, 11, 'orange', 1), + new Piece(2, 12, 'red', 3), + new Piece(6, 14, 'green', 0), + new Piece(1, 12, 'blue', 3), + new Piece(8, 14, 'purple', 1), + new Piece(0, 11, 'blue', 3), + new Piece(0, 8, 'orange', 3), + new Piece(7, 12, 'green', 3), + new Piece(5, 9, 'yellow', 0), + new Piece(2, 9, 'red', 3), + new Piece(9, 8, 'teal', 3), + new Piece(6, 10, 'purple', 2), + ], + seed: 'IwNgzGBMDsEJwBYAcJJA', + }, + }, + 'Gamushiro Stacking': { + LO: { + pieces: [ + new Piece(7, 18, 'teal', 3), + new Piece(4, 19, 'red', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(8, 16, 'orange', 3), + new Piece(6, 18, 'purple', 1), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(0, 14, 'teal', 3), + new Piece(4, 17, 'red', 0), + new Piece(9, 15, 'orange', 1), + new Piece(6, 16, 'green', 0), + new Piece(1, 15, 'blue', 3), + new Piece(2, 17, 'purple', 3), + new Piece(9, 13, 'yellow', 0), + ], + seed: 'IwNgzGAcDsCcCs8QCZryA', + }, + OL: { + pieces: [ + new Piece(4, 19, 'red', 0), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(7, 18, 'teal', 3), + new Piece(6, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(0, 14, 'teal', 3), + new Piece(9, 17, 'yellow', 0), + new Piece(8, 14, 'orange', 3), + new Piece(1, 15, 'blue', 3), + new Piece(6, 16, 'green', 0), + new Piece(9, 13, 'orange', 1), + new Piece(4, 16, 'red', 2), + new Piece(2, 17, 'purple', 3), + ], + seed: 'IwNgzGAcDsCcIFYwMpIA', + }, + }, + "Mr. T-Spin's STD": { + Base: { + pieces: [ + new Piece(2, 18, 'green', 3), + new Piece(9, 18, 'blue', 1), + new Piece(5, 19, 'red', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(0, 16, 'teal', 3), + new Piece(5, 16, 'orange', 3), + new Piece(7, 18, 'purple', 2), + new Piece(1, 12, 'blue', 1), + new Piece(5, 17, 'teal', 1), + new Piece(8, 16, 'red', 3), + new Piece(6, 16, 'green', 3), + new Piece(8, 15, 'yellow', 0), + new Piece(3, 16, 'orange', 1), + new Piece(1, 16, 'purple', 3), + ], + seed: 'IwNgzGAcniwAwkkA', + }, + 'Nosomi Continuation': { + pieces: [ + new Piece(2, 18, 'green', 3), + new Piece(9, 18, 'blue', 1), + new Piece(5, 19, 'red', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(0, 16, 'teal', 3), + new Piece(5, 16, 'orange', 3), + new Piece(7, 18, 'purple', 2), + new Piece(1, 12, 'blue', 1), + new Piece(5, 17, 'teal', 1), + new Piece(8, 16, 'red', 3), + new Piece(6, 16, 'green', 3), + new Piece(8, 15, 'yellow', 0), + new Piece(3, 16, 'orange', 1), + new Piece(1, 16, 'purple', 3), + new Piece(5, 14, 'yellow', 3), + new Piece(6, 13, 'orange', 1), + new Piece(5, 11, 'red', 0), + new Piece(8, 13, 'blue', 2), + new Piece(1, 11, 'teal', 1), + new Piece(2, 14, 'purple', 1), + new Piece(1, 10, 'green', 3), + new Piece(8, 12, 'orange', 0), + new Piece(1, 8, 'green', 0), + new Piece(8, 11, 'yellow', 0), + new Piece(8, 9, 'blue', 2), + new Piece(2, 8, 'red', 3), + new Piece(6, 9, 'teal', 3), + new Piece(3, 12, 'purple', 2), + ], + seed: 'IwNgzGAcniwAwkkA', + }, + Analogon: { + pieces: [ + new Piece(5, 18, 'blue', 1), + new Piece(8, 18, 'green', 3), + new Piece(1, 19, 'red', 0), + new Piece(7, 19, 'yellow', 0), + new Piece(6, 16, 'teal', 3), + new Piece(1, 16, 'orange', 3), + new Piece(3, 18, 'purple', 2), + new Piece(7, 12, 'blue', 1), + new Piece(9, 16, 'orange', 1), + new Piece(3, 16, 'green', 1), + new Piece(4, 16, 'red', 3), + new Piece(4, 15, 'yellow', 0), + new Piece(1, 17, 'teal', 1), + new Piece(7, 16, 'purple', 3), + ], + seed: 'IwNgzGAckiCswDsJJA', + }, + }, + 'C-Spin': { + variation: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(0, 15, 'blue', 3), + new Piece(4, 18, 'green', 3), + new Piece(3, 19, 'red', 0), + new Piece(3, 16, 'purple', 2), + new Piece(8, 20, 'teal', 0), + ], + seed: 'IwNgLATC0AwJwGYoKA', + }, + }, + MKO: { + variation: { + pieces: [ + new Piece(5, 19, 'orange', 0), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(8, 19, 'yellow', 0), + new Piece(9, 18, 'teal', 3), + new Piece(5, 17, 'red', 3), + ], + seed: 'IwNgLATCIKwBwQAzDooA', + }, + }, + Viper: { + 'JO-PC': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(1, 18, 'orange', 3), + new Piece(5, 18, 'green', 1), + new Piece(8, 18, 'blue', 2), + new Piece(3, 18, 'yellow', 0), + new Piece(8, 17, 'red', 0), + new Piece(6, 17, '2', 0), + new Piece(7, 17, 'blue', 0), + new Piece(7, 15, 'red', 0), + new Piece(9, 15, 'orange', 1), + ], + seed: 'IwNgzGCcDssQrADmkA', + }, + 'JO-TSD 1': { + pieces: [ + new Piece(1, 18, 'orange', 3), + new Piece(8, 18, 'blue', 2), + new Piece(8, 17, 'red', 0), + new Piece(4, 18, 'green', 3), + new Piece(3, 18, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(6, 17, 'purple', 2), + new Piece(3, 17, 'red', 0), + new Piece(7, 15, 'orange', 2), + new Piece(9, 15, 'teal', 3), + new Piece(5, 16, 'yellow', 0), + new Piece(3, 14, 'green', 1), + new Piece(1, 15, 'purple', 2), + ], + seed: 'IwNgzGCcDsYAzACwgEwiA', + }, + 'JO-TSD 2': { + pieces: [ + new Piece(0, 18, 'teal', 3), + new Piece(8, 18, 'blue', 2), + new Piece(8, 17, 'red', 0), + new Piece(4, 18, 'green', 3), + new Piece(1, 18, 'orange', 3), + new Piece(3, 18, 'yellow', 0), + new Piece(6, 17, 'purple', 2), + new Piece(1, 16, 'red', 0), + new Piece(4, 17, 'green', 0), + new Piece(6, 16, 'orange', 1), + new Piece(0, 13, 'teal', 3), + new Piece(8, 15, 'blue', 2), + new Piece(2, 14, 'yellow', 0), + new Piece(3, 15, 'purple', 2), + ], + seed: 'IwNgzGCcDsBMActiQCySA', + }, + 'JO-1': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(8, 18, 'blue', 2), + new Piece(1, 18, 'orange', 3), + new Piece(3, 18, 'yellow', 0), + new Piece(8, 17, 'red', 0), + new Piece(4, 18, 'green', 3), + new Piece(6, 17, 'purple', 2), + new Piece(9, 15, 'orange', 1), + new Piece(4, 16, 'green', 1), + new Piece(1, 14, 'teal', 1), + new Piece(7, 17, 'blue', 0), + new Piece(2, 16, 'yellow', 0), + new Piece(7, 15, 'red', 0), + new Piece(5, 15, 'purple', 2), + new Piece(1, 13, 'red', 3), + new Piece(1, 11, 'green', 1), + new Piece(6, 12, 'orange', 3), + new Piece(9, 12, 'blue', 1), + new Piece(5, 13, 'teal', 3), + new Piece(8, 12, 'yellow', 0), + new Piece(3, 14, 'purple', 2), + ], + seed: 'IwNgzGCcDsagrAJmADiA', + }, + 'JO-2': { + pieces: [ + new Piece(0, 18, 'teal', 3), + new Piece(8, 18, 'blue', 2), + new Piece(8, 17, 'red', 0), + new Piece(4, 18, 'green', 3), + new Piece(1, 18, 'orange', 3), + new Piece(3, 18, 'yellow', 0), + new Piece(6, 17, 'purple', 2), + new Piece(1, 16, 'red', 0), + new Piece(8, 15, 'blue', 2), + new Piece(4, 17, 'green', 0), + new Piece(6, 16, 'orange', 1), + new Piece(2, 14, 'yellow', 0), + new Piece(1, 13, 'teal', 1), + new Piece(3, 15, 'purple', 2), + ], + seed: 'IwNgzGCcDsYAxgKwBZiSA', + }, + 'JO-3': { + pieces: [ + new Piece(4, 18, 'green', 3), + new Piece(8, 18, 'blue', 2), + new Piece(8, 17, 'red', 0), + new Piece(1, 18, 'orange', 3), + new Piece(1, 18, 'teal', 1), + new Piece(3, 18, 'yellow', 0), + new Piece(6, 17, 'purple', 2), + new Piece(4, 17, 'green', 0), + new Piece(1, 16, 'red', 0), + new Piece(1, 14, 'blue', 0), + new Piece(9, 15, 'teal', 3), + new Piece(6, 16, 'orange', 1), + new Piece(8, 15, 'yellow', 0), + new Piece(3, 15, 'purple', 2), + ], + seed: 'IwNgzGCcDsYCzAEyQBwqA', + }, + 'OJ-1-2 1': { + pieces: [ + new Piece(8, 18, 'blue', 2), + new Piece(3, 19, 'yellow', 0), + new Piece(2, 17, 'orange', 2), + new Piece(4, 18, 'green', 3), + new Piece(1, 18, 'teal', 1), + new Piece(8, 17, 'red', 0), + new Piece(6, 17, 'purple', 2), + new Piece(2, 16, 'yellow', 0), + new Piece(0, 14, 'teal', 3), + new Piece(3, 16, 'green', 3), + new Piece(7, 17, 'blue', 0), + new Piece(9, 15, 'orange', 1), + new Piece(7, 14, 'red', 2), + new Piece(5, 15, 'purple', 2), + new Piece(6, 13, 'orange', 2), + new Piece(1, 11, 'yellow', 1), + new Piece(9, 12, 'teal', 3), + new Piece(7, 12, 'blue', 2), + new Piece(3, 14, 'red', 0), + new Piece(1, 14, 'purple', 3), + new Piece(2, 12, 'green', 0), + ], + seed: 'IwNgzGCcDsYKzwCwA5JA', + }, + 'OJ-1-2 2': { + pieces: [ + new Piece(8, 18, 'blue', 2), + new Piece(8, 17, 'red', 0), + new Piece(3, 19, 'yellow', 0), + new Piece(2, 17, 'orange', 2), + new Piece(1, 18, 'teal', 1), + new Piece(4, 18, 'green', 3), + new Piece(6, 17, 'purple', 2), + new Piece(7, 17, 'blue', 0), + new Piece(9, 15, 'orange', 1), + new Piece(4, 16, 'green', 1), + new Piece(2, 16, 'yellow', 0), + new Piece(7, 15, 'red', 0), + new Piece(1, 14, 'teal', 1), + new Piece(5, 15, 'purple', 2), + new Piece(6, 13, 'orange', 2), + new Piece(3, 14, 'red', 0), + new Piece(9, 12, 'teal', 3), + new Piece(7, 12, 'blue', 2), + new Piece(3, 12, 'green', 3), + new Piece(2, 12, 'yellow', 0), + ], + seed: 'IwNgzGCcDsAsAM9jGgViA', + }, + 'OJ-1-3': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(4, 18, 'green', 3), + new Piece(3, 19, 'yellow', 0), + new Piece(2, 17, 'orange', 2), + new Piece(8, 18, 'blue', 2), + new Piece(8, 17, 'red', 0), + new Piece(6, 17, 'purple', 2), + new Piece(7, 17, 'blue', 0), + new Piece(7, 15, 'red', 0), + new Piece(9, 15, 'orange', 1), + new Piece(4, 16, 'green', 1), + new Piece(2, 16, 'yellow', 0), + new Piece(1, 14, 'teal', 1), + new Piece(5, 15, 'purple', 2), + new Piece(0, 10, 'orange', 3), + new Piece(4, 13, 'green', 3), + new Piece(5, 11, 'yellow', 0), + new Piece(8, 14, 'teal', 0), + new Piece(3, 13, 'red', 2), + new Piece(6, 11, 'blue', 1), + new Piece(1, 14, 'purple', 3), + ], + seed: 'IwNgzGCcDsYBwFYAMJJiA', + }, + 'OJ-1-4': { + pieces: [ + new Piece(8, 18, 'blue', 2), + new Piece(8, 17, 'red', 0), + new Piece(4, 18, 'green', 3), + new Piece(3, 19, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(2, 17, 'orange', 2), + new Piece(6, 17, 'purple', 2), + new Piece(7, 17, 'blue', 0), + new Piece(9, 15, 'orange', 1), + new Piece(7, 14, 'red', 2), + new Piece(4, 16, 'green', 1), + new Piece(1, 14, 'teal', 1), + new Piece(2, 16, 'yellow', 0), + new Piece(5, 15, 'purple', 2), + new Piece(1, 14, 'purple', 3), + ], + seed: 'IwNgzGCcDsYBwCYAsc4AYg', + }, + 'OJ-2': { + pieces: [ + new Piece(8, 18, 'blue', 2), + new Piece(3, 19, 'yellow', 0), + new Piece(2, 17, 'orange', 2), + new Piece(8, 17, 'red', 0), + new Piece(4, 18, 'green', 3), + new Piece(1, 18, 'teal', 1), + new Piece(6, 17, 'purple', 2), + new Piece(2, 16, 'red', 1), + new Piece(9, 15, 'orange', 1), + new Piece(7, 17, 'blue', 0), + new Piece(7, 16, 'teal', 0), + new Piece(1, 15, 'yellow', 0), + new Piece(2, 14, 'green', 3), + ], + seed: 'IwNgzGCcDs0CwA5ICYAMYg', + }, + 'OJ-3-1': { + pieces: [ + new Piece(4, 18, 'green', 3), + new Piece(3, 19, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(8, 18, 'blue', 2), + new Piece(2, 17, 'orange', 2), + new Piece(8, 17, 'red', 0), + new Piece(6, 17, 'purple', 2), + new Piece(6, 16, 'teal', 3), + new Piece(2, 16, 'green', 0), + new Piece(9, 15, 'orange', 1), + new Piece(6, 12, 'red', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(4, 16, 'purple', 2), + ], + seed: 'IwNgzGCcDsAsUFYJiA', + }, + 'OJ-3-2': { + pieces: [ + new Piece(3, 19, 'yellow', 0), + new Piece(2, 17, 'orange', 2), + new Piece(8, 18, 'blue', 2), + new Piece(8, 17, 'red', 0), + new Piece(4, 18, 'green', 3), + new Piece(1, 18, 'teal', 1), + new Piece(6, 17, 'purple', 2), + new Piece(2, 16, 'green', 0), + new Piece(6, 16, 'red', 2), + new Piece(6, 15, 'yellow', 0), + new Piece(0, 14, 'orange', 3), + new Piece(6, 14, 'teal', 0), + new Piece(8, 15, 'blue', 2), + new Piece(4, 16, 'purple', 1), + ], + seed: 'IwNgzGCcDsAsYAYQA5gKA', + }, + 'OJ-4': { + pieces: [ + new Piece(8, 18, 'blue', 2), + new Piece(4, 18, 'green', 3), + new Piece(1, 18, 'teal', 1), + new Piece(3, 19, 'yellow', 0), + new Piece(8, 16, 'red', 2), + new Piece(2, 17, 'orange', 2), + new Piece(6, 17, 'purple', 2), + new Piece(3, 16, 'yellow', 0), + new Piece(6, 16, 'orange', 1), + new Piece(3, 13, 'red', 3), + new Piece(8, 15, 'blue', 2), + new Piece(1, 15, 'green', 1), + new Piece(1, 12, 'teal', 1), + new Piece(4, 16, 'purple', 3), + ], + seed: 'IwNgzGCcDsAsBMsAc94AYg', + }, + 'OJ-5': { + pieces: [ + new Piece(3, 19, 'yellow', 0), + new Piece(2, 17, 'orange', 2), + new Piece(8, 18, 'blue', 2), + new Piece(8, 17, 'red', 0), + new Piece(4, 18, 'green', 3), + new Piece(1, 18, 'teal', 1), + new Piece(6, 17, 'purple', 2), + new Piece(4, 16, 'purple', 3), + new Piece(7, 17, 'blue', 0), + new Piece(1, 14, 'teal', 1), + new Piece(2, 16, 'orange', 2), + new Piece(2, 15, 'yellow', 0), + new Piece(3, 14, 'red', 3), + new Piece(3, 13, 'green', 0), + ], + seed: 'IwNgzGCcDsAsAM0Ac8QFYg', + }, + }, + TTPC: { + 'Route 1': { + pieces: [ + new Piece(4, 18, 'purple', 1), + new Piece(8, 19, 'red', 0), + new Piece(9, 17, 'teal', 3), + new Piece(6, 19, 'blue', 0), + new Piece(8, 17, 'yellow', 0), + new Piece(0, 18, 'orange', 3), + new Piece(1, 18, 'green', 3), + new Piece(9, 13, 'blue', 1), + new Piece(7, 15, 'red', 0), + new Piece(1, 16, 'green', 3), + new Piece(4, 16, 'orange', 2), + new Piece(8, 13, 'yellow', 0), + new Piece(1, 15, 'teal', 1), + new Piece(6, 17, 'purple', 1), + ], + seed: 'IwNgzGAcDsCcBMBWax7CA', + }, + 'Route 2': { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'yellow', 0), + new Piece(0, 18, 'orange', 3), + new Piece(1, 18, 'green', 3), + new Piece(4, 18, 'purple', 1), + new Piece(6, 19, 'blue', 0), + new Piece(9, 17, 'teal', 3), + new Piece(0, 15, 'teal', 3), + new Piece(1, 16, 'green', 3), + new Piece(7, 15, 'red', 0), + new Piece(4, 16, 'orange', 2), + new Piece(9, 14, 'yellow', 0), + new Piece(9, 11, 'blue', 1), + new Piece(6, 17, 'purple', 1), + new Piece(6, 13, 'yellow', 0), + new Piece(7, 12, 'orange', 1), + new Piece(7, 10, 'green', 3), + new Piece(5, 15, 'red', 0), + new Piece(2, 13, 'teal', 1), + new Piece(0, 11, 'blue', 3), + new Piece(3, 15, 'purple', 2), + new Piece(5, 11, 'green', 0), + new Piece(6, 8, 'red', 3), + new Piece(8, 8, 'orange', 3), + new Piece(0, 8, 'blue', 3), + new Piece(2, 9, 'yellow', 0), + new Piece(2, 13, 'teal', 3), + new Piece(3, 10, 'purple', 2), + ], + seed: 'IwNgzGAcDsCcAsAGEBWaIg', + }, + }, + Sailboat: { + '3D Cannon': { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(4, 19, 'blue', 0), + new Piece(4, 17, 'orange', 1), + new Piece(6, 18, 'yellow', 0), + new Piece(1, 19, 'red', 0), + new Piece(7, 19, 'green', 0), + new Piece(2, 17, 'purple', 2), + new Piece(0, 17, 'blue', 3), + new Piece(3, 15, 'teal', 1), + new Piece(3, 14, 'red', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 14, 'orange', 1), + new Piece(7, 16, 'green', 0), + new Piece(5, 15, 'purple', 2), + new Piece(1, 12, 'red', 3), + new Piece(3, 12, 'blue', 3), + new Piece(8, 16, 'purple', 1), + new Piece(6, 14, 'yellow', 0), + new Piece(5, 12, 'green', 0), + new Piece(9, 11, 'orange', 1), + new Piece(1, 12, 'teal', 1), + new Piece(6, 9, 'blue', 3), + ], + seed: 'IwNgzGAcDsCc8gCwAZpA', + }, + Overfuture: { + pieces: [ + new Piece(4, 19, 'blue', 0), + new Piece(9, 18, 'teal', 3), + new Piece(4, 17, 'orange', 1), + new Piece(1, 19, 'red', 0), + new Piece(7, 19, 'green', 0), + new Piece(6, 18, 'yellow', 0), + new Piece(2, 17, 'purple', 2), + new Piece(3, 15, 'teal', 1), + new Piece(0, 17, 'blue', 3), + new Piece(9, 14, 'orange', 1), + new Piece(3, 14, 'red', 3), + new Piece(7, 16, 'green', 0), + new Piece(1, 15, 'yellow', 0), + new Piece(5, 15, 'purple', 2), + new Piece(0, 12, 'orange', 3), + new Piece(8, 11, 'green', 3), + new Piece(5, 13, 'red', 0), + new Piece(2, 12, 'blue', 2), + new Piece(2, 11, 'yellow', 0), + new Piece(1, 9, 'teal', 1), + new Piece(7, 12, 'purple', 2), + new Piece(8, 14, 'purple', 1), + new Piece(4, 10, 'teal', 0), + new Piece(5, 8, 'green', 0), + new Piece(6, 6, 'yellow', 0), + new Piece(4, 10, 'orange', 2), + new Piece(5, 12, 'red', 0), + new Piece(8, 9, 'blue', 2), + new Piece(6, 10, 'purple', 3), + new Piece(9, 7, 'orange', 1), + new Piece(7, 4, 'yellow', 0), + new Piece(0, 5, 'red', 3), + new Piece(1, 8, 'blue', 3), + new Piece(3, 7, 'green', 2), + new Piece(3, 6, 'teal', 2), + ], + seed: 'IwNgzGAckEwOwBYEAZjKA', + }, + 'SMBC TD': { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(4, 19, 'blue', 0), + new Piece(4, 17, 'orange', 1), + new Piece(7, 19, 'green', 0), + new Piece(6, 18, 'yellow', 0), + new Piece(1, 19, 'red', 0), + new Piece(2, 17, 'purple', 2), + new Piece(7, 16, 'green', 0), + new Piece(0, 17, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 14, 'orange', 1), + new Piece(3, 15, 'teal', 1), + new Piece(3, 14, 'red', 3), + new Piece(5, 15, 'purple', 2), + new Piece(8, 16, 'purple', 1), + new Piece(5, 13, 'red', 0), + new Piece(8, 11, 'green', 3), + new Piece(0, 12, 'orange', 3), + new Piece(2, 12, 'blue', 2), + new Piece(2, 11, 'yellow', 0), + new Piece(1, 9, 'teal', 1), + new Piece(9, 9, 'orange', 1), + new Piece(2, 8, 'teal', 1), + new Piece(3, 10, 'red', 0), + new Piece(4, 9, 'green', 3), + new Piece(7, 12, 'purple', 2), + new Piece(4, 11, 'blue', 2), + new Piece(7, 12, 'yellow', 0), + new Piece(6, 9, 'teal', 3), + new Piece(4, 7, 'green', 3), + new Piece(7, 6, 'yellow', 0), + new Piece(2, 7, 'orange', 3), + new Piece(3, 6, 'blue', 3), + new Piece(0, 5, 'red', 3), + new Piece(7, 9, 'purple', 3), + ], + seed: 'IwNgzGAclg7GBWAnMALEA', + }, + 'Jinius Tower SZ': { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(4, 19, 'blue', 0), + new Piece(1, 19, 'red', 0), + new Piece(7, 19, 'green', 0), + new Piece(6, 18, 'yellow', 0), + new Piece(4, 17, 'orange', 1), + new Piece(2, 17, 'purple', 2), + new Piece(7, 16, 'green', 0), + new Piece(3, 14, 'red', 3), + new Piece(9, 14, 'orange', 1), + new Piece(3, 15, 'teal', 1), + new Piece(0, 17, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(5, 15, 'purple', 2), + new Piece(8, 16, 'purple', 1), + new Piece(0, 12, 'orange', 3), + new Piece(2, 12, 'yellow', 0), + new Piece(3, 10, 'green', 0), + new Piece(3, 12, 'blue', 3), + new Piece(3, 7, 'red', 3), + new Piece(9, 11, 'teal', 3), + ], + seed: 'IwNgzGAclgnCJLAAxA', + }, + 'Jinius Tower ZS': { + pieces: [ + new Piece(4, 19, 'blue', 0), + new Piece(7, 19, 'green', 0), + new Piece(1, 19, 'red', 0), + new Piece(6, 18, 'yellow', 0), + new Piece(9, 18, 'teal', 3), + new Piece(4, 17, 'orange', 1), + new Piece(2, 17, 'purple', 2), + new Piece(4, 14, 'red', 1), + new Piece(0, 17, 'blue', 3), + new Piece(3, 15, 'teal', 1), + new Piece(9, 14, 'orange', 1), + new Piece(7, 16, 'green', 0), + new Piece(1, 15, 'yellow', 0), + new Piece(5, 15, 'purple', 2), + new Piece(3, 12, 'blue', 3), + new Piece(9, 11, 'teal', 3), + new Piece(3, 9, 'red', 3), + new Piece(8, 16, 'purple', 1), + new Piece(0, 12, 'orange', 3), + new Piece(2, 12, 'yellow', 0), + new Piece(7, 13, 'green', 0), + ], + seed: 'IwNgzGAclZIOxgCxA', + }, + 'RJ Special 1': { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(4, 19, 'blue', 0), + new Piece(1, 19, 'red', 0), + new Piece(7, 19, 'green', 0), + new Piece(6, 18, 'yellow', 0), + new Piece(4, 17, 'orange', 1), + new Piece(2, 17, 'purple', 2), + new Piece(7, 16, 'green', 0), + new Piece(9, 14, 'orange', 1), + new Piece(0, 17, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 15, 'teal', 1), + new Piece(3, 14, 'red', 3), + new Piece(5, 15, 'purple', 2), + new Piece(1, 13, 'yellow', 0), + new Piece(0, 10, 'teal', 3), + new Piece(1, 11, 'green', 3), + new Piece(8, 12, 'orange', 0), + new Piece(8, 16, 'purple', 1), + new Piece(7, 13, 'red', 2), + new Piece(3, 12, 'blue', 3), + ], + seed: 'IwNgzGAckCwEyQOyOkA', + }, + 'RJ Special 2': { + pieces: [ + new Piece(4, 19, 'blue', 0), + new Piece(7, 19, 'green', 0), + new Piece(1, 19, 'red', 0), + new Piece(9, 18, 'teal', 3), + new Piece(4, 17, 'orange', 1), + new Piece(6, 18, 'yellow', 0), + new Piece(2, 17, 'purple', 2), + new Piece(3, 15, 'teal', 1), + new Piece(7, 16, 'green', 0), + new Piece(0, 17, 'blue', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 14, 'orange', 1), + new Piece(3, 14, 'red', 3), + new Piece(5, 15, 'purple', 2), + new Piece(1, 12, 'teal', 1), + new Piece(8, 16, 'purple', 1), + new Piece(6, 14, 'green', 0), + new Piece(8, 12, 'orange', 0), + new Piece(1, 12, 'red', 3), + new Piece(3, 12, 'blue', 3), + new Piece(3, 10, 'yellow', 0), + ], + seed: 'IwNgzGAckCwEx1pArEA', + }, + }, + SDPC: { + variation: { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(3, 19, 'green', 0), + new Piece(6, 18, 'blue', 2), + new Piece(2, 17, 'purple', 2), + new Piece(0, 16, 'red', 3), + new Piece(8, 18, 'orange', 1), + new Piece(9, 18, 'teal', 3), + new Piece(5, 18, 'green', 0), + new Piece(2, 14, 'yellow', 0), + new Piece(2, 15, 'red', 3), + new Piece(0, 14, 'teal', 3), + new Piece(8, 14, 'blue', 2), + new Piece(7, 16, 'orange', 0), + new Piece(4, 16, 'purple', 2), + ], + }, + }, + 'Black Tea Cannon': { + 'O late': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(4, 19, 'red', 0), + new Piece(8, 19, 'orange', 0), + new Piece(7, 17, 'green', 3), + new Piece(1, 18, 'blue', 0), + new Piece(6, 18, 'purple', 2), + new Piece(6, 17, 'yellow', 0), + new Piece(2, 17, 'green', 0), + new Piece(6, 15, 'red', 0), + new Piece(1, 16, 'yellow', 0), + new Piece(9, 16, 'teal', 3), + new Piece(1, 14, 'blue', 2), + new Piece(8, 15, 'orange', 1), + new Piece(4, 15, 'purple', 2), + ], + seed: 'IwNgzALMCsAMCcwDsAOCEg', + }, + 'PC 8': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(0, 17, 'blue', 3), + new Piece(8, 19, 'orange', 0), + new Piece(4, 19, 'red', 0), + new Piece(7, 17, 'green', 3), + new Piece(6, 18, 'purple', 2), + new Piece(4, 17, 'green', 0), + new Piece(8, 15, 'orange', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 15, 'red', 3), + new Piece(9, 16, 'teal', 3), + new Piece(2, 15, 'blue', 3), + new Piece(6, 15, 'purple', 2), + ], + seed: 'IwNgzALMEAwwHAiAmIA', + }, + }, + 'Number One': { + 'PC-6': { + pieces: [ + new Piece(1, 18, 'blue', 2), + new Piece(6, 19, 'yellow', 0), + new Piece(7, 18, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(5, 16, 'orange', 1), + new Piece(2, 18, 'teal', 0), + new Piece(4, 18, 'purple', 1), + new Piece(7, 16, 'red', 2), + new Piece(8, 15, 'yellow', 0), + new Piece(9, 16, 'teal', 3), + new Piece(5, 14, 'blue', 2), + ], + }, + 'TSD TSD PC 1': { + pieces: [ + new Piece(6, 19, 'yellow', 0), + new Piece(7, 18, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 18, 'blue', 2), + new Piece(5, 16, 'orange', 1), + new Piece(2, 18, 'teal', 0), + new Piece(4, 18, 'purple', 1), + new Piece(9, 16, 'blue', 1), + new Piece(6, 16, 'green', 3), + new Piece(7, 15, 'red', 0), + new Piece(1, 16, 'teal', 1), + new Piece(3, 16, 'orange', 1), + new Piece(1, 13, 'yellow', 0), + new Piece(1, 16, 'purple', 3), + ], + }, + 'TSD TSD PC 2': { + pieces: [ + new Piece(6, 19, 'yellow', 0), + new Piece(7, 18, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 18, 'blue', 2), + new Piece(5, 16, 'orange', 1), + new Piece(2, 18, 'teal', 0), + new Piece(4, 18, 'purple', 1), + new Piece(8, 17, 'blue', 0), + new Piece(8, 15, 'green', 3), + new Piece(6, 15, 'red', 3), + new Piece(1, 16, 'teal', 1), + new Piece(3, 16, 'orange', 1), + new Piece(1, 13, 'yellow', 0), + new Piece(1, 16, 'purple', 3), + ], + }, + 'Imp cross 1': { + pieces: [ + new Piece(6, 19, 'yellow', 0), + new Piece(7, 18, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 18, 'blue', 2), + new Piece(5, 16, 'orange', 1), + new Piece(2, 18, 'teal', 0), + new Piece(4, 18, 'purple', 1), + new Piece(8, 17, 'orange', 0), + new Piece(7, 16, 'yellow', 0), + new Piece(1, 16, 'blue', 3), + new Piece(1, 16, 'teal', 1), + new Piece(2, 14, 'green', 0), + new Piece(8, 15, 'red', 0), + new Piece(3, 16, 'purple', 1), + ], + }, + 'Imp cross 2': { + pieces: [ + new Piece(6, 19, 'yellow', 0), + new Piece(7, 18, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 18, 'blue', 2), + new Piece(5, 16, 'orange', 1), + new Piece(2, 18, 'teal', 0), + new Piece(4, 18, 'purple', 1), + new Piece(7, 16, 'red', 2), + new Piece(1, 17, 'yellow', 0), + new Piece(7, 15, 'orange', 0), + new Piece(1, 15, 'blue', 0), + new Piece(9, 16, 'teal', 3), + new Piece(2, 14, 'green', 0), + new Piece(3, 16, 'purple', 1), + ], + }, + 'PC-14': { + pieces: [ + new Piece(6, 19, 'yellow', 0), + new Piece(7, 18, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(1, 18, 'blue', 2), + new Piece(5, 16, 'orange', 1), + new Piece(2, 18, 'teal', 0), + new Piece(4, 18, 'purple', 1), + new Piece(7, 16, 'red', 2), + new Piece(7, 15, 'orange', 0), + new Piece(9, 16, 'teal', 3), + new Piece(1, 17, 'yellow', 0), + new Piece(1, 15, 'blue', 0), + new Piece(2, 14, 'green', 0), + new Piece(3, 16, 'purple', 1), + new Piece(1, 13, 'yellow', 0), + new Piece(3, 12, 'green', 0), + new Piece(6, 14, 'red', 0), + new Piece(8, 12, 'blue', 1), + new Piece(9, 12, 'teal', 3), + new Piece(0, 10, 'orange', 3), + new Piece(4, 14, 'purple', 1), + new Piece(6, 11, 'green', 3), + new Piece(8, 9, 'red', 3), + new Piece(3, 10, 'teal', 1), + new Piece(6, 9, 'blue', 2), + new Piece(1, 9, 'orange', 1), + new Piece(1, 7, 'yellow', 0), + new Piece(5, 12, 'purple', 3), + ], + }, + }, + 'Ajanba TSD': { + 'Mechanical TSD': { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(1, 19, 'blue', 0), + new Piece(6, 20, 'teal', 0), + new Piece(5, 18, 'red', 0), + new Piece(8, 17, 'orange', 2), + new Piece(1, 17, 'green', 1), + new Piece(3, 18, 'purple', 2), + new Piece(3, 17, 'green', 0), + new Piece(1, 15, 'orange', 3), + new Piece(8, 16, 'red', 0), + new Piece(8, 14, 'blue', 2), + new Piece(1, 14, 'teal', 1), + new Piece(3, 15, 'yellow', 0), + new Piece(6, 16, 'purple', 2), + new Piece(1, 10, 'teal', 1), + new Piece(9, 13, 'yellow', 0), + new Piece(2, 12, 'red', 3), + new Piece(1, 12, 'blue', 3), + new Piece(6, 14, 'green', 0), + new Piece(8, 11, 'orange', 2), + new Piece(4, 13, 'purple', 2), + ], + seed: 'IwNgzALADArFEhBA7ATiA', + }, + 'PC 6': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(6, 20, 'teal', 0), + new Piece(8, 17, 'orange', 2), + new Piece(5, 18, 'red', 0), + new Piece(3, 18, 'purple', 2), + new Piece(2, 17, 'red', 0), + new Piece(1, 15, 'blue', 0), + new Piece(4, 16, 'yellow', 0), + new Piece(3, 15, 'teal', 0), + new Piece(9, 15, 'orange', 1), + new Piece(7, 15, 'green', 3), + ], + seed: 'IwNgzALADArLwE4HCkA', + }, + 'Agent 1568AH\u2019s PC 6-1': { + pieces: [ + new Piece(6, 20, 'teal', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(5, 18, 'red', 0), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(8, 17, 'orange', 2), + new Piece(3, 18, 'purple', 2), + new Piece(3, 17, 'green', 0), + new Piece(4, 16, 'teal', 0), + new Piece(9, 16, 'yellow', 0), + new Piece(1, 15, 'red', 2), + new Piece(6, 16, 'purple', 2), + ], + seed: 'IwNgzALADArMBM8DsBOSQ', + }, + 'Agent 1568AH\u2019s PC 6-2': { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(8, 17, 'orange', 2), + new Piece(1, 19, 'blue', 0), + new Piece(6, 20, 'teal', 0), + new Piece(5, 18, 'red', 0), + new Piece(1, 17, 'green', 1), + new Piece(3, 18, 'purple', 2), + new Piece(1, 16, 'red', 0), + new Piece(9, 15, 'blue', 1), + new Piece(3, 16, 'green', 2), + new Piece(4, 16, 'teal', 0), + new Piece(6, 16, 'purple', 2), + ], + seed: 'IwNgzALADArMAcYRVkA', + }, + 'Agent 1568AH\u2019s PC 6-3': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(6, 20, 'teal', 0), + new Piece(1, 17, 'green', 1), + new Piece(5, 18, 'red', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(8, 17, 'orange', 2), + new Piece(3, 18, 'purple', 2), + new Piece(6, 16, 'purple', 2), + new Piece(3, 17, 'green', 0), + new Piece(9, 16, 'yellow', 0), + new Piece(1, 16, 'red', 0), + new Piece(8, 14, 'orange', 2), + ], + seed: 'IwNgzALADArMFhAdgEwE4g', + }, + 'Agent 1568AH\u2019s PC 6-4': { + pieces: [ + new Piece(6, 20, 'teal', 0), + new Piece(1, 19, 'blue', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(1, 17, 'green', 1), + new Piece(5, 18, 'red', 0), + new Piece(8, 17, 'orange', 2), + new Piece(3, 18, 'purple', 2), + new Piece(9, 15, 'blue', 1), + new Piece(8, 15, 'yellow', 0), + new Piece(3, 17, 'green', 0), + new Piece(1, 16, 'red', 0), + new Piece(6, 16, 'purple', 2), + ], + seed: 'IwNgzALADArKICYDsElA', + }, + 'Agent 1568AH\u2019s PC 8-1': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(6, 20, 'teal', 0), + new Piece(5, 18, 'red', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(8, 17, 'orange', 2), + new Piece(3, 18, 'purple', 2), + new Piece(2, 17, 'red', 0), + new Piece(4, 16, 'green', 0), + new Piece(9, 16, 'yellow', 0), + new Piece(2, 16, 'teal', 0), + new Piece(6, 16, 'purple', 2), + new Piece(5, 14, 'blue', 2), + ], + seed: 'IwNgzALADArATHGAOJig', + }, + 'Agent 1568AH\u2019s PC 8-2': { + pieces: [ + new Piece(6, 20, 'teal', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(8, 17, 'orange', 2), + new Piece(5, 18, 'red', 0), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(3, 18, 'purple', 2), + new Piece(3, 17, 'green', 0), + new Piece(9, 16, 'yellow', 0), + new Piece(1, 16, 'red', 0), + new Piece(8, 14, 'orange', 2), + new Piece(6, 16, 'purple', 2), + new Piece(4, 16, 'teal', 0), + ], + seed: 'IwNgzALADArATHGAOJig', + }, + 'Agent 1568AH\u2019s PC 8-3': { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(8, 17, 'orange', 2), + new Piece(1, 19, 'blue', 0), + new Piece(6, 20, 'teal', 0), + new Piece(5, 18, 'red', 0), + new Piece(1, 17, 'green', 1), + new Piece(3, 18, 'purple', 2), + new Piece(3, 17, 'green', 0), + new Piece(4, 16, 'teal', 0), + new Piece(9, 15, 'blue', 1), + new Piece(1, 15, 'red', 2), + new Piece(6, 16, 'purple', 2), + new Piece(8, 15, 'yellow', 0), + ], + seed: 'IwNgzALADArATFAHGGxhA', + }, + 'DSD PC': { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(6, 20, 'teal', 0), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(5, 18, 'red', 0), + new Piece(8, 17, 'orange', 2), + new Piece(3, 18, 'purple', 2), + new Piece(0, 15, 'green', 3), + new Piece(8, 16, 'red', 0), + new Piece(3, 16, 'orange', 2), + new Piece(2, 13, 'blue', 1), + new Piece(9, 14, 'teal', 3), + new Piece(1, 13, 'yellow', 0), + new Piece(6, 16, 'purple', 2), + ], + seed: 'IwNgzALADArATGAHHGwxA', + }, + 'DSD PC(S hold)': { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(1, 19, 'blue', 0), + new Piece(6, 20, 'teal', 0), + new Piece(1, 17, 'green', 1), + new Piece(8, 17, 'orange', 2), + new Piece(5, 18, 'red', 0), + new Piece(3, 18, 'purple', 2), + new Piece(1, 15, 'blue', 3), + new Piece(2, 13, 'yellow', 0), + new Piece(8, 16, 'red', 0), + new Piece(1, 14, 'teal', 1), + new Piece(6, 16, 'purple', 2), + new Piece(3, 16, 'orange', 2), + ], + seed: 'IwNgzALADArATBOAOCNhA', + }, + 'DSD PC Compromise': { + pieces: [ + new Piece(6, 20, 'teal', 0), + new Piece(1, 19, 'blue', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(8, 17, 'orange', 2), + new Piece(5, 18, 'red', 0), + new Piece(1, 17, 'green', 1), + new Piece(3, 18, 'purple', 2), + new Piece(8, 16, 'red', 0), + new Piece(3, 16, 'orange', 2), + new Piece(1, 15, 'blue', 3), + new Piece(1, 14, 'teal', 1), + new Piece(2, 13, 'yellow', 0), + new Piece(8, 14, 'green', 3), + new Piece(6, 16, 'purple', 2), + ], + seed: 'IwNgzALADArATDEICccRA', + }, + 'DMD PC 1': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(8, 17, 'orange', 2), + new Piece(6, 20, 'teal', 0), + new Piece(1, 17, 'green', 1), + new Piece(5, 18, 'red', 0), + new Piece(3, 18, 'purple', 2), + new Piece(3, 16, 'orange', 2), + new Piece(1, 14, 'teal', 1), + new Piece(1, 15, 'blue', 3), + new Piece(5, 16, 'green', 3), + new Piece(6, 15, 'red', 0), + new Piece(2, 13, 'yellow', 0), + new Piece(8, 16, 'purple', 0), + ], + seed: 'IwNgzALADArATAdkgDhsIA', + }, + 'DMD PC 2': { + pieces: [ + new Piece(6, 20, 'teal', 0), + new Piece(5, 18, 'red', 0), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(8, 17, 'orange', 2), + new Piece(3, 18, 'purple', 2), + new Piece(2, 16, 'blue', 2), + new Piece(5, 16, 'green', 3), + new Piece(6, 15, 'red', 0), + new Piece(4, 15, 'orange', 1), + new Piece(5, 13, 'yellow', 0), + new Piece(1, 14, 'teal', 1), + new Piece(8, 16, 'purple', 0), + ], + seed: 'IwNgzALADArGUE4YA4BMEg', + }, + 'Mofumofu Cannon PC 14': { + pieces: [ + new Piece(6, 20, 'teal', 0), + new Piece(5, 18, 'red', 0), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(8, 17, 'orange', 2), + new Piece(3, 18, 'purple', 2), + new Piece(5, 16, 'green', 0), + new Piece(8, 16, 'teal', 2), + new Piece(8, 15, 'orange', 0), + new Piece(1, 15, 'yellow', 0), + new Piece(1, 13, 'blue', 2), + new Piece(2, 16, 'red', 2), + new Piece(3, 15, 'purple', 2), + new Piece(4, 14, 'green', 0), + new Piece(1, 12, 'yellow', 0), + new Piece(8, 13, 'red', 3), + new Piece(7, 13, 'blue', 3), + new Piece(3, 12, 'orange', 1), + new Piece(8, 12, 'teal', 0), + new Piece(6, 14, 'purple', 1), + new Piece(1, 9, 'teal', 1), + new Piece(9, 10, 'yellow', 3), + new Piece(6, 9, 'green', 3), + new Piece(7, 8, 'red', 0), + new Piece(5, 12, 'blue', 0), + new Piece(2, 10, 'orange', 0), + new Piece(5, 10, 'purple', 2), + ], + seed: 'IwNgzALADArGxgOwA4rCA', + }, + }, + Hummingbird: { + 'Path 1 STSD': { + pieces: [ + new Piece(1, 19, 'red', 0), + new Piece(5, 19, 'green', 0), + new Piece(8, 18, 'blue', 2), + new Piece(5, 17, 'yellow', 0), + new Piece(3, 18, 'purple', 2), + new Piece(8, 17, 'orange', 1), + new Piece(9, 16, 'teal', 3), + new Piece(1, 17, 'teal', 1), + new Piece(2, 17, 'orange', 0), + new Piece(2, 16, 'yellow', 0), + new Piece(5, 15, 'green', 0), + new Piece(3, 14, 'red', 3), + new Piece(1, 14, 'blue', 0), + new Piece(6, 17, 'purple', 3), + ], + }, + 'Path 2 Imp Cross-1': { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(8, 17, 'orange', 1), + new Piece(1, 19, 'red', 0), + new Piece(5, 19, 'green', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(9, 17, 'teal', 3), + new Piece(3, 18, 'purple', 2), + new Piece(7, 15, 'red', 0), + new Piece(9, 13, 'blue', 1), + new Piece(8, 13, 'yellow', 0), + new Piece(1, 17, 'teal', 1), + new Piece(4, 17, 'green', 0), + new Piece(3, 15, 'orange', 1), + new Piece(6, 17, 'purple', 3), + ], + }, + 'Path 2 Imp Cross-2': { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(8, 17, 'orange', 1), + new Piece(1, 19, 'red', 0), + new Piece(5, 19, 'green', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(9, 17, 'teal', 3), + new Piece(3, 18, 'purple', 2), + new Piece(7, 15, 'red', 0), + new Piece(2, 15, 'blue', 2), + new Piece(9, 14, 'yellow', 0), + new Piece(2, 14, 'orange', 0), + new Piece(1, 17, 'teal', 1), + new Piece(4, 16, 'green', 2), + new Piece(6, 17, 'purple', 3), + ], + }, + 'PC-6 1': { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(8, 17, 'orange', 1), + new Piece(1, 19, 'red', 0), + new Piece(5, 19, 'green', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(9, 17, 'teal', 3), + new Piece(3, 18, 'purple', 2), + new Piece(1, 17, 'teal', 1), + new Piece(1, 15, 'red', 0), + new Piece(4, 16, 'blue', 1), + new Piece(3, 15, 'orange', 1), + new Piece(8, 15, 'green', 0), + new Piece(6, 17, 'purple', 2), + ], + }, + 'PC-6 2': { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(8, 17, 'orange', 1), + new Piece(1, 19, 'red', 0), + new Piece(5, 19, 'green', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(9, 17, 'teal', 3), + new Piece(3, 18, 'purple', 2), + new Piece(1, 17, 'teal', 1), + new Piece(1, 15, 'red', 0), + new Piece(3, 16, 'orange', 3), + new Piece(8, 15, 'green', 0), + new Piece(6, 17, 'purple', 2), + ], + }, + 'PC-6 3': { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(8, 17, 'orange', 1), + new Piece(1, 19, 'red', 0), + new Piece(5, 19, 'green', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(9, 17, 'teal', 3), + new Piece(3, 18, 'purple', 2), + new Piece(1, 17, 'teal', 1), + new Piece(1, 15, 'red', 0), + new Piece(4, 17, 'yellow', 0), + new Piece(8, 15, 'green', 0), + new Piece(6, 17, 'purple', 2), + ], + }, + }, + Pelican: { + Nice: { + pieces: [ + new Piece(0, 18, 'green', 3), + new Piece(2, 18, 'red', 0), + new Piece(6, 19, 'blue', 0), + new Piece(6, 17, 'orange', 1), + new Piece(9, 18, 'teal', 3), + new Piece(8, 18, 'yellow', 0), + new Piece(4, 17, 'purple', 2), + new Piece(7, 16, 'green', 3), + new Piece(4, 17, 'yellow', 0), + new Piece(8, 14, 'orange', 3), + new Piece(5, 16, 'teal', 0), + new Piece(3, 14, 'red', 0), + new Piece(0, 16, 'blue', 3), + new Piece(2, 16, 'purple', 1), + new Piece(1, 14, 'blue', 0), + new Piece(6, 13, 'orange', 3), + new Piece(7, 12, 'red', 3), + new Piece(5, 13, 'yellow', 0), + new Piece(9, 13, 'teal', 3), + new Piece(3, 11, 'green', 1), + new Piece(1, 12, 'purple', 2), + ], + seed: 'IwNgzGAcCcIKwBYBMB2EIg', + }, + OL: { + pieces: [ + new Piece(6, 19, 'blue', 0), + new Piece(6, 17, 'orange', 1), + new Piece(1, 18, 'green', 1), + new Piece(9, 18, 'teal', 3), + new Piece(2, 18, 'red', 0), + new Piece(8, 18, 'yellow', 0), + new Piece(4, 17, 'purple', 2), + new Piece(0, 16, 'blue', 3), + new Piece(4, 17, 'yellow', 0), + new Piece(7, 16, 'green', 3), + new Piece(8, 14, 'orange', 3), + new Piece(5, 16, 'teal', 0), + new Piece(3, 14, 'red', 0), + new Piece(2, 16, 'purple', 1), + new Piece(6, 14, 'yellow', 0), + new Piece(5, 12, 'orange', 2), + new Piece(1, 14, 'blue', 0), + new Piece(9, 13, 'teal', 3), + new Piece(7, 12, 'red', 3), + new Piece(3, 11, 'green', 1), + new Piece(1, 12, 'purple', 2), + ], + seed: 'IwNgzGAcCcDsAMBWE8ZA', + }, + 'TST 1': { + pieces: [ + new Piece(6, 19, 'blue', 0), + new Piece(1, 18, 'green', 1), + new Piece(2, 18, 'red', 0), + new Piece(6, 17, 'orange', 1), + new Piece(9, 18, 'teal', 3), + new Piece(8, 18, 'yellow', 0), + new Piece(4, 17, 'purple', 2), + new Piece(4, 17, 'yellow', 0), + new Piece(5, 16, 'teal', 0), + new Piece(7, 16, 'green', 3), + new Piece(8, 14, 'orange', 3), + new Piece(0, 16, 'blue', 3), + new Piece(3, 14, 'red', 0), + new Piece(2, 16, 'purple', 1), + new Piece(9, 13, 'teal', 3), + new Piece(7, 12, 'red', 3), + new Piece(6, 14, 'yellow', 0), + new Piece(1, 14, 'blue', 0), + new Piece(5, 12, 'orange', 2), + new Piece(3, 11, 'green', 1), + new Piece(1, 12, 'purple', 2), + new Piece(1, 10, 'blue', 1), + new Piece(5, 11, 'green', 0), + new Piece(1, 9, 'teal', 1), + new Piece(9, 10, 'yellow', 0), + new Piece(3, 10, 'red', 0), + new Piece(8, 8, 'orange', 0), + new Piece(7, 11, 'purple', 1), + ], + seed: 'IwNgzGAcCcDssCYCskwiA', + }, + 'TST 2': { + pieces: [ + new Piece(6, 19, 'blue', 0), + new Piece(8, 18, 'yellow', 0), + new Piece(9, 18, 'teal', 3), + new Piece(1, 18, 'green', 1), + new Piece(2, 18, 'red', 0), + new Piece(6, 17, 'orange', 1), + new Piece(4, 17, 'purple', 2), + new Piece(7, 16, 'green', 3), + new Piece(4, 17, 'yellow', 0), + new Piece(5, 16, 'teal', 0), + new Piece(3, 14, 'red', 0), + new Piece(8, 14, 'orange', 3), + new Piece(0, 16, 'blue', 3), + new Piece(2, 16, 'purple', 1), + new Piece(1, 14, 'blue', 0), + new Piece(6, 14, 'yellow', 0), + new Piece(7, 12, 'red', 3), + new Piece(5, 12, 'orange', 2), + new Piece(9, 13, 'teal', 3), + new Piece(3, 11, 'green', 1), + new Piece(1, 12, 'purple', 2), + new Piece(1, 11, 'yellow', 0), + new Piece(1, 8, 'blue', 1), + new Piece(5, 11, 'green', 0), + new Piece(9, 9, 'teal', 3), + new Piece(8, 9, 'orange', 1), + new Piece(3, 10, 'red', 0), + new Piece(7, 11, 'purple', 1), + new Piece(3, 8, 'yellow', 0), + new Piece(5, 8, 'orange', 2), + new Piece(0, 7, 'blue', 3), + new Piece(8, 6, 'purple', 2), + new Piece(6, 7, 'green', 3), + new Piece(4, 7, 'teal', 0), + new Piece(5, 6, 'red', 2), + ], + seed: 'IwNgzGAcCcDsvWgFmJIA', + }, + Riviclia: { + pieces: [ + new Piece(0, 18, 'green', 3), + new Piece(9, 18, 'teal', 3), + new Piece(2, 18, 'red', 0), + new Piece(6, 19, 'blue', 0), + new Piece(6, 17, 'orange', 1), + new Piece(8, 18, 'yellow', 0), + new Piece(4, 17, 'purple', 2), + new Piece(1, 16, 'orange', 2), + new Piece(1, 15, 'green', 0), + new Piece(6, 15, 'yellow', 0), + new Piece(4, 16, 'blue', 1), + new Piece(9, 14, 'teal', 3), + new Piece(8, 16, 'purple', 1), + new Piece(7, 14, 'red', 3), + new Piece(4, 13, 'orange', 1), + new Piece(0, 13, 'teal', 3), + new Piece(6, 13, 'blue', 0), + new Piece(7, 12, 'yellow', 0), + new Piece(8, 11, 'red', 3), + new Piece(8, 10, 'green', 0), + new Piece(3, 15, 'purple', 1), + new Piece(5, 11, 'green', 0), + new Piece(9, 7, 'orange', 1), + new Piece(6, 10, 'teal', 0), + new Piece(8, 8, 'yellow', 0), + new Piece(6, 7, 'blue', 3), + new Piece(1, 11, 'red', 0), + new Piece(3, 10, 'purple', 2), + new Piece(2, 11, 'purple', 2), + ], + seed: 'IwNgzGCcAMAs0QExkUA', + }, + }, + Albatross: { + 'Flat I': { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(4, 19, 'yellow', 0), + new Piece(6, 18, 'orange', 2), + new Piece(4, 17, 'red', 0), + new Piece(1, 18, 'green', 1), + new Piece(7, 17, 'blue', 2), + new Piece(2, 17, 'purple', 2), + new Piece(3, 14, 'orange', 1), + new Piece(0, 16, 'blue', 3), + new Piece(5, 16, 'green', 3), + new Piece(4, 14, 'red', 3), + new Piece(8, 17, 'yellow', 0), + new Piece(8, 16, 'teal', 0), + new Piece(2, 16, 'purple', 1), + ], + seed: 'IwNgzGAcCcAsAM8BMsDsBWIA', + }, + 'Vertical I': { + pieces: [ + new Piece(6, 18, 'orange', 2), + new Piece(7, 17, 'blue', 2), + new Piece(4, 19, 'yellow', 0), + new Piece(4, 17, 'red', 0), + new Piece(0, 18, 'green', 3), + new Piece(9, 18, 'teal', 3), + new Piece(2, 17, 'purple', 2), + new Piece(9, 14, 'teal', 3), + new Piece(3, 14, 'orange', 1), + new Piece(5, 16, 'green', 3), + new Piece(8, 17, 'yellow', 0), + new Piece(0, 16, 'blue', 3), + new Piece(4, 14, 'red', 3), + ], + seed: 'IwNgzGAcCcAsAMZSiA', + }, + TSD: { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(1, 18, 'green', 3), + new Piece(5, 19, 'yellow', 0), + new Piece(7, 18, 'orange', 2), + new Piece(8, 17, 'blue', 2), + new Piece(5, 17, 'red', 0), + new Piece(3, 17, 'purple', 2), + ], + seed: 'IwNgzGAcCcAsbwEwAZJA', + }, + }, + "Pokemino's STD": { + 'Z overhang': { + pieces: [ + new Piece(7, 19, 'yellow', 0), + new Piece(8, 18, 'green', 3), + new Piece(1, 18, 'orange', 3), + new Piece(5, 18, 'blue', 1), + new Piece(4, 16, 'red', 3), + new Piece(1, 18, 'teal', 1), + new Piece(3, 18, 'purple', 2), + new Piece(0, 15, 'green', 3), + new Piece(6, 16, 'teal', 3), + new Piece(3, 17, 'yellow', 0), + new Piece(3, 15, 'blue', 0), + new Piece(6, 13, 'red', 0), + new Piece(9, 16, 'orange', 1), + new Piece(7, 16, 'purple', 3), + ], + seed: 'IwNgzGAcCcAMkCYEBZKSA', + }, + 'J overhang': { + pieces: [ + new Piece(7, 19, 'yellow', 0), + new Piece(1, 18, 'orange', 3), + new Piece(5, 18, 'blue', 1), + new Piece(8, 18, 'green', 3), + new Piece(4, 16, 'red', 3), + new Piece(1, 18, 'teal', 1), + new Piece(3, 18, 'purple', 2), + new Piece(3, 17, 'yellow', 0), + new Piece(1, 15, 'green', 1), + new Piece(2, 15, 'red', 0), + new Piece(6, 16, 'teal', 3), + new Piece(9, 16, 'orange', 1), + new Piece(7, 12, 'blue', 1), + ], + seed: 'IwNgzGAcCcAMkFYQBYHCA', + }, + }, + 'Rabbit Stacking': { + SOLI: { + pieces: [ + new Piece(4, 19, 'blue', 0), + new Piece(9, 18, 'purple', 1), + new Piece(1, 19, 'yellow', 0), + new Piece(1, 16, 'teal', 1), + new Piece(2, 18, 'orange', 1), + new Piece(4, 17, 'green', 1), + new Piece(7, 18, 'red', 2), + new Piece(2, 16, 'yellow', 0), + new Piece(4, 15, 'blue', 3), + new Piece(8, 15, 'orange', 3), + new Piece(7, 16, 'red', 2), + new Piece(9, 14, 'teal', 3), + new Piece(1, 13, 'green', 1), + new Piece(5, 17, 'purple', 3), + ], + seed: 'IwNgzGAcDs0KzACzDpIA', + }, + OSLI: { + pieces: [ + new Piece(4, 19, 'blue', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(9, 18, 'purple', 1), + new Piece(7, 18, 'red', 2), + new Piece(2, 18, 'orange', 1), + new Piece(4, 17, 'green', 1), + new Piece(1, 16, 'teal', 1), + new Piece(2, 16, 'green', 0), + new Piece(8, 15, 'orange', 3), + new Piece(9, 14, 'teal', 3), + new Piece(7, 17, 'red', 0), + new Piece(3, 14, 'yellow', 0), + new Piece(4, 15, 'blue', 3), + new Piece(5, 17, 'purple', 3), + ], + seed: 'IwNgzGAcDs0KwIQFiA', + }, + SOIL: { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(4, 19, 'blue', 0), + new Piece(2, 18, 'orange', 1), + new Piece(4, 17, 'green', 1), + new Piece(1, 16, 'teal', 1), + new Piece(7, 19, 'red', 0), + new Piece(9, 18, 'purple', 1), + new Piece(7, 17, 'red', 0), + new Piece(2, 16, 'yellow', 0), + new Piece(1, 13, 'green', 1), + new Piece(5, 15, 'teal', 1), + new Piece(9, 15, 'blue', 1), + new Piece(5, 13, 'orange', 1), + new Piece(5, 17, 'purple', 3), + ], + seed: 'IwNgzGAcDs0CwgJx2sIA', + }, + OSIL: { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(4, 19, 'blue', 0), + new Piece(7, 19, 'red', 0), + new Piece(1, 16, 'teal', 1), + new Piece(4, 17, 'green', 1), + new Piece(9, 18, 'purple', 1), + new Piece(2, 18, 'orange', 1), + new Piece(9, 15, 'blue', 1), + new Piece(2, 16, 'green', 0), + new Piece(5, 15, 'teal', 1), + new Piece(5, 13, 'orange', 1), + new Piece(7, 16, 'red', 2), + new Piece(3, 14, 'yellow', 0), + new Piece(5, 17, 'purple', 3), + ], + seed: 'IwNgzGAcDs0KwE45gEwBYg', + }, + }, + Secspin: { + 'Late L': { + pieces: [ + new Piece(7, 18, 'orange', 2), + new Piece(9, 18, 'teal', 3), + new Piece(5, 18, 'blue', 3), + new Piece(4, 19, 'yellow', 0), + new Piece(3, 16, 'green', 3), + new Piece(1, 19, 'red', 0), + new Piece(2, 17, 'purple', 2), + new Piece(2, 16, 'yellow', 0), + new Piece(1, 17, 'teal', 1), + new Piece(8, 14, 'green', 3), + new Piece(9, 12, 'orange', 1), + new Piece(4, 14, 'red', 3), + new Piece(6, 16, 'blue', 0), + new Piece(8, 17, 'purple', 1), + new Piece(6, 14, 'teal', 3), + new Piece(0, 13, 'orange', 3), + new Piece(3, 14, 'green', 0), + new Piece(2, 12, 'red', 3), + new Piece(5, 12, 'yellow', 0), + new Piece(6, 10, 'blue', 3), + ], + seed: 'IwNgzGAcCcyQTJMwAMQ', + }, + 'Early L': { + pieces: [ + new Piece(7, 18, 'orange', 2), + new Piece(5, 18, 'blue', 3), + new Piece(4, 19, 'yellow', 0), + new Piece(3, 16, 'green', 3), + new Piece(9, 18, 'teal', 3), + new Piece(1, 19, 'red', 0), + new Piece(2, 17, 'purple', 2), + new Piece(8, 14, 'green', 3), + new Piece(6, 16, 'blue', 0), + new Piece(1, 16, 'orange', 2), + new Piece(2, 15, 'yellow', 0), + new Piece(4, 14, 'red', 3), + new Piece(8, 17, 'purple', 1), + new Piece(6, 14, 'teal', 3), + new Piece(6, 10, 'blue', 3), + new Piece(0, 15, 'teal', 3), + new Piece(9, 12, 'orange', 1), + new Piece(3, 13, 'red', 3), + new Piece(2, 13, 'green', 0), + new Piece(1, 12, 'yellow', 0), + ], + seed: 'IwNgzGAcCcwKwHZoQAxA', + }, + }, + C4W: { + 1: { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(8, 16, 'orange', 2), + new Piece(3, 19, 'green', 0), + new Piece(1, 18, 'red', 3), + new Piece(1, 16, 'purple', 3), + new Piece(1, 18, 'teal', 1), + ], + seed: 'IwNgzGAcDsAsllgJmNIA', + }, + 2: { + pieces: [ + new Piece(8, 18, 'orange', 3), + new Piece(8, 16, 'yellow', 0), + new Piece(9, 17, 'teal', 3), + new Piece(2, 18, 'green', 3), + new Piece(7, 18, 'blue', 1), + new Piece(1, 19, 'purple', 0), + new Piece(1, 17, 'red', 1), + ], + seed: 'IwNgzGAcDsAsCc0wFZkCYg', + }, + 3: { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(1, 17, 'green', 3), + new Piece(3, 19, 'purple', 0), + new Piece(0, 16, 'teal', 3), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(8, 16, 'orange', 2), + ], + seed: 'IwNgzGAcDsCsykraQ', + }, + }, + Godspin: { + variation: { + pieces: [ + new Piece(5, 19, 'orange', 0), + new Piece(5, 18, 'yellow', 0), + new Piece(2, 18, 'green', 3), + new Piece(4, 16, 'teal', 1), + new Piece(9, 18, 'blue', 1), + new Piece(1, 19, 'purple', 0), + new Piece(1, 17, 'red', 1), + new Piece(5, 16, 'yellow', 0), + new Piece(2, 15, 'purple', 1), + new Piece(0, 15, 'blue', 3), + new Piece(8, 17, 'green', 0), + new Piece(9, 14, 'teal', 3), + new Piece(5, 13, 'orange', 2), + new Piece(7, 13, 'red', 0), + new Piece(0, 12, 'orange', 3), + new Piece(3, 12, 'blue', 1), + new Piece(2, 12, 'yellow', 0), + new Piece(2, 11, 'teal', 0), + new Piece(8, 10, 'green', 3), + new Piece(6, 15, 'purple', 3), + new Piece(0, 8, 'red', 3), + new Piece(0, 6, '', 3), + new Piece(2, 8, '', 1), + new Piece(8, 8, '', 3), + new Piece(7, 15, 'purple', 3), + new Piece(1, 4, '', 1), + new Piece(2, 5, '', 1), + new Piece(2, 3, '', 0), + new Piece(8, 6, '', 3), + new Piece(1, 1, '', 0), + new Piece(2, 0, '', 1), + new Piece(1, -2, '', 1), + new Piece(2, -3, '', 1), + new Piece(5, 12, 'red', 2), + new Piece(8, 13, 'purple', 1), + ], + }, + }, + 'INTAI Cannon': { + variation: { + pieces: [ + new Piece(8, 18, 'green', 3), + new Piece(7, 18, 'red', 2), + new Piece(0, 18, 'teal', 3), + new Piece(7, 17, 'yellow', 0), + new Piece(1, 18, 'orange', 3), + new Piece(5, 19, 'purple', 0), + new Piece(5, 16, 'blue', 1), + ], + }, + }, + 'FinT Cannon': { + JO: { + pieces: [ + new Piece(3, 19, 'purple', 0), + new Piece(1, 19, 'green', 0), + new Piece(1, 17, 'red', 1), + new Piece(8, 20, 'teal', 0), + new Piece(9, 17, 'blue', 1), + new Piece(8, 17, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(0, 15, 'red', 3), + new Piece(1, 13, 'orange', 2), + new Piece(5, 16, 'teal', 0), + new Piece(8, 15, 'blue', 0), + new Piece(9, 14, 'yellow', 0), + new Piece(5, 18, 'purple', 1), + new Piece(4, 17, 'green', 0), + ], + }, + OJ: { + pieces: [ + new Piece(3, 19, 'purple', 0), + new Piece(1, 19, 'green', 0), + new Piece(1, 17, 'red', 1), + new Piece(8, 20, 'teal', 0), + new Piece(9, 17, 'blue', 1), + new Piece(8, 17, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(0, 15, 'red', 3), + new Piece(1, 13, 'orange', 2), + new Piece(5, 16, 'teal', 0), + new Piece(9, 15, 'yellow', 0), + new Piece(7, 14, 'blue', 3), + new Piece(5, 18, 'purple', 1), + new Piece(4, 17, 'green', 0), + ], + }, + 'Late T': { + pieces: [ + new Piece(3, 19, 'purple', 0), + new Piece(1, 19, 'green', 0), + new Piece(1, 17, 'red', 1), + new Piece(8, 20, 'teal', 0), + new Piece(9, 17, 'blue', 1), + new Piece(8, 17, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(0, 15, 'red', 3), + new Piece(1, 13, 'orange', 2), + new Piece(5, 16, 'teal', 0), + new Piece(9, 15, 'yellow', 0), + new Piece(7, 14, 'blue', 3), + new Piece(5, 18, 'purple', 1), + new Piece(4, 16, 'green', 2), + new Piece(5, 14, 'red', 0), + new Piece(5, 12, 'green', 3), + new Piece(8, 11, 'blue', 1), + new Piece(0, 11, 'orange', 3), + new Piece(2, 11, 'yellow', 0), + new Piece(9, 12, 'teal', 3), + new Piece(3, 12, 'purple', 2), + ], + }, + C4W: { + pieces: [ + new Piece(3, 19, 'purple', 0), + new Piece(1, 19, 'green', 0), + new Piece(1, 17, 'red', 1), + new Piece(8, 20, 'teal', 0), + new Piece(9, 17, 'blue', 1), + new Piece(8, 17, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(0, 15, 'red', 3), + new Piece(1, 13, 'orange', 2), + new Piece(5, 16, 'teal', 0), + new Piece(9, 15, 'yellow', 0), + new Piece(7, 14, 'blue', 3), + new Piece(5, 18, 'purple', 1), + new Piece(4, 16, 'green', 2), + new Piece(2, 16, 'purple', 3), + new Piece(3, 14, 'green', 0), + new Piece(8, 12, 'yellow', 0), + new Piece(1, 12, 'orange', 0), + new Piece(9, 12, 'teal', 3), + new Piece(1, 10, 'red', 3), + new Piece(0, 10, 'blue', 3), + ], + }, + TSD: { + pieces: [ + new Piece(3, 19, 'purple', 0), + new Piece(1, 19, 'green', 0), + new Piece(0, 17, 'red', 3), + new Piece(8, 19, 'teal', 2), + new Piece(9, 17, 'blue', 1), + new Piece(8, 17, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(0, 15, 'red', 3), + new Piece(1, 13, 'orange', 2), + new Piece(5, 16, 'teal', 0), + new Piece(9, 15, 'yellow', 0), + new Piece(7, 14, 'blue', 3), + new Piece(5, 18, 'purple', 1), + new Piece(4, 16, 'green', 2), + new Piece(2, 16, 'purple', 3), + new Piece(5, 14, 'orange', 0), + new Piece(5, 13, 'green', 0), + new Piece(6, 12, 'teal', 0), + new Piece(8, 12, 'blue', 2), + new Piece(8, 11, 'red', 0), + new Piece(1, 12, 'yellow', 0), + ], + }, + 'C-Spin OJ': { + pieces: [ + new Piece(3, 19, 'purple', 0), + new Piece(1, 19, 'green', 0), + new Piece(0, 17, 'red', 3), + new Piece(8, 20, 'teal', 0), + new Piece(9, 17, 'blue', 1), + new Piece(8, 17, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(0, 15, 'red', 3), + new Piece(1, 13, 'orange', 2), + new Piece(5, 16, 'teal', 0), + new Piece(9, 15, 'yellow', 0), + new Piece(7, 14, 'blue', 3), + new Piece(5, 18, 'purple', 1), + new Piece(4, 16, 'green', 2), + new Piece(6, 14, 'yellow', 0), + new Piece(6, 12, 'blue', 0), + new Piece(1, 12, 'green', 0), + new Piece(6, 11, 'red', 0), + new Piece(8, 11, 'orange', 1), + new Piece(9, 12, 'teal', 3), + new Piece(2, 16, 'purple', 3), + new Piece(4, 13, 'blue', 1), + new Piece(4, 10, 'orange', 1), + new Piece(1, 10, 'teal', 1), + new Piece(5, 9, 'red', 0), + new Piece(6, 8, 'green', 3), + new Piece(9, 9, 'yellow', 0), + new Piece(3, 12, 'purple', 1), + ], + }, + 'C-Spin JO': { + pieces: [ + new Piece(3, 19, 'purple', 0), + new Piece(1, 19, 'green', 0), + new Piece(0, 17, 'red', 3), + new Piece(8, 20, 'teal', 0), + new Piece(9, 17, 'blue', 1), + new Piece(8, 17, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(0, 15, 'red', 3), + new Piece(1, 13, 'orange', 2), + new Piece(5, 16, 'teal', 0), + new Piece(8, 15, 'blue', 0), + new Piece(9, 14, 'yellow', 0), + new Piece(5, 18, 'purple', 1), + new Piece(4, 16, 'green', 2), + new Piece(1, 12, 'green', 0), + new Piece(9, 11, 'blue', 1), + new Piece(8, 11, 'yellow', 0), + new Piece(6, 13, 'red', 3), + new Piece(5, 13, 'teal', 3), + new Piece(6, 11, 'orange', 1), + new Piece(2, 16, 'purple', 3), + new Piece(4, 13, 'blue', 1), + new Piece(4, 10, 'orange', 1), + new Piece(1, 10, 'teal', 1), + new Piece(5, 9, 'red', 0), + new Piece(6, 8, 'green', 3), + new Piece(9, 9, 'yellow', 0), + new Piece(3, 12, 'purple', 1), + ], + }, + 'Early S': { + pieces: [ + new Piece(3, 19, 'purple', 0), + new Piece(1, 19, 'green', 0), + new Piece(0, 17, 'red', 3), + new Piece(8, 20, 'teal', 0), + new Piece(9, 17, 'blue', 1), + new Piece(8, 17, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(4, 17, 'green', 0), + new Piece(5, 16, 'teal', 0), + new Piece(0, 15, 'red', 3), + new Piece(1, 13, 'orange', 2), + new Piece(9, 15, 'yellow', 0), + new Piece(7, 14, 'blue', 3), + new Piece(2, 16, 'purple', 3), + new Piece(3, 14, 'green', 0), + new Piece(1, 12, 'orange', 0), + new Piece(1, 10, 'red', 3), + new Piece(0, 10, 'blue', 3), + new Piece(8, 12, 'yellow', 0), + new Piece(9, 12, 'teal', 3), + new Piece(5, 14, 'purple', 2), + new Piece(6, 12, 'orange', 1), + new Piece(8, 10, 'green', 0), + new Piece(7, 8, 'red', 3), + new Piece(9, 7, 'teal', 3), + new Piece(2, 8, 'yellow', 0), + new Piece(0, 7, 'blue', 3), + new Piece(5, 14, 'purple', 1), + ], + }, + 'Alternate setup 1': { + pieces: [ + new Piece(3, 19, 'purple', 0), + new Piece(1, 19, 'green', 0), + new Piece(0, 17, 'red', 3), + new Piece(8, 20, 'teal', 0), + new Piece(9, 17, 'blue', 1), + new Piece(8, 17, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(5, 16, 'teal', 0), + new Piece(1, 14, 'blue', 3), + new Piece(8, 15, 'orange', 0), + new Piece(7, 14, 'yellow', 0), + new Piece(8, 13, 'red', 3), + new Piece(5, 18, 'purple', 1), + new Piece(4, 16, 'green', 2), + ], + }, + 'Alternate setup 2': { + pieces: [ + new Piece(3, 19, 'purple', 0), + new Piece(1, 19, 'green', 0), + new Piece(0, 17, 'red', 3), + new Piece(8, 20, 'teal', 0), + new Piece(9, 17, 'blue', 1), + new Piece(8, 17, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(0, 15, 'red', 3), + new Piece(2, 13, 'yellow', 0), + new Piece(5, 16, 'teal', 0), + new Piece(8, 15, 'blue', 0), + new Piece(8, 13, 'orange', 3), + new Piece(5, 18, 'purple', 1), + new Piece(4, 16, 'green', 2), + ], + }, + 'Backup TSD': { + pieces: [ + new Piece(3, 19, 'purple', 0), + new Piece(1, 19, 'green', 0), + new Piece(0, 17, 'red', 3), + new Piece(8, 20, 'teal', 0), + new Piece(9, 17, 'blue', 1), + new Piece(8, 17, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(3, 17, 'green', 3), + new Piece(0, 15, 'blue', 3), + new Piece(5, 16, 'yellow', 0), + new Piece(7, 15, 'orange', 0), + new Piece(7, 13, 'red', 3), + new Piece(9, 14, 'teal', 3), + new Piece(2, 15, 'purple', 2), + ], + }, + }, + 'MTSD v1': { + variation: { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(5, 19, 'green', 0), + new Piece(8, 18, 'blue', 0), + new Piece(6, 16, 'purple', 1), + new Piece(9, 17, 'yellow', 0), + new Piece(8, 15, 'orange', 2), + new Piece(4, 16, 'red', 2), + new Piece(4, 15, 'red', 0), + new Piece(7, 14, 'yellow', 0), + new Piece(4, 13, 'blue', 2), + new Piece(0, 18, 'purple', 3), + new Piece(8, 13, 'orange', 3), + new Piece(9, 12, 'teal', 3), + new Piece(3, 18, 'green', 2), + new Piece(0, 15, 'orange', 3), + new Piece(6, 12, 'yellow', 0), + new Piece(9, 8, 'blue', 1), + new Piece(8, 11, 'red', 1), + new Piece(4, 11, 'green', 1), + new Piece(6, 11, 'teal', 0), + new Piece(2, 15, 'purple', 2), + ], + }, + }, + 'MTSD v2': { + variation: { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(8, 18, 'purple', 2), + new Piece(3, 19, 'yellow', 0), + new Piece(4, 18, 'red', 0), + new Piece(1, 18, 'blue', 3), + new Piece(7, 16, 'green', 3), + new Piece(9, 16, 'orange', 1), + new Piece(9, 13, 'orange', 1), + new Piece(7, 13, 'green', 3), + new Piece(3, 16, 'yellow', 0), + new Piece(1, 15, 'blue', 3), + new Piece(4, 15, 'red', 0), + new Piece(1, 14, 'teal', 1), + new Piece(6, 14, 'purple', 2), + ], + }, + }, + 'MTSD v3': { + variation: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(5, 20, 'teal', 0), + new Piece(7, 19, 'red', 0), + new Piece(5, 17, 'blue', 1), + new Piece(4, 17, 'yellow', 0), + new Piece(8, 18, 'green', 3), + new Piece(2, 18, 'purple', 2), + new Piece(3, 14, 'blue', 3), + new Piece(4, 14, 'red', 3), + new Piece(3, 16, 'teal', 1), + new Piece(1, 16, 'yellow', 0), + new Piece(7, 17, 'green', 0), + new Piece(9, 16, 'orange', 1), + new Piece(6, 15, 'purple', 2), + new Piece(9, 13, 'orange', 1), + new Piece(1, 13, 'teal', 1), + new Piece(7, 13, 'green', 2), + new Piece(3, 11, 'blue', 3), + new Piece(2, 13, 'yellow', 0), + new Piece(4, 11, 'red', 3), + new Piece(6, 12, 'purple', 2), + ], + }, + }, + '3D Cannon': { + 'TST Tower': { + pieces: [ + new Piece(1, 19, 'green', 0), + new Piece(1, 17, 'teal', 1), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'yellow', 0), + new Piece(6, 18, 'blue', 1), + new Piece(4, 18, 'red', 3), + new Piece(5, 16, 'purple', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(5, 14, 'green', 3), + new Piece(7, 14, 'red', 0), + new Piece(4, 14, 'orange', 1), + new Piece(1, 16, 'blue', 3), + new Piece(9, 16, 'teal', 3), + new Piece(3, 17, 'purple', 2), + new Piece(3, 16, 'purple', 1), + new Piece(1, 14, 'yellow', 0), + new Piece(0, 11, 'orange', 3), + new Piece(1, 10, 'teal', 3), + new Piece(1, 7, 'green', 3), + new Piece(9, 12, 'blue', 1), + new Piece(6, 12, 'red', 0), + new Piece(4, 12, 'purple', 0), + new Piece(7, 11, 'green', 3), + new Piece(6, 9, 'red', 3), + new Piece(9, 10, 'yellow', 0), + new Piece(4, 10, 'orange', 0), + new Piece(1, 8, 'teal', 1), + ], + }, + TST: { + pieces: [ + new Piece(1, 19, 'green', 0), + new Piece(1, 17, 'teal', 1), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'yellow', 0), + new Piece(6, 18, 'blue', 1), + new Piece(4, 18, 'red', 3), + new Piece(5, 16, 'purple', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(5, 14, 'green', 3), + new Piece(7, 14, 'red', 0), + new Piece(4, 14, 'orange', 1), + new Piece(1, 16, 'blue', 3), + new Piece(9, 16, 'teal', 3), + new Piece(3, 17, 'purple', 2), + new Piece(3, 16, 'purple', 1), + new Piece(1, 14, 'yellow', 0), + new Piece(1, 11, 'orange', 2), + new Piece(9, 12, 'blue', 1), + ], + }, + 'Imp Cross': { + pieces: [ + new Piece(1, 19, 'green', 0), + new Piece(1, 17, 'teal', 1), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'yellow', 0), + new Piece(6, 18, 'blue', 1), + new Piece(4, 18, 'red', 3), + new Piece(5, 16, 'purple', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(5, 14, 'green', 3), + new Piece(7, 14, 'red', 0), + new Piece(4, 14, 'orange', 1), + new Piece(1, 16, 'blue', 3), + new Piece(9, 16, 'teal', 3), + new Piece(3, 17, 'purple', 2), + new Piece(3, 16, 'purple', 1), + new Piece(0, 13, 'red', 3), + new Piece(1, 11, 'orange', 2), + new Piece(9, 13, 'yellow', 0), + new Piece(9, 10, 'teal', 3), + new Piece(7, 11, 'blue', 1), + new Piece(8, 10, 'orange', 1), + new Piece(2, 14, 'purple', 1), + new Piece(4, 11, 'green', 3), + new Piece(4, 9, 'blue', 2), + new Piece(6, 10, 'teal', 3), + ], + }, + }, + 'Dulse Flame/Darth Flame': { + variation: { + pieces: [ + new Piece(3, 19, 'red', 0), + new Piece(1, 19, 'blue', 0), + new Piece(4, 17, 'green', 1), + new Piece(7, 20, 'teal', 0), + new Piece(4, 15, 'orange', 1), + new Piece(1, 17, 'yellow', 0), + new Piece(9, 18, 'purple', 1), + new SuperShape(8, 17, '2stair', 0), + new Piece(6, 16, '', 3), + new Piece(5, 17, 'teal', 3), + new Piece(0, 14, 'blue', 3), + new Piece(9, 16, '', 0), + new Piece(3, 12, 'orange', 1), + new Piece(9, 14, 'yellow', 0), + new Piece(4, 12, 'orange', 3), + new Piece(6, 14, 'purple', 2), + new Piece(9, 11, 'blue', 1), + new Piece(7, 12, 'teal', 3), + new Piece(5, 12, 'green', 3), + new Piece(2, 15, 'purple', 2), + new Piece(4, 10, 'yellow', 0), + new Piece(8, 10, 'blue', 3), + new Piece(8, 8, 'orange', 2), + new Piece(2, 14, 'purple', 1), + ], + }, + }, + 'Okey-Cannon': { + C4W: { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(8, 18, 'orange', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(8, 19, 'orange', 0), + new Piece(8, 17, 'purple', 3), + new Piece(9, 15, 'teal', 3), + new Piece(7, 16, 'green', 0), + new Piece(3, 19, 'blue', 0), + new Piece(3, 18, 'red', 0), + new Piece(1, 16, 'teal', 1), + new Piece(3, 16, 'green', 0), + new Piece(8, 14, 'yellow', 0), + new Piece(7, 18, 'red', 1), + new Piece(1, 16, 'blue', 3), + new Piece(6, 14, 'orange', 1), + new Piece(5, 17, 'purple', 2), + new Piece(1, 14, 'red', 0), + new Piece(2, 12, 'green', 1), + new Piece(1, 11, 'teal', 1), + new Piece(8, 12, 'blue', 0), + new Piece(9, 11, 'yellow', 0), + new Piece(8, 9, 'orange', 2), + new Piece(5, 16, 'purple', 1), + ], + }, + C3W: { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(8, 19, 'orange', 0), + new Piece(8, 17, 'purple', 3), + new Piece(9, 15, 'teal', 3), + new Piece(7, 16, 'green', 0), + new Piece(3, 19, 'blue', 0), + new Piece(3, 18, 'red', 0), + new Piece(1, 16, 'teal', 1), + new Piece(3, 16, 'green', 0), + new Piece(8, 14, 'yellow', 0), + new Piece(7, 18, 'red', 1), + new Piece(1, 16, 'blue', 3), + new Piece(6, 14, 'orange', 1), + new Piece(5, 17, 'purple', 2), + new Piece(8, 12, 'orange', 0), + new Piece(8, 11, 'green', 0), + new Piece(6, 11, 'blue', 3), + new Piece(1, 14, 'red', 0), + new Piece(3, 12, 'teal', 1), + new Piece(1, 12, 'yellow', 0), + new Piece(5, 16, 'purple', 1), + ], + }, + 'Postpone TST': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(8, 19, 'orange', 0), + new Piece(8, 17, 'purple', 3), + new Piece(9, 15, 'teal', 3), + new Piece(7, 16, 'green', 0), + new Piece(3, 19, 'blue', 0), + new Piece(3, 18, 'red', 0), + new Piece(1, 16, 'teal', 1), + new Piece(3, 16, 'green', 0), + new Piece(8, 14, 'yellow', 0), + new Piece(7, 18, 'red', 1), + new Piece(1, 16, 'blue', 3), + new Piece(6, 14, 'orange', 1), + new Piece(5, 17, 'purple', 2), + new Piece(8, 13, 'teal', 0), + new Piece(1, 13, 'green', 1), + new Piece(6, 11, 'yellow', 0), + new Piece(2, 13, 'red', 0), + new Piece(8, 11, 'orange', 0), + new Piece(4, 12, 'purple', 2), + ], + }, + 'C-Spin': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(8, 19, 'orange', 0), + new Piece(8, 17, 'purple', 3), + new Piece(9, 15, 'teal', 3), + new Piece(7, 16, 'green', 0), + new Piece(3, 19, 'blue', 0), + new Piece(3, 18, 'red', 0), + new Piece(1, 16, 'teal', 1), + new Piece(3, 16, 'green', 0), + new Piece(8, 14, 'yellow', 0), + new Piece(6, 18, 'red', 3), + new Piece(1, 16, 'blue', 3), + new Piece(6, 14, 'orange', 1), + new Piece(5, 17, 'purple', 2), + new Piece(2, 13, 'blue', 1), + new Piece(6, 12, 'red', 0), + new Piece(7, 11, 'green', 3), + new Piece(9, 11, 'teal', 3), + new Piece(1, 13, 'yellow', 0), + new Piece(5, 16, 'purple', 1), + new Piece(3, 13, 'orange', 3), + new Piece(1, 11, 'orange', 0), + new Piece(3, 10, 'blue', 3), + new Piece(1, 10, 'yellow', 0), + new Piece(7, 9, 'green', 3), + new Piece(4, 12, 'purple', 3), + new Piece(2, 8, 'red', 3), + new Piece(9, 7, 'teal', 3), + ], + }, + 'Other 1st - LOJ': { + pieces: [ + new Piece(7, 19, 'yellow', 0), + new Piece(9, 18, 'blue', 1), + new Piece(8, 17, 'teal', 3), + new Piece(0, 18, 'orange', 3), + new Piece(2, 19, 'red', 0), + new Piece(4, 18, 'green', 1), + new Piece(7, 16, 'purple', 1), + new Piece(1, 17, 'red', 0), + new Piece(3, 16, 'green', 0), + new Piece(6, 14, 'orange', 1), + new Piece(8, 14, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(1, 15, 'blue', 0), + new Piece(5, 17, 'purple', 2), + ], + }, + 'Other 1st - IZT': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(7, 19, 'blue', 0), + new Piece(9, 18, 'purple', 1), + new Piece(7, 17, 'red', 3), + new Piece(7, 16, 'yellow', 0), + new Piece(1, 18, 'orange', 0), + new Piece(3, 18, 'green', 3), + new Piece(1, 17, 'yellow', 0), + new Piece(3, 16, 'green', 0), + new Piece(6, 14, 'red', 0), + new Piece(1, 15, 'blue', 0), + new Piece(8, 14, 'orange', 1), + new Piece(9, 15, 'teal', 3), + new Piece(5, 17, 'purple', 2), + ], + }, + 'Other 1st - ILT': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(1, 18, 'orange', 0), + new Piece(4, 18, 'green', 1), + new Piece(1, 17, 'yellow', 0), + new Piece(9, 18, 'purple', 1), + new Piece(7, 17, 'red', 3), + new Piece(7, 19, 'blue', 0), + new Piece(1, 15, 'blue', 0), + new Piece(3, 16, 'green', 0), + new Piece(7, 16, 'yellow', 0), + new Piece(8, 14, 'orange', 1), + new Piece(6, 14, 'red', 0), + new Piece(9, 15, 'teal', 3), + new Piece(5, 17, 'purple', 2), + ], + }, + 'Other 1st - JLT 1': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(8, 19, 'orange', 0), + new Piece(8, 17, 'purple', 3), + new Piece(9, 15, 'teal', 3), + new Piece(4, 19, 'yellow', 0), + new Piece(2, 18, 'green', 0), + new Piece(6, 18, 'red', 3), + new Piece(0, 16, 'teal', 3), + new Piece(1, 16, 'blue', 3), + new Piece(3, 16, 'green', 0), + new Piece(7, 16, 'yellow', 0), + new Piece(6, 14, 'red', 0), + new Piece(8, 14, 'orange', 1), + new Piece(5, 17, 'purple', 2), + ], + }, + 'Other 1st - JLT 2': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(8, 19, 'orange', 0), + new Piece(8, 17, 'purple', 3), + new Piece(6, 18, 'red', 3), + new Piece(9, 15, 'teal', 3), + new Piece(1, 17, 'green', 1), + new Piece(4, 19, 'yellow', 0), + new Piece(3, 17, 'teal', 1), + new Piece(3, 16, 'blue', 3), + new Piece(7, 16, 'yellow', 0), + new Piece(8, 14, 'orange', 1), + new Piece(6, 13, 'red', 2), + new Piece(1, 15, 'green', 1), + new Piece(5, 17, 'purple', 2), + ], + }, + 'Other 1st - LTZ': { + pieces: [ + new Piece(1, 18, 'orange', 2), + new Piece(1, 17, 'yellow', 0), + new Piece(7, 19, 'blue', 0), + new Piece(9, 18, 'purple', 1), + new Piece(7, 17, 'red', 3), + new Piece(7, 16, 'green', 0), + new Piece(3, 19, 'teal', 2), + new Piece(3, 18, 'red', 0), + new Piece(8, 14, 'yellow', 0), + new Piece(3, 16, 'green', 0), + new Piece(6, 14, 'orange', 1), + new Piece(1, 15, 'blue', 0), + new Piece(9, 15, 'teal', 3), + new Piece(5, 17, 'purple', 2), + ], + }, + }, + 'HeboMAI Spin': { + 'TSD - 4Wide 1': { + pieces: [ + new Piece(0, 18, 'red', 3), + new Piece(8, 20, 'teal', 0), + new Piece(5, 19, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(9, 17, 'blue', 1), + new Piece(4, 16, 'green', 3), + new Piece(2, 19, 'purple', 0), + new Piece(8, 17, 'yellow', 0), + new Piece(9, 14, 'teal', 3), + new Piece(7, 15, 'orange', 0), + new Piece(5, 14, 'green', 1), + new Piece(6, 14, 'red', 0), + new Piece(0, 16, 'blue', 3), + new Piece(3, 17, 'purple', 2), + ], + }, + 'TSD - 4Wide 2': { + pieces: [ + new Piece(0, 18, 'red', 3), + new Piece(8, 20, 'teal', 0), + new Piece(5, 19, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(9, 17, 'blue', 1), + new Piece(4, 16, 'green', 3), + new Piece(2, 19, 'purple', 0), + new Piece(8, 17, 'yellow', 0), + new Piece(9, 14, 'teal', 3), + new Piece(7, 15, 'orange', 0), + new Piece(5, 14, 'green', 1), + new Piece(6, 14, 'red', 0), + new Piece(0, 16, 'blue', 3), + new Piece(3, 17, 'purple', 2), + ], + }, + 'TSD - 4Wide 3': { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(5, 19, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(9, 17, 'blue', 1), + new Piece(4, 16, 'green', 3), + new Piece(0, 18, 'red', 3), + new Piece(2, 19, 'purple', 0), + new Piece(0, 16, 'red', 3), + new Piece(7, 16, 'teal', 3), + new Piece(8, 16, 'blue', 3), + new Piece(4, 14, 'green', 3), + new Piece(9, 14, 'yellow', 0), + new Piece(6, 14, 'orange', 1), + new Piece(3, 17, 'purple', 2), + ], + }, + 'Double Hebomai Spin': { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(5, 19, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(9, 17, 'blue', 1), + new Piece(4, 16, 'green', 3), + new Piece(0, 18, 'red', 3), + new Piece(2, 19, 'purple', 0), + new Piece(7, 16, 'orange', 3), + new Piece(8, 15, 'red', 3), + new Piece(6, 15, 'yellow', 0), + new Piece(8, 14, 'green', 0), + new Piece(6, 14, 'teal', 0), + new Piece(0, 16, 'blue', 3), + new Piece(3, 17, 'purple', 2), + new Piece(1, 14, 'yellow', 0), + new Piece(2, 16, 'purple', 0), + ], + }, + 'Nil cross': { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(5, 19, 'yellow', 0), + new Piece(6, 17, 'orange', 3), + new Piece(9, 17, 'blue', 1), + new Piece(4, 16, 'green', 3), + new Piece(0, 18, 'red', 3), + new Piece(2, 19, 'purple', 0), + new Piece(8, 17, 'yellow', 0), + new Piece(1, 16, 'orange', 2), + new Piece(7, 16, 'teal', 0), + new Piece(8, 14, 'green', 3), + new Piece(1, 15, 'blue', 0), + new Piece(5, 14, 'red', 0), + new Piece(2, 13, 'blue', 1), + new Piece(1, 13, 'yellow', 0), + new Piece(6, 13, 'green', 3), + new Piece(7, 12, 'red', 0), + new Piece(9, 12, 'orange', 1), + new Piece(2, 12, 'teal', 0), + new Piece(3, 14, 'purple', 3), + new Piece(3, 14, 'purple', 1), + ], + }, + Trinity: { + pieces: [ + new Piece(0, 18, 'red', 3), + new Piece(8, 20, 'teal', 0), + new Piece(6, 17, 'orange', 3), + new Piece(9, 17, 'blue', 1), + new Piece(5, 19, 'yellow', 0), + new Piece(4, 16, 'green', 3), + new Piece(2, 19, 'purple', 0), + new Piece(8, 17, 'yellow', 0), + new Piece(0, 16, 'teal', 3), + new Piece(5, 15, 'red', 0), + new Piece(8, 15, 'orange', 0), + new Piece(1, 15, 'blue', 3), + new Piece(3, 12, 'green', 3), + new Piece(3, 17, 'purple', 2), + ], + }, + 'Imp-Cross': { + pieces: [ + new Piece(0, 18, 'red', 3), + new Piece(8, 20, 'teal', 0), + new Piece(6, 17, 'orange', 3), + new Piece(9, 17, 'blue', 1), + new Piece(5, 19, 'yellow', 0), + new Piece(4, 16, 'green', 3), + new Piece(2, 19, 'purple', 0), + new Piece(1, 16, 'orange', 2), + new Piece(8, 17, 'yellow', 0), + new Piece(8, 16, 'teal', 0), + new Piece(5, 14, 'red', 3), + new Piece(4, 14, 'green', 0), + new Piece(8, 14, 'blue', 0), + new Piece(3, 17, 'purple', 3), + ], + }, + 'TSD - Tetris Dono': { + pieces: [ + new Piece(0, 18, 'red', 3), + new Piece(8, 20, 'teal', 0), + new Piece(6, 17, 'orange', 3), + new Piece(9, 17, 'blue', 1), + new Piece(5, 19, 'yellow', 0), + new Piece(4, 16, 'green', 3), + new Piece(2, 19, 'purple', 0), + new Piece(4, 14, 'green', 3), + new Piece(0, 16, 'red', 3), + new Piece(7, 16, 'teal', 3), + new Piece(8, 16, 'blue', 3), + new Piece(9, 14, 'yellow', 0), + new Piece(6, 14, 'orange', 1), + new Piece(3, 17, 'purple', 2), + new Piece(2, 15, 'red', 3), + new Piece(2, 14, 'green', 0), + new Piece(7, 12, 'purple', 2), + new Piece(8, 11, 'blue', 2), + new Piece(2, 12, 'orange', 2), + new Piece(5, 12, 'yellow', 0), + new Piece(1, 14, 'teal', 1), + ], + }, + 'PC-8 1': { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(0, 18, 'red', 3), + new Piece(9, 17, 'blue', 1), + new Piece(5, 19, 'yellow', 0), + new Piece(4, 16, 'green', 3), + new Piece(6, 17, 'orange', 3), + new Piece(2, 19, 'purple', 0), + new Piece(8, 17, 'yellow', 0), + new Piece(0, 16, 'blue', 3), + new Piece(4, 14, 'green', 3), + new Piece(8, 16, 'teal', 0), + new Piece(6, 14, 'red', 0), + new Piece(3, 17, 'purple', 3), + new Piece(3, 14, 'orange', 1), + ], + }, + 'PC-8 2': { + pieces: [ + new Piece(0, 18, 'red', 3), + new Piece(8, 20, 'teal', 0), + new Piece(6, 17, 'orange', 3), + new Piece(5, 19, 'yellow', 0), + new Piece(4, 16, 'green', 3), + new Piece(9, 17, 'blue', 1), + new Piece(2, 19, 'purple', 0), + new Piece(8, 17, 'yellow', 0), + new Piece(7, 14, 'orange', 3), + new Piece(5, 15, 'red', 0), + new Piece(8, 14, 'green', 3), + new Piece(8, 12, 'blue', 2), + new Piece(1, 16, 'teal', 1), + new Piece(3, 17, 'purple', 2), + ], + }, + }, + 'Horse Opener': { + variation: { + pieces: [ + new Piece(2, 18, 'red', 3), + new Piece(6, 18, 'green', 3), + new Piece(1, 16, 'blue', 2), + new Piece(5, 17, 'teal', 0), + new Piece(8, 17, 'yellow', 0), + new Piece(8, 14, 'orange', 2), + new Piece(5, 15, 'purple', 0), + ], + }, + }, + 'Mountainous Stacking 1': { + 'TD PC': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(0, 17, 'orange', 3), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(2, 17, 'green', 1), + new Piece(7, 16, 'blue', 2), + new Piece(5, 16, 'red', 2), + new Piece(1, 15, 'yellow', 0), + new Piece(2, 15, 'blue', 3), + new Piece(9, 16, 'teal', 3), + new Piece(3, 17, 'purple', 3), + new Piece(7, 15, 'orange', 0), + ], + }, + 'TS PC': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(0, 17, 'orange', 3), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(2, 17, 'green', 1), + new Piece(1, 15, 'blue', 2), + new Piece(5, 17, 'red', 0), + new Piece(9, 17, 'yellow', 0), + new Piece(7, 16, 'green', 0), + new Piece(8, 14, 'blue', 2), + new Piece(2, 15, 'teal', 0), + new Piece(3, 17, 'purple', 3), + ], + }, + 'PC 8-A': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(0, 17, 'orange', 3), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(2, 17, 'green', 1), + new Piece(7, 16, 'blue', 2), + new Piece(5, 16, 'red', 2), + new Piece(1, 15, 'green', 3), + new Piece(0, 14, 'blue', 3), + new Piece(9, 16, 'orange', 1), + new Piece(3, 14, 'yellow', 0), + new Piece(2, 13, 'teal', 0), + new Piece(3, 17, 'purple', 3), + ], + }, + 'PC 8-B': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(0, 17, 'orange', 3), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(2, 17, 'green', 1), + new Piece(1, 14, 'blue', 1), + new Piece(0, 13, 'blue', 3), + new Piece(3, 15, 'teal', 1), + new Piece(9, 17, 'yellow', 0), + new Piece(7, 16, 'green', 0), + new Piece(5, 16, 'red', 2), + new Piece(3, 13, 'orange', 1), + new Piece(3, 17, 'purple', 3), + ], + }, + 'PC 8-C': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(0, 17, 'orange', 3), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(2, 17, 'green', 1), + new Piece(9, 16, 'blue', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(5, 17, 'red', 0), + new Piece(6, 15, 'orange', 3), + new Piece(7, 15, 'green', 3), + new Piece(2, 15, 'blue', 3), + new Piece(2, 14, 'teal', 0), + new Piece(3, 17, 'purple', 3), + ], + }, + 'PC 8-D': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(0, 17, 'orange', 3), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(2, 17, 'green', 1), + new Piece(9, 16, 'blue', 1), + new Piece(1, 15, 'blue', 2), + new Piece(2, 15, 'teal', 0), + new Piece(5, 17, 'red', 0), + new Piece(6, 15, 'orange', 3), + new Piece(7, 15, 'green', 3), + new Piece(1, 13, 'yellow', 0), + new Piece(3, 17, 'purple', 3), + ], + }, + Compromise: { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(0, 17, 'orange', 3), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(2, 17, 'green', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(7, 16, 'blue', 2), + new Piece(5, 16, 'red', 2), + new Piece(2, 15, 'blue', 3), + new Piece(9, 16, 'teal', 3), + new Piece(7, 14, 'green', 3), + new Piece(6, 14, 'orange', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 17, 'purple', 3), + new Piece(1, 13, 'blue', 0), + new Piece(1, 12, 'red', 0), + new Piece(9, 13, 'yellow', 0), + new Piece(7, 12, 'green', 0), + new Piece(2, 11, 'teal', 0), + new Piece(3, 12, 'orange', 1), + new Piece(4, 15, 'purple', 2), + ], + }, + }, + 'Mountainous Stacking 2': { + 'PC 8-A': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(2, 19, 'blue', 0), + new Piece(1, 17, 'green', 3), + new Piece(0, 14, 'orange', 3), + new Piece(2, 15, 'blue', 3), + new Piece(9, 17, 'yellow', 0), + new Piece(5, 17, 'red', 0), + new Piece(7, 16, 'green', 0), + new Piece(2, 13, 'orange', 2), + new Piece(3, 17, 'purple', 3), + ], + }, + 'PC 8-B': { + pieces: [ + new Piece(0, 18, 'teal', 3), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(2, 19, 'blue', 0), + new Piece(1, 17, 'green', 3), + new Piece(0, 14, 'orange', 3), + new Piece(2, 15, 'blue', 3), + new Piece(1, 13, 'orange', 1), + new Piece(9, 17, 'yellow', 0), + new Piece(5, 17, 'red', 0), + new Piece(7, 16, 'green', 0), + new Piece(9, 14, 'teal', 3), + new Piece(3, 17, 'purple', 3), + ], + }, + 'PC 8-C': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(2, 19, 'blue', 0), + new Piece(1, 17, 'green', 3), + new Piece(0, 14, 'orange', 3), + new Piece(2, 15, 'blue', 3), + new Piece(9, 17, 'yellow', 0), + new Piece(5, 17, 'red', 0), + new Piece(7, 16, 'green', 0), + new Piece(2, 13, 'orange', 2), + new Piece(3, 17, 'purple', 3), + new Piece(2, 13, 'teal', 0), + ], + }, + 'PC 8-D': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(2, 19, 'blue', 0), + new Piece(1, 17, 'green', 3), + new Piece(6, 15, 'orange', 3), + new Piece(5, 17, 'red', 0), + new Piece(8, 16, 'orange', 1), + new Piece(9, 16, 'teal', 3), + new Piece(1, 15, 'green', 3), + new Piece(0, 14, 'blue', 3), + new Piece(3, 14, 'yellow', 0), + new Piece(3, 17, 'purple', 3), + ], + }, + 'PC 8-Extra': { + pieces: [ + new Piece(0, 18, 'teal', 3), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(2, 19, 'blue', 0), + new Piece(1, 17, 'green', 3), + new Piece(6, 15, 'orange', 3), + new Piece(5, 17, 'red', 0), + new Piece(9, 17, 'yellow', 0), + new Piece(8, 15, 'orange', 0), + new Piece(8, 14, 'green', 0), + new Piece(1, 15, 'blue', 2), + new Piece(2, 15, 'teal', 0), + new Piece(3, 17, 'purple', 3), + ], + }, + Compromise: { + pieces: [ + new Piece(0, 18, 'teal', 3), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(2, 19, 'blue', 0), + new Piece(1, 17, 'green', 3), + new Piece(6, 15, 'orange', 3), + new Piece(5, 17, 'red', 0), + new Piece(9, 16, 'teal', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(2, 15, 'blue', 3), + new Piece(1, 13, 'green', 0), + new Piece(8, 16, 'orange', 1), + new Piece(3, 17, 'purple', 3), + new Piece(7, 13, 'orange', 3), + new Piece(2, 11, 'blue', 0), + new Piece(3, 13, 'green', 0), + new Piece(9, 13, 'yellow', 0), + new Piece(1, 11, 'teal', 1), + new Piece(4, 15, 'purple', 2), + new Piece(2, 10, 'red', 0), + new Piece(5, 13, 'red', 3), + new Piece(0, 7, 'blue', 3), + new Piece(2, 8, 'yellow', 0), + new Piece(8, 10, 'orange', 1), + new Piece(9, 10, 'teal', 3), + new Piece(6, 10, 'green', 3), + new Piece(5, 11, 'purple', 2), + ], + }, + }, + 'Mountainous Stacking 3': { + 'PC 8-A': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(2, 19, 'blue', 0), + new Piece(7, 18, 'purple', 1), + new Piece(8, 18, 'orange', 3), + new Piece(5, 18, 'red', 2), + new Piece(1, 17, 'green', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(5, 17, 'red', 0), + new Piece(6, 15, 'orange', 3), + new Piece(7, 15, 'green', 3), + new Piece(9, 17, 'teal', 3), + new Piece(2, 15, 'blue', 3), + new Piece(3, 17, 'purple', 3), + ], + }, + 'PC 8-B': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(2, 19, 'blue', 0), + new Piece(7, 18, 'purple', 1), + new Piece(8, 18, 'orange', 3), + new Piece(5, 18, 'red', 2), + new Piece(1, 17, 'green', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(1, 13, 'yellow', 0), + new Piece(9, 17, 'orange', 1), + new Piece(5, 17, 'red', 0), + new Piece(7, 16, 'green', 0), + new Piece(9, 14, 'teal', 3), + new Piece(2, 15, 'blue', 3), + new Piece(3, 17, 'purple', 3), + ], + }, + 'PC 8-C': { + pieces: [ + new Piece(0, 18, 'teal', 3), + new Piece(2, 19, 'blue', 0), + new Piece(7, 18, 'purple', 1), + new Piece(8, 18, 'orange', 3), + new Piece(5, 18, 'red', 2), + new Piece(1, 17, 'green', 3), + new Piece(5, 17, 'red', 0), + new Piece(1, 15, 'green', 3), + new Piece(0, 14, 'blue', 3), + new Piece(7, 16, 'orange', 0), + new Piece(7, 15, 'yellow', 0), + new Piece(3, 14, 'yellow', 0), + new Piece(9, 17, 'teal', 3), + new Piece(3, 17, 'purple', 3), + ], + }, + 'PC 8-D': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(2, 19, 'blue', 0), + new Piece(7, 18, 'purple', 1), + new Piece(8, 18, 'orange', 3), + new Piece(5, 18, 'red', 2), + new Piece(1, 17, 'green', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(1, 13, 'yellow', 0), + new Piece(5, 17, 'red', 0), + new Piece(6, 15, 'orange', 3), + new Piece(7, 15, 'green', 3), + new Piece(2, 15, 'blue', 3), + new Piece(9, 17, 'teal', 3), + new Piece(3, 17, 'purple', 3), + ], + }, + 'PC 8-E': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(2, 19, 'blue', 0), + new Piece(7, 18, 'purple', 1), + new Piece(8, 18, 'orange', 3), + new Piece(5, 19, 'red', 0), + new Piece(1, 17, 'green', 3), + new Piece(8, 16, 'yellow', 0), + new Piece(5, 17, 'red', 0), + new Piece(1, 15, 'green', 3), + new Piece(3, 14, 'yellow', 0), + new Piece(2, 12, 'orange', 2), + new Piece(6, 15, 'blue', 3), + new Piece(9, 17, 'teal', 3), + new Piece(3, 17, 'purple', 3), + ], + }, + 'Compromise-ZJ': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(2, 19, 'blue', 0), + new Piece(7, 18, 'purple', 1), + new Piece(8, 18, 'orange', 3), + new Piece(5, 19, 'red', 0), + new Piece(1, 17, 'green', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(5, 17, 'red', 0), + new Piece(2, 15, 'blue', 3), + new Piece(8, 16, 'yellow', 0), + new Piece(1, 13, 'green', 0), + new Piece(1, 10, 'orange', 3), + new Piece(9, 17, 'teal', 3), + new Piece(3, 17, 'purple', 3), + new Piece(4, 15, 'green', 0), + new Piece(7, 13, 'orange', 1), + new Piece(3, 12, 'blue', 1), + new Piece(2, 9, 'red', 3), + new Piece(0, 11, 'teal', 3), + new Piece(9, 14, 'yellow', 0), + new Piece(6, 15, 'purple', 1), + new Piece(5, 12, 'orange', 3), + new Piece(6, 10, 'teal', 3), + new Piece(8, 12, 'red', 0), + new Piece(8, 10, 'blue', 2), + new Piece(2, 6, 'green', 3), + new Piece(2, 8, 'yellow', 0), + new Piece(4, 10, 'purple', 2), + ], + }, + 'Compromise-JZ': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(2, 19, 'blue', 0), + new Piece(7, 18, 'purple', 1), + new Piece(8, 18, 'orange', 3), + new Piece(5, 19, 'red', 0), + new Piece(2, 17, 'green', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(5, 17, 'red', 0), + new Piece(2, 15, 'blue', 3), + new Piece(8, 16, 'yellow', 0), + new Piece(1, 13, 'green', 0), + new Piece(1, 10, 'orange', 3), + new Piece(9, 17, 'teal', 3), + new Piece(3, 17, 'purple', 3), + new Piece(4, 15, 'green', 0), + new Piece(7, 13, 'orange', 1), + new Piece(3, 12, 'blue', 1), + new Piece(2, 9, 'red', 3), + new Piece(1, 11, 'teal', 1), + new Piece(9, 14, 'yellow', 0), + new Piece(6, 15, 'purple', 1), + new Piece(5, 12, 'orange', 3), + new Piece(9, 11, 'teal', 3), + new Piece(7, 11, 'blue', 0), + new Piece(2, 6, 'green', 3), + new Piece(2, 8, 'yellow', 0), + new Piece(7, 10, 'red', 0), + new Piece(4, 10, 'purple', 2), + ], + }, + }, + 'Loyal TD': { + 'IS-O': { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(5, 18, 'purple', 1), + new Piece(3, 18, 'red', 2), + new Piece(6, 17, 'blue', 3), + new Piece(8, 18, 'yellow', 0), + new Piece(5, 16, 'green', 0), + new Piece(7, 15, 'green', 3), + new Piece(9, 17, 'teal', 3), + new Piece(5, 14, 'orange', 2), + new Piece(0, 15, 'blue', 3), + new Piece(3, 16, 'red', 2), + new Piece(9, 14, 'yellow', 0), + new Piece(1, 17, 'purple', 3), + ], + }, + 'L-O': { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(5, 18, 'purple', 1), + new Piece(3, 18, 'red', 2), + new Piece(6, 17, 'blue', 3), + new Piece(8, 18, 'yellow', 0), + new Piece(5, 16, 'green', 0), + new Piece(7, 15, 'green', 3), + new Piece(9, 17, 'teal', 3), + new Piece(5, 14, 'orange', 2), + new Piece(0, 15, 'blue', 3), + new Piece(3, 17, 'red', 0), + new Piece(6, 13, 'yellow', 0), + ], + }, + 'J-O': { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(5, 18, 'purple', 1), + new Piece(3, 18, 'red', 2), + new Piece(6, 17, 'blue', 3), + new Piece(8, 18, 'yellow', 0), + new Piece(5, 16, 'green', 0), + new Piece(7, 15, 'green', 3), + new Piece(9, 17, 'teal', 3), + new Piece(5, 14, 'orange', 2), + new Piece(0, 15, 'blue', 3), + new Piece(3, 16, 'red', 2), + new Piece(1, 13, 'yellow', 0), + new Piece(1, 17, 'purple', 3), + ], + }, + Compromise: { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(5, 18, 'purple', 1), + new Piece(3, 18, 'red', 2), + new Piece(6, 17, 'blue', 3), + new Piece(8, 18, 'yellow', 0), + new Piece(5, 16, 'green', 0), + new Piece(6, 14, 'yellow', 0), + new Piece(7, 15, 'green', 3), + new Piece(9, 17, 'teal', 3), + new Piece(5, 12, 'orange', 2), + new Piece(0, 15, 'blue', 3), + new Piece(3, 16, 'red', 2), + new Piece(1, 17, 'purple', 3), + ], + }, + }, + 'PC-Spin': { + 'Base: PC-6': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(4, 20, 'teal', 0), + new Piece(9, 18, 'blue', 1), + new Piece(3, 18, 'orange', 0), + new Piece(3, 17, 'green', 0), + new Piece(2, 16, 'red', 1), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'teal', 1), + new Piece(7, 17, 'red', 0), + new Piece(4, 15, 'green', 0), + new Piece(2, 14, 'orange', 2), + new Piece(9, 15, 'blue', 1), + new Piece(5, 17, 'purple', 3), + ], + }, + 'Base: OJ': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(4, 20, 'teal', 0), + new Piece(9, 18, 'blue', 1), + new Piece(3, 18, 'orange', 0), + new Piece(3, 17, 'green', 0), + new Piece(2, 16, 'red', 1), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'teal', 1), + new Piece(7, 17, 'red', 0), + new Piece(9, 16, 'yellow', 0), + new Piece(4, 15, 'green', 0), + new Piece(2, 14, 'orange', 2), + new Piece(9, 13, 'blue', 1), + new Piece(5, 17, 'purple', 3), + ], + }, + 'Base: JO': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(4, 20, 'teal', 0), + new Piece(9, 18, 'blue', 1), + new Piece(3, 18, 'orange', 0), + new Piece(3, 17, 'green', 0), + new Piece(2, 16, 'red', 1), + new Piece(7, 18, 'purple', 2), + new Piece(3, 13, 'teal', 1), + new Piece(7, 17, 'red', 0), + new Piece(0, 16, 'blue', 3), + new Piece(4, 15, 'green', 0), + new Piece(8, 15, 'orange', 3), + new Piece(1, 14, 'yellow', 0), + new Piece(5, 17, 'purple', 3), + ], + }, + 'Base: PC-8 1': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(4, 20, 'teal', 0), + new Piece(9, 18, 'blue', 1), + new Piece(3, 18, 'orange', 0), + new Piece(3, 17, 'green', 0), + new Piece(2, 16, 'red', 1), + new Piece(7, 18, 'purple', 2), + new Piece(0, 16, 'teal', 3), + new Piece(7, 17, 'red', 0), + new Piece(4, 15, 'green', 0), + new Piece(1, 14, 'orange', 1), + new Piece(9, 16, 'yellow', 0), + new Piece(9, 13, 'blue', 1), + new Piece(5, 17, 'purple', 3), + ], + }, + '8PCO: A': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'yellow', 0), + new Piece(4, 19, 'red', 0), + new Piece(1, 17, 'green', 1), + new Piece(6, 18, 'purple', 1), + new Piece(9, 16, 'teal', 3), + new Piece(4, 17, 'red', 0), + new Piece(7, 17, 'teal', 0), + new Piece(7, 15, 'orange', 0), + new Piece(1, 15, 'green', 1), + new Piece(2, 13, 'blue', 1), + new Piece(1, 13, 'yellow', 0), + new Piece(2, 17, 'purple', 3), + ], + }, + '8PCO: B': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'yellow', 0), + new Piece(4, 19, 'red', 0), + new Piece(1, 17, 'green', 1), + new Piece(6, 18, 'purple', 1), + new Piece(9, 16, 'teal', 3), + new Piece(4, 17, 'red', 0), + new Piece(7, 17, 'teal', 0), + new Piece(0, 15, 'green', 3), + new Piece(7, 15, 'blue', 0), + new Piece(2, 14, 'yellow', 0), + new Piece(1, 12, 'orange', 2), + new Piece(2, 17, 'purple', 3), + ], + }, + '8PCO: C': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'yellow', 0), + new Piece(4, 19, 'red', 0), + new Piece(1, 17, 'green', 1), + new Piece(6, 18, 'purple', 1), + new Piece(9, 16, 'teal', 3), + new Piece(4, 17, 'red', 0), + new Piece(0, 14, 'teal', 3), + new Piece(5, 15, 'orange', 3), + new Piece(1, 15, 'blue', 3), + new Piece(8, 16, 'yellow', 0), + new Piece(8, 14, 'green', 0), + new Piece(2, 17, 'purple', 3), + ], + }, + '8PCO: D': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(8, 19, 'orange', 0), + new Piece(9, 16, 'teal', 3), + new Piece(4, 19, 'red', 0), + new Piece(6, 18, 'purple', 1), + new Piece(8, 18, 'yellow', 0), + new Piece(4, 17, 'red', 0), + new Piece(8, 15, 'blue', 1), + new Piece(7, 14, 'teal', 3), + new Piece(0, 15, 'green', 3), + new Piece(5, 15, 'orange', 3), + new Piece(2, 14, 'yellow', 0), + new Piece(2, 17, 'purple', 3), + ], + }, + 'Okey: OJ': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'yellow', 0), + new Piece(4, 19, 'red', 0), + new Piece(6, 18, 'purple', 1), + new Piece(1, 17, 'green', 1), + new Piece(2, 15, 'teal', 1), + new Piece(4, 17, 'red', 0), + new Piece(7, 16, 'yellow', 3), + new Piece(5, 15, 'blue', 3), + new Piece(8, 16, 'green', 3), + new Piece(2, 13, 'orange', 1), + new Piece(1, 14, 'teal', 1), + new Piece(2, 17, 'purple', 3), + ], + }, + 'Okey: JO': { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'yellow', 0), + new Piece(4, 19, 'red', 0), + new Piece(6, 18, 'purple', 1), + new Piece(1, 17, 'green', 1), + new Piece(2, 15, 'teal', 1), + new Piece(4, 17, 'red', 0), + new Piece(8, 16, 'blue', 2), + new Piece(6, 16, 'green', 0), + new Piece(9, 15, 'yellow', 0), + new Piece(2, 13, 'orange', 1), + new Piece(1, 14, 'teal', 1), + new Piece(2, 17, 'purple', 3), + ], + }, + }, + 'DC-Spin': { + Base: { + pieces: [ + new Piece(0, 18, 'teal', 3), + new Piece(2, 19, 'orange', 0), + new Piece(5, 19, 'blue', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(8, 19, 'red', 0), + new Piece(5, 17, 'purple', 2), + new Piece(8, 17, 'green', 3), + new Piece(5, 16, 'green', 0), + new Piece(9, 15, 'teal', 3), + new Piece(3, 16, 'blue', 3), + new Piece(2, 16, 'yellow', 0), + new Piece(1, 14, 'red', 1), + new Piece(8, 14, 'orange', 1), + new Piece(7, 16, 'purple', 1), + ], + seed: 'IwNgzALMCswAwE4wA4BMcg', + }, + 'O Left': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(3, 19, 'yellow', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(5, 19, 'purple', 0), + new Piece(5, 17, 'orange', 2), + new Piece(1, 18, 'blue', 3), + new Piece(8, 14, 'orange', 1), + new Piece(5, 16, 'green', 0), + new Piece(3, 16, 'blue', 3), + new Piece(1, 16, 'red', 0), + new Piece(1, 14, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(7, 16, 'purple', 1), + ], + seed: 'IwNgzALMCswBwwAwCZhA', + }, + 'O Right': { + pieces: [ + new Piece(3, 19, 'yellow', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(5, 19, 'purple', 0), + new Piece(5, 17, 'orange', 2), + new Piece(1, 18, 'blue', 3), + new Piece(1, 18, 'teal', 1), + new Piece(5, 16, 'green', 0), + new Piece(9, 15, 'teal', 3), + new Piece(3, 16, 'blue', 3), + new Piece(1, 16, 'red', 0), + new Piece(4, 14, 'yellow', 0), + new Piece(8, 14, 'orange', 1), + new Piece(7, 16, 'purple', 1), + ], + seed: 'IwNgzALMCsMAzWgdgJxA', + }, + }, + 'Crown TSD': { + 'LST Stacking': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + new Piece(1, 16, 'green', 1), + new Piece(7, 16, 'red', 3), + new Piece(6, 16, 'yellow', 0), + new Piece(4, 15, 'orange', 1), + new Piece(9, 15, 'teal', 3), + new Piece(6, 14, 'blue', 2), + new Piece(2, 15, 'purple', 2), + new Piece(0, 13, 'orange', 3), + new Piece(7, 13, 'blue', 2), + new Piece(4, 12, 'green', 1), + new Piece(5, 12, 'red', 3), + new Piece(5, 11, 'yellow', 3), + new Piece(10, 11, 'teal', 1), + new Piece(2, 13, 'purple', 2), + new Piece(1, 11, 'green', 1), + new Piece(7, 11, 'orange', 1), + new Piece(8, 11, 'teal', 3), + new Piece(6, 9, 'yellow', 0), + new Piece(7, 8, 'red', 3), + new Piece(4, 8, 'blue', 1), + new Piece(2, 10, 'purple', 2), + ], + }, + 'TST Tower': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + new Piece(2, 16, 'blue', 1), + new Piece(8, 15, 'green', 3), + new Piece(4, 16, 'red', 0), + new Piece(1, 16, 'yellow', 0), + new Piece(0, 13, 'orange', 3), + new Piece(4, 15, 'teal', 0), + new Piece(6, 15, 'purple', 1), + new Piece(9, 13, 'orange', 1), + new Piece(6, 13, 'yellow', 0), + new Piece(6, 11, 'green', 0), + new Piece(1, 12, 'red', 3), + new Piece(3, 12, 'blue', 1), + new Piece(5, 12, 'teal', 1), + new Piece(7, 13, 'purple', 3), + ], + }, + 'TSS PC-6': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + new Piece(2, 17, 'yellow', 0), + new Piece(2, 15, 'green', 0), + new Piece(7, 17, 'teal', 0), + new Piece(9, 15, 'orange', 1), + new Piece(0, 15, 'blue', 3), + ], + }, + 'TSD PC-6 1': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + new Piece(5, 16, 'yellow', 0), + new Piece(6, 16, 'green', 3), + new Piece(0, 15, 'orange', 3), + new Piece(5, 15, 'teal', 0), + new Piece(8, 16, 'red', 0), + new Piece(8, 14, 'blue', 2), + new Piece(2, 15, 'purple', 2), + new Piece(2, 15, 'yellow', 0), + ], + }, + 'TSD PC-6 2': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + new Piece(0, 16, 'green', 3), + new Piece(7, 17, 'teal', 0), + new Piece(4, 15, 'orange', 1), + new Piece(8, 15, 'blue', 2), + new Piece(6, 15, 'yellow', 0), + new Piece(2, 15, 'purple', 2), + ], + }, + 'PC-12': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + new Piece(5, 16, 'orange', 0), + new Piece(9, 16, 'yellow', 0), + new Piece(7, 16, 'teal', 3), + new Piece(9, 13, 'blue', 1), + new Piece(0, 16, 'green', 3), + new Piece(4, 15, 'red', 0), + new Piece(2, 15, 'purple', 2), + new Piece(0, 13, 'orange', 3), + new Piece(6, 14, 'yellow', 0), + new Piece(3, 12, 'green', 3), + new Piece(5, 12, 'red', 0), + new Piece(7, 12, 'teal', 3), + new Piece(8, 12, 'blue', 3), + new Piece(2, 13, 'purple', 2), + new Piece(1, 11, 'green', 1), + new Piece(4, 10, 'red', 0), + new Piece(6, 10, 'orange', 1), + new Piece(5, 9, 'teal', 0), + new Piece(9, 9, 'blue', 1), + new Piece(8, 9, 'yellow', 0), + ], + }, + 'PC-8 A': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + new Piece(1, 17, 'red', 0), + new Piece(3, 15, 'orange', 2), + new Piece(5, 15, 'green', 2), + new Piece(4, 14, 'blue', 0), + new Piece(5, 13, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(7, 16, 'purple', 2), + ], + }, + 'PC-8 B': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + new Piece(2, 17, 'yellow', 0), + new Piece(5, 16, 'green', 0), + new Piece(0, 15, 'red', 3), + new Piece(2, 14, 'orange', 1), + new Piece(0, 13, 'blue', 3), + new Piece(9, 15, 'teal', 3), + new Piece(7, 16, 'purple', 2), + ], + }, + 'PC-8 C': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + new Piece(1, 16, 'blue', 2), + new Piece(5, 16, 'green', 0), + new Piece(3, 15, 'red', 0), + new Piece(9, 15, 'teal', 3), + new Piece(5, 14, 'yellow', 0), + new Piece(4, 12, 'orange', 2), + new Piece(7, 16, 'purple', 2), + ], + }, + 'PC-8 D': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + new Piece(1, 17, 'red', 0), + new Piece(7, 17, 'teal', 0), + new Piece(1, 15, 'green', 3), + new Piece(9, 15, 'orange', 1), + new Piece(3, 14, 'yellow', 0), + new Piece(0, 14, 'blue', 3), + new Piece(4, 15, 'purple', 2), + ], + }, + 'PC-8 E': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + new Piece(2, 16, 'teal', 3), + new Piece(1, 16, 'yellow', 0), + new Piece(8, 16, 'orange', 0), + new Piece(8, 15, 'green', 0), + new Piece(6, 15, 'blue', 1), + new Piece(5, 13, 'red', 3), + new Piece(4, 15, 'purple', 2), + ], + }, + 'PC-8 1': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + new Piece(1, 17, 'red', 0), + new Piece(6, 17, 'teal', 0), + new Piece(9, 15, 'blue', 1), + new Piece(5, 15, 'green', 0), + new Piece(4, 14, 'yellow', 0), + new Piece(2, 15, 'purple', 2), + new Piece(1, 14, 'orange', 2), + ], + }, + 'PC-8 2': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + new Piece(1, 16, 'green', 1), + new Piece(5, 16, 'orange', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(4, 15, 'red', 0), + new Piece(9, 15, 'teal', 3), + new Piece(2, 15, 'purple', 2), + ], + }, + 'PC-8 3': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + new Piece(2, 17, 'yellow', 0), + new Piece(0, 15, 'blue', 3), + new Piece(2, 14, 'green', 2), + new Piece(7, 17, 'teal', 0), + new Piece(9, 15, 'orange', 1), + new Piece(4, 15, 'purple', 2), + new Piece(4, 14, 'red', 0), + ], + }, + 'PC-8 4': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(4, 17, 'green', 1), + new Piece(2, 18, 'purple', 2), + new Piece(1, 16, 'green', 1), + new Piece(6, 17, 'teal', 0), + new Piece(9, 15, 'blue', 1), + new Piece(7, 15, 'orange', 0), + new Piece(4, 15, 'red', 0), + new Piece(2, 15, 'purple', 2), + ], + }, + }, + 'QT Cannon': { + variation: { + pieces: [ + new Piece(6, 18, 'orange', 3), + new Piece(5, 18, 'teal', 3), + new Piece(4, 19, 'yellow', 0), + new Piece(4, 16, 'purple', 1), + new Piece(1, 18, 'green', 1), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'blue', 2), + new Piece(3, 14, 'orange', 1), + new Piece(9, 16, 'yellow', 0), + new Piece(9, 13, 'teal', 3), + new Piece(6, 16, 'red', 0), + new Piece(6, 14, 'green', 3), + new Piece(2, 17, 'purple', 2), + new Piece(0, 16, 'blue', 3), + new Piece(8, 13, 'teal', 3), + new Piece(9, 9, 'blue', 1), + new Piece(5, 14, 'yellow', 0), + new Piece(6, 12, 'green', 3), + new Piece(2, 16, 'purple', 1), + new Piece(3, 12, 'red', 0), + new Piece(0, 13, 'orange', 3), + new Piece(0, 10, 'blue', 3), + new Piece(4, 11, 'green', 3), + new Piece(6, 10, 'yellow', 0), + new Piece(7, 10, 'teal', 3), + new Piece(8, 8, 'orange', 1), + new Piece(4, 8, 'red', 3), + new Piece(1, 12, 'purple', 3), + ], + }, + }, + 'Perfect DT': { + 'A1-1': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'red', 1), + new Piece(5, 18, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(4, 16, 'orange', 1), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'blue', 1), + new Piece(1, 15, 'teal', 1), + new Piece(8, 17, 'green', 0), + new Piece(8, 15, 'orange', 2), + new Piece(6, 16, 'yellow', 0), + new Piece(1, 13, 'red', 0), + new Piece(2, 16, 'purple', 3), + new Piece(6, 14, 'red', 0), + new Piece(9, 14, 'yellow', 0), + new Piece(8, 11, 'green', 3), + new Piece(3, 13, 'orange', 1), + new Piece(4, 13, 'blue', 3), + new Piece(1, 10, 'teal', 1), + new Piece(7, 12, 'purple', 2), + new Piece(7, 11, 'yellow', 0), + new Piece(3, 11, 'red', 0), + new Piece(0, 7, 'green', 3), + new Piece(5, 11, 'orange', 1), + new Piece(8, 8, 'blue', 1), + new Piece(9, 9, 'teal', 3), + new Piece(1, 11, 'purple', 3), + ], + }, + 'A1-2': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'red', 1), + new Piece(5, 18, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(4, 16, 'orange', 1), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'blue', 1), + new Piece(1, 15, 'teal', 1), + new Piece(8, 17, 'green', 0), + new Piece(8, 15, 'orange', 2), + new Piece(6, 16, 'yellow', 0), + new Piece(1, 13, 'red', 0), + new Piece(2, 16, 'purple', 3), + new Piece(6, 14, 'red', 0), + new Piece(9, 14, 'yellow', 3), + new Piece(8, 11, 'green', 3), + new Piece(3, 13, 'orange', 1), + new Piece(4, 13, 'blue', 3), + new Piece(1, 10, 'teal', 1), + new Piece(7, 12, 'purple', 2), + new Piece(6, 10, 'green', 3), + new Piece(7, 9, 'red', 0), + new Piece(7, 7, 'blue', 2), + new Piece(1, 11, 'orange', 3), + new Piece(3, 11, 'yellow', 0), + new Piece(9, 9, 'teal', 3), + new Piece(5, 11, 'purple', 2), + ], + }, + 'A1-3': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'red', 1), + new Piece(5, 18, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(4, 16, 'orange', 1), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'blue', 1), + new Piece(1, 15, 'teal', 1), + new Piece(6, 16, 'yellow', 0), + new Piece(8, 17, 'green', 0), + new Piece(8, 15, 'orange', 2), + new Piece(1, 13, 'red', 0), + new Piece(2, 16, 'purple', 3), + new Piece(1, 10, 'teal', 1), + new Piece(9, 14, 'yellow', 0), + new Piece(6, 14, 'red', 0), + new Piece(8, 11, 'green', 3), + new Piece(3, 13, 'orange', 1), + new Piece(4, 13, 'blue', 3), + new Piece(7, 12, 'purple', 2), + new Piece(2, 11, 'teal', 1), + new Piece(2, 11, 'red', 3), + new Piece(2, 9, 'orange', 1), + new Piece(8, 9, 'blue', 2), + new Piece(6, 10, 'green', 3), + new Piece(1, 7, 'yellow', 0), + new Piece(5, 11, 'purple', 2), + ], + }, + A2: { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'red', 1), + new Piece(5, 18, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(4, 16, 'orange', 1), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'blue', 1), + new Piece(1, 15, 'teal', 1), + new Piece(6, 16, 'yellow', 0), + new Piece(8, 17, 'green', 0), + new Piece(8, 15, 'orange', 2), + new Piece(1, 13, 'red', 0), + new Piece(2, 16, 'purple', 3), + new Piece(3, 14, 'orange', 0), + new Piece(6, 14, 'red', 0), + new Piece(8, 13, 'yellow', 0), + new Piece(6, 12, 'green', 0), + new Piece(9, 13, 'teal', 3), + new Piece(1, 11, 'blue', 0), + new Piece(3, 12, 'purple', 2), + ], + }, + 'B1-1': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'red', 1), + new Piece(5, 18, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(4, 16, 'orange', 1), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'blue', 1), + new Piece(1, 15, 'teal', 1), + new Piece(1, 13, 'red', 3), + new Piece(6, 16, 'yellow', 0), + new Piece(8, 17, 'green', 0), + new Piece(8, 15, 'orange', 2), + new Piece(2, 16, 'purple', 3), + new Piece(0, 11, 'orange', 3), + new Piece(3, 13, 'blue', 3), + new Piece(5, 14, 'red', 0), + new Piece(8, 14, 'yellow', 0), + new Piece(7, 11, 'green', 3), + new Piece(9, 13, 'teal', 3), + new Piece(6, 12, 'purple', 2), + new Piece(4, 11, 'orange', 1), + new Piece(1, 9, 'green', 1), + new Piece(1, 8, 'red', 0), + new Piece(5, 10, 'teal', 3), + new Piece(6, 10, 'blue', 3), + new Piece(9, 10, 'yellow', 0), + new Piece(2, 11, 'purple', 1), + ], + }, + 'B1-2': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'red', 1), + new Piece(5, 18, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(4, 16, 'orange', 1), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'blue', 1), + new Piece(1, 15, 'teal', 1), + new Piece(1, 13, 'red', 3), + new Piece(6, 16, 'yellow', 0), + new Piece(8, 17, 'green', 0), + new Piece(8, 15, 'orange', 2), + new Piece(2, 16, 'purple', 3), + new Piece(0, 11, 'orange', 3), + new Piece(3, 13, 'blue', 3), + new Piece(5, 14, 'red', 0), + new Piece(8, 14, 'yellow', 0), + new Piece(7, 11, 'green', 3), + new Piece(9, 13, 'teal', 3), + new Piece(6, 12, 'purple', 2), + new Piece(4, 11, 'red', 3), + new Piece(4, 10, 'green', 0), + new Piece(0, 8, 'teal', 3), + new Piece(6, 10, 'blue', 3), + new Piece(9, 10, 'yellow', 0), + new Piece(8, 8, 'orange', 0), + new Piece(2, 11, 'purple', 2), + ], + }, + 'B1-2 King Crimson': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'red', 1), + new Piece(5, 18, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(4, 16, 'orange', 1), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'blue', 1), + new Piece(1, 15, 'teal', 1), + new Piece(1, 13, 'red', 3), + new Piece(6, 16, 'yellow', 0), + new Piece(8, 17, 'green', 0), + new Piece(8, 15, 'orange', 2), + new Piece(2, 16, 'purple', 3), + new Piece(0, 11, 'orange', 3), + new Piece(3, 13, 'blue', 3), + new Piece(5, 14, 'red', 0), + new Piece(8, 14, 'yellow', 0), + new Piece(7, 11, 'green', 3), + new Piece(9, 13, 'teal', 3), + new Piece(6, 12, 'purple', 2), + new Piece(4, 11, 'red', 3), + new Piece(4, 10, 'green', 0), + new Piece(1, 8, 'teal', 1), + new Piece(6, 10, 'blue', 3), + new Piece(9, 10, 'yellow', 0), + new Piece(8, 8, 'orange', 0), + new Piece(2, 11, 'purple', 2), + new Piece(2, 8, 'green', 3), + new Piece(5, 8, 'yellow', 0), + new Piece(3, 6, 'orange', 1), + new Piece(0, 4, 'blue', 3), + new Piece(6, 7, 'teal', 3), + new Piece(8, 6, 'red', 3), + new Piece(7, 6, 'blue', 3), + new Piece(5, 6, 'yellow', 0), + new Piece(1, 6, 'purple', 3), + ], + }, + 'B1-3': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'red', 1), + new Piece(5, 18, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(4, 16, 'orange', 1), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'blue', 1), + new Piece(1, 15, 'teal', 1), + new Piece(1, 13, 'red', 3), + new Piece(6, 16, 'yellow', 0), + new Piece(8, 17, 'green', 0), + new Piece(8, 15, 'orange', 2), + new Piece(2, 16, 'purple', 3), + new Piece(0, 11, 'orange', 3), + new Piece(3, 13, 'blue', 3), + new Piece(5, 14, 'red', 0), + new Piece(8, 14, 'yellow', 0), + new Piece(7, 11, 'green', 3), + new Piece(9, 13, 'teal', 3), + new Piece(6, 12, 'purple', 2), + new Piece(4, 11, 'red', 3), + new Piece(1, 9, 'green', 1), + new Piece(6, 10, 'blue', 3), + new Piece(9, 10, 'yellow', 0), + new Piece(8, 9, 'teal', 0), + new Piece(8, 7, 'orange', 0), + new Piece(2, 11, 'purple', 2), + ], + }, + 'B1-4': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'red', 1), + new Piece(5, 18, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(4, 16, 'orange', 1), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'blue', 1), + new Piece(1, 15, 'teal', 1), + new Piece(1, 13, 'red', 3), + new Piece(6, 16, 'yellow', 0), + new Piece(8, 17, 'green', 0), + new Piece(8, 15, 'orange', 2), + new Piece(2, 16, 'purple', 3), + new Piece(0, 11, 'orange', 3), + new Piece(3, 13, 'blue', 3), + new Piece(5, 14, 'red', 0), + new Piece(8, 14, 'yellow', 0), + new Piece(8, 11, 'green', 1), + new Piece(9, 13, 'teal', 3), + new Piece(6, 12, 'purple', 2), + new Piece(4, 11, 'red', 3), + new Piece(6, 10, 'teal', 3), + new Piece(4, 10, 'yellow', 0), + new Piece(7, 9, 'green', 3), + new Piece(9, 9, 'orange', 1), + new Piece(4, 8, 'blue', 2), + new Piece(2, 11, 'purple', 2), + ], + }, + 'B2-1': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'red', 1), + new Piece(5, 18, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(4, 16, 'orange', 1), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'blue', 1), + new Piece(1, 15, 'teal', 1), + new Piece(1, 13, 'red', 3), + new Piece(6, 16, 'yellow', 0), + new Piece(8, 17, 'green', 0), + new Piece(8, 15, 'orange', 2), + new Piece(2, 16, 'purple', 3), + new Piece(5, 14, 'green', 0), + new Piece(7, 14, 'orange', 0), + new Piece(5, 11, 'red', 3), + new Piece(1, 11, 'blue', 1), + new Piece(9, 13, 'teal', 3), + new Piece(4, 13, 'yellow', 0), + new Piece(7, 12, 'purple', 2), + new Piece(2, 11, 'green', 3), + new Piece(3, 10, 'red', 0), + new Piece(0, 10, 'blue', 3), + new Piece(7, 10, 'orange', 3), + new Piece(9, 10, 'yellow', 0), + new Piece(8, 9, 'teal', 0), + new Piece(5, 9, 'purple', 2), + ], + }, + 'B2-2': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'red', 1), + new Piece(5, 18, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(4, 16, 'orange', 1), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'blue', 1), + new Piece(1, 15, 'teal', 1), + new Piece(1, 13, 'red', 3), + new Piece(6, 16, 'yellow', 0), + new Piece(8, 17, 'green', 0), + new Piece(8, 15, 'orange', 2), + new Piece(2, 16, 'purple', 3), + new Piece(5, 13, 'green', 2), + new Piece(7, 14, 'orange', 0), + new Piece(5, 11, 'red', 3), + new Piece(1, 11, 'blue', 1), + new Piece(9, 13, 'teal', 3), + new Piece(4, 13, 'yellow', 0), + new Piece(7, 12, 'purple', 2), + new Piece(1, 10, 'teal', 1), + new Piece(2, 11, 'green', 3), + new Piece(8, 10, 'red', 3), + new Piece(5, 8, 'orange', 3), + new Piece(7, 10, 'blue', 3), + new Piece(9, 8, 'yellow', 0), + new Piece(4, 10, 'purple', 2), + ], + }, + 'B2-3': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'red', 1), + new Piece(5, 18, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(4, 16, 'orange', 1), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'blue', 1), + new Piece(1, 15, 'teal', 1), + new Piece(1, 13, 'red', 3), + new Piece(6, 16, 'yellow', 0), + new Piece(8, 17, 'green', 0), + new Piece(8, 15, 'orange', 2), + new Piece(2, 16, 'purple', 3), + new Piece(5, 14, 'green', 0), + new Piece(7, 14, 'orange', 0), + new Piece(5, 11, 'red', 3), + new Piece(1, 11, 'blue', 1), + new Piece(9, 13, 'teal', 3), + new Piece(4, 13, 'yellow', 0), + new Piece(7, 12, 'purple', 2), + new Piece(1, 10, 'teal', 1), + new Piece(3, 11, 'green', 1), + new Piece(8, 10, 'red', 3), + new Piece(7, 10, 'blue', 3), + new Piece(6, 9, 'yellow', 0), + new Piece(8, 8, 'orange', 0), + new Piece(4, 10, 'purple', 2), + ], + }, + B3: { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'red', 1), + new Piece(5, 18, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(4, 16, 'orange', 1), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'blue', 1), + new Piece(1, 15, 'teal', 1), + new Piece(1, 13, 'red', 3), + new Piece(6, 16, 'yellow', 0), + new Piece(8, 17, 'green', 0), + new Piece(8, 15, 'orange', 2), + new Piece(2, 16, 'purple', 3), + new Piece(4, 14, 'blue', 0), + new Piece(0, 11, 'orange', 3), + new Piece(6, 14, 'red', 0), + new Piece(8, 13, 'yellow', 0), + new Piece(5, 11, 'green', 3), + new Piece(9, 13, 'teal', 3), + new Piece(4, 12, 'purple', 2), + new Piece(8, 11, 'blue', 3), + new Piece(7, 10, 'teal', 3), + new Piece(9, 9, 'yellow', 0), + new Piece(6, 9, 'orange', 1), + new Piece(4, 10, 'green', 1), + new Piece(4, 8, 'red', 2), + new Piece(2, 11, 'purple', 2), + ], + }, + TSD: { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'red', 1), + new Piece(5, 18, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(4, 16, 'orange', 1), + new Piece(7, 18, 'purple', 2), + new Piece(8, 16, 'red', 3), + new Piece(6, 16, 'green', 3), + new Piece(8, 15, 'yellow', 0), + new Piece(0, 16, 'orange', 3), + new Piece(5, 15, 'teal', 3), + new Piece(4, 13, 'blue', 1), + new Piece(2, 16, 'purple', 2), + ], + }, + }, + 'Glitter Brooch': { + 'PC 6-1': { + pieces: [ + new Piece(7, 20, 'teal', 0), + new Piece(5, 17, 'green', 3), + new Piece(0, 18, 'orange', 3), + new Piece(2, 19, 'red', 0), + new Piece(8, 18, 'blue', 2), + new Piece(9, 17, 'yellow', 0), + new Piece(4, 18, 'purple', 2), + new Piece(8, 16, 'teal', 1), + new Piece(6, 15, 'orange', 1), + new Piece(9, 15, 'yellow', 0), + new Piece(2, 17, 'green', 0), + new Piece(1, 15, 'red', 3), + new Piece(0, 15, 'blue', 3), + new Piece(4, 15, 'purple', 2), + ], + seed: 'IwNgzALADArAnGSUBMIg', + }, + 'PC 6-2': { + pieces: [ + new Piece(7, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(8, 18, 'blue', 2), + new Piece(2, 19, 'red', 0), + new Piece(5, 17, 'green', 3), + new Piece(9, 17, 'yellow', 0), + new Piece(4, 18, 'purple', 2), + new Piece(2, 17, 'teal', 0), + new Piece(9, 15, 'yellow', 0), + new Piece(6, 16, 'green', 3), + new Piece(6, 14, 'blue', 2), + new Piece(4, 15, 'purple', 2), + new Piece(1, 15, 'orange', 0), + new Piece(1, 14, 'red', 2), + ], + seed: 'IwNgzALADArAnBBAOEB2IA', + }, + 'PC 6-3': { + pieces: [ + new Piece(8, 18, 'blue', 2), + new Piece(9, 17, 'yellow', 0), + new Piece(0, 18, 'orange', 3), + new Piece(7, 20, 'teal', 0), + new Piece(5, 17, 'green', 3), + new Piece(2, 19, 'red', 0), + new Piece(4, 18, 'purple', 2), + new Piece(0, 15, 'orange', 3), + new Piece(2, 16, 'red', 0), + new Piece(6, 16, 'green', 3), + new Piece(3, 17, 'teal', 2), + new Piece(9, 15, 'yellow', 0), + new Piece(6, 14, 'blue', 2), + new Piece(4, 15, 'purple', 2), + ], + seed: 'IwNgzALADArAnGEAOA7AJhkA', + }, + 'PC 6-4': { + pieces: [ + new Piece(7, 20, 'teal', 0), + new Piece(8, 18, 'blue', 2), + new Piece(0, 18, 'orange', 3), + new Piece(2, 19, 'red', 0), + new Piece(5, 17, 'green', 3), + new Piece(9, 17, 'yellow', 0), + new Piece(4, 18, 'purple', 2), + new Piece(5, 15, 'blue', 2), + new Piece(4, 17, 'yellow', 0), + new Piece(1, 16, 'green', 1), + new Piece(5, 15, 'teal', 0), + new Piece(8, 15, 'orange', 2), + new Piece(2, 15, 'purple', 2), + ], + seed: 'IwNgzALADArAnCATI4UDsQ', + }, + 'PC 8-1': { + pieces: [ + new Piece(8, 18, 'blue', 2), + new Piece(7, 20, 'teal', 0), + new Piece(5, 17, 'green', 3), + new Piece(9, 17, 'yellow', 0), + new Piece(0, 18, 'orange', 3), + new Piece(2, 19, 'red', 0), + new Piece(4, 18, 'purple', 2), + new Piece(0, 16, 'green', 3), + new Piece(9, 15, 'yellow', 0), + new Piece(6, 15, 'orange', 1), + new Piece(7, 16, 'teal', 3), + new Piece(2, 16, 'red', 0), + new Piece(4, 15, 'purple', 2), + ], + seed: 'IwNgzALADArAnHGwDsAmAHEA', + }, + 'PC 8-2': { + pieces: [ + new Piece(7, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(2, 19, 'red', 0), + new Piece(5, 17, 'green', 3), + new Piece(8, 18, 'blue', 2), + new Piece(9, 17, 'yellow', 0), + new Piece(4, 18, 'purple', 2), + new Piece(7, 16, 'blue', 3), + new Piece(6, 15, 'orange', 1), + new Piece(1, 16, 'green', 1), + new Piece(8, 14, 'yellow', 0), + new Piece(9, 14, 'teal', 3), + new Piece(2, 16, 'red', 0), + new Piece(4, 15, 'purple', 2), + ], + seed: 'IwNgzALADCUEwHYCcKFA', + }, + 'PC 8-3': { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(7, 20, 'teal', 0), + new Piece(5, 17, 'green', 3), + new Piece(8, 18, 'blue', 2), + new Piece(2, 19, 'red', 0), + new Piece(9, 17, 'yellow', 0), + new Piece(4, 18, 'purple', 2), + new Piece(6, 16, 'green', 3), + new Piece(0, 15, 'orange', 3), + new Piece(8, 14, 'blue', 1), + new Piece(4, 17, 'yellow', 0), + new Piece(9, 14, 'teal', 3), + new Piece(4, 15, 'red', 0), + new Piece(2, 15, 'purple', 2), + ], + seed: 'IwNgzALADCVlBWAHAThEA', + }, + 'PC 8-4': { + pieces: [ + new Piece(8, 18, 'blue', 2), + new Piece(0, 18, 'orange', 3), + new Piece(7, 20, 'teal', 0), + new Piece(2, 19, 'red', 0), + new Piece(5, 17, 'green', 3), + new Piece(9, 17, 'yellow', 0), + new Piece(4, 18, 'purple', 2), + new Piece(0, 16, 'green', 3), + new Piece(2, 16, 'red', 0), + new Piece(7, 16, 'teal', 3), + new Piece(9, 15, 'yellow', 0), + new Piece(8, 12, 'blue', 2), + new Piece(6, 15, 'orange', 1), + new Piece(4, 15, 'purple', 2), + ], + seed: 'IwNgzALADCVg7GAHDIA', + }, + 'PC 8-5': { + pieces: [ + new Piece(7, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(5, 17, 'green', 3), + new Piece(8, 18, 'blue', 2), + new Piece(9, 17, 'yellow', 0), + new Piece(2, 19, 'red', 0), + new Piece(4, 18, 'purple', 2), + new Piece(1, 17, 'red', 0), + new Piece(0, 14, 'teal', 3), + new Piece(9, 14, 'blue', 1), + new Piece(7, 16, 'yellow', 0), + new Piece(2, 14, 'orange', 2), + new Piece(2, 16, 'green', 3), + new Piece(4, 15, 'purple', 2), + ], + seed: 'IwNgzALADCV8wZA', + }, + 'PC 8 (Confirmed)-1': { + pieces: [ + new Piece(8, 18, 'blue', 2), + new Piece(0, 18, 'orange', 3), + new Piece(7, 20, 'teal', 0), + new Piece(2, 19, 'red', 0), + new Piece(5, 17, 'green', 3), + new Piece(9, 17, 'yellow', 0), + new Piece(4, 18, 'purple', 2), + new Piece(1, 17, 'red', 0), + new Piece(2, 16, 'green', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(9, 14, 'teal', 3), + new Piece(6, 15, 'orange', 1), + new Piece(7, 16, 'blue', 3), + new Piece(4, 15, 'purple', 2), + ], + seed: 'IwNgzALADCUKxQEwIBxA', + }, + 'PC 8 (Confirmed)-1 TSD 1': { + pieces: [ + new Piece(7, 20, 'teal', 0), + new Piece(5, 17, 'green', 3), + new Piece(8, 18, 'blue', 2), + new Piece(0, 18, 'orange', 3), + new Piece(2, 19, 'red', 0), + new Piece(9, 17, 'yellow', 0), + new Piece(4, 18, 'purple', 2), + new Piece(6, 15, 'orange', 1), + new Piece(9, 14, 'teal', 3), + new Piece(1, 17, 'red', 0), + new Piece(1, 15, 'yellow', 0), + new Piece(7, 16, 'blue', 3), + new Piece(3, 16, 'green', 1), + new Piece(4, 15, 'purple', 2), + new Piece(2, 13, 'orange', 3), + new Piece(8, 14, 'yellow', 0), + new Piece(5, 12, 'green', 3), + new Piece(1, 12, 'blue', 1), + new Piece(7, 12, 'red', 0), + new Piece(4, 13, 'purple', 2), + new Piece(2, 11, 'green', 3), + new Piece(0, 11, 'blue', 3), + new Piece(9, 10, 'teal', 3), + new Piece(6, 10, 'red', 0), + new Piece(8, 10, 'orange', 1), + new Piece(7, 9, 'teal', 0), + new Piece(1, 9, 'yellow', 0), + new Piece(4, 10, 'purple', 2), + ], + seed: 'IwNgzALADCEOwA4CcwBMSg', + }, + 'PC 8 (Confirmed)-1 TSD 2': { + pieces: [ + new Piece(8, 18, 'blue', 2), + new Piece(9, 17, 'yellow', 0), + new Piece(7, 20, 'teal', 0), + new Piece(5, 17, 'green', 3), + new Piece(0, 18, 'orange', 3), + new Piece(2, 19, 'red', 0), + new Piece(4, 18, 'purple', 2), + new Piece(1, 17, 'red', 0), + new Piece(7, 16, 'blue', 3), + new Piece(6, 15, 'orange', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 16, 'green', 1), + new Piece(9, 14, 'teal', 3), + new Piece(4, 15, 'purple', 2), + new Piece(8, 14, 'yellow', 0), + new Piece(7, 12, 'red', 0), + new Piece(9, 10, 'teal', 3), + new Piece(1, 12, 'blue', 1), + new Piece(2, 13, 'orange', 3), + new Piece(5, 12, 'green', 3), + new Piece(4, 13, 'purple', 2), + new Piece(8, 10, 'teal', 3), + new Piece(0, 10, 'red', 3), + new Piece(7, 10, 'yellow', 0), + new Piece(2, 11, 'green', 3), + new Piece(6, 8, 'orange', 2), + new Piece(4, 10, 'purple', 2), + ], + seed: 'IwNgzALADC0KwE4oIUA', + }, + 'PC 8 (Confirmed)-2': { + pieces: [ + new Piece(7, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(2, 19, 'red', 0), + new Piece(8, 18, 'blue', 2), + new Piece(5, 17, 'green', 3), + new Piece(9, 17, 'yellow', 0), + new Piece(4, 18, 'purple', 2), + new Piece(6, 15, 'orange', 1), + new Piece(9, 14, 'blue', 1), + new Piece(1, 16, 'green', 1), + new Piece(4, 17, 'yellow', 0), + new Piece(4, 15, 'red', 0), + new Piece(7, 16, 'teal', 3), + new Piece(2, 15, 'purple', 2), + ], + seed: 'IwNgzALADCEBwROAnEA', + }, + }, + 'Antifate TSD': { + C4W: { + pieces: [ + new Piece(9, 18, 'orange', 1), + new Piece(8, 19, 'yellow', 0), + new Piece(0, 18, 'blue', 3), + new Piece(2, 17, 'teal', 0), + new Piece(1, 18, 'red', 3), + new Piece(3, 19, 'purple', 0), + new Piece(6, 18, 'green', 0), + new Piece(0, 14, 'red', 3), + new Piece(8, 15, 'green', 3), + new Piece(2, 14, 'blue', 1), + new Piece(7, 15, 'orange', 3), + new Piece(8, 13, 'yellow', 0), + new Piece(9, 13, 'teal', 3), + new Piece(4, 17, 'purple', 2), + ], + seed: 'IwNgzALADArBwA4TAExSA', + }, + '6-3 Stacking TST': { + pieces: [ + new Piece(1, 18, 'red', 3), + new Piece(2, 16, 'orange', 2), + new Piece(1, 18, 'teal', 1), + new Piece(3, 19, 'purple', 0), + new Piece(8, 19, 'blue', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(6, 18, 'green', 0), + new Piece(9, 15, 'blue', 1), + new Piece(7, 15, 'red', 3), + new Piece(2, 16, 'teal', 0), + new Piece(1, 14, 'yellow', 0), + new Piece(8, 13, 'orange', 2), + new Piece(4, 17, 'purple', 2), + new Piece(4, 16, 'green', 3), + new Piece(5, 14, 'red', 3), + new Piece(5, 13, 'teal', 0), + new Piece(4, 13, 'green', 2), + new Piece(1, 12, 'yellow', 0), + new Piece(8, 12, 'orange', 0), + new Piece(1, 10, 'blue', 0), + new Piece(2, 13, 'purple', 3), + ], + seed: 'IwNgzALADArBYA4wgJxSA', + }, + '6-3 Stacking TSD': { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(1, 18, 'teal', 1), + new Piece(9, 18, 'yellow', 0), + new Piece(3, 19, 'purple', 0), + new Piece(1, 18, 'red', 3), + new Piece(2, 16, 'orange', 2), + new Piece(6, 18, 'green', 0), + new Piece(9, 15, 'blue', 1), + new Piece(2, 16, 'teal', 0), + new Piece(4, 17, 'purple', 2), + new Piece(1, 14, 'yellow', 0), + new Piece(4, 16, 'green', 3), + new Piece(7, 15, 'red', 3), + new Piece(8, 13, 'orange', 2), + new Piece(5, 14, 'red', 3), + new Piece(8, 11, 'blue', 1), + new Piece(1, 12, 'yellow', 0), + new Piece(2, 13, 'orange', 3), + new Piece(3, 11, 'green', 1), + new Piece(9, 11, 'teal', 3), + new Piece(4, 13, 'purple', 2), + ], + seed: 'IwNgzALADArBAcEIHYryA', + }, + STSD: { + pieces: [ + new Piece(1, 19, 'purple', 0), + new Piece(1, 17, 'orange', 2), + new Piece(2, 17, 'teal', 0), + new Piece(3, 19, 'red', 0), + new Piece(8, 19, 'blue', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(6, 18, 'green', 0), + new Piece(8, 15, 'green', 3), + new Piece(2, 15, 'yellow', 0), + new Piece(0, 14, 'blue', 3), + new Piece(3, 14, 'orange', 1), + new Piece(4, 17, 'purple', 2), + new Piece(7, 16, 'red', 0), + new Piece(5, 15, 'teal', 1), + ], + seed: 'IwNgzALADArBEgJxigDiA', + }, + 'Mechanical TSD': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(8, 19, 'blue', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(1, 18, 'red', 3), + new Piece(2, 16, 'orange', 2), + new Piece(3, 19, 'purple', 0), + new Piece(6, 18, 'green', 0), + new Piece(1, 14, 'blue', 3), + new Piece(7, 15, 'green', 3), + new Piece(9, 15, 'orange', 1), + new Piece(3, 15, 'yellow', 0), + new Piece(4, 17, 'purple', 2), + new Piece(4, 14, 'red', 0), + new Piece(7, 12, 'green', 3), + new Piece(1, 14, 'teal', 1), + new Piece(9, 12, 'orange', 1), + new Piece(3, 12, 'yellow', 0), + new Piece(6, 13, 'purple', 2), + new Piece(4, 11, 'red', 0), + new Piece(1, 11, 'blue', 3), + new Piece(1, 10, 'teal', 1), + new Piece(3, 9, 'yellow', 0), + new Piece(1, 8, 'blue', 3), + new Piece(9, 9, 'orange', 1), + new Piece(7, 9, 'green', 3), + new Piece(1, 6, 'teal', 1), + new Piece(6, 10, 'purple', 2), + new Piece(4, 8, 'red', 0), + new Piece(0, 2, 'teal', 3), + new Piece(7, 6, 'green', 3), + new Piece(1, 5, 'blue', 3), + new Piece(9, 6, 'orange', 1), + new Piece(6, 7, 'purple', 2), + new Piece(3, 6, 'yellow', 0), + new Piece(4, 5, 'red', 0), + new Piece(9, 3, 'orange', 1), + new Piece(7, 3, 'green', 3), + new Piece(3, 3, 'yellow', 0), + new Piece(1, 2, 'blue', 3), + new Piece(6, 4, 'purple', 2), + new Piece(4, 2, 'red', 0), + new Piece(9, 0, 'orange', 1), + new Piece(0, -2, 'teal', 3), + new Piece(1, -1, 'blue', 3), + new Piece(3, 0, 'yellow', 0), + new Piece(7, 0, 'green', 3), + new Piece(6, 1, 'purple', 2), + new Piece(4, -1, 'red', 0), + ], + seed: 'IwNgzALMCsBM0gOwlsIA', + }, + 'PC 4': { + pieces: [ + new Piece(3, 19, 'purple', 0), + new Piece(2, 18, 'red', 1), + new Piece(8, 19, 'blue', 0), + new Piece(6, 18, 'green', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(2, 16, 'orange', 2), + new Piece(1, 18, 'teal', 1), + new Piece(4, 17, 'purple', 2), + new Piece(5, 17, 'red', 0), + new Piece(8, 17, 'teal', 0), + ], + seed: 'IwNgzALADArBCcx5jAdiA', + }, + 'PC 8-1': { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(6, 18, 'green', 0), + new Piece(3, 19, 'purple', 0), + new Piece(1, 18, 'teal', 1), + new Piece(1, 18, 'red', 3), + new Piece(9, 18, 'yellow', 0), + new Piece(2, 16, 'orange', 2), + new Piece(4, 17, 'purple', 2), + new Piece(2, 14, 'blue', 1), + new Piece(0, 14, 'red', 3), + new Piece(1, 12, 'orange', 2), + new Piece(8, 16, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(3, 15, 'green', 3), + ], + seed: 'IwNgzALADArBCc0r3kA', + }, + 'PC 8-2': { + pieces: [ + new Piece(0, 18, 'teal', 3), + new Piece(8, 19, 'blue', 0), + new Piece(1, 18, 'red', 3), + new Piece(6, 18, 'green', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(3, 19, 'purple', 0), + new Piece(2, 16, 'orange', 2), + new Piece(4, 17, 'purple', 2), + new Piece(7, 16, 'red', 0), + new Piece(8, 15, 'green', 3), + new Piece(0, 14, 'orange', 3), + new Piece(3, 14, 'blue', 1), + new Piece(2, 14, 'yellow', 0), + new Piece(2, 13, 'teal', 0), + ], + seed: 'IwNgzALADArDsCYEzEA', + }, + }, + 'Greenwich Cannon': { + variation: { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(0, 18, 'purple', 3), + new Piece(5, 19, 'red', 0), + new Piece(2, 18, 'green', 2), + new Piece(3, 18, 'teal', 0), + new Piece(8, 16, 'orange', 0), + ], + }, + }, + 'Luna Special': { + variation: { + pieces: [ + new Piece(0, 18, 'purple', 3), + new SuperShape(8, 18, 'square', 0), + new Piece(9, 17, '', 1), + new Piece(8, 18, '', 0), + new Piece(6, 17, '', 3), + new Piece(1, 17, 'red', 0), + new Piece(2, 19, 'green', 0), + new Piece(1, 15, 'orange', 0), + new Piece(6, 15, 'red', 0), + new Piece(3, 16, 'purple', 2), + new Piece(7, 14, 'green', 3), + new Piece(9, 14, 'teal', 3), + new Piece(1, 14, 'yellow', 0), + new Piece(4, 18, 'blue', 1), + ], + }, + }, + DoubleYou: { + variation: { + pieces: [ + new Piece(8, 19, 'yellow', 0), + new Piece(9, 18, 'teal', 3), + new Piece(0, 18, 'orange', 3), + new Piece(2, 18, 'blue', 2), + new Piece(5, 19, 'red', 0), + new Piece(7, 16, 'green', 3), + new Piece(6, 17, 'purple', 3), + ], + }, + }, + SingleYou: { + variation: { + pieces: [ + new Piece(6, 19, 'red', 0), + new Piece(1, 18, 'teal', 1), + new Piece(9, 19, 'yellow', 3), + new Piece(8, 16, 'green', 3), + new Piece(7, 17, 'purple', 2), + new Piece(1, 18, 'orange', 3), + new Piece(3, 18, 'blue', 0), + new Piece(2, 16, 'blue', 0), + new Piece(4, 17, 'red', 2), + new Piece(6, 15, 'green', 3), + new Piece(5, 16, 'purple', 2), + new Piece(9, 14, 'teal', 3), + new Piece(1, 14, 'orange', 2), + new Piece(1, 13, 'yellow', 0), + ], + }, + }, + Submarine: { + 1: { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(4, 19, 'orange', 0), + new Piece(4, 17, 'blue', 3), + new Piece(7, 19, 'green', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(2, 18, 'red', 3), + new Piece(6, 17, 'purple', 2), + new Piece(1, 17, 'blue', 0), + new Piece(7, 16, 'orange', 0), + new Piece(9, 14, 'teal', 3), + new Piece(7, 15, 'yellow', 0), + new Piece(1, 16, 'red', 0), + new Piece(4, 14, 'green', 3), + new Piece(3, 15, 'purple', 2), + ], + seed: 'IwNgzGCcAcBMDstgFZYBYg', + }, + 2: { + pieces: [ + new Piece(7, 19, 'green', 0), + new Piece(9, 18, 'teal', 3), + new Piece(4, 19, 'orange', 0), + new Piece(2, 18, 'red', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(4, 17, 'blue', 3), + new Piece(6, 17, 'purple', 2), + new Piece(2, 17, 'yellow', 0), + new Piece(9, 14, 'teal', 3), + new Piece(0, 16, 'blue', 3), + new Piece(6, 16, 'red', 0), + new Piece(7, 15, 'green', 3), + new Piece(5, 14, 'orange', 0), + new Piece(3, 15, 'purple', 2), + ], + seed: 'IwNgzGCcAcBMcFYElkA', + }, + 3: { + pieces: [ + new Piece(7, 19, 'green', 0), + new Piece(4, 19, 'orange', 0), + new Piece(4, 17, 'blue', 3), + new Piece(2, 18, 'red', 3), + new Piece(9, 18, 'teal', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(6, 17, 'purple', 2), + new Piece(5, 15, 'green', 3), + new Piece(8, 16, 'yellow', 0), + new Piece(1, 17, 'blue', 0), + new Piece(1, 16, 'red', 0), + new Piece(1, 14, 'orange', 0), + new Piece(9, 14, 'teal', 3), + new Piece(3, 15, 'purple', 2), + ], + seed: 'IwNgzGCcAcBM0HYQBYZA', + }, + 4: { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(4, 19, 'orange', 0), + new Piece(2, 18, 'red', 3), + new Piece(7, 19, 'green', 0), + new Piece(4, 17, 'blue', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(6, 17, 'purple', 2), + new Piece(1, 17, 'blue', 0), + new Piece(0, 14, 'teal', 3), + new Piece(1, 15, 'orange', 3), + new Piece(4, 14, 'green', 3), + new Piece(7, 16, 'yellow', 0), + new Piece(8, 15, 'red', 3), + new Piece(3, 15, 'purple', 2), + ], + seed: 'IwNgzGCcAcBMkgCyOgdiA', + }, + 'S Prop': { + pieces: [ + new Piece(2, 18, 'red', 3), + new Piece(9, 18, 'teal', 3), + new Piece(4, 19, 'orange', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(4, 17, 'blue', 3), + new Piece(7, 19, 'green', 0), + new Piece(6, 17, 'purple', 2), + new Piece(8, 15, 'red', 3), + new Piece(7, 15, 'blue', 1), + new Piece(6, 15, 'yellow', 0), + new Piece(1, 16, 'green', 3), + new Piece(0, 16, 'teal', 3), + new Piece(5, 13, 'orange', 2), + new Piece(3, 15, 'purple', 2), + new Piece(1, 13, 'blue', 0), + new Piece(5, 12, 'red', 0), + new Piece(0, 11, 'green', 3), + new Piece(9, 12, 'teal', 3), + new Piece(2, 14, 'orange', 2), + new Piece(8, 13, 'yellow', 0), + new Piece(3, 12, 'purple', 2), + ], + seed: 'IwNgzGCcAcYAwknArAFiA', + }, + 'Non PC': { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(4, 19, 'orange', 0), + new Piece(4, 17, 'blue', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(2, 18, 'red', 3), + new Piece(7, 19, 'green', 0), + new Piece(6, 17, 'purple', 2), + new Piece(8, 16, 'green', 0), + new Piece(4, 15, 'teal', 1), + new Piece(1, 16, 'orange', 2), + new Piece(1, 15, 'blue', 0), + new Piece(4, 14, 'red', 3), + new Piece(6, 15, 'purple', 2), + new Piece(2, 15, 'yellow', 0), + ], + seed: 'IwNgzGCcAcYExgOwAZkiA', + }, + }, + Last: { + 'SDT 1': { + pieces: [ + new Piece(4, 18, 'blue', 1), + new Piece(5, 18, 'red', 3), + new Piece(8, 19, 'yellow', 0), + new Piece(9, 18, 'teal', 3), + new Piece(0, 18, 'orange', 3), + new Piece(0, 16, 'green', 3), + new Piece(2, 18, 'purple', 2), + new Piece(2, 16, 'teal', 3), + new Piece(0, 14, 'green', 3), + new Piece(3, 16, 'blue', 3), + new Piece(8, 15, 'red', 3), + new Piece(7, 16, 'orange', 3), + new Piece(8, 14, 'yellow', 0), + new Piece(5, 16, 'purple', 2), + ], + seed: 'IwNgzGCcAcBMbmAFkkA', + }, + 'SDT 2': { + pieces: [ + new Piece(5, 18, 'red', 3), + new Piece(8, 19, 'yellow', 0), + new Piece(0, 18, 'orange', 3), + new Piece(9, 18, 'teal', 3), + new Piece(0, 16, 'green', 3), + new Piece(4, 18, 'blue', 1), + new Piece(2, 18, 'purple', 2), + new Piece(2, 16, 'teal', 3), + new Piece(3, 16, 'blue', 3), + new Piece(8, 17, 'yellow', 0), + new Piece(0, 14, 'green', 3), + new Piece(8, 15, 'orange', 0), + new Piece(8, 13, 'red', 3), + new Piece(5, 16, 'purple', 2), + ], + seed: 'IwNgzGCcAcBMAsAGOkCsQ', + }, + 'cut-copy': { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(9, 18, 'teal', 3), + new Piece(0, 16, 'green', 3), + new Piece(8, 19, 'yellow', 1), + new Piece(4, 18, 'blue', 1), + new Piece(5, 18, 'red', 3), + new Piece(2, 18, 'purple', 2), + new Piece(2, 16, 'teal', 3), + new Piece(3, 16, 'blue', 3), + new Piece(8, 17, 'yellow', 0), + new Piece(0, 14, 'green', 3), + new Piece(5, 16, 'purple', 2), + new Piece(8, 15, 'red', 0), + new Piece(9, 13, 'orange', 1), + ], + seed: 'IwNgzGCcAcBMAsBWMB2KQ', + }, + TSD: { + pieces: [ + new Piece(8, 19, 'yellow', 0), + new Piece(4, 18, 'blue', 1), + new Piece(0, 18, 'orange', 3), + new Piece(5, 18, 'red', 3), + new Piece(0, 16, 'green', 3), + new Piece(9, 18, 'teal', 3), + new Piece(2, 18, 'purple', 2), + new Piece(8, 17, 'yellow', 0), + new Piece(0, 14, 'green', 3), + new Piece(2, 16, 'orange', 3), + new Piece(3, 15, 'red', 3), + new Piece(9, 14, 'teal', 3), + new Piece(3, 13, 'blue', 1), + new Piece(5, 16, 'purple', 2), + ], + seed: 'IwNgzGCcAcBMCsZ7FsIA', + }, + 'Fin TSD': { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(8, 19, 'yellow', 0), + new Piece(4, 18, 'blue', 1), + new Piece(5, 18, 'red', 3), + new Piece(0, 18, 'orange', 3), + new Piece(0, 16, 'green', 3), + new Piece(2, 18, 'purple', 2), + new Piece(3, 16, 'red', 3), + new Piece(0, 14, 'green', 3), + new Piece(2, 16, 'blue', 3), + new Piece(8, 17, 'yellow', 0), + new Piece(9, 14, 'teal', 3), + new Piece(5, 13, 'orange', 2), + new Piece(5, 16, 'purple', 3), + ], + seed: 'IwNgzGCcAcBMCskzxLIA', + }, + }, + Icebreaker: { + 'S-prop': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(8, 19, 'orange', 0), + new Piece(3, 19, 'blue', 0), + new Piece(1, 17, 'green', 0), + new Piece(6, 19, 'teal', 0), + new Piece(8, 17, 'red', 3), + new Piece(3, 17, 'purple', 2), + new Piece(9, 14, 'blue', 1), + new Piece(8, 12, 'red', 3), + new Piece(0, 15, 'teal', 3), + new Piece(1, 14, 'orange', 3), + new Piece(5, 17, 'green', 3), + new Piece(4, 16, 'yellow', 0), + new Piece(7, 16, 'purple', 2), + new Piece(2, 13, 'blue', 3), + new Piece(0, 11, 'teal', 3), + new Piece(3, 13, 'red', 3), + new Piece(7, 15, 'green', 0), + new Piece(2, 11, 'orange', 2), + new Piece(5, 14, 'purple', 2), + ], + }, + 'Third bag first pattern': { + pieces: [ + new Piece(8, 19, 'orange', 0), + new Piece(6, 19, 'teal', 0), + new Piece(3, 19, 'blue', 0), + new Piece(8, 17, 'red', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(1, 17, 'green', 0), + new Piece(3, 17, 'purple', 2), + new Piece(2, 15, 'yellow', 0), + new Piece(5, 17, 'green', 3), + new Piece(0, 15, 'teal', 3), + new Piece(3, 15, 'orange', 3), + new Piece(8, 15, 'red', 3), + new Piece(7, 13, 'blue', 2), + new Piece(7, 16, 'purple', 1), + new Piece(8, 12, 'yellow', 0), + new Piece(0, 11, 'red', 3), + new Piece(9, 12, 'teal', 3), + new Piece(4, 14, 'orange', 3), + new Piece(2, 13, 'blue', 0), + new Piece(3, 12, 'green', 0), + new Piece(5, 12, 'purple', 2), + new Piece(4, 10, 'yellow', 0), + new Piece(0, 9, 'red', 3), + new Piece(4, 8, 'blue', 0), + new Piece(2, 10, 'teal', 3), + new Piece(7, 10, 'orange', 0), + new Piece(8, 8, 'green', 3), + new Piece(6, 12, 'purple', 2), + new Piece(1, 7, 'orange', 2), + new Piece(2, 7, 'teal', 0), + new Piece(5, 11, 'purple', 3), + new Piece(7, 9, 'yellow', 0), + new Piece(8, 6, 'blue', 2), + new Piece(4, 7, 'green', 3), + new Piece(6, 6, 'red', 2), + ], + }, + }, + 'Wolfmoon Cannon': { + variation: { + pieces: [ + new Piece(8, 18, 'orange', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(5, 19, 'purple', 0), + new Piece(9, 17, 'teal', 3), + new Piece(7, 15, 'blue', 2), + new Piece(3, 19, 'green', 0), + new Piece(3, 17, 'red', 1), + new Piece(7, 18, 'purple', 1), + new Piece(3, 14, 'blue', 3), + new Piece(4, 11, 'red', 3), + new Piece(8, 13, 'green', 3), + new Piece(1, 17, 'yellow', 0), + new Piece(3, 15, 'teal', 1), + new Piece(4, 16, 'orange', 3), + new Piece(7, 14, 'red', 0), + new SuperShape(2, 13, 'ferb', 0), + new Piece(8, 11, 'green', 3), + new Piece(2, 12, '', 2), + new Piece(0, 12, '', 3), + new Piece(2, 11, '', 0), + new Piece(5, 14, 'purple', 1), + new Piece(6, 12, 'purple', 2), + new Piece(9, 9, 'orange', 1), + new SuperShape(7, 9, '3stair', 1), + new Piece(1, 8, 'teal', 1), + new Piece(2, 9, '', 1), + new Piece(2, 8, '', 0), + new Piece(2, 6, 'blue', 2), + ], + }, + }, + 'Miracle Bridge': { + variation: { + pieces: [ + new Piece(1, 19, 'green', 0), + new Piece(1, 16, 'red', 3), + new Piece(0, 17, 'teal', 3), + new Piece(9, 19, 'yellow', 0), + new Piece(7, 18, 'orange', 1), + new Piece(5, 18, 'blue', 2), + new Piece(3, 17, 'purple', 2), + new Piece(1, 13, 'teal', 1), + new SuperShape(2, 16, '2stair', 1), + new Piece(1, 14, 'blue', 3), + new Piece(3, 15, 'orange', 1), + new Piece(8, 15, '', 3), + new Piece(7, 15, '', 0), + new Piece(5, 16, 'purple', 2), + new Piece(4, 14, 'red', 0), + new Piece(7, 12, 'teal', 3), + new Piece(2, 12, 'yellow', 0), + new Piece(6, 12, 'orange', 1), + new Piece(0, 9, 'blue', 3), + new Piece(8, 13, 'green', 3), + new Piece(5, 14, 'purple', 1), + new Piece(1, 7, 'yellow', 0), + new Piece(8, 10, 'orange', 1), + new Piece(1, 9, 'red', 3), + new Piece(3, 12, 'blue', 1), + new Piece(3, 10, 'green', 0), + new Piece(9, 11, 'teal', 3), + new Piece(4, 12, 'purple', 3), + ], + }, + }, + 'Coffee Stacking': { + SZ: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(4, 18, 'blue', 1), + new Piece(7, 20, 'teal', 0), + new Piece(6, 18, 'yellow', 0), + new Piece(1, 16, 'green', 1), + new Piece(9, 18, 'purple', 1), + new Piece(7, 17, 'red', 3), + new Piece(2, 18, 'purple', 2), + new Piece(4, 16, 'orange', 2), + new Piece(7, 15, 'red', 3), + new Piece(9, 15, 'teal', 3), + new Piece(5, 15, 'green', 3), + new Piece(7, 14, 'yellow', 0), + new Piece(1, 13, 'blue', 1), + new Piece(2, 11, 'yellow', 0), + new Piece(5, 12, 'blue', 3), + new Piece(8, 12, 'red', 3), + new Piece(7, 11, 'green', 2), + new Piece(1, 12, 'teal', 1), + new Piece(4, 14, 'orange', 1), + new Piece(2, 15, 'purple', 2), + new Piece(2, 9, 'yellow', 0), + new Piece(1, 8, 'teal', 1), + new Piece(2, 14, 'purple', 3), + new Piece(7, 10, 'red', 0), + new Piece(5, 9, 'orange', 3), + new Piece(8, 9, 'green', 3), + new Piece(3, 11, 'blue', 1), + ], + seed: 'IwNgzALADBCcUFZJgBxA', + }, + ZS: { + pieces: [ + new Piece(4, 18, 'blue', 1), + new Piece(7, 20, 'teal', 0), + new Piece(9, 18, 'purple', 1), + new Piece(7, 17, 'red', 3), + new Piece(0, 18, 'orange', 3), + new Piece(0, 16, 'green', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(7, 16, 'yellow', 0), + new Piece(7, 14, 'green', 3), + new Piece(9, 15, 'teal', 3), + new Piece(5, 14, 'red', 3), + new Piece(1, 13, 'blue', 1), + new Piece(2, 18, 'purple', 2), + new Piece(4, 16, 'orange', 2), + new Piece(2, 11, 'yellow', 0), + new Piece(4, 14, 'orange', 1), + new Piece(6, 11, 'blue', 3), + new Piece(8, 12, 'green', 1), + new Piece(1, 12, 'teal', 1), + new Piece(8, 10, 'red', 3), + new Piece(2, 15, 'purple', 2), + new Piece(0, 8, 'orange', 3), + new Piece(6, 9, 'red', 0), + new Piece(6, 7, 'yellow', 0), + new Piece(5, 12, 'teal', 3), + new Piece(2, 14, 'purple', 3), + new Piece(7, 8, 'green', 3), + new Piece(3, 11, 'blue', 1), + ], + seed: 'IwNgzALADBCcBMJjAiIA', + }, + }, + 'Strawberry Goten Stacking': { + variation: { + pieces: [ + new Piece(6, 19, 'orange', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(6, 17, 'purple', 2), + new Piece(8, 17, 'red', 0), + new Piece(2, 19, 'blue', 0), + new Piece(2, 17, 'green', 1), + new Piece(6, 16, 'yellow', 0), + new Piece(4, 18, 'purple', 2), + new Piece(9, 15, 'orange', 1), + new Piece(0, 14, 'blue', 3), + new Piece(5, 16, 'teal', 1), + new Piece(7, 14, 'red', 2), + new Piece(1, 15, 'green', 3), + new Piece(1, 11, 'red', 3), + new Piece(0, 11, 'blue', 3), + new Piece(3, 14, 'yellow', 0), + new Piece(9, 12, 'teal', 3), + new Piece(8, 12, 'orange', 1), + new Piece(6, 12, 'green', 3), + new Piece(5, 13, 'purple', 2), + new SuperShape(8, 9, 'flower', 0), + new Piece(5, 11, 'blue', 3), + new Piece(8, 9, '', 3), + new Piece(8, 8, '', 0), + new Piece(1, 8, 'orange', 3), + new Piece(1, 8, 'teal', 1), + new Piece(3, 12, 'purple', 2), + new Piece(1, 6, 'green', 3), + new Piece(5, 7, 'red', 3), + new Piece(1, 4, 'orange', 2), + new Piece(8, 6, 'yellow', 0), + new Piece(9, 6, 'teal', 3), + new Piece(4, 10, 'blue', 3), + new Piece(3, 8, 'purple', 2), + new Piece(4, 6, 'red', 3), + new Piece(5, 4, 'green', 3), + new Piece(8, 4, 'yellow', 0), + new SuperShape(1, 2, 'antenna', 0), + new Piece(4, 10, 'teal', 1), + new Piece(1, 1, '', 3), + new Piece(3, 5, 'purple', 2), + new Piece(2, 0, 'red', 3), + new SuperShape(2, 2, 'fence', 2), + new Piece(4, 3, 'green', 0), + new Piece(9, 2, '', 3), + new Piece(2, -1, 'yellow', 0), + new Piece(7, 1, '', 0), + new Piece(3, 3, 'purple', 3), + new Piece(1, 0, 'teal', 1), + new SuperShape(8, -1, 'flower', 0), + new Piece(1, -4, 'orange', 3), + new Piece(4, 1, 'purple', 0), + new Piece(8, -2, '', 0), + new Piece(7, -1, '', 0), + new Piece(8, -4, 'blue', 2), + new Piece(4, -2, 'green', 1), + new Piece(3, -4, 'yellow', 0), + new Piece(6, -5, 'red', 3), + new Piece(2, -7, 'blue', 1), + new Piece(1, -4, 'teal', 1), + new Piece(8, -6, 'orange', 3), + new Piece(5, -3, 'purple', 2), + new Piece(0, -8, 'orange', 3), + new Piece(9, -7, 'teal', 3), + new Piece(8, -11, 'green', 3), + new Piece(3, -7, 'red', 3), + new Piece(8, -8, 'yellow', 0), + new Piece(4, -5, 'blue', 3), + new Piece(6, -7, 'purple', 2), + new SuperShape(1, -9, 'hammer', 0), + new Piece(6, -8, 'yellow', 0), + new Piece(7, -14, 'green', 3), + new Piece(1, -11, '', 2), + new Piece(7, -10, 'red', 0), + new Piece(9, -13, 'teal', 3), + new Piece(3, -9, 'purple', 2), + new Piece(4, -10, 'yellow', 0), + new Piece(3, -13, 'blue', 1), + new Piece(0, -13, 'orange', 3), + new Piece(5, -7, 'teal', 3), + new Piece(6, -13, 'green', 3), + new Piece(8, -16, 'red', 3), + new Piece(5, -12, 'purple', 2), + new Piece(1, -14, 'orange', 1), + new Piece(4, -13, 'green', 3), + new Piece(3, -16, 'red', 3), + new Piece(8, -17, 'yellow', 0), + new Piece(8, -19, 'blue', 2), + new Piece(3, -14, 'teal', 1), + new Piece(5, -15, 'purple', 2), + new Piece(1, -17, 'blue', 3), + new Piece(3, -18, 'green', 2), + new Piece(8, -20, 'yellow', 0), + new Piece(1, -17, 'teal', 1), + new Piece(9, -21, 'orange', 1), + new Piece(1, -19, 'red', 0), + new Piece(6, -16, 'purple', 2), + ], + }, + }, + 'Extra T-spin Cannon': { + variation: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(2, 18, 'yellow', 0), + new Piece(0, 15, 'purple', 3), + new Piece(7, 19, 'red', 0), + new Piece(7, 17, 'green', 3), + new Piece(9, 18, 'teal', 3), + new Piece(3, 18, 'blue', 1), + new Piece(2, 16, 'green', 0), + new Piece(5, 17, 'red', 3), + new Piece(8, 15, 'orange', 1), + new Piece(1, 13, 'yellow', 0), + new Piece(2, 13, 'blue', 1), + new Piece(9, 14, 'teal', 3), + new Piece(4, 16, 'purple', 2), + new Piece(1, 10, 'orange', 3), + new Piece(1, 10, 'teal', 1), + new Piece(8, 10, 'green', 3), + new Piece(8, 13, 'yellow', 0), + new Piece(6, 15, 'red', 0), + new Piece(3, 13, 'blue', 3), + new Piece(4, 15, 'purple', 3), + new Piece(9, 8, 'teal', 3), + new Piece(7, 11, 'red', 0), + new Piece(2, 8, 'yellow', 0), + new Piece(2, 10, 'green', 3), + new Piece(1, 6, 'orange', 2), + new Piece(6, 13, 'blue', 1), + new Piece(5, 11, 'purple', 2), + ], + }, + }, + Misfire: { + variation: { + pieces: [ + new Piece(2, 18, 'blue', 2), + new Piece(6, 19, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(8, 19, 'orange', 0), + new Piece(6, 17, 'red', 0), + new Piece(8, 17, 'green', 2), + new Piece(4, 17, 'purple', 2), + ], + }, + }, + Speedboat: { + 'Late Z': { + pieces: [ + new Piece(4, 19, 'blue', 0), + new Piece(4, 17, 'orange', 1), + new Piece(1, 19, 'red', 0), + new Piece(6, 18, 'yellow', 0), + new Piece(9, 18, 'teal', 3), + new Piece(7, 18, 'green', 3), + new Piece(2, 17, 'purple', 2), + new Piece(2, 16, 'yellow', 0), + new Piece(4, 15, 'blue', 0), + new Piece(9, 14, 'orange', 1), + new Piece(6, 15, 'green', 2), + new Piece(1, 17, 'teal', 1), + new Piece(8, 16, 'purple', 1), + ], + seed: 'IwNgzGAckKzATMMBOZQ', + }, + ZJ: { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(4, 19, 'blue', 0), + new Piece(4, 17, 'orange', 1), + new Piece(1, 19, 'red', 0), + new Piece(6, 18, 'yellow', 0), + new Piece(7, 18, 'green', 3), + new Piece(2, 17, 'purple', 2), + new Piece(6, 16, 'green', 0), + new Piece(4, 14, 'red', 1), + new Piece(1, 17, 'teal', 1), + new Piece(5, 14, 'blue', 1), + new Piece(9, 14, 'orange', 1), + new Piece(2, 16, 'yellow', 0), + new Piece(8, 16, 'purple', 1), + ], + seed: 'IwNgzGAckCw2AmExJA', + }, + JZ: { + pieces: [ + new Piece(1, 19, 'red', 0), + new Piece(4, 19, 'blue', 0), + new Piece(6, 18, 'yellow', 0), + new Piece(4, 17, 'orange', 1), + new Piece(9, 18, 'teal', 3), + new Piece(7, 18, 'green', 3), + new Piece(2, 17, 'purple', 2), + new Piece(4, 15, 'blue', 0), + new Piece(6, 16, 'green', 0), + new Piece(9, 14, 'orange', 1), + new Piece(2, 16, 'yellow', 0), + new Piece(1, 17, 'teal', 1), + new Piece(3, 13, 'red', 1), + new Piece(8, 16, 'purple', 1), + ], + seed: 'IwNgzGAckKwAwBYShEA', + }, + Extra: { + pieces: [ + new Piece(1, 19, 'red', 0), + new Piece(4, 19, 'blue', 0), + new Piece(4, 17, 'orange', 1), + new Piece(7, 18, 'green', 3), + new Piece(6, 18, 'yellow', 0), + new Piece(9, 18, 'teal', 3), + new Piece(2, 17, 'purple', 2), + new Piece(2, 15, 'red', 3), + new Piece(5, 15, 'yellow', 0), + new Piece(1, 17, 'teal', 1), + new Piece(9, 14, 'orange', 1), + new Piece(6, 16, 'green', 0), + new Piece(1, 15, 'blue', 3), + new Piece(4, 13, 'orange', 0), + new Piece(8, 16, 'purple', 1), + ], + seed: 'IwNgzGAckCwJwHZwwAxA', + }, + }, + Dolphin: { + 'Main Fractal': { + pieces: [ + new Piece(2, 18, 'blue', 2), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'green', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(5, 19, 'red', 0), + new Piece(1, 18, 'teal', 1), + new Piece(6, 17, 'purple', 3), + new Piece(8, 14, 'yellow', 0), + new Piece(5, 15, 'red', 3), + new Piece(5, 14, 'green', 0), + new Piece(1, 16, 'orange', 1), + new Piece(2, 17, 'blue', 1), + new Piece(9, 15, 'teal', 3), + new Piece(4, 17, 'purple', 3), + new Piece(6, 13, 'teal', 0), + new Piece(5, 11, 'red', 0), + new Piece(9, 12, 'yellow', 0), + new Piece(1, 14, 'blue', 0), + new Piece(1, 12, 'green', 1), + new Piece(8, 10, 'orange', 2), + ], + seed: 'IwNgzALMYOwBxgJxxooA', + }, + 'Main DT Cannon': { + pieces: [ + new Piece(2, 18, 'blue', 2), + new Piece(5, 19, 'red', 0), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'green', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(6, 17, 'purple', 3), + new Piece(1, 16, 'orange', 1), + new Piece(9, 15, 'teal', 3), + new Piece(8, 14, 'yellow', 0), + new Piece(5, 15, 'red', 3), + new Piece(5, 14, 'green', 0), + new Piece(2, 17, 'blue', 1), + new Piece(4, 17, 'purple', 3), + new Piece(4, 12, 'orange', 1), + new Piece(6, 12, 'yellow', 0), + new Piece(8, 12, 'blue', 0), + new Piece(1, 14, 'green', 0), + new Piece(8, 11, 'red', 0), + new Piece(0, 12, 'teal', 3), + new Piece(3, 15, 'purple', 2), + ], + seed: 'IwNgzALMYOwJwCYwggBiA', + }, + 'Imp Cross': { + pieces: [ + new Piece(2, 18, 'blue', 2), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'green', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(5, 19, 'red', 0), + new Piece(1, 18, 'teal', 1), + new Piece(6, 17, 'purple', 3), + new Piece(8, 14, 'yellow', 0), + new Piece(2, 17, 'blue', 1), + new Piece(1, 16, 'orange', 1), + new Piece(9, 15, 'teal', 3), + new Piece(2, 15, 'green', 3), + new Piece(3, 14, 'red', 0), + new Piece(4, 17, 'purple', 1), + ], + seed: 'IwNgzALMYOwwnMArE4Q', + }, + STSD: { + pieces: [ + new Piece(2, 18, 'blue', 2), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'green', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(5, 19, 'red', 0), + new Piece(6, 17, 'purple', 3), + new Piece(6, 13, 'green', 3), + new Piece(9, 15, 'orange', 1), + new Piece(5, 15, 'red', 3), + new Piece(2, 18, 'yellow', 0), + new Piece(1, 14, 'teal', 1), + new Piece(4, 17, 'purple', 2), + new Piece(2, 15, 'blue', 3), + new Piece(2, 15, 'teal', 1), + new Piece(5, 13, 'orange', 1), + ], + seed: 'IwNgzALMYBwEwmgTgOxA', + }, + 'B.A.S.S 4-5 Stacking': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(5, 19, 'red', 0), + new Piece(2, 18, 'blue', 2), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'green', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(6, 17, 'purple', 3), + new Piece(1, 16, 'orange', 1), + new Piece(2, 17, 'blue', 1), + new Piece(5, 15, 'red', 3), + new Piece(8, 14, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(4, 17, 'purple', 2), + new Piece(3, 15, 'green', 1), + new Piece(0, 13, 'blue', 3), + new Piece(2, 13, 'orange', 2), + new Piece(4, 14, 'purple', 2), + new Piece(2, 12, 'red', 0), + new Piece(6, 13, 'yellow', 0), + new Piece(5, 10, 'green', 3), + new Piece(9, 11, 'teal', 3), + ], + seed: 'IwNgzALMYJxgTMCIAMQ', + }, + 'B.A.S.S Cut Copy': { + pieces: [ + new Piece(5, 19, 'red', 0), + new Piece(2, 18, 'blue', 2), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'green', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(6, 17, 'purple', 3), + new Piece(2, 17, 'blue', 1), + new Piece(9, 15, 'teal', 3), + new Piece(8, 14, 'yellow', 0), + new Piece(1, 16, 'orange', 1), + new Piece(2, 15, 'green', 3), + new Piece(4, 17, 'purple', 2), + new Piece(5, 15, 'red', 3), + new Piece(1, 13, 'blue', 3), + new Piece(6, 12, 'red', 0), + new Piece(5, 13, 'green', 2), + new Piece(9, 12, 'yellow', 0), + new Piece(8, 10, 'orange', 2), + new Piece(1, 13, 'teal', 1), + new Piece(3, 13, 'purple', 2), + ], + seed: 'IwNgzALMYBw2AGGAmCQ', + }, + 'B.A.S.S Fractal 1': { + pieces: [ + new Piece(8, 19, 'orange', 0), + new Piece(1, 18, 'teal', 1), + new Piece(2, 18, 'blue', 2), + new Piece(5, 19, 'red', 0), + new Piece(8, 18, 'green', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(6, 17, 'purple', 3), + new Piece(8, 14, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(5, 15, 'red', 3), + new Piece(2, 17, 'blue', 1), + new Piece(1, 16, 'orange', 1), + new Piece(4, 17, 'purple', 2), + new Piece(3, 15, 'green', 1), + new Piece(9, 12, 'yellow', 0), + new Piece(0, 13, 'blue', 3), + new Piece(2, 13, 'orange', 2), + new Piece(6, 13, 'green', 0), + new Piece(2, 11, 'red', 3), + ], + seed: 'IwNgzALMYBwJwwhEAGIA', + }, + 'B.A.S.S Fractal 2': { + pieces: [ + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'green', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(2, 18, 'blue', 2), + new Piece(1, 18, 'teal', 1), + new Piece(5, 19, 'red', 0), + new Piece(6, 17, 'purple', 3), + new Piece(1, 16, 'orange', 1), + new Piece(5, 15, 'red', 3), + new Piece(9, 15, 'teal', 3), + new Piece(2, 17, 'blue', 1), + new Piece(4, 17, 'purple', 2), + new Piece(3, 15, 'green', 1), + new Piece(8, 14, 'yellow', 0), + new Piece(2, 13, 'orange', 2), + new Piece(1, 13, 'teal', 1), + new Piece(9, 12, 'yellow', 0), + new Piece(6, 13, 'green', 0), + new Piece(2, 11, 'red', 3), + new Piece(1, 11, 'blue', 3), + new Piece(4, 12, 'purple', 2), + ], + seed: 'IwNgzALMYJwQHBcBWIA', + }, + 'B.A.S.S TST': { + pieces: [ + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'green', 0), + new Piece(2, 18, 'blue', 2), + new Piece(8, 16, 'yellow', 0), + new Piece(5, 19, 'red', 0), + new Piece(1, 18, 'teal', 1), + new Piece(6, 17, 'purple', 3), + new Piece(9, 15, 'teal', 3), + new Piece(2, 17, 'blue', 1), + new Piece(1, 16, 'orange', 1), + new Piece(8, 14, 'yellow', 0), + new Piece(5, 15, 'red', 3), + new Piece(4, 17, 'purple', 2), + new Piece(3, 15, 'green', 1), + new Piece(9, 11, 'teal', 3), + new Piece(5, 13, 'red', 3), + new Piece(4, 11, 'green', 3), + new Piece(2, 13, 'orange', 2), + new Piece(0, 13, 'blue', 3), + new Piece(1, 11, 'yellow', 0), + new Piece(4, 14, 'purple', 1), + ], + seed: 'IwNgzALMYJwAwwKwUQJiA', + }, + 'B.A.S.S DTD': { + pieces: [ + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'green', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(5, 19, 'red', 0), + new Piece(2, 18, 'blue', 2), + new Piece(1, 18, 'teal', 1), + new Piece(6, 17, 'purple', 3), + new Piece(1, 16, 'orange', 1), + new Piece(5, 15, 'red', 3), + new Piece(9, 15, 'teal', 3), + new Piece(2, 17, 'blue', 1), + new Piece(8, 14, 'yellow', 0), + new Piece(4, 17, 'purple', 2), + new Piece(3, 15, 'green', 1), + new Piece(6, 12, 'red', 0), + new Piece(2, 13, 'orange', 2), + new Piece(2, 12, 'yellow', 0), + new Piece(9, 11, 'blue', 1), + new Piece(5, 13, 'green', 2), + new Piece(0, 13, 'teal', 3), + new Piece(4, 12, 'purple', 2), + new Piece(6, 11, 'teal', 0), + new Piece(8, 10, 'blue', 1), + new Piece(1, 10, 'orange', 0), + new Piece(3, 8, 'yellow', 0), + new Piece(3, 11, 'purple', 3), + new Piece(8, 8, 'green', 3), + new Piece(7, 6, 'red', 3), + new Piece(1, 8, 'blue', 1), + new Piece(7, 9, 'yellow', 0), + new Piece(9, 6, 'teal', 3), + new Piece(7, 4, 'red', 3), + new Piece(4, 9, 'purple', 2), + ], + seed: 'IwNgzALMYBwJzAEwAYRyA', + }, + 'B.A.S.S Trinity': { + pieces: [ + new Piece(5, 19, 'red', 0), + new Piece(1, 18, 'teal', 1), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'green', 0), + new Piece(2, 18, 'blue', 2), + new Piece(8, 16, 'yellow', 0), + new Piece(6, 17, 'purple', 3), + new Piece(8, 14, 'yellow', 0), + new Piece(1, 16, 'orange', 1), + new Piece(9, 15, 'teal', 3), + new Piece(2, 17, 'blue', 1), + new Piece(5, 15, 'red', 3), + new Piece(4, 17, 'purple', 2), + new Piece(3, 15, 'green', 1), + new Piece(8, 12, 'yellow', 0), + new Piece(6, 12, 'teal', 3), + new Piece(2, 13, 'orange', 2), + new Piece(5, 9, 'red', 0), + new Piece(0, 13, 'blue', 3), + new Piece(3, 12, 'green', 0), + ], + seed: 'IwNgzALMYJylEDsQ', + }, + }, + 'DT-Cannon 2': { + variation: { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'purple', 2), + new Piece(9, 18, 'yellow', 0), + new Piece(5, 19, 'green', 0), + new Piece(5, 17, 'orange', 2), + new Piece(5, 16, 'red', 0), + new Piece(4, 14, 'red', 0), + new Piece(1, 16, 'green', 0), + new Piece(6, 14, 'orange', 1), + new Piece(7, 17, 'teal', 3), + new Piece(9, 16, 'yellow', 0), + new Piece(9, 13, 'blue', 1), + new Piece(3, 16, 'purple', 2), + new Piece(5, 12, 'yellow', 0), + new Piece(7, 13, 'orange', 1), + new Piece(0, 14, 'teal', 3), + new Piece(3, 16, 'purple', 1), + ], + }, + }, + 'Captain Stacking': { + variation: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(9, 19, 'yellow', 0), + new Piece(6, 18, 'blue', 2), + new Piece(5, 19, 'teal', 2), + new Piece(3, 17, 'green', 3), + new Piece(2, 18, 'purple', 2), + ], + }, + }, + 'Coon-Dragon': { + 'OI-SL': { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(3, 19, 'teal', 0), + new Piece(7, 19, 'red', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(6, 16, 'green', 3), + new Piece(2, 17, 'blue', 0), + new Piece(5, 17, 'purple', 2), + new Piece(0, 15, 'blue', 3), + new Piece(4, 17, 'yellow', 0), + new Piece(7, 15, 'green', 3), + new Piece(9, 16, 'teal', 3), + new Piece(8, 13, 'red', 3), + new Piece(5, 16, 'orange', 1), + new Piece(2, 15, 'purple', 2), + new Piece(2, 14, 'blue', 3), + new Piece(4, 13, 'green', 2), + new Piece(7, 12, 'orange', 1), + new Piece(8, 11, 'red', 3), + new Piece(1, 13, 'yellow', 0), + new Piece(1, 10, 'teal', 1), + new Piece(6, 14, 'purple', 1), + new Piece(2, 11, 'green', 1), + new Piece(1, 8, 'orange', 3), + new Piece(5, 12, 'blue', 0), + new Piece(5, 10, 'red', 3), + new Piece(9, 8, 'teal', 3), + new Piece(8, 10, 'yellow', 0), + new Piece(3, 10, 'purple', 2), + ], + seed: 'IwNgzGBMIKwylgBYAcQ', + }, + 'OI-LS': { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(3, 19, 'teal', 0), + new Piece(7, 19, 'red', 0), + new Piece(9, 18, 'yellow', 3), + new Piece(6, 16, 'green', 3), + new Piece(2, 17, 'blue', 0), + new Piece(5, 17, 'purple', 2), + new Piece(0, 15, 'blue', 3), + new Piece(4, 17, 'yellow', 0), + new Piece(9, 16, 'teal', 3), + new Piece(7, 15, 'green', 3), + new Piece(8, 13, 'red', 3), + new Piece(5, 16, 'orange', 1), + new Piece(2, 15, 'purple', 2), + new Piece(2, 14, 'blue', 3), + new Piece(4, 13, 'green', 2), + new Piece(8, 11, 'red', 3), + new Piece(7, 12, 'orange', 1), + new Piece(1, 13, 'yellow', 0), + new Piece(1, 10, 'teal', 1), + new Piece(6, 14, 'purple', 1), + new Piece(5, 12, 'blue', 0), + new Piece(5, 10, 'red', 3), + new Piece(1, 10, 'orange', 3), + new Piece(1, 8, 'green', 3), + new Piece(8, 10, 'yellow', 0), + new Piece(9, 8, 'teal', 3), + new Piece(3, 10, 'purple', 2), + ], + }, + 'IO-OS': { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(3, 19, 'teal', 0), + new Piece(7, 19, 'red', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(6, 16, 'green', 3), + new Piece(2, 17, 'blue', 0), + new Piece(5, 17, 'purple', 2), + new Piece(0, 15, 'blue', 3), + new Piece(4, 17, 'yellow', 0), + new Piece(9, 16, 'teal', 3), + new Piece(7, 15, 'green', 3), + new Piece(8, 13, 'red', 3), + new Piece(5, 16, 'orange', 1), + new Piece(2, 15, 'purple', 2), + new Piece(2, 14, 'blue', 3), + new Piece(4, 13, 'green', 2), + new Piece(8, 11, 'red', 3), + new Piece(7, 12, 'orange', 1), + new Piece(1, 12, 'teal', 1), + new Piece(1, 9, 'yellow', 0), + new Piece(6, 14, 'purple', 1), + new Piece(5, 11, 'orange', 3), + new Piece(3, 12, 'red', 0), + new Piece(4, 10, 'blue', 3), + new Piece(6, 9, 'teal', 3), + new Piece(8, 10, 'yellow', 0), + new Piece(8, 8, 'green', 3), + new Piece(1, 12, 'purple', 3), + ], + }, + 'IO-SO': { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(3, 19, 'teal', 0), + new Piece(7, 19, 'red', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(6, 16, 'green', 3), + new Piece(2, 17, 'blue', 0), + new Piece(5, 17, 'purple', 2), + new Piece(0, 15, 'blue', 3), + new Piece(4, 17, 'yellow', 0), + new Piece(9, 16, 'teal', 3), + new Piece(7, 15, 'green', 3), + new Piece(8, 13, 'red', 3), + new Piece(5, 16, 'orange', 1), + new Piece(2, 15, 'purple', 2), + new Piece(4, 14, 'green', 0), + new Piece(7, 12, 'orange', 1), + new Piece(8, 11, 'red', 3), + new Piece(2, 14, 'blue', 3), + new Piece(1, 12, 'teal', 1), + new Piece(1, 9, 'yellow', 0), + new Piece(6, 14, 'purple', 1), + new Piece(5, 11, 'orange', 3), + new Piece(3, 12, 'red', 0), + new Piece(4, 10, 'blue', 3), + new Piece(8, 10, 'green', 0), + new Piece(9, 8, 'yellow', 0), + new Piece(6, 9, 'teal', 3), + new Piece(1, 12, 'purple', 3), + ], + }, + 'ZS Early I': { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(3, 19, 'teal', 0), + new Piece(7, 19, 'red', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(6, 16, 'green', 3), + new Piece(2, 17, 'blue', 0), + new Piece(5, 17, 'purple', 2), + new Piece(7, 13, 'teal', 1), + new Piece(8, 16, 'red', 0), + new Piece(4, 17, 'yellow', 0), + new Piece(5, 16, 'orange', 1), + new Piece(0, 15, 'blue', 3), + new Piece(8, 14, 'green', 3), + new Piece(2, 15, 'purple', 2), + ], + }, + 'ZS-ZI': { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(3, 19, 'teal', 0), + new Piece(7, 19, 'red', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(6, 16, 'green', 3), + new Piece(2, 17, 'blue', 0), + new Piece(5, 17, 'purple', 2), + new Piece(8, 16, 'red', 0), + new Piece(8, 14, 'green', 3), + new Piece(7, 13, 'teal', 3), + new Piece(5, 16, 'orange', 1), + new Piece(4, 17, 'yellow', 0), + new Piece(0, 15, 'blue', 3), + new Piece(2, 15, 'purple', 2), + ], + }, + 'ZS-JI': { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(3, 19, 'teal', 0), + new Piece(7, 19, 'red', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(6, 16, 'green', 3), + new Piece(2, 17, 'blue', 0), + new Piece(5, 17, 'purple', 2), + new Piece(8, 16, 'red', 0), + new Piece(8, 14, 'green', 3), + new Piece(5, 16, 'orange', 1), + new Piece(0, 15, 'blue', 3), + new Piece(4, 17, 'yellow', 0), + new Piece(0, 12, 'teal', 3), + new Piece(2, 15, 'purple', 2), + ], + }, + 'ZS-OLI': { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(3, 19, 'teal', 0), + new Piece(7, 19, 'red', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(6, 16, 'green', 3), + new Piece(2, 17, 'blue', 0), + new Piece(5, 17, 'purple', 2), + new Piece(8, 16, 'red', 0), + new Piece(4, 17, 'yellow', 0), + new Piece(5, 16, 'orange', 1), + new Piece(0, 15, 'blue', 3), + new Piece(6, 15, 'teal', 0), + new Piece(8, 14, 'green', 3), + new Piece(2, 15, 'purple', 2), + ], + }, + 'ZS Hold I': { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(3, 19, 'teal', 0), + new Piece(7, 19, 'red', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(6, 16, 'green', 3), + new Piece(2, 17, 'blue', 0), + new Piece(5, 17, 'purple', 2), + new Piece(8, 16, 'red', 0), + new Piece(4, 17, 'yellow', 0), + new Piece(5, 16, 'orange', 1), + new Piece(0, 15, 'blue', 3), + new Piece(8, 14, 'green', 3), + new Piece(2, 15, 'purple', 2), + ], + }, + }, + 'Crowbar v1': { + variation: { + pieces: [ + new Piece(4, 19, 'yellow', 0), + new Piece(1, 18, 'orange', 3), + new Piece(2, 17, 'red', 3), + new Piece(7, 19, 'purple', 0), + new Piece(1, 18, 'teal', 1), + new Piece(8, 18, 'green', 3), + new Piece(5, 17, 'blue', 2), + new SuperShape(2, 15, 'flower', 0), + new Piece(9, 16, 'teal', 3), + new Piece(1, 15, '', 0), + new Piece(7, 16, 'purple', 2), + new Piece(2, 14, '', 0), + new Piece(5, 15, 'orange', 2), + new Piece(8, 14, 'blue', 1), + new Piece(3, 11, 'orange', 2), + new Piece(3, 13, 'green', 3), + new Piece(1, 12, 'red', 1), + new Piece(7, 14, 'yellow', 0), + new Piece(9, 12, 'teal', 3), + new Piece(8, 11, 'blue', 1), + new Piece(5, 12, 'purple', 2), + new SuperShape(2, 10, 'club', 0), + new Piece(3, 10, '', 0), + new Piece(3, 8, '', 2), + new Piece(7, 10, 'blue', 1), + new Piece(5, 10, 'purple', 2), + new Piece(5, 14, 'teal', 3), + new Piece(9, 9, 'yellow', 0), + new Piece(3, 7, 'green', 0), + new Piece(5, 8, 'orange', 1), + new Piece(9, 7, 'yellow', 0), + new Piece(1, 7, 'blue', 3), + new Piece(1, 8, 'teal', 1), + new Piece(6, 8, 'red', 3), + new Piece(6, 6, 'purple', 2), + ], + }, + }, + 'Crowbar v2': { + variation: { + pieces: [ + new Piece(9, 19, 'yellow', 3), + new Piece(8, 16, 'green', 3), + new Piece(6, 20, 'teal', 0), + new Piece(0, 18, 'red', 3), + new Piece(1, 16, 'orange', 2), + new Piece(2, 18, 'blue', 1), + new Piece(3, 18, 'purple', 3), + new Piece(2, 15, 'yellow', 0), + new Piece(7, 18, 'green', 0), + new Piece(7, 14, 'red', 3), + new Piece(9, 14, 'teal', 3), + new Piece(3, 15, 'blue', 3), + new Piece(4, 16, 'orange', 3), + new Piece(6, 16, 'purple', 3), + new Piece(0, 14, 'teal', 3), + new Piece(5, 13, 'green', 3), + new Piece(9, 11, 'yellow', 0), + new Piece(3, 13, 'red', 0), + new Piece(3, 11, 'blue', 2), + new Piece(1, 12, 'orange', 3), + new Piece(7, 12, 'purple', 2), + new SuperShape(2, 10, 'club', 0), + new Piece(5, 14, 'teal', 3), + new Piece(7, 10, 'blue', 1), + new Piece(2, 9, '', 0), + new Piece(3, 9, '', 3), + new Piece(9, 9, 'yellow', 0), + new Piece(5, 10, 'purple', 2), + new Piece(5, 8, 'orange', 1), + new Piece(1, 7, 'blue', 3), + new Piece(1, 8, 'teal', 1), + new Piece(6, 8, 'red', 3), + new Piece(3, 6, 'green', 2), + new Piece(9, 7, 'yellow', 0), + new Piece(6, 6, 'purple', 2), + ], + }, + }, + Dodo: { + TSD: { + pieces: [ + new Piece(7, 19, 'red', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(4, 18, 'orange', 2), + new Piece(6, 18, 'teal', 0), + new Piece(4, 15, 'blue', 1), + new Piece(1, 18, 'green', 1), + new Piece(2, 17, 'purple', 2), + new Piece(0, 16, 'purple', 3), + new Piece(5, 16, 'blue', 1), + new Piece(6, 16, 'red', 3), + new Piece(1, 14, 'yellow', 0), + new Piece(8, 16, 'green', 3), + new Piece(7, 14, 'orange', 2), + new Piece(9, 14, 'teal', 3), + ], + seed: 'IwNgzGBMLtCsAWAHEA', + }, + TST: { + pieces: [ + new Piece(7, 19, 'red', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(4, 18, 'orange', 2), + new Piece(6, 18, 'teal', 0), + new Piece(4, 15, 'blue', 1), + new Piece(1, 18, 'green', 1), + new Piece(2, 17, 'purple', 2), + new Piece(5, 16, 'blue', 1), + new Piece(8, 16, 'green', 3), + new Piece(6, 16, 'red', 3), + new Piece(8, 14, 'yellow', 0), + new Piece(3, 14, 'orange', 1), + new Piece(9, 14, 'teal', 3), + new Piece(0, 16, 'blue', 3), + new Piece(5, 14, 'green', 3), + new Piece(2, 16, 'purple', 1), + ], + }, + S4W: { + pieces: [ + new Piece(7, 19, 'red', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(4, 18, 'orange', 2), + new Piece(6, 18, 'teal', 0), + new Piece(4, 15, 'blue', 1), + new Piece(1, 18, 'green', 1), + new Piece(2, 17, 'purple', 2), + new Piece(5, 16, 'blue', 1), + new Piece(9, 16, 'teal', 3), + new Piece(7, 16, 'orange', 2), + new Piece(6, 15, 'red', 0), + new Piece(7, 14, 'green', 3), + new Piece(9, 13, 'yellow', 0), + new Piece(5, 13, 'purple', 0), + ], + }, + PC: { + pieces: [ + new Piece(7, 19, 'red', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(4, 18, 'orange', 2), + new Piece(6, 18, 'teal', 0), + new Piece(4, 15, 'blue', 1), + new Piece(1, 18, 'green', 1), + new Piece(2, 17, 'purple', 2), + new Piece(8, 16, 'yellow', 0), + new Piece(5, 17, 'purple', 0), + new Piece(5, 15, 'green', 3), + new Piece(7, 14, 'orange', 0), + new Piece(9, 16, 'teal', 3), + new Piece(6, 13, 'red', 0), + new Piece(8, 12, 'blue', 2), + ], + }, + }, + 'Dot Cannon': { + variation: { + pieces: [ + new Piece(2, 19, 'yellow', 0), + new Piece(3, 18, 'orange', 3), + new Piece(8, 18, 'purple', 1), + new Piece(9, 18, 'teal', 3), + new Piece(0, 18, 'blue', 3), + new Piece(1, 16, 'green', 3), + new Piece(6, 19, 'red', 0), + new Piece(1, 14, 'green', 3), + new Piece(9, 15, 'yellow', 0), + new Piece(6, 17, 'red', 0), + new Piece(7, 15, 'orange', 3), + new Piece(0, 15, 'teal', 3), + new Piece(3, 15, 'blue', 3), + new Piece(4, 17, 'purple', 3), + ], + }, + }, + 'Dragon Special': { + 'STSD 1-1': { + pieces: [ + new Piece(2, 19, 'green', 0), + new Piece(6, 18, 'orange', 2), + new Piece(7, 17, 'blue', 2), + new Piece(9, 18, 'teal', 3), + new Piece(2, 16, 'red', 3), + new Piece(1, 18, 'yellow', 0), + new Piece(4, 17, 'purple', 2), + new Piece(6, 16, 'blue', 3), + new Piece(5, 16, 'yellow', 0), + new Piece(9, 14, 'orange', 1), + new Piece(0, 16, 'red', 3), + new Piece(2, 14, 'green', 1), + new Piece(1, 14, 'teal', 1), + new Piece(8, 16, 'purple', 1), + new Piece(6, 14, 'yellow', 0), + new Piece(6, 12, 'green', 0), + new Piece(3, 14, 'orange', 1), + new Piece(1, 12, 'red', 0), + new Piece(1, 10, 'blue', 2), + new Piece(5, 14, 'teal', 1), + new Piece(7, 14, 'purple', 3), + ], + seed: 'IwNgzGCcIBwCwgAwFZjKA', + }, + 'STSD 1-2': { + pieces: [ + new Piece(6, 18, 'orange', 2), + new Piece(7, 17, 'blue', 2), + new Piece(9, 18, 'teal', 3), + new Piece(2, 19, 'green', 0), + new Piece(2, 16, 'red', 3), + new Piece(1, 18, 'yellow', 0), + new Piece(4, 17, 'purple', 2), + new Piece(6, 16, 'blue', 3), + new Piece(0, 16, 'red', 3), + new Piece(0, 14, 'teal', 3), + new Piece(1, 14, 'green', 3), + new Piece(5, 16, 'yellow', 0), + new Piece(9, 14, 'orange', 1), + new Piece(8, 16, 'purple', 1), + new Piece(4, 15, 'yellow', 0), + new Piece(5, 14, 'red', 0), + new Piece(6, 12, 'blue', 3), + new Piece(2, 12, 'green', 1), + new Piece(4, 12, 'orange', 2), + new Piece(4, 12, 'teal', 0), + new Piece(7, 14, 'purple', 3), + ], + seed: 'IwNgzGCcLSBMcCsYg', + }, + 'S before Z': { + pieces: [ + new Piece(2, 19, 'green', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(2, 16, 'red', 3), + new Piece(6, 18, 'orange', 2), + new Piece(7, 17, 'blue', 2), + new Piece(9, 18, 'teal', 3), + new Piece(4, 17, 'purple', 2), + new Piece(9, 14, 'orange', 1), + new Piece(0, 16, 'teal', 3), + new Piece(2, 13, 'green', 3), + new Piece(6, 16, 'blue', 3), + new Piece(5, 16, 'yellow', 0), + new Piece(2, 15, 'red', 1), + new Piece(8, 16, 'purple', 1), + ], + seed: 'IwNgzGCcIOwKwA4BMwYyA', + }, + 'STSD 2 TSD': { + pieces: [ + new Piece(2, 19, 'green', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(9, 18, 'teal', 3), + new Piece(6, 18, 'orange', 2), + new Piece(7, 17, 'blue', 2), + new Piece(2, 16, 'red', 3), + new Piece(4, 17, 'purple', 2), + new Piece(1, 16, 'yellow', 0), + new Piece(6, 16, 'blue', 3), + new Piece(4, 16, 'green', 2), + new Piece(9, 14, 'orange', 1), + new Piece(3, 14, 'teal', 1), + new Piece(4, 15, 'red', 0), + new Piece(8, 16, 'purple', 1), + new Piece(9, 12, 'yellow', 0), + new Piece(3, 12, 'orange', 1), + new Piece(0, 14, 'red', 3), + new Piece(1, 11, 'blue', 3), + new Piece(4, 13, 'green', 3), + new Piece(1, 12, 'teal', 1), + new Piece(7, 14, 'purple', 2), + ], + seed: 'IwNgzGCcDsAMAsxixAJiA', + }, + 'STSD 2 TST TSD': { + pieces: [ + new Piece(2, 19, 'green', 0), + new Piece(2, 16, 'red', 3), + new Piece(6, 18, 'orange', 2), + new Piece(1, 18, 'yellow', 0), + new Piece(7, 17, 'blue', 2), + new Piece(9, 18, 'teal', 3), + new Piece(4, 17, 'purple', 2), + new Piece(1, 16, 'yellow', 0), + new Piece(9, 14, 'orange', 1), + new Piece(6, 16, 'blue', 3), + new Piece(4, 16, 'green', 2), + new Piece(3, 14, 'teal', 1), + new Piece(4, 15, 'red', 0), + new Piece(8, 16, 'purple', 1), + new Piece(3, 12, 'orange', 1), + new Piece(6, 14, 'yellow', 0), + new Piece(4, 12, 'blue', 3), + new Piece(6, 12, 'green', 0), + new Piece(5, 11, 'teal', 0), + new Piece(1, 14, 'red', 1), + new Piece(7, 14, 'purple', 3), + ], + seed: 'IwNgzGCcDsAMyRMALCIA', + }, + 'STSD 2 TST': { + pieces: [ + new Piece(2, 19, 'green', 0), + new Piece(9, 18, 'teal', 3), + new Piece(6, 18, 'orange', 2), + new Piece(1, 18, 'yellow', 0), + new Piece(7, 17, 'blue', 2), + new Piece(2, 16, 'red', 3), + new Piece(4, 17, 'purple', 2), + new Piece(6, 16, 'blue', 3), + new Piece(1, 16, 'yellow', 0), + new Piece(9, 14, 'orange', 1), + new Piece(4, 16, 'green', 2), + new Piece(3, 14, 'teal', 1), + new Piece(4, 15, 'red', 0), + new Piece(8, 16, 'purple', 1), + new Piece(1, 14, 'red', 1), + new Piece(1, 12, 'teal', 1), + new Piece(4, 13, 'green', 3), + new Piece(3, 12, 'orange', 1), + new Piece(9, 12, 'yellow', 0), + new Piece(1, 11, 'blue', 3), + new Piece(7, 14, 'purple', 2), + ], + seed: 'IwNgzGCcKQHA7AFgEwSA', + }, + 'STSD 2 TST 2': { + pieces: [ + new Piece(2, 19, 'green', 0), + new Piece(2, 16, 'red', 3), + new Piece(6, 18, 'orange', 2), + new Piece(7, 17, 'blue', 2), + new Piece(1, 18, 'yellow', 0), + new Piece(9, 18, 'teal', 3), + new Piece(4, 17, 'purple', 2), + new Piece(1, 16, 'yellow', 0), + new Piece(9, 14, 'orange', 1), + new Piece(6, 16, 'blue', 3), + new Piece(4, 16, 'green', 2), + new Piece(4, 15, 'red', 0), + new Piece(3, 14, 'teal', 1), + new Piece(8, 16, 'purple', 1), + new Piece(4, 13, 'yellow', 0), + new Piece(5, 13, 'orange', 3), + new Piece(6, 12, 'blue', 3), + new Piece(5, 11, 'green', 0), + new Piece(1, 14, 'red', 1), + new Piece(1, 12, 'teal', 1), + new Piece(7, 14, 'purple', 3), + ], + seed: 'IwNgzGCcDswAxgBwLkA', + }, + }, + 'Mochi\u2019s anger': { + 'ZS DD': { + pieces: [ + new Piece(2, 19, 'orange', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(2, 17, 'blue', 3), + new Piece(7, 18, 'red', 3), + new Piece(6, 18, 'green', 0), + new Piece(9, 18, 'teal', 3), + new Piece(4, 17, 'purple', 2), + new Piece(1, 16, 'teal', 1), + new Piece(1, 15, 'red', 3), + new Piece(1, 13, 'green', 1), + new Piece(6, 16, 'blue', 3), + new Piece(9, 14, 'orange', 1), + new Piece(5, 17, 'yellow', 0), + new Piece(8, 16, 'purple', 1), + new Piece(3, 14, 'orange', 3), + new Piece(7, 14, 'red', 0), + new Piece(7, 12, 'blue', 0), + new Piece(1, 10, 'teal', 1), + new Piece(2, 12, 'green', 1), + new Piece(2, 10, 'yellow', 0), + new Piece(5, 14, 'purple', 2), + new Piece(4, 12, 'red', 3), + new Piece(8, 11, 'green', 3), + new Piece(7, 10, 'blue', 3), + new Piece(9, 9, 'orange', 1), + new Piece(3, 11, 'purple', 2), + new Piece(4, 10, 'yellow', 0), + new Piece(3, 9, 'teal', 0), + ], + }, + 'ZS TDPC': { + pieces: [ + new Piece(2, 19, 'orange', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(2, 17, 'blue', 3), + new Piece(7, 18, 'red', 3), + new Piece(6, 18, 'green', 0), + new Piece(9, 18, 'teal', 3), + new Piece(4, 17, 'purple', 2), + new Piece(1, 16, 'teal', 1), + new Piece(1, 15, 'red', 3), + new Piece(1, 13, 'green', 1), + new Piece(6, 16, 'blue', 3), + new Piece(9, 14, 'orange', 1), + new Piece(5, 17, 'yellow', 0), + new Piece(8, 16, 'purple', 1), + new Piece(4, 15, 'yellow', 0), + new Piece(3, 13, 'blue', 0), + new Piece(7, 14, 'red', 0), + new Piece(2, 11, 'orange', 2), + new Piece(4, 11, 'green', 2), + new Piece(9, 11, 'teal', 3), + new Piece(5, 14, 'purple', 3), + new Piece(0, 10, 'red', 3), + new Piece(8, 12, 'yellow', 0), + new Piece(7, 9, 'green', 3), + new Piece(3, 10, 'orange', 0), + new Piece(9, 7, 'blue', 1), + new Piece(1, 8, 'teal', 1), + new Piece(6, 10, 'purple', 2), + ], + }, + 'ZS TDPC 2': { + pieces: [ + new Piece(2, 19, 'orange', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(2, 17, 'blue', 3), + new Piece(7, 18, 'red', 3), + new Piece(6, 18, 'green', 0), + new Piece(9, 18, 'teal', 3), + new Piece(4, 17, 'purple', 2), + new Piece(1, 16, 'teal', 1), + new Piece(1, 15, 'red', 3), + new Piece(1, 13, 'green', 1), + new Piece(6, 16, 'blue', 3), + new Piece(9, 14, 'orange', 1), + new Piece(5, 17, 'yellow', 0), + new Piece(8, 16, 'purple', 1), + new Piece(4, 15, 'yellow', 0), + new Piece(3, 13, 'blue', 0), + new Piece(7, 14, 'red', 0), + new Piece(2, 11, 'orange', 2), + new Piece(4, 11, 'green', 2), + new Piece(9, 11, 'teal', 3), + new Piece(5, 14, 'purple', 3), + new Piece(1, 10, 'orange', 2), + new Piece(8, 12, 'yellow', 0), + new Piece(7, 9, 'green', 3), + new Piece(1, 8, 'teal', 1), + new Piece(9, 7, 'blue', 1), + new Piece(3, 10, 'red', 0), + new Piece(6, 10, 'purple', 2), + ], + }, + 'Early JS TST': { + pieces: [ + new Piece(2, 19, 'orange', 0), + new Piece(1, 18, 'yellow', 0), + new Piece(2, 17, 'blue', 3), + new Piece(7, 18, 'red', 3), + new Piece(6, 18, 'green', 0), + new Piece(9, 18, 'teal', 3), + new Piece(4, 17, 'purple', 2), + new Piece(0, 16, 'teal', 3), + new Piece(1, 15, 'red', 3), + new Piece(5, 17, 'blue', 0), + new Piece(6, 16, 'green', 0), + new Piece(4, 15, 'yellow', 0), + new Piece(9, 14, 'orange', 1), + new Piece(8, 16, 'purple', 1), + new Piece(4, 12, 'blue', 3), + new Piece(7, 13, 'red', 2), + new Piece(3, 13, 'yellow', 0), + new Piece(1, 13, 'green', 1), + new Piece(9, 11, 'teal', 3), + new Piece(2, 11, 'orange', 2), + new Piece(5, 14, 'purple', 3), + ], + }, + 'PC 8': { + pieces: [ + new Piece(2, 19, 'orange', 0), + new Piece(7, 18, 'red', 3), + new Piece(2, 17, 'blue', 3), + new Piece(9, 18, 'teal', 3), + new Piece(1, 18, 'yellow', 0), + new Piece(6, 18, 'green', 0), + new Piece(4, 17, 'purple', 2), + new Piece(1, 16, 'red', 1), + new Piece(5, 17, 'yellow', 0), + new Piece(4, 16, 'teal', 0), + new Piece(6, 16, 'blue', 3), + new Piece(9, 14, 'orange', 1), + new Piece(8, 16, 'purple', 1), + ], + seed: 'IwNgLATMAcCsAM1pmsIA', + }, + }, + 'Hyper fractal': { + variation: { + pieces: [ + new Piece(6, 20, 'teal', 0), + new Piece(8, 19, 'red', 0), + new Piece(8, 17, 'green', 3), + new Piece(3, 18, 'blue', 1), + new Piece(5, 18, 'yellow', 0), + new Piece(4, 15, 'orange', 3), + new Piece(6, 17, 'purple', 3), + new Piece(3, 15, 'blue', 1), + new Piece(6, 15, 'green', 3), + new Piece(7, 13, 'teal', 3), + new Piece(9, 15, 'purple', 1), + new Piece(8, 13, 'red', 3), + new Piece(5, 14, 'orange', 1), + new Piece(5, 12, 'yellow', 0), + new Piece(6, 12, 'teal', 3), + new Piece(6, 9, 'green', 3), + new Piece(8, 11, 'red', 3), + new Piece(3, 12, 'blue', 1), + new Piece(1, 18, 'orange', 2), + new Piece(1, 17, 'purple', 2), + new Piece(8, 9, 'red', 3), + new Piece(5, 10, 'yellow', 0), + new Piece(6, 7, 'green', 3), + new Piece(3, 9, 'blue', 1), + new Piece(1, 15, 'orange', 2), + new Piece(1, 14, 'purple', 2), + new Piece(5, 8, 'yellow', 0), + new Piece(1, 12, 'orange', 2), + new Piece(8, 7, 'red', 3), + new Piece(3, 6, 'blue', 1), + new Piece(5, 6, 'yellow', 0), + new Piece(5, 3, 'teal', 3), + new Piece(5, 3, 'teal', 1), + new Piece(6, 5, 'green', 3), + new Piece(6, 3, 'green', 3), + new Piece(1, 9, 'orange', 2), + new Piece(1, 8, 'purple', 2), + new Piece(1, 8, 'purple', 2), + new Piece(8, 5, 'red', 3), + new Piece(5, 0, 'yellow', 0), + new Piece(3, 3, 'blue', 1), + new Piece(3, 0, 'blue', 1), + new Piece(5, -2, 'yellow', 0), + new Piece(1, 6, 'orange', 2), + new Piece(1, 5, 'purple', 2), + new Piece(6, 1, 'green', 3), + new Piece(8, 3, 'teal', 3), + new Piece(9, 2, 'teal', 3), + new Piece(8, -1, 'red', 3), + new Piece(6, -1, 'green', 3), + new Piece(1, 3, 'orange', 2), + ], + }, + }, + KSD: { + variation: { + pieces: [ + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'green', 0), + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'red', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(1, 16, 'blue', 3), + new Piece(2, 18, 'purple', 3), + ], + }, + }, + 'TSD Tower': { + variation: { + pieces: [ + new Piece(8, 19, 'orange', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(1, 16, 'blue', 3), + new Piece(5, 20, 'teal', 0), + new Piece(8, 18, 'green', 0), + new Piece(4, 18, 'red', 0), + new Piece(6, 17, 'purple', 3), + new Piece(3, 16, 'green', 0), + new Piece(8, 16, 'blue', 0), + new Piece(1, 16, 'teal', 1), + new Piece(9, 15, 'yellow', 0), + new Piece(1, 13, 'red', 3), + new Piece(6, 14, 'orange', 1), + new Piece(5, 16, 'purple', 1), + new Piece(2, 16, 'purple', 3), + ], + }, + }, + 'TST Combo': { + variation: { + pieces: [ + new Piece(6, 19, 'red', 0), + new Piece(7, 18, 'green', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(4, 19, 'purple', 0), + new Piece(9, 18, 'orange', 1), + new Piece(5, 18, 'teal', 0), + new Piece(1, 16, 'blue', 3), + new Piece(9, 15, 'blue', 1), + new Piece(2, 14, 'yellow', 0), + new Piece(1, 16, 'teal', 1), + new Piece(7, 15, 'red', 3), + new Piece(8, 13, 'orange', 2), + new Piece(2, 18, 'purple', 3), + new Piece(3, 16, 'green', 0), + ], + }, + }, + Joystick: { + variation: { + pieces: [ + new Piece(8, 18, 'green', 3), + new Piece(7, 19, 'yellow', 0), + new Piece(6, 16, 'teal', 3), + new SuperShape(1, 18, 'antenna', 0), + new Piece(1, 17, '', 3), + new Piece(4, 19, 'red', 0), + new Piece(5, 17, 'purple', 1), + new Piece(1, 16, 'teal', 1), + new Piece(3, 17, 'green', 1), + new Piece(4, 15, 'red', 3), + new Piece(2, 15, 'blue', 2), + new Piece(7, 13, 'yellow', 0), + new Piece(9, 16, 'orange', 1), + new Piece(7, 16, 'purple', 3), + ], + }, + }, + 'TD Parfait': { + variation: { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(6, 19, 'blue', 0), + new Piece(6, 17, 'teal', 3), + new Piece(3, 18, 'red', 3), + new Piece(1, 19, 'green', 0), + new Piece(8, 17, 'orange', 2), + new Piece(0, 17, 'purple', 3), + new Piece(0, 15, 'green', 3), + new Piece(8, 16, 'yellow', 0), + new Piece(9, 15, 'orange', 1), + new Piece(3, 16, 'blue', 3), + new Piece(3, 17, 'teal', 1), + new Piece(6, 14, 'red', 0), + new Piece(5, 16, 'purple', 1), + ], + }, + }, + 'Ruby Stacking': { + variation: { + pieces: [ + new Piece(3, 20, 'teal', 0), + new Piece(9, 18, 'blue', 1), + new Piece(0, 18, 'purple', 3), + new Piece(7, 19, 'green', 0), + new Piece(2, 18, 'red', 0), + new Piece(8, 17, 'yellow', 0), + ], + }, + }, + SBSD: { + variation: { + pieces: [ + new Piece(2, 19, 'yellow', 0), + new Piece(5, 19, 'red', 0), + new Piece(1, 18, 'teal', 1), + new Piece(3, 18, 'orange', 3), + new Piece(9, 18, 'blue', 1), + new Piece(8, 17, 'green', 0), + ], + }, + }, + 'ST Cannon': { + variation: { + pieces: [ + new Piece(1, 19, 'green', 0), + new Piece(0, 17, 'blue', 3), + new Piece(8, 20, 'teal', 0), + new Piece(8, 18, 'red', 0), + new Piece(6, 18, 'orange', 2), + new Piece(4, 19, 'yellow', 0), + new Piece(2, 17, 'purple', 1), + new Piece(0, 14, 'blue', 3), + new Piece(6, 16, 'orange', 1), + new Piece(8, 16, 'yellow', 0), + new Piece(1, 14, 'red', 3), + new Piece(9, 16, 'teal', 3), + new Piece(4, 16, 'green', 2), + new Piece(3, 15, 'purple', 2), + ], + }, + }, + 'SZ Cross': { + variation: { + pieces: [ + new Piece(5, 18, 'green', 3), + new Piece(1, 18, 'teal', 1), + new Piece(1, 18, 'orange', 3), + new Piece(4, 18, 'blue', 1), + new Piece(8, 18, 'red', 3), + new Piece(3, 18, 'yellow', 0), + new Piece(7, 17, 'purple', 2), + new Piece(9, 16, 'orange', 1), + new Piece(3, 16, 'yellow', 0), + new Piece(5, 16, 'blue', 3), + new Piece(5, 15, 'teal', 1), + new Piece(1, 15, 'green', 1), + new Piece(8, 14, 'red', 0), + new Piece(7, 16, 'purple', 3), + ], + }, + }, + 'SZ DT': { + variation: { + pieces: [ + new Piece(5, 18, 'green', 3), + new Piece(6, 16, 'yellow', 0), + new Piece(2, 19, 'blue', 0), + new Piece(8, 18, 'red', 3), + new Piece(4, 18, 'orange', 3), + new Piece(1, 18, 'teal', 1), + new Piece(2, 17, 'purple', 1), + new Piece(3, 17, 'blue', 3), + new Piece(1, 14, 'teal', 1), + new Piece(4, 15, 'yellow', 0), + new Piece(7, 17, 'purple', 2), + new Piece(6, 14, 'green', 0), + new Piece(1, 15, 'red', 3), + new Piece(9, 16, 'orange', 1), + new Piece(7, 16, 'purple', 3), + ], + }, + }, + 'Seagull Special': { + variation: { + pieces: [ + new Piece(4, 18, 'orange', 3), + new Piece(3, 17, 'blue', 3), + new Piece(2, 19, 'red', 0), + new Piece(1, 18, 'teal', 1), + new Piece(8, 19, 'green', 0), + new Piece(8, 17, 'yellow', 0), + new Piece(6, 18, 'purple', 2), + new Piece(6, 16, 'teal', 3), + new Piece(2, 14, 'green', 3), + new Piece(5, 16, 'orange', 1), + new Piece(8, 15, 'blue', 2), + new Piece(1, 17, 'red', 3), + new Piece(1, 15, 'purple', 2), + ], + }, + }, + Sewer: { + variation: { + pieces: [ + new Piece(4, 18, 'blue', 2), + new Piece(7, 19, 'yellow', 0), + new Piece(4, 17, 'red', 0), + new Piece(0, 18, 'green', 3), + new Piece(1, 16, 'purple', 1), + new Piece(8, 18, 'orange', 3), + new Piece(5, 15, 'teal', 3), + new Piece(5, 12, 'red', 0), + new Piece(2, 14, 'green', 0), + new Piece(0, 14, 'blue', 3), + new Piece(6, 16, 'orange', 3), + new Piece(9, 17, 'teal', 3), + new Piece(8, 16, 'yellow', 0), + new Piece(2, 17, 'purple', 3), + new Piece(4, 9, 'blue', 3), + new Piece(9, 13, 'teal', 3), + new Piece(3, 16, 'red', 0), + new Piece(7, 14, 'yellow', 0), + new Piece(8, 13, 'orange', 1), + new Piece(5, 10, 'green', 3), + new Piece(4, 14, 'purple', 1), + new Piece(0, 12, 'blue', 3), + new Piece(3, 11, 'orange', 3), + ], + }, + }, + 'British Sewer': { + variation: { + pieces: [ + new Piece(0, 18, 'green', 3), + new Piece(2, 18, 'red', 0), + new Piece(3, 19, 'orange', 0), + new Piece(9, 18, 'teal', 3), + new Piece(4, 17, 'yellow', 0), + new Piece(7, 18, 'blue', 2), + new Piece(8, 15, 'purple', 3), + new Piece(4, 15, 'green', 0), + new Piece(8, 12, 'orange', 1), + new Piece(1, 16, 'yellow', 0), + new Piece(9, 13, 'teal', 3), + new Piece(2, 15, 'blue', 3), + new Piece(7, 17, 'red', 0), + new Piece(5, 17, 'purple', 3), + new Piece(5, 14, 'teal', 0), + new Piece(1, 14, 'yellow', 0), + new Piece(2, 12, 'blue', 3), + new Piece(7, 9, 'green', 3), + new Piece(6, 16, 'red', 0), + new Piece(9, 9, 'orange', 1), + new Piece(7, 14, 'purple', 1), + new Piece(4, 10, 'yellow', 0), + new SuperShape(8, 6, 'antenna', 0), + new Piece(4, 12, 'green', 0), + new Piece(8, 5, '', 3), + new Piece(1, 10, 'red', 3), + new Piece(1, 12, 'teal', 1), + new Piece(6, 10, 'purple', 2), + ], + }, + }, + Spachispin: { + 'Regular 1': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(0, 16, 'red', 3), + new Piece(7, 18, 'blue', 2), + new Piece(6, 17, 'orange', 2), + new Piece(9, 18, 'teal', 3), + new Piece(3, 19, 'green', 0), + new Piece(2, 17, 'purple', 2), + new Piece(9, 14, 'orange', 1), + new Piece(3, 16, 'yellow', 0), + new Piece(6, 16, 'green', 0), + new Piece(1, 14, 'teal', 1), + new Piece(4, 16, 'blue', 3), + new Piece(8, 16, 'purple', 1), + ], + seed: 'IwNgzGCcAcBMCskQAZoBYg', + }, + 'Regular 2': { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(7, 18, 'blue', 2), + new Piece(6, 17, 'orange', 2), + new Piece(3, 19, 'green', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(0, 16, 'red', 3), + new Piece(2, 17, 'purple', 2), + new Piece(6, 16, 'green', 0), + new Piece(0, 14, 'red', 3), + new Piece(4, 16, 'blue', 3), + new Piece(9, 14, 'orange', 1), + new Piece(3, 16, 'yellow', 0), + new Piece(8, 16, 'purple', 1), + ], + seed: 'IwNgzGCcAcBMIgCwFZoiA', + }, + 'Regular 3-1': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(0, 16, 'red', 3), + new Piece(7, 18, 'blue', 2), + new Piece(3, 19, 'green', 0), + new Piece(9, 18, 'teal', 3), + new Piece(6, 17, 'orange', 2), + new Piece(2, 17, 'purple', 2), + new Piece(3, 16, 'blue', 2), + new Piece(6, 16, 'green', 0), + new Piece(9, 14, 'orange', 1), + new Piece(0, 14, 'red', 3), + new Piece(4, 16, 'teal', 0), + new Piece(8, 16, 'purple', 1), + new Piece(3, 14, 'yellow', 0), + new Piece(3, 12, 'yellow', 0), + new Piece(5, 14, 'teal', 1), + new Piece(3, 10, 'green', 3), + new Piece(1, 12, 'red', 1), + new Piece(5, 14, 'orange', 3), + new Piece(9, 11, 'blue', 1), + new Piece(7, 14, 'purple', 2), + ], + seed: 'IwNgzGCcAcYAxwKwHYzCA', + }, + 'Regular 3-2': { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(7, 18, 'blue', 2), + new Piece(3, 19, 'green', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(0, 16, 'red', 3), + new Piece(6, 17, 'orange', 2), + new Piece(2, 17, 'purple', 2), + new Piece(6, 16, 'green', 0), + new Piece(1, 14, 'red', 1), + new Piece(9, 14, 'orange', 1), + new Piece(3, 16, 'blue', 2), + new Piece(4, 16, 'teal', 0), + new Piece(8, 16, 'purple', 1), + new Piece(3, 14, 'yellow', 0), + new Piece(5, 15, 'blue', 0), + new Piece(5, 13, 'red', 3), + new Piece(1, 12, 'teal', 1), + new Piece(3, 12, 'green', 3), + new Piece(6, 11, 'orange', 2), + new Piece(2, 12, 'yellow', 0), + new Piece(7, 14, 'purple', 1), + ], + seed: 'IwNgzGCcAcBMkFZrgAxA', + }, + 'Regular 3-3': { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(7, 18, 'blue', 2), + new Piece(6, 17, 'orange', 2), + new Piece(3, 19, 'green', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(0, 16, 'red', 3), + new Piece(2, 17, 'purple', 2), + new Piece(6, 16, 'green', 0), + new Piece(3, 16, 'blue', 2), + new Piece(4, 16, 'teal', 0), + new Piece(1, 14, 'red', 1), + new Piece(3, 14, 'yellow', 0), + new Piece(9, 14, 'orange', 1), + new Piece(8, 16, 'purple', 1), + new Piece(4, 14, 'blue', 3), + new Piece(6, 15, 'yellow', 0), + new Piece(5, 12, 'green', 3), + new Piece(6, 11, 'red', 0), + new Piece(1, 11, 'orange', 3), + new Piece(1, 12, 'teal', 1), + new Piece(7, 14, 'purple', 3), + ], + seed: 'IwNgzGCcAcAsKzAVgAyyA', + }, + 'Regular 3-4': { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(7, 18, 'blue', 2), + new Piece(1, 19, 'yellow', 0), + new Piece(6, 17, 'orange', 2), + new Piece(3, 19, 'green', 0), + new Piece(0, 16, 'red', 3), + new Piece(2, 17, 'purple', 2), + new Piece(3, 16, 'blue', 2), + new Piece(4, 16, 'teal', 0), + new Piece(9, 14, 'orange', 1), + new Piece(0, 14, 'red', 3), + new Piece(6, 15, 'green', 2), + new Piece(8, 16, 'purple', 1), + new Piece(3, 14, 'yellow', 0), + new Piece(2, 11, 'green', 3), + new Piece(1, 12, 'orange', 2), + new Piece(7, 13, 'red', 2), + new Piece(1, 10, 'blue', 1), + new Piece(5, 14, 'teal', 1), + new Piece(5, 11, 'yellow', 0), + new Piece(5, 14, 'purple', 3), + ], + seed: 'IwNgzGCcAcYEzWAdgAxiA', + }, + 'Regular 3-5': { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(7, 18, 'blue', 2), + new Piece(6, 17, 'orange', 2), + new Piece(0, 16, 'red', 3), + new Piece(3, 19, 'green', 0), + new Piece(2, 17, 'purple', 2), + new Piece(3, 16, 'blue', 2), + new Piece(4, 16, 'teal', 0), + new Piece(6, 15, 'green', 2), + new Piece(9, 14, 'orange', 1), + new Piece(0, 14, 'red', 3), + new Piece(3, 14, 'yellow', 0), + new Piece(8, 16, 'purple', 1), + new Piece(5, 14, 'green', 3), + new Piece(3, 12, 'yellow', 0), + new Piece(0, 12, 'red', 3), + new Piece(4, 14, 'teal', 3), + new Piece(6, 12, 'blue', 3), + new Piece(1, 10, 'orange', 2), + new Piece(7, 14, 'purple', 3), + ], + seed: 'IwNgzGCcAcAszUmATLIA', + }, + Irregular: { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(3, 19, 'green', 0), + new Piece(7, 18, 'blue', 2), + new Piece(6, 17, 'orange', 2), + new Piece(0, 16, 'red', 3), + new Piece(2, 17, 'purple', 2), + new Piece(3, 16, 'blue', 2), + new Piece(3, 15, 'yellow', 0), + new Piece(6, 16, 'green', 0), + new Piece(0, 14, 'red', 3), + new Piece(9, 14, 'orange', 1), + new Piece(8, 16, 'purple', 1), + new Piece(0, 12, 'teal', 3), + new Piece(9, 12, 'yellow', 0), + new Piece(7, 14, 'red', 0), + new Piece(2, 12, 'orange', 3), + new Piece(4, 15, 'teal', 3), + new Piece(1, 11, 'blue', 3), + new Piece(4, 12, 'green', 0), + new Piece(5, 14, 'purple', 3), + new Piece(3, 10, 'orange', 1), + new Piece(7, 12, 'teal', 3), + new Piece(1, 8, 'red', 3), + new Piece(0, 8, 'blue', 3), + new Piece(9, 10, 'yellow', 0), + new Piece(7, 9, 'green', 0), + new Piece(6, 12, 'purple', 1), + ], + seed: 'IwNgzGCcAcYpCTSA', + }, + shift: { + pieces: [ + new Piece(2, 19, 'yellow', 0), + new Piece(4, 19, 'green', 0), + new Piece(1, 16, 'red', 3), + new Piece(8, 18, 'blue', 2), + new Piece(7, 17, 'orange', 2), + new Piece(1, 18, 'teal', 1), + new Piece(3, 17, 'purple', 2), + new Piece(9, 16, 'orange', 1), + new Piece(3, 13, 'teal', 1), + new Piece(4, 16, 'yellow', 0), + new Piece(1, 14, 'blue', 1), + new Piece(4, 14, 'green', 0), + new Piece(7, 15, 'red', 2), + new Piece(5, 16, 'purple', 3), + new Piece(0, 13, 'blue', 3), + new Piece(4, 12, 'teal', 1), + new Piece(6, 15, 'yellow', 0), + new Piece(8, 14, 'red', 3), + new Piece(4, 11, 'orange', 3), + new Piece(5, 11, 'green', 3), + new Piece(7, 13, 'purple', 2), + ], + seed: 'IwNgzGBMDsAMGwByNkA', + }, + }, + 'Chopin\u2019s Special TT': { + variation: { + pieces: [ + new Piece(7, 19, 'yellow', 0), + new Piece(6, 17, 'green', 0), + new Piece(4, 18, 'purple', 3), + new Piece(4, 16, 'red', 0), + new Piece(3, 18, 'teal', 3), + new Piece(1, 19, 'orange', 0), + new Piece(9, 18, 'blue', 1), + new Piece(9, 15, 'orange', 1), + new Piece(1, 18, 'green', 0), + new Piece(2, 16, 'yellow', 0), + new Piece(4, 13, 'blue', 3), + new Piece(8, 17, 'purple', 1), + new Piece(1, 16, 'teal', 1), + new Piece(7, 14, 'red', 2), + ], + }, + }, + 'Note stacking 1': { + variation: { + pieces: [ + new Piece(4, 18, 'red', 3), + new Piece(7, 19, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(6, 16, 'purple', 2), + new Piece(1, 18, 'orange', 3), + new Piece(9, 18, 'blue', 1), + new Piece(3, 18, 'green', 1), + new Piece(9, 15, 'orange', 1), + new Piece(1, 16, 'red', 0), + new Piece(4, 17, 'yellow', 0), + new Piece(4, 14, 'blue', 1), + new Piece(2, 14, 'green', 1), + new Piece(1, 13, 'teal', 1), + new Piece(8, 17, 'purple', 1), + new Piece(5, 12, 'yellow', 0), + new Piece(4, 13, 'teal', 1), + new Piece(9, 12, 'orange', 1), + new Piece(5, 15, 'purple', 3), + new Piece(7, 14, 'red', 2), + new Piece(2, 12, 'green', 1), + new Piece(6, 12, 'blue', 1), + new Piece(2, 10, 'red', 3), + new Piece(4, 9, 'orange', 1), + new Piece(6, 10, 'green', 0), + new Piece(1, 10, 'yellow', 0), + new Piece(1, 8, 'blue', 2), + new Piece(2, 8, 'teal', 0), + new Piece(7, 12, 'purple', 3), + ], + }, + }, + 'Note Stacking 2': { + variation: { + pieces: [ + new Piece(9, 18, 'blue', 1), + new Piece(4, 19, 'green', 0), + new Piece(7, 19, 'yellow', 0), + new Piece(4, 17, 'teal', 1), + new Piece(1, 19, 'orange', 0), + new Piece(1, 17, 'red', 3), + new Piece(4, 16, 'purple', 3), + new Piece(1, 17, 'teal', 1), + new Piece(1, 15, 'red', 3), + new Piece(9, 15, 'orange', 1), + new Piece(6, 16, 'green', 2), + new Piece(8, 17, 'purple', 1), + new Piece(1, 14, 'yellow', 0), + new Piece(1, 12, 'blue', 2), + ], + }, + }, + 'Elephant TT': { + variation: { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(1, 18, 'red', 0), + new Piece(3, 18, 'orange', 3), + new Piece(9, 18, 'teal', 3), + new Piece(6, 19, 'yellow', 0), + new Piece(8, 18, 'purple', 1), + new Piece(8, 16, 'green', 0), + new Piece(4, 17, 'purple', 3), + new Piece(8, 13, 'orange', 1), + new Piece(3, 15, 'blue', 3), + new Piece(3, 16, 'teal', 1), + new Piece(6, 16, 'red', 2), + new Piece(1, 16, 'yellow', 0), + new Piece(1, 14, 'green', 0), + new Piece(9, 13, 'teal', 3), + new Piece(5, 14, 'green', 2), + new Piece(0, 12, 'red', 3), + new Piece(0, 10, 'blue', 3), + new Piece(2, 11, 'orange', 1), + new Piece(4, 13, 'yellow', 0), + new Piece(7, 15, 'purple', 1), + ], + }, + }, + 'T-spin snaking': { + variation: { + pieces: [ + new Piece(5, 19, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(4, 16, 'orange', 1), + new Piece(8, 19, 'purple', 0), + new Piece(6, 18, 'red', 3), + new Piece(8, 17, 'green', 3), + new Piece(1, 18, 'blue', 3), + new Piece(1, 14, 'teal', 1), + new Piece(1, 11, 'yellow', 0), + new Piece(3, 14, 'red', 0), + new Piece(8, 15, 'blue', 2), + new Piece(6, 16, 'green', 2), + new Piece(5, 15, 'purple', 3), + new Piece(4, 12, 'orange', 3), + new Piece(9, 13, 'teal', 3), + new Piece(5, 10, 'yellow', 0), + new Piece(4, 8, 'red', 0), + new Piece(1, 9, 'blue', 0), + new Piece(5, 12, 'green', 3), + new Piece(7, 14, 'orange', 0), + new Piece(7, 12, 'purple', 3), + new Piece(6, 10, 'blue', 3), + new Piece(8, 10, 'purple', 2), + new Piece(1, 6, 'teal', 1), + new Piece(1, 3, 'yellow', 0), + new Piece(5, 7, 'green', 3), + new Piece(3, 6, 'red', 0), + new Piece(7, 7, 'orange', 1), + ], + }, + }, + 'XZ Cannon': { + variation: { + pieces: [ + new Piece(6, 19, 'red', 0), + new Piece(9, 18, 'blue', 1), + new Piece(8, 18, 'yellow', 0), + new Piece(0, 18, 'orange', 3), + new Piece(8, 17, 'teal', 0), + new Piece(2, 18, 'green', 1), + ], + }, + }, + 'Trehalose setup': { + variation: { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(6, 19, 'purple', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(4, 19, 'green', 0), + new Piece(1, 16, 'teal', 1), + new Piece(1, 13, 'orange', 0), + new Piece(5, 16, 'blue', 1), + new Piece(7, 17, 'yellow', 0), + new Piece(9, 17, 'teal', 3), + new Piece(8, 16, 'orange', 1), + new Piece(3, 17, 'green', 0), + new Piece(9, 13, 'blue', 1), + new Piece(6, 14, 'red', 3), + new Piece(8, 12, 'blue', 3), + new Piece(1, 12, 'yellow', 0), + new Piece(5, 13, 'red', 3), + new Piece(1, 16, 'purple', 3), + new Piece(6, 11, 'green', 3), + new Piece(2, 16, 'purple', 3), + ], + }, + }, + 'Ajanba Signature': { + variation: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(3, 19, 'purple', 0), + new Piece(4, 17, 'red', 3), + new Piece(9, 18, 'blue', 1), + new Piece(6, 19, 'yellow', 0), + new Piece(8, 17, 'green', 0), + new Piece(8, 16, 'teal', 0), + new Piece(2, 18, 'green', 0), + new Piece(4, 16, 'yellow', 0), + new Piece(0, 15, 'teal', 3), + new Piece(1, 16, 'red', 3), + new Piece(8, 14, 'orange', 0), + new Piece(1, 14, 'purple', 3), + new Piece(4, 13, 'blue', 1), + new Piece(0, 11, 'orange', 3), + new Piece(3, 12, 'blue', 1), + new Piece(2, 11, 'purple', 1), + new Piece(6, 12, 'teal', 0), + new Piece(1, 9, 'green', 1), + new Piece(3, 10, 'red', 0), + new Piece(6, 10, 'yellow', 0), + new Piece(7, 9, 'orange', 1), + new Piece(2, 8, 'yellow', 0), + new Piece(4, 8, 'red', 3), + new Piece(4, 7, 'teal', 1), + new Piece(5, 14, 'purple', 3), + new Piece(4, 6, 'blue', 3), + new Piece(1, 6, 'orange', 2), + new Piece(6, 14, 'purple', 3), + new Piece(6, 7, 'red', 0), + new Piece(6, 4, 'blue', 2), + new Piece(4, 4, 'green', 0), + new Piece(2, 5, 'yellow', 0), + new Piece(3, 3, 'green', 0), + new Piece(1, 4, 'teal', 1), + new Piece(1, 2, 'orange', 1), + new Piece(7, 14, 'purple', 3), + ], + }, + }, + 'Godless spin': { + variation: { + pieces: [ + new Piece(8, 18, 'orange', 1), + new Piece(9, 18, 'teal', 3), + new Piece(7, 19, 'yellow', 0), + new Piece(1, 19, 'green', 0), + new Piece(3, 19, 'purple', 0), + new Piece(0, 17, 'blue', 3), + new Piece(8, 15, 'red', 3), + new Piece(2, 17, 'green', 0), + new Piece(4, 17, 'purple', 0), + new Piece(1, 15, 'yellow', 0), + new Piece(8, 13, 'red', 3), + new Piece(8, 12, 'teal', 0), + new Piece(6, 10, 'orange', 2), + new Piece(3, 15, 'blue', 0), + new Piece(3, 14, 'red', 0), + new Piece(5, 15, 'purple', 3), + new Piece(1, 13, 'yellow', 0), + new Piece(0, 10, 'orange', 3), + new Piece(3, 12, 'green', 0), + new Piece(3, 10, 'teal', 1), + new Piece(3, 9, 'blue', 3), + new Piece(1, 9, 'orange', 1), + new Piece(7, 13, 'purple', 1), + new Piece(1, 7, 'blue', 0), + new Piece(1, 6, 'red', 0), + new Piece(4, 7, 'yellow', 0), + new Piece(9, 9, 'teal', 3), + new Piece(4, 5, 'yellow', 0), + new Piece(2, 4, 'green', 1), + new Piece(2, 3, 'red', 0), + new Piece(4, 2, 'green', 1), + new Piece(1, 3, 'teal', 1), + new Piece(6, 13, 'purple', 3), + new Piece(3, 0, 'blue', 2), + new Piece(1, 0, 'orange', 3), + new Piece(1, -1, 'teal', 1), + new Piece(5, -1, 'yellow', 0), + new Piece(2, -1, 'red', 0), + new Piece(1, -4, 'green', 1), + new Piece(5, 13, 'purple', 1), + new Piece(7, 11, 'orange', 0), + new Piece(5, -4, 'blue', 1), + new Piece(3, -3, 'blue', 3), + new Piece(2, -4, 'orange', 1), + new Piece(1, -6, 'yellow', 0), + new Piece(9, 5, 'teal', 3), + new Piece(4, 11, 'purple', 3), + ], + }, + }, + 'T-Spin Mini Zero': { + variation: { + pieces: [ + new Piece(0, 18, 'blue', 3), + new Piece(1, 18, 'red', 3), + new Piece(2, 16, 'orange', 0), + new Piece(7, 18, 'green', 3), + new Piece(9, 18, 'teal', 3), + new Piece(3, 19, 'purple', 0), + new Piece(6, 19, 'yellow', 0), + new Piece(0, 15, 'teal', 3), + new Piece(4, 17, 'purple', 2), + new Piece(6, 16, 'blue', 3), + new Piece(5, 16, 'yellow', 0), + new Piece(2, 15, 'green', 0), + new Piece(1, 13, 'red', 3), + new Piece(9, 14, 'orange', 1), + ], + }, + }, + 'Kaguya SP': { + ZJ: { + pieces: [ + new Piece(0, 18, 'green', 3), + new Piece(9, 19, 'yellow', 0), + new Piece(2, 18, 'red', 0), + new Piece(6, 18, 'blue', 2), + new Piece(8, 18, 'teal', 0), + new Piece(2, 16, 'orange', 0), + new Piece(4, 17, 'purple', 2), + new Piece(3, 17, 'orange', 0), + new Piece(6, 16, 'red', 3), + new Piece(2, 15, 'green', 0), + new Piece(7, 13, 'blue', 1), + new Piece(9, 16, 'yellow', 0), + new Piece(1, 16, 'teal', 1), + new Piece(5, 15, 'purple', 2), + new Piece(9, 14, 'yellow', 0), + new Piece(9, 11, 'teal', 3), + new Piece(7, 11, 'blue', 2), + new Piece(3, 13, 'red', 0), + new Piece(5, 13, 'green', 2), + new Piece(7, 10, 'orange', 0), + new Piece(1, 13, 'purple', 2), + ], + seed: 'IwNgzGCcDswCwAYAcVpA', + }, + JZ: { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(6, 18, 'blue', 2), + new Piece(8, 18, 'teal', 0), + new Piece(1, 18, 'green', 1), + new Piece(2, 18, 'red', 0), + new Piece(2, 16, 'orange', 0), + new Piece(4, 17, 'purple', 2), + new Piece(9, 16, 'yellow', 0), + new Piece(7, 15, 'blue', 1), + new Piece(2, 15, 'green', 0), + new Piece(1, 16, 'teal', 1), + new Piece(3, 17, 'orange', 0), + new Piece(6, 13, 'red', 3), + new Piece(5, 15, 'purple', 2), + new Piece(9, 13, 'blue', 1), + new Piece(4, 14, 'red', 0), + new Piece(4, 12, 'green', 3), + new Piece(3, 12, 'yellow', 0), + new Piece(8, 12, 'teal', 3), + new Piece(9, 10, 'orange', 1), + new Piece(1, 13, 'purple', 2), + ], + seed: 'IwNgzGCcDswEyTgDjsIA', + }, + }, + Petrel: { + variation: { + pieces: [ + new Piece(4, 19, 'yellow', 0), + new Piece(8, 18, 'blue', 2), + new Piece(0, 18, 'green', 3), + new Piece(5, 18, 'red', 0), + new Piece(8, 18, 'teal', 0), + new Piece(3, 15, 'orange', 3), + new Piece(2, 17, 'purple', 2), + ], + }, + }, + Maospin: { + variation: { + pieces: [ + new Piece(0, 18, 'teal', 3), + new Piece(6, 19, 'red', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(8, 17, 'orange', 2), + new Piece(3, 19, 'green', 0), + new Piece(1, 15, 'blue', 0), + new Piece(1, 18, 'purple', 3), + new Piece(8, 15, 'orange', 1), + new Piece(9, 15, 'teal', 3), + new Piece(2, 17, 'red', 0), + new Piece(6, 17, 'green', 0), + new Piece(2, 14, 'blue', 2), + new Piece(1, 13, 'yellow', 0), + new Piece(4, 16, 'purple', 2), + new Piece(7, 12, 'orange', 3), + new Piece(3, 13, 'green', 0), + new Piece(6, 14, 'red', 2), + new Piece(1, 11, 'blue', 2), + new Piece(9, 12, 'yellow', 0), + new Piece(0, 9, 'teal', 3), + new Piece(4, 15, 'purple', 3), + new Piece(9, 9, 'orange', 1), + new Piece(7, 9, 'green', 3), + new Piece(3, 10, 'yellow', 0), + new Piece(5, 12, 'teal', 0), + new Piece(1, 9, 'blue', 3), + new Piece(1, 7, 'red', 0), + new Piece(5, 12, 'purple', 2), + ], + }, + }, + 'Chopin Signature Trinity': { + variation: { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(0, 16, 'red', 3), + new Piece(1, 14, 'orange', 2), + new Piece(8, 19, 'blue', 0), + new Piece(5, 20, 'teal', 0), + new Piece(4, 18, 'purple', 0), + new Piece(4, 16, 'green', 3), + new Piece(9, 18, 'yellow', 0), + new Piece(5, 15, 'green', 3), + new Piece(0, 12, 'teal', 3), + new Piece(9, 15, 'blue', 1), + new Piece(4, 13, 'orange', 1), + new Piece(7, 17, 'red', 1), + new Piece(2, 17, 'purple', 2), + new Piece(7, 15, 'red', 0), + new Piece(7, 13, 'blue', 2), + new Piece(6, 12, 'orange', 2), + new Piece(8, 12, 'green', 3), + new Piece(3, 15, 'purple', 1), + ], + }, + }, + 'Abyss opener': { + variation: { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(4, 19, 'green', 0), + new Piece(5, 16, 'red', 3), + new Piece(1, 19, 'blue', 0), + new Piece(5, 16, 'teal', 1), + new Piece(2, 18, 'orange', 0), + new Piece(6, 19, 'purple', 0), + new Piece(9, 16, 'teal', 3), + new Piece(8, 12, 'green', 3), + new Piece(7, 17, 'purple', 2), + new Piece(1, 17, 'yellow', 0), + new Piece(2, 16, 'red', 3), + new Piece(6, 14, 'orange', 2), + new Piece(1, 15, 'blue', 0), + ], + }, + }, + 'SD Tetris': { + variation: { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(5, 19, 'yellow', 0), + new Piece(4, 17, 'red', 0), + new Piece(2, 19, 'orange', 0), + new Piece(0, 18, 'purple', 3), + new Piece(9, 17, 'blue', 1), + new Piece(7, 18, 'green', 0), + new Piece(4, 15, 'blue', 2), + new Piece(1, 15, 'teal', 1), + new Piece(7, 16, 'orange', 2), + new Piece(9, 15, 'yellow', 0), + new Piece(6, 15, 'red', 0), + new Piece(6, 13, 'green', 3), + new Piece(2, 17, 'purple', 2), + new Piece(9, 13, 'yellow', 0), + new Piece(2, 15, 'blue', 3), + new Piece(4, 13, 'red', 3), + new Piece(3, 13, 'green', 0), + new Piece(2, 15, 'teal', 1), + ], + }, + }, + TSSDDT: { + variation: { + pieces: [ + new Piece(5, 19, 'blue', 0), + new Piece(5, 18, 'red', 0), + new Piece(5, 16, 'green', 3), + new Piece(8, 19, 'yellow', 0), + new Piece(2, 19, 'orange', 0), + new Piece(9, 18, 'teal', 3), + new Piece(0, 18, 'purple', 3), + new Piece(7, 16, 'orange', 1), + new Piece(2, 17, 'purple', 2), + new Piece(4, 14, 'red', 0), + new Piece(8, 16, 'blue', 3), + new Piece(8, 15, 'teal', 0), + new Piece(4, 16, 'yellow', 0), + new Piece(0, 15, 'green', 3), + new Piece(2, 14, 'purple', 2), + new Piece(9, 13, 'yellow', 0), + new Piece(3, 11, 'orange', 1), + new Piece(5, 13, 'red', 0), + new Piece(6, 12, 'green', 3), + new Piece(0, 13, 'blue', 3), + new Piece(6, 11, 'teal', 0), + ], + }, + }, + Nyaspin: { + variation: { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(1, 18, 'blue', 3), + new Piece(8, 16, 'orange', 3), + new Piece(2, 18, 'red', 3), + new Piece(4, 19, 'green', 0), + new Piece(6, 19, 'purple', 0), + new Piece(9, 15, 'teal', 3), + new Piece(2, 16, 'blue', 0), + new Piece(7, 17, 'purple', 1), + new Piece(5, 17, 'green', 0), + new Piece(8, 14, 'yellow', 0), + new Piece(2, 15, 'red', 0), + new Piece(4, 15, 'orange', 1), + new Piece(7, 11, 'blue', 1), + new Piece(6, 14, 'red', 2), + new Piece(2, 12, 'green', 3), + new Piece(9, 12, 'yellow', 0), + new Piece(1, 12, 'orange', 3), + new Piece(1, 14, 'teal', 1), + new Piece(5, 13, 'purple', 2), + ], + }, + }, + 'Wongsz spin': { + variation: { + pieces: [ + new Piece(8, 18, 'blue', 1), + new Piece(6, 18, 'red', 3), + new Piece(9, 18, 'teal', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(2, 18, 'orange', 3), + new Piece(4, 18, 'green', 1), + new Piece(4, 16, 'purple', 2), + ], + }, + }, + 'Early I STD': { + Base: { + pieces: [ + new Piece(8, 18, 'green', 3), + new Piece(6, 20, 'teal', 0), + new Piece(9, 16, 'orange', 1), + new Piece(6, 18, 'blue', 0), + new Piece(1, 19, 'red', 0), + new Piece(2, 17, 'yellow', 0), + new Piece(3, 18, 'purple', 2), + new Piece(4, 17, 'yellow', 0), + new Piece(5, 16, 'green', 3), + new Piece(4, 14, 'red', 3), + new Piece(2, 15, 'orange', 0), + new Piece(1, 17, 'teal', 1), + new Piece(6, 14, 'blue', 3), + new Piece(7, 16, 'purple', 3), + ], + seed: 'IwNgzGAcCcAMDslLxAViA', + }, + }, + Flamingo: { + 'Cradle TSD': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(6, 18, 'orange', 2), + new Piece(4, 18, 'green', 0), + new Piece(0, 16, 'red', 3), + new Piece(7, 17, 'blue', 2), + new Piece(9, 18, 'teal', 3), + new Piece(2, 17, 'purple', 2), + new Piece(7, 17, 'blue', 0), + new Piece(2, 16, 'orange', 3), + new Piece(8, 16, 'green', 0), + new Piece(6, 15, 'yellow', 0), + new Piece(4, 16, 'purple', 2), + ], + seed: 'IwNgzALADBLKAmECg', + }, + 'Cradle TST': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(6, 18, 'orange', 2), + new Piece(7, 17, 'blue', 2), + new Piece(9, 18, 'teal', 3), + new Piece(4, 18, 'green', 0), + new Piece(0, 16, 'red', 3), + new Piece(2, 17, 'purple', 2), + new Piece(3, 17, 'blue', 0), + new Piece(4, 16, 'green', 0), + new Piece(8, 17, 'yellow', 0), + new Piece(2, 15, 'red', 0), + new Piece(8, 15, 'orange', 0), + new Piece(1, 14, 'teal', 1), + new Piece(7, 14, 'red', 0), + new Piece(6, 16, 'purple', 1), + ], + seed: 'IwNgzALADBLAHAVmGeQ', + }, + 'Cradle STSD': { + pieces: [ + new Piece(6, 18, 'orange', 2), + new Piece(7, 17, 'blue', 2), + new Piece(9, 18, 'teal', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(4, 18, 'green', 0), + new Piece(0, 16, 'red', 3), + new Piece(2, 17, 'purple', 2), + new Piece(0, 14, 'teal', 3), + new Piece(4, 17, 'green', 0), + new Piece(6, 16, 'blue', 3), + new Piece(2, 16, 'red', 3), + new Piece(9, 14, 'orange', 1), + new Piece(5, 15, 'yellow', 0), + ], + seed: 'IwNgzALADBCsCc8oCYQA4g', + }, + 'Cornerstone TSD': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(9, 18, 'blue', 1), + new Piece(7, 19, 'teal', 0), + new Piece(4, 18, 'green', 0), + new Piece(7, 17, 'orange', 0), + new Piece(0, 16, 'red', 3), + new Piece(2, 17, 'purple', 2), + new Piece(8, 15, 'green', 3), + new Piece(6, 16, 'blue', 1), + new Piece(5, 14, 'red', 3), + new Piece(7, 16, 'teal', 3), + new Piece(2, 16, 'orange', 3), + new Piece(4, 16, 'purple', 2), + ], + seed: 'IwNgzALADBIKxysMB2IA', + }, + 'Cornerstone TST': { + pieces: [ + new Piece(9, 18, 'blue', 1), + new Piece(7, 19, 'teal', 0), + new Piece(7, 17, 'orange', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(0, 16, 'red', 3), + new Piece(4, 18, 'green', 0), + new Piece(2, 17, 'purple', 2), + new Piece(7, 17, 'yellow', 0), + new Piece(7, 14, 'teal', 3), + new Piece(6, 14, 'orange', 1), + new Piece(3, 17, 'blue', 0), + new Piece(0, 14, 'red', 3), + new Piece(8, 15, 'green', 3), + new Piece(3, 15, 'purple', 2), + ], + seed: 'IwNgzALADBLgrATgEwSA', + }, + 'Cornerstone S4W': { + pieces: [ + new Piece(9, 18, 'blue', 1), + new Piece(7, 19, 'teal', 0), + new Piece(7, 17, 'orange', 0), + new Piece(4, 18, 'green', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(0, 16, 'red', 3), + new Piece(2, 17, 'purple', 2), + new Piece(0, 14, 'purple', 3), + new Piece(1, 13, 'red', 0), + new Piece(3, 17, 'blue', 0), + new Piece(2, 15, 'green', 3), + new Piece(4, 15, 'orange', 1), + new Piece(5, 16, 'teal', 3), + new Piece(5, 13, 'yellow', 0), + ], + seed: 'IwNgzALADBIOwQKwA4BMig', + }, + 'Cornerstone STSD': { + pieces: [ + new Piece(9, 18, 'blue', 1), + new Piece(7, 19, 'teal', 0), + new Piece(4, 18, 'green', 0), + new Piece(7, 17, 'orange', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(0, 16, 'red', 3), + new Piece(2, 17, 'purple', 2), + new Piece(4, 16, 'orange', 1), + new Piece(7, 16, 'blue', 1), + new Piece(6, 16, 'yellow', 0), + new Piece(8, 15, 'green', 3), + new Piece(1, 13, 'red', 3), + new Piece(1, 14, 'teal', 1), + new Piece(2, 16, 'purple', 3), + ], + seed: 'IwNgzALADB5QTADgJxiA', + }, + 'Long Platform TSD': { + pieces: [ + new Piece(4, 18, 'orange', 2), + new Piece(7, 18, 'blue', 2), + new Piece(1, 19, 'yellow', 0), + new Piece(8, 17, 'green', 3), + new Piece(0, 16, 'red', 3), + new Piece(6, 18, 'teal', 0), + new Piece(2, 17, 'purple', 2), + new Piece(2, 16, 'blue', 3), + new Piece(6, 17, 'orange', 0), + new Piece(6, 15, 'red', 3), + new Piece(9, 16, 'teal', 3), + new Piece(4, 16, 'purple', 2), + ], + seed: 'IwNgzALADBIJwCYDsKxA', + }, + 'Long Platform TST': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(7, 18, 'blue', 2), + new Piece(4, 18, 'orange', 2), + new Piece(6, 18, 'teal', 0), + new Piece(8, 17, 'green', 3), + new Piece(0, 16, 'red', 3), + new Piece(2, 17, 'purple', 2), + new Piece(8, 15, 'yellow', 0), + new Piece(6, 16, 'green', 3), + new Piece(5, 16, 'orange', 3), + new Piece(2, 16, 'blue', 3), + new Piece(5, 14, 'red', 0), + new Piece(9, 16, 'teal', 3), + ], + seed: 'IwNgzALADBIJwA4IHYpyA', + }, + 'Long Platform Imp Cross': { + pieces: [ + new Piece(4, 18, 'orange', 2), + new Piece(6, 18, 'teal', 0), + new Piece(7, 18, 'blue', 2), + new Piece(1, 19, 'yellow', 0), + new Piece(0, 16, 'red', 3), + new Piece(8, 17, 'green', 3), + new Piece(2, 17, 'purple', 2), + new Piece(7, 15, 'red', 0), + new Piece(6, 17, 'orange', 0), + new Piece(5, 15, 'green', 3), + new Piece(2, 16, 'blue', 3), + new Piece(5, 13, 'yellow', 0), + new Piece(9, 16, 'teal', 3), + ], + seed: 'IwNgzALADBDsUlgDiSIA', + }, + 'Jagged Prop TST': { + pieces: [ + new Piece(7, 19, 'green', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(5, 19, 'teal', 0), + new Piece(5, 17, 'orange', 0), + new Piece(8, 17, 'blue', 2), + new Piece(0, 16, 'red', 3), + new Piece(2, 17, 'purple', 2), + new Piece(5, 17, 'yellow', 0), + new Piece(2, 16, 'orange', 3), + new Piece(3, 15, 'red', 3), + new Piece(3, 14, 'green', 0), + new Piece(6, 15, 'blue', 0), + new Piece(9, 16, 'teal', 3), + new Piece(8, 12, 'orange', 3), + new Piece(0, 14, 'purple', 3), + new Piece(4, 12, 'blue', 2), + new Piece(1, 13, 'red', 0), + new Piece(8, 16, 'purple', 1), + ], + seed: 'IwNgzALADBDsEE5iwBxSA', + }, + 'Jagged Prop Blink SZ Prop': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(7, 19, 'green', 0), + new Piece(8, 17, 'blue', 2), + new Piece(5, 19, 'teal', 0), + new Piece(5, 17, 'orange', 0), + new Piece(0, 16, 'red', 3), + new Piece(2, 17, 'purple', 2), + new Piece(2, 15, 'orange', 1), + new Piece(5, 17, 'yellow', 0), + new Piece(3, 16, 'blue', 1), + new Piece(5, 15, 'green', 0), + new Piece(8, 16, 'red', 3), + new Piece(1, 14, 'teal', 1), + new Piece(7, 15, 'purple', 2), + ], + seed: 'IwNgzALADBDsYCZogKxA', + }, + 'Jagged Prop S4W': { + pieces: [ + new Piece(7, 19, 'green', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(5, 19, 'teal', 0), + new Piece(5, 17, 'orange', 0), + new Piece(0, 16, 'red', 3), + new Piece(8, 17, 'blue', 2), + new Piece(2, 17, 'purple', 2), + new Piece(2, 16, 'orange', 3), + new Piece(4, 17, 'red', 0), + new Piece(2, 14, 'yellow', 0), + new Piece(4, 15, 'blue', 2), + new Piece(4, 14, 'purple', 0), + new Piece(4, 12, 'green', 3), + new Piece(1, 14, 'teal', 1), + ], + seed: 'IwNgzALADBDs2ygDgKxA', + }, + 'Space Flamingo OZ': { + pieces: [ + new Piece(7, 18, 'orange', 2), + new Piece(6, 18, 'teal', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(0, 16, 'red', 3), + new Piece(4, 18, 'blue', 2), + new Piece(8, 17, 'green', 3), + new Piece(2, 17, 'purple', 2), + new Piece(3, 17, 'yellow', 0), + new Piece(2, 15, 'red', 0), + new Piece(9, 16, 'blue', 1), + new Piece(5, 16, 'orange', 2), + new Piece(1, 14, 'teal', 1), + new Piece(5, 15, 'green', 0), + new Piece(7, 15, 'purple', 2), + ], + seed: 'IwNgzALADBDsICYQA4EFYg', + }, + 'Space Flamingo ZO': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(7, 18, 'orange', 2), + new Piece(6, 18, 'teal', 0), + new Piece(8, 17, 'green', 3), + new Piece(0, 16, 'red', 3), + new Piece(4, 18, 'blue', 2), + new Piece(2, 17, 'purple', 2), + new Piece(9, 16, 'teal', 3), + new Piece(7, 16, 'red', 2), + new Piece(8, 15, 'yellow', 0), + new Piece(2, 16, 'orange', 3), + new Piece(2, 14, 'green', 3), + new Piece(1, 13, 'blue', 3), + new Piece(4, 16, 'purple', 2), + new Piece(0, 14, 'teal', 3), + new Piece(2, 11, 'green', 3), + new Piece(7, 13, 'blue', 0), + new Piece(6, 15, 'yellow', 0), + new Piece(9, 12, 'orange', 1), + new Piece(7, 11, 'red', 2), + new Piece(4, 13, 'purple', 2), + ], + seed: 'IwNgzALADBDssFZYTAoA', + }, + 'Flamingo DT TST 1': { + pieces: [ + new Piece(7, 18, 'orange', 2), + new Piece(2, 19, 'yellow', 0), + new Piece(0, 18, 'teal', 3), + new Piece(8, 17, 'blue', 2), + new Piece(5, 18, 'green', 0), + new Piece(1, 16, 'red', 3), + new Piece(3, 17, 'purple', 2), + new Piece(8, 17, 'blue', 0), + new Piece(2, 13, 'red', 3), + new Piece(0, 14, 'orange', 3), + new Piece(9, 16, 'yellow', 0), + new Piece(5, 17, 'green', 0), + new Piece(6, 16, 'teal', 0), + new Piece(3, 16, 'purple', 3), + ], + seed: 'IwNgzALADBDsAcwCsBOEsg', + }, + 'Flamingo DT TST 2': { + pieces: [ + new Piece(7, 18, 'orange', 2), + new Piece(2, 19, 'yellow', 0), + new Piece(1, 16, 'red', 3), + new Piece(1, 18, 'teal', 1), + new Piece(8, 17, 'blue', 2), + new Piece(5, 18, 'green', 0), + new Piece(3, 17, 'purple', 2), + new Piece(5, 17, 'green', 0), + new Piece(6, 16, 'teal', 0), + new Piece(1, 14, 'blue', 1), + new Piece(3, 13, 'red', 1), + new Piece(8, 17, 'yellow', 0), + new Piece(9, 16, 'orange', 1), + new Piece(3, 16, 'purple', 3), + ], + seed: 'IwNgzALADBAcWwKzDkA', + }, + 'Flamingo DT STSD': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(2, 19, 'yellow', 0), + new Piece(7, 18, 'orange', 2), + new Piece(5, 18, 'green', 0), + new Piece(8, 17, 'blue', 2), + new Piece(1, 16, 'red', 3), + new Piece(3, 17, 'purple', 2), + new Piece(4, 17, 'red', 0), + new Piece(6, 15, 'teal', 3), + new Piece(6, 12, 'green', 3), + new Piece(4, 15, 'blue', 2), + new Piece(9, 16, 'orange', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(7, 16, 'purple', 3), + ], + seed: 'IwNgzALADBAcy0cA7EA', + }, + 'Flamingo DT TSD 1': { + pieces: [ + new Piece(7, 18, 'orange', 2), + new Piece(2, 19, 'yellow', 0), + new Piece(1, 16, 'red', 3), + new Piece(5, 18, 'green', 0), + new Piece(1, 18, 'teal', 1), + new Piece(3, 17, 'purple', 2), + new Piece(8, 17, 'blue', 2), + new Piece(1, 15, 'yellow', 0), + new Piece(4, 16, 'teal', 1), + new Piece(9, 16, 'blue', 1), + new Piece(4, 16, 'orange', 3), + new Piece(3, 13, 'green', 3), + new Piece(5, 15, 'red', 3), + new Piece(7, 16, 'purple', 2), + ], + seed: 'IwNgzALADBDsCcAOKoJA', + }, + 'Flamingo DT TSD 2': { + pieces: [ + new Piece(7, 18, 'orange', 2), + new Piece(8, 17, 'blue', 2), + new Piece(2, 19, 'yellow', 0), + new Piece(5, 18, 'green', 0), + new Piece(1, 16, 'red', 3), + new Piece(1, 18, 'teal', 1), + new Piece(3, 17, 'purple', 2), + new Piece(7, 16, 'red', 3), + new Piece(4, 17, 'orange', 0), + new Piece(4, 16, 'yellow', 0), + new Piece(1, 15, 'green', 0), + new Piece(4, 14, 'blue', 0), + new Piece(9, 16, 'teal', 3), + new Piece(6, 15, 'purple', 2), + ], + seed: 'IwNgzALADBAcBMIQHYCsEg', + }, + 'Flamingo DT TSS': { + pieces: [ + new Piece(7, 18, 'orange', 2), + new Piece(0, 18, 'teal', 3), + new Piece(8, 17, 'blue', 2), + new Piece(5, 18, 'green', 0), + new Piece(2, 19, 'yellow', 0), + new Piece(1, 16, 'red', 3), + new Piece(3, 17, 'purple', 2), + new Piece(9, 16, 'blue', 1), + new Piece(4, 16, 'orange', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(4, 16, 'teal', 1), + new Piece(8, 14, 'red', 3), + new Piece(4, 13, 'green', 1), + new Piece(7, 16, 'purple', 3), + ], + seed: 'IwNgzALADBAcygpIA', + }, + }, + DPC: { + All: { + pieces: [ + new DPC(0, 0, 'DPC', 0), + new Piece(3, 19, '', 0), + new Piece(0, 16, '', 3), + new Piece(8, 18, '', 1), + new Piece(9, 18, '', 3), + new Piece(7, 18, '', 0), + new Piece(5, 18, '', 1), + new Piece(2, 17, '', 2), + ], + }, + 'O-JO': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(3, 19, 'green', 0), + new Piece(0, 16, 'red', 3), + new Piece(8, 18, 'blue', 1), + new Piece(9, 18, 'teal', 3), + new Piece(7, 18, 'yellow', 0), + new Piece(5, 18, 'orange', 1), + new Piece(2, 17, 'purple', 2), + ], + }, + 'O-OJ': { + pieces: [ + new Piece(2, 19, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(4, 19, 'green', 0), + new Piece(8, 19, 'yellow', 0), + new Piece(6, 18, 'orange', 1), + new Piece(8, 17, 'blue', 2), + new Piece(1, 16, 'red', 3), + new Piece(3, 17, 'purple', 2), + ], + }, + 'O-Other': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(1, 17, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(5, 18, 'green', 0), + new Piece(3, 18, 'red', 1), + new Piece(5, 16, 'orange', 2), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'purple', 2), + ], + }, + 'I-OL': { + pieces: [ + new Piece(4, 20, 'teal', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(4, 18, 'green', 0), + new Piece(2, 17, 'red', 3), + new Piece(0, 16, 'orange', 3), + new Piece(8, 18, 'blue', 1), + new Piece(9, 18, 'teal', 3), + new Piece(6, 18, 'purple', 2), + ], + }, + 'I-ILO': { + pieces: [ + new Piece(7, 20, 'teal', 0), + new Piece(5, 17, 'green', 3), + new Piece(2, 20, 'teal', 0), + new Piece(1, 18, 'orange', 0), + new Piece(1, 17, 'yellow', 0), + new Piece(8, 18, 'blue', 2), + new Piece(7, 17, 'red', 0), + new Piece(4, 18, 'purple', 2), + ], + }, + 'I-LI': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(6, 19, 'green', 0), + new Piece(8, 19, 'orange', 0), + new Piece(9, 16, 'teal', 3), + new Piece(7, 17, 'blue', 2), + new Piece(1, 18, 'yellow', 0), + new Piece(2, 17, 'red', 3), + new Piece(4, 18, 'purple', 2), + ], + }, + 'I-Other': { + pieces: [ + new Piece(4, 20, 'teal', 0), + new Piece(8, 18, 'red', 3), + new Piece(5, 18, 'green', 3), + new Piece(3, 18, 'orange', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(5, 16, 'blue', 0), + new Piece(2, 18, 'teal', 0), + new Piece(7, 17, 'purple', 2), + ], + }, + 'S-SO': { + pieces: [ + new Piece(5, 19, 'green', 0), + new Piece(4, 18, 'green', 0), + new Piece(2, 19, 'blue', 0), + new Piece(9, 18, 'orange', 1), + new Piece(7, 17, 'red', 2), + new Piece(4, 16, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(2, 17, 'purple', 2), + ], + }, + 'S-OS': { + pieces: [ + new Piece(0, 18, 'green', 3), + new Piece(3, 18, 'blue', 3), + new Piece(2, 18, 'orange', 1), + new Piece(8, 19, 'yellow', 0), + new Piece(9, 18, 'teal', 3), + new Piece(7, 16, 'green', 3), + new Piece(5, 18, 'red', 2), + new Piece(6, 17, 'purple', 2), + ], + }, + 'J-OJZS': { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(9, 17, 'teal', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(5, 19, 'red', 0), + new Piece(1, 17, 'blue', 0), + new Piece(3, 17, 'green', 2), + new Piece(8, 17, 'orange', 1), + new Piece(6, 17, 'purple', 2), + ], + }, + 'J-OJSZ': { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(9, 17, 'teal', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(2, 18, 'green', 3), + new Piece(1, 16, 'blue', 1), + new Piece(4, 18, 'red', 0), + new Piece(8, 17, 'orange', 1), + new Piece(6, 17, 'purple', 2), + ], + }, + 'J-JO': { + pieces: [ + new Piece(7, 19, 'blue', 0), + new Piece(0, 18, 'green', 3), + new Piece(4, 19, 'blue', 0), + new Piece(8, 18, 'yellow', 0), + new Piece(5, 17, 'red', 3), + new Piece(4, 17, 'orange', 1), + new Piece(9, 18, 'teal', 3), + new Piece(2, 17, 'purple', 2), + ], + }, + T: { + pieces: [ + new Piece(4, 19, 'purple', 0), + new Piece(3, 18, 'red', 1), + new Piece(1, 19, 'yellow', 0), + new Piece(8, 18, 'blue', 1), + new Piece(4, 16, 'orange', 3), + new Piece(2, 17, 'green', 0), + new Piece(9, 18, 'teal', 3), + new Piece(6, 18, 'purple', 2), + ], + }, + }, + 'Yamaha Stacking': { + TD: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(1, 18, 'green', 3), + new Piece(6, 19, 'red', 0), + new Piece(8, 18, 'purple', 1), + new Piece(1, 16, 'blue', 2), + new Piece(9, 18, 'teal', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 18, 'orange', 3), + new Piece(8, 16, 'green', 0), + new Piece(3, 15, 'blue', 3), + new Piece(6, 16, 'red', 2), + new Piece(3, 14, 'teal', 1), + new Piece(1, 13, 'yellow', 0), + new Piece(4, 17, 'purple', 3), + ], + }, + 'Single TSD PC': { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(1, 18, 'green', 3), + new Piece(6, 19, 'red', 0), + new Piece(8, 18, 'purple', 1), + new Piece(1, 16, 'blue', 2), + new Piece(9, 18, 'teal', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 14, 'teal', 1), + new Piece(4, 19, 'blue', 0), + new Piece(7, 16, 'orange', 1), + new Piece(5, 16, 'green', 3), + new Piece(8, 15, 'red', 3), + new Piece(1, 13, 'yellow', 0), + ], + }, + }, + 'Rainbow Parfait': { + TSD: { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(8, 19, 'orange', 0), + new Piece(3, 18, 'blue', 2), + new Piece(8, 17, 'red', 3), + new Piece(4, 17, 'yellow', 0), + new Piece(1, 18, 'green', 0), + new Piece(6, 18, 'purple', 3), + new Piece(0, 16, 'teal', 3), + new Piece(2, 16, 'yellow', 0), + new Piece(1, 14, 'red', 0), + new Piece(6, 16, 'green', 3), + new Piece(6, 13, 'orange', 3), + new Piece(4, 15, 'blue', 2), + new Piece(8, 15, 'purple', 2), + ], + }, + 'PC-6 J': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(8, 19, 'orange', 0), + new Piece(3, 18, 'blue', 2), + new Piece(8, 17, 'red', 3), + new Piece(4, 17, 'yellow', 0), + new Piece(1, 18, 'green', 0), + new Piece(6, 18, 'purple', 3), + new Piece(1, 16, 'orange', 2), + new Piece(6, 16, 'green', 3), + new Piece(8, 15, 'red', 3), + new Piece(5, 18, 'teal', 3), + new Piece(7, 14, 'purple', 2), + new Piece(3, 15, 'blue', 0), + new Piece(1, 15, 'yellow', 0), + ], + }, + 'PC-6 I': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(8, 19, 'orange', 0), + new Piece(3, 18, 'blue', 2), + new Piece(8, 17, 'red', 3), + new Piece(4, 17, 'yellow', 0), + new Piece(1, 18, 'green', 0), + new Piece(6, 18, 'purple', 3), + new Piece(0, 16, 'blue', 3), + new Piece(2, 15, 'green', 2), + new Piece(7, 16, 'purple', 1), + new Piece(8, 15, 'red', 3), + new Piece(5, 18, 'teal', 3), + new Piece(7, 14, 'orange', 2), + new Piece(5, 15, 'yellow', 0), + ], + }, + 'PC-8': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(8, 19, 'orange', 0), + new Piece(3, 18, 'blue', 2), + new Piece(8, 17, 'red', 3), + new Piece(4, 17, 'yellow', 0), + new Piece(1, 18, 'green', 0), + new Piece(6, 18, 'purple', 3), + new Piece(0, 16, 'blue', 3), + new Piece(2, 15, 'green', 2), + new Piece(7, 16, 'purple', 1), + new Piece(8, 15, 'red', 3), + new Piece(7, 13, 'orange', 3), + new Piece(9, 13, 'yellow', 0), + new Piece(5, 18, 'teal', 3), + ], + }, + }, + 'Cerise Stacking': { + 'SST PC': { + pieces: [ + new Piece(0, 18, 'red', 3), + new Piece(6, 20, 'teal', 0), + new Piece(5, 18, 'orange', 0), + new Piece(9, 18, 'blue', 1), + new Piece(8, 18, 'yellow', 0), + new Piece(4, 16, 'green', 3), + new Piece(2, 19, 'purple', 0), + new Piece(8, 17, 'teal', 0), + new Piece(9, 15, 'yellow', 0), + new Piece(5, 15, 'red', 0), + new Piece(6, 14, 'green', 3), + new Piece(0, 16, 'blue', 3), + new Piece(3, 17, 'purple', 3), + new Piece(3, 14, 'orange', 1), + ], + }, + 'ST C-spin': { + pieces: [ + new Piece(0, 18, 'red', 3), + new Piece(6, 20, 'teal', 0), + new Piece(5, 18, 'orange', 0), + new Piece(9, 18, 'blue', 1), + new Piece(8, 18, 'yellow', 0), + new Piece(4, 16, 'green', 3), + new Piece(2, 19, 'purple', 0), + new Piece(9, 15, 'teal', 3), + new Piece(8, 16, 'yellow', 0), + new Piece(4, 13, 'red', 3), + new Piece(5, 15, 'green', 3), + new Piece(0, 16, 'blue', 3), + new Piece(3, 17, 'purple', 3), + new Piece(3, 14, 'orange', 1), + new Piece(2, 16, 'purple', 1), + new Piece(3, 12, 'red', 0), + new Piece(8, 14, 'yellow', 0), + new Piece(6, 13, 'teal', 3), + new Piece(8, 12, 'blue', 0), + new Piece(5, 11, 'green', 0), + new Piece(0, 13, 'orange', 3), + ], + }, + }, + HTSD: { + JO: { + pieces: [ + new Piece(4, 18, 'blue', 1), + new Piece(6, 19, 'purple', 0), + new Piece(5, 17, 'teal', 3), + new Piece(6, 17, 'green', 3), + new Piece(9, 19, 'yellow', 0), + new Piece(8, 17, 'red', 0), + new Piece(0, 18, 'orange', 3), + new Piece(0, 16, 'green', 3), + new Piece(9, 15, 'teal', 3), + new Piece(8, 15, 'yellow', 0), + new Piece(6, 14, 'blue', 3), + new Piece(4, 14, 'orange', 0), + new Piece(3, 16, 'red', 3), + new Piece(2, 15, 'purple', 2), + new Piece(3, 13, 'yellow', 0), + ], + }, + OJ: { + pieces: [ + new Piece(6, 19, 'purple', 0), + new Piece(8, 19, 'red', 0), + new Piece(7, 17, 'yellow', 0), + new Piece(8, 17, 'green', 3), + new Piece(5, 17, 'teal', 3), + new Piece(0, 18, 'orange', 3), + new Piece(4, 18, 'blue', 1), + new Piece(8, 15, 'yellow', 0), + new Piece(0, 16, 'green', 3), + new Piece(9, 15, 'teal', 3), + new Piece(3, 16, 'red', 3), + new Piece(6, 14, 'blue', 3), + new Piece(4, 14, 'orange', 0), + new Piece(2, 15, 'purple', 2), + new Piece(3, 13, 'blue', 0), + ], + }, + }, + SBZ: { + 'IL(Main Line)': { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(4, 19, 'purple', 0), + new Piece(4, 17, 'green', 3), + new Piece(3, 18, 'red', 1), + new Piece(1, 18, 'teal', 1), + new Piece(8, 16, 'orange', 2), + new Piece(8, 15, 'orange', 0), + new Piece(2, 18, 'teal', 1), + new Piece(2, 16, 'red', 3), + new Piece(2, 15, 'yellow', 0), + new Piece(4, 15, 'green', 3), + new Piece(8, 13, 'purple', 2), + new Piece(2, 13, 'blue', 2), + new Piece(2, 12, 'yellow', 0), + new Piece(7, 11, 'green', 3), + new Piece(1, 14, 'teal', 1), + new Piece(6, 14, 'purple', 2), + new Piece(9, 11, 'orange', 1), + new Piece(4, 13, 'red', 0), + new Piece(2, 10, 'blue', 2), + new Piece(1, 10, 'teal', 1), + new Piece(6, 12, 'purple', 2), + new Piece(6, 10, 'green', 0), + new Piece(2, 8, 'red', 3), + new Piece(9, 9, 'yellow', 0), + new Piece(8, 7, 'orange', 2), + new Piece(1, 8, 'blue', 3), + new Piece(4, 7, 'red', 0), + new Piece(7, 5, 'green', 3), + new Piece(2, 6, 'yellow', 0), + new Piece(2, 4, 'blue', 2), + new Piece(9, 5, 'orange', 1), + new Piece(1, 6, 'teal', 1), + new Piece(6, 6, 'purple', 2), + new Piece(2, 3, 'yellow', 0), + new Piece(1, 2, 'teal', 1), + new Piece(9, 2, 'orange', 1), + new Piece(4, 4, 'red', 0), + new Piece(2, 1, 'blue', 2), + new Piece(7, 2, 'green', 3), + new Piece(6, 3, 'purple', 2), + new Piece(1, -2, 'teal', 1), + new Piece(6, 1, 'green', 0), + new Piece(2, -1, 'red', 3), + new Piece(1, -1, 'blue', 3), + new Piece(9, 0, 'yellow', 0), + new Piece(8, -2, 'orange', 2), + new Piece(4, 0, 'purple', 2), + new Piece(2, -3, 'yellow', 0), + new Piece(4, 3, 'purple', 2), + new Piece(4, -2, 'red', 0), + new Piece(7, -4, 'green', 3), + new Piece(9, -4, 'orange', 1), + new Piece(6, 6, 'teal', 3), + new Piece(2, -5, 'blue', 2), + new Piece(6, -3, 'purple', 2), + new Piece(1, -7, 'blue', 3), + new Piece(2, -7, 'red', 3), + new Piece(7, -7, 'green', 3), + new Piece(9, -7, 'orange', 1), + new Piece(5, 1, 'yellow', 0), + new Piece(1, -6, 'teal', 1), + ], + }, + 'IT(Main Line)': { + pieces: [ + new Piece(3, 18, 'red', 1), + new Piece(4, 19, 'purple', 0), + new Piece(4, 17, 'green', 3), + new Piece(1, 18, 'teal', 1), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'yellow', 0), + new Piece(8, 16, 'blue', 2), + new Piece(2, 18, 'teal', 1), + new Piece(3, 16, 'red', 1), + new Piece(8, 15, 'purple', 0), + new Piece(1, 14, 'orange', 3), + new Piece(4, 15, 'green', 3), + new Piece(8, 13, 'blue', 2), + new Piece(3, 14, 'yellow', 0), + new Piece(9, 11, 'orange', 1), + new Piece(6, 14, 'purple', 2), + new Piece(7, 11, 'green', 3), + new Piece(2, 12, 'yellow', 0), + new Piece(1, 14, 'teal', 1), + new Piece(4, 13, 'red', 0), + new Piece(2, 10, 'blue', 2), + new Piece(9, 8, 'orange', 1), + new Piece(4, 10, 'red', 0), + new Piece(2, 9, 'yellow', 0), + new Piece(1, 10, 'teal', 1), + new Piece(7, 8, 'green', 3), + new Piece(2, 7, 'blue', 2), + new Piece(6, 9, 'purple', 2), + new Piece(7, 5, 'green', 3), + new Piece(6, 10, 'purple', 2), + new Piece(4, 7, 'red', 0), + new Piece(2, 6, 'yellow', 0), + new Piece(2, 4, 'blue', 2), + new Piece(9, 5, 'orange', 1), + new Piece(1, 6, 'teal', 1), + new Piece(6, 6, 'purple', 2), + new Piece(9, 2, 'orange', 1), + new Piece(0, 2, 'teal', 3), + new Piece(4, 4, 'red', 0), + new Piece(7, 2, 'green', 3), + new Piece(2, 3, 'yellow', 0), + new Piece(2, 1, 'blue', 2), + new Piece(2, 0, 'yellow', 0), + new Piece(6, 3, 'purple', 2), + new Piece(4, 1, 'red', 0), + new Piece(7, -1, 'green', 3), + new Piece(6, 8, 'teal', 3), + new Piece(9, -1, 'orange', 1), + new Piece(2, -2, 'blue', 2), + new Piece(1, -4, 'blue', 3), + new Piece(6, -2, 'green', 0), + new Piece(2, -4, 'red', 3), + new Piece(1, -2, 'teal', 1), + new Piece(9, -3, 'yellow', 0), + new Piece(4, -3, 'purple', 2), + new Piece(8, -5, 'orange', 2), + new Piece(9, -7, 'orange', 1), + new Piece(1, -7, 'blue', 3), + new Piece(7, -7, 'green', 3), + new Piece(1, -6, 'teal', 1), + new Piece(6, -2, 'purple', 2), + new Piece(2, -7, 'red', 3), + new Piece(5, 1, 'yellow', 0), + ], + }, + JL: { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(9, 18, 'yellow', 2), + new Piece(8, 16, 'orange', 2), + new Piece(1, 18, 'teal', 1), + new Piece(4, 19, 'purple', 0), + new Piece(3, 18, 'red', 1), + new Piece(4, 17, 'green', 3), + new Piece(4, 15, 'teal', 1), + new Piece(1, 18, 'blue', 3), + new Piece(8, 15, 'orange', 0), + new Piece(8, 13, 'purple', 2), + new Piece(4, 15, 'green', 3), + new Piece(1, 16, 'red', 0), + new Piece(1, 14, 'yellow', 0), + new Piece(1, 11, 'blue', 1), + new Piece(9, 11, 'orange', 1), + new Piece(3, 14, 'teal', 1), + new Piece(6, 14, 'purple', 2), + new Piece(7, 11, 'green', 3), + new Piece(4, 13, 'red', 0), + new Piece(3, 11, 'yellow', 0), + new Piece(1, 10, 'teal', 1), + new Piece(4, 10, 'red', 0), + new Piece(2, 9, 'yellow', 0), + new Piece(9, 8, 'orange', 1), + new Piece(2, 7, 'blue', 2), + new Piece(7, 8, 'green', 3), + new Piece(6, 9, 'purple', 2), + new Piece(1, 6, 'teal', 1), + new Piece(6, 10, 'purple', 2), + new Piece(4, 7, 'red', 0), + new Piece(2, 6, 'yellow', 0), + new Piece(7, 5, 'green', 3), + new Piece(9, 5, 'orange', 1), + new Piece(2, 4, 'blue', 2), + new Piece(6, 6, 'purple', 2), + new Piece(4, 4, 'red', 0), + new Piece(2, 3, 'yellow', 0), + new Piece(2, 1, 'blue', 2), + new Piece(7, 2, 'green', 3), + new Piece(1, 2, 'teal', 1), + new Piece(9, 2, 'orange', 1), + new Piece(6, 10, 'teal', 3), + new Piece(6, 3, 'purple', 2), + new Piece(2, 0, 'yellow', 0), + new Piece(4, 1, 'red', 0), + new Piece(7, -1, 'green', 3), + new Piece(9, -1, 'orange', 1), + new Piece(2, -2, 'blue', 2), + new Piece(1, -2, 'teal', 1), + new Piece(6, 0, 'purple', 2), + new Piece(9, -4, 'orange', 1), + new Piece(7, -4, 'green', 3), + new Piece(4, -2, 'red', 0), + new Piece(2, -3, 'yellow', 0), + new Piece(2, -5, 'blue', 2), + new Piece(6, -3, 'purple', 2), + new Piece(2, -7, 'red', 3), + new Piece(9, -7, 'orange', 1), + new Piece(7, -7, 'green', 3), + new Piece(5, 1, 'yellow', 0), + new Piece(1, -7, 'blue', 3), + new Piece(1, -6, 'teal', 1), + ], + }, + JOL: { + pieces: [ + new Piece(4, 19, 'purple', 0), + new Piece(4, 17, 'green', 3), + new Piece(3, 18, 'red', 1), + new Piece(8, 19, 'blue', 0), + new Piece(9, 18, 'yellow', 2), + new Piece(8, 16, 'orange', 2), + new Piece(1, 18, 'teal', 1), + new Piece(1, 18, 'blue', 3), + new Piece(2, 16, 'yellow', 0), + new Piece(8, 15, 'orange', 0), + new Piece(4, 15, 'teal', 1), + new Piece(4, 15, 'green', 3), + new Piece(4, 13, 'red', 0), + new Piece(8, 13, 'purple', 2), + new Piece(1, 14, 'teal', 1), + new Piece(2, 14, 'yellow', 0), + new Piece(2, 12, 'green', 0), + new Piece(2, 10, 'orange', 2), + new Piece(8, 12, 'red', 0), + new Piece(8, 10, 'blue', 2), + new Piece(6, 12, 'purple', 2), + new Piece(9, 9, 'yellow', 0), + new Piece(1, 8, 'blue', 3), + new Piece(1, 10, 'teal', 1), + new Piece(6, 10, 'green', 0), + new Piece(8, 7, 'orange', 2), + new Piece(2, 8, 'red', 3), + new Piece(1, 6, 'teal', 1), + new Piece(4, 9, 'purple', 2), + new Piece(7, 5, 'green', 3), + new Piece(2, 6, 'yellow', 0), + new Piece(4, 7, 'red', 0), + new Piece(9, 5, 'orange', 1), + new Piece(2, 4, 'blue', 2), + new Piece(1, 2, 'teal', 1), + new Piece(2, 3, 'yellow', 0), + new Piece(4, 4, 'red', 0), + new Piece(7, 2, 'green', 3), + new Piece(9, 2, 'orange', 1), + new Piece(2, 1, 'blue', 2), + new Piece(6, 3, 'purple', 2), + new Piece(7, -1, 'green', 3), + new Piece(9, -1, 'orange', 1), + new Piece(6, 4, 'purple', 2), + new Piece(2, 0, 'yellow', 0), + new Piece(4, 1, 'red', 0), + new Piece(2, -2, 'blue', 2), + new Piece(1, -2, 'teal', 1), + new Piece(6, 10, 'teal', 3), + new Piece(6, 0, 'purple', 2), + new Piece(2, -3, 'yellow', 0), + new Piece(4, -2, 'red', 0), + new Piece(7, -4, 'green', 3), + new Piece(9, -4, 'orange', 1), + new Piece(2, -5, 'blue', 2), + new Piece(1, -6, 'teal', 1), + new Piece(1, -7, 'blue', 3), + new Piece(9, -7, 'orange', 1), + new Piece(7, -7, 'green', 3), + new Piece(2, -7, 'red', 3), + new Piece(6, -3, 'purple', 2), + new Piece(6, 2, 'purple', 2), + new Piece(5, 1, 'yellow', 0), + ], + }, + ZO: { + pieces: [ + new Piece(4, 19, 'purple', 0), + new Piece(4, 17, 'green', 3), + new Piece(3, 18, 'red', 1), + new Piece(8, 19, 'blue', 0), + new Piece(9, 18, 'yellow', 2), + new Piece(8, 16, 'orange', 2), + new Piece(1, 18, 'teal', 1), + new Piece(1, 18, 'teal', 3), + new Piece(2, 16, 'red', 3), + new Piece(3, 14, 'yellow', 0), + new Piece(4, 15, 'green', 3), + new Piece(8, 15, 'orange', 0), + new Piece(8, 13, 'purple', 2), + new Piece(9, 11, 'blue', 1), + new Piece(1, 14, 'orange', 3), + new Piece(1, 14, 'teal', 1), + new Piece(1, 11, 'blue', 3), + new Piece(2, 11, 'red', 3), + new Piece(6, 14, 'purple', 2), + new Piece(6, 13, 'green', 0), + new Piece(8, 11, 'yellow', 0), + new Piece(7, 8, 'green', 3), + new Piece(4, 12, 'purple', 2), + new Piece(2, 9, 'yellow', 0), + new Piece(4, 10, 'red', 0), + new Piece(2, 7, 'blue', 2), + new Piece(9, 8, 'orange', 1), + new Piece(1, 10, 'teal', 1), + new Piece(4, 7, 'red', 0), + new Piece(2, 6, 'yellow', 0), + new Piece(1, 6, 'teal', 1), + new Piece(7, 5, 'green', 3), + new Piece(9, 5, 'orange', 1), + new Piece(2, 4, 'blue', 2), + new Piece(6, 6, 'purple', 2), + new Piece(2, 3, 'yellow', 0), + new Piece(9, 2, 'orange', 1), + new Piece(1, 2, 'teal', 1), + new Piece(8, 2, 'green', 1), + new Piece(6, 7, 'purple', 2), + new Piece(4, 4, 'red', 0), + new Piece(2, 1, 'blue', 2), + new Piece(4, 1, 'red', 0), + new Piece(7, -1, 'green', 3), + new Piece(2, 0, 'yellow', 0), + new Piece(1, -2, 'teal', 1), + new Piece(9, -1, 'orange', 1), + new Piece(2, -2, 'blue', 2), + new Piece(6, 0, 'purple', 2), + new Piece(6, 1, 'purple', 2), + new Piece(7, -4, 'green', 3), + new Piece(4, -2, 'red', 0), + new Piece(1, -6, 'teal', 1), + new Piece(9, -4, 'orange', 1), + new Piece(2, -3, 'yellow', 0), + new Piece(2, -5, 'blue', 2), + new Piece(6, -3, 'purple', 2), + new Piece(1, -7, 'blue', 3), + new Piece(2, -7, 'red', 3), + new Piece(7, -7, 'green', 3), + new Piece(9, -7, 'orange', 1), + new Piece(6, 4, 'teal', 3), + new Piece(5, 1, 'yellow', 0), + ], + }, + }, + 'The strongest gun': { + variation: { + pieces: [ + new Piece(1, 19, 'purple', 0), + new Piece(1, 17, 'orange', 2), + new Piece(6, 18, 'red', 3), + new Piece(8, 18, 'blue', 1), + new Piece(5, 19, 'yellow', 0), + new Piece(6, 17, 'green', 0), + new Piece(9, 18, 'teal', 3), + new Piece(2, 16, 'green', 3), + new Piece(1, 15, 'blue', 3), + new Piece(4, 15, 'yellow', 0), + new Piece(8, 15, 'purple', 1), + new Piece(9, 14, 'orange', 1), + new Piece(1, 15, 'teal', 1), + new Piece(7, 12, 'red', 3), + new Piece(5, 13, 'green', 0), + new Piece(9, 11, 'teal', 3), + new Piece(8, 9, 'blue', 3), + new Piece(3, 13, 'yellow', 0), + new Piece(1, 12, 'purple', 1), + new Piece(2, 10, 'orange', 3), + new Piece(0, 10, 'red', 3), + new Piece(7, 10, 'teal', 3), + new Piece(9, 6, 'blue', 1), + new Piece(7, 7, 'green', 0), + new Piece(4, 11, 'purple', 3), + new Piece(4, 9, 'orange', 2), + new Piece(1, 8, 'red', 1), + new Piece(3, 8, 'yellow', 0), + new Piece(1, 6, 'teal', 1), + new Piece(8, 5, 'yellow', 0), + new Piece(8, 3, 'blue', 2), + new Piece(6, 5, 'orange', 1), + new Piece(6, 2, 'red', 3), + new Piece(4, 4, 'green', 0), + new Piece(6, 10, 'purple', 1), + ], + }, + }, + 'Red Peacock(Chromium ver.)': { + variation: { + pieces: [ + new Piece(4, 18, 'blue', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(6, 19, 'purple', 0), + new Piece(6, 17, 'green', 3), + new Piece(5, 17, 'teal', 3), + new Piece(0, 18, 'orange', 3), + new Piece(1, 17, 'red', 0), + new Piece(4, 15, 'green', 0), + new Piece(8, 16, 'purple', 1), + new Piece(9, 16, 'teal', 3), + new Piece(5, 12, 'blue', 1), + new Piece(7, 15, 'yellow', 0), + new Piece(0, 14, 'orange', 3), + new Piece(1, 13, 'red', 0), + new Piece(8, 13, 'purple', 3), + new Piece(7, 13, 'yellow', 0), + new Piece(0, 10, 'orange', 3), + new Piece(1, 9, 'red', 0), + new Piece(9, 11, 'teal', 3), + new Piece(4, 11, 'green', 0), + new Piece(7, 11, 'blue', 0), + new Piece(5, 8, 'blue', 1), + new Piece(4, 7, 'green', 0), + new Piece(7, 9, 'purple', 1), + new Piece(8, 9, 'teal', 3), + new Piece(9, 7, 'orange', 1), + new Piece(9, 5, 'yellow', 0), + new Piece(9, 3, 'yellow', 0), + new Piece(6, 7, 'purple', 3), + new Piece(6, 5, 'green', 3), + new Piece(0, 6, 'orange', 3), + new Piece(1, 5, 'red', 0), + new Piece(5, 4, 'blue', 1), + new Piece(4, 2, 'red', 3), + new Piece(1, 3, 'yellow', 0), + new Piece(9, 0, 'blue', 1), + new Piece(0, 0, 'orange', 3), + new Piece(7, 3, 'teal', 3), + new Piece(3, 4, 'purple', 2), + ], + }, + }, + '7th PC': { + All: { + pieces: [ + new SeventhPC(0, 0, '7th PC'), + new Piece(3, 19, '', 0), + new Piece(0, 16, '', 3), + new Piece(8, 18, '', 1), + new Piece(9, 18, '', 3), + new Piece(7, 18, '', 0), + new Piece(5, 18, '', 1), + ], + }, + TLJ: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(2, 18, 'purple', 2), + new Piece(4, 18, 'blue', 1), + ], + }, + TJS: { + pieces: [ + new Piece(0, 18, 'purple', 3), + new Piece(2, 19, 'green', 0), + new Piece(4, 18, 'blue', 1), + ], + }, + TIJ: { + pieces: [ + new Piece(5, 18, 'purple', 1), + new Piece(8, 20, 'teal', 0), + new Piece(8, 18, 'blue', 0), + ], + }, + TIL: { + pieces: [ + new Piece(4, 18, 'purple', 3), + new Piece(2, 20, 'teal', 0), + new Piece(1, 18, 'orange', 0), + ], + }, + TJZ: { + pieces: [ + new Piece(0, 18, 'purple', 3), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + ], + }, + TSO: { + pieces: [ + new Piece(5, 19, 'purple', 0), + new Piece(3, 19, 'green', 0), + new Piece(1, 19, 'yellow', 0), + ], + }, + TIS: { + pieces: [ + new Piece(3, 19, 'purple', 0), + new Piece(7, 20, 'teal', 0), + new Piece(1, 19, 'green', 0), + ], + }, + TIO: { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(5, 19, 'purple', 0), + new Piece(8, 19, 'yellow', 0), + ], + }, + TSZ: { + pieces: [ + new Piece(1, 19, 'purple', 0), + new Piece(2, 17, 'green', 0), + new Piece(3, 19, 'red', 0), + ], + }, + IJO: { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(4, 20, 'teal', 0), + new Piece(3, 18, 'blue', 0), + ], + }, + LJO: { + pieces: [ + new Piece(1, 19, 'orange', 0), + new Piece(4, 19, 'blue', 0), + new Piece(1, 18, 'yellow', 0), + ], + }, + ILJ: { + pieces: [ + new Piece(6, 20, 'teal', 0), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'orange', 0), + ], + }, + LJS: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(4, 19, 'blue', 0), + new Piece(2, 18, 'green', 1), + ], + }, + IJS: { + pieces: [ + new Piece(7, 20, 'teal', 0), + new Piece(8, 18, 'blue', 2), + new Piece(6, 18, 'green', 0), + ], + }, + IJZ: { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(8, 18, 'blue', 0), + new Piece(5, 18, 'red', 3), + ], + }, + LZO: { + pieces: [ + new Piece(8, 19, 'orange', 0), + new Piece(7, 18, 'red', 0), + new Piece(6, 19, 'yellow', 0), + ], + }, + JZO: { + pieces: [ + new Piece(7, 18, 'blue', 1), + new Piece(5, 18, 'red', 3), + new Piece(9, 19, 'yellow', 0), + ], + }, + ISO: { + pieces: [ + new Piece(8, 18, 'teal', 1), + new Piece(5, 18, 'green', 3), + new Piece(9, 19, 'yellow', 0), + ], + }, + TLZ: { + pieces: [ + new Piece(9, 18, 'purple', 1), + new Piece(5, 18, 'orange', 3), + new Piece(7, 18, 'red', 2), + ], + }, + TJO: { + pieces: [ + new Piece(5, 18, 'purple', 1), + new Piece(7, 18, 'blue', 1), + new Piece(9, 19, 'yellow', 0), + ], + }, + TLO: { + pieces: [ + new Piece(4, 18, 'purple', 3), + new Piece(2, 18, 'orange', 3), + new Piece(1, 19, 'yellow', 0), + ], + }, + TLS: { + pieces: [ + new Piece(9, 18, 'purple', 1), + new Piece(0, 18, 'orange', 3), + new Piece(1, 18, 'green', 3), + ], + }, + TZO: { + pieces: [ + new Piece(4, 19, 'purple', 0), + new Piece(6, 19, 'red', 0), + new Piece(9, 19, 'yellow', 0), + ], + }, + TIZ: { + pieces: [ + new Piece(6, 19, 'purple', 0), + new Piece(3, 20, 'teal', 0), + new Piece(8, 19, 'red', 0), + ], + }, + ILO: { + pieces: [ + new Piece(6, 20, 'teal', 0), + new Piece(6, 18, 'orange', 0), + new Piece(9, 19, 'yellow', 0), + ], + }, + LJZ: { + pieces: [ + new Piece(5, 19, 'orange', 0), + new Piece(9, 18, 'blue', 1), + new Piece(7, 18, 'red', 3), + ], + }, + ILZ: { + pieces: [ + new Piece(3, 20, 'teal', 0), + new Piece(1, 18, 'orange', 2), + new Piece(3, 18, 'red', 0), + ], + }, + ILS: { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(1, 18, 'orange', 0), + new Piece(4, 18, 'green', 1), + ], + }, + JSO: { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(2, 18, 'green', 0), + new Piece(4, 19, 'yellow', 0), + ], + }, + LSO: { + pieces: [ + new Piece(2, 18, 'orange', 3), + new Piece(4, 18, 'green', 1), + new Piece(1, 19, 'yellow', 0), + ], + }, + IZO: { + pieces: [ + new Piece(2, 18, 'teal', 3), + new Piece(4, 18, 'red', 1), + new Piece(1, 19, 'yellow', 0), + ], + }, + JSZ: { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(3, 19, 'red', 0), + ], + }, + LSZ: { + pieces: [ + new Piece(8, 19, 'orange', 0), + new Piece(6, 19, 'green', 0), + new Piece(8, 17, 'red', 3), + ], + }, + ISZ: { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(5, 19, 'green', 0), + new Piece(6, 17, 'red', 0), + ], + }, + SZO: { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(0, 18, 'red', 3), + new Piece(2, 19, 'green', 0), + ], + }, + TTI: { + pieces: [ + new Piece(0, 18, 'purple', 3), + new Piece(1, 16, 'purple', 2), + new Piece(3, 20, 'teal', 0), + ], + }, + TTL: { + pieces: [ + new Piece(0, 18, 'purple', 3), + new Piece(2, 19, 'purple', 0), + new Piece(8, 19, 'orange', 0), + ], + }, + TTJ: { + pieces: [ + new Piece(9, 18, 'purple', 1), + new Piece(7, 19, 'purple', 0), + new Piece(1, 19, 'blue', 0), + ], + }, + TTS: { + pieces: [ + new Piece(9, 18, 'purple', 1), + new Piece(7, 19, 'purple', 0), + new Piece(8, 17, 'green', 0), + ], + }, + TTZ: { + pieces: [ + new Piece(0, 18, 'purple', 3), + new Piece(2, 19, 'purple', 0), + new Piece(1, 17, 'red', 0), + ], + }, + TTO: { + pieces: [ + new Piece(0, 18, 'purple', 3), + new Piece(2, 19, 'purple', 0), + new Piece(9, 19, 'yellow', 0), + ], + }, + TII: { + pieces: [ + new Piece(1, 19, 'purple', 0), + new Piece(9, 18, 'teal', 3), + new Piece(8, 18, 'teal', 3), + ], + }, + IIL: { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(3, 20, 'teal', 0), + new Piece(2, 18, 'orange', 0), + ], + }, + IIJ: { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(7, 20, 'teal', 0), + new Piece(7, 18, 'blue', 0), + ], + }, + IIO: { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(8, 18, 'teal', 3), + new Piece(1, 19, 'yellow', 0), + ], + }, + IIS: { + pieces: [ + new Piece(0, 18, 'teal', 3), + new Piece(7, 20, 'teal', 0), + new Piece(4, 19, 'green', 0), + ], + }, + IIZ: { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(3, 20, 'teal', 0), + new Piece(5, 19, 'red', 0), + ], + }, + TLL: { + pieces: [ + new Piece(3, 19, 'purple', 0), + new Piece(0, 18, 'orange', 3), + new Piece(1, 17, 'orange', 1), + ], + }, + ILL: { + pieces: [ + new Piece(3, 20, 'teal', 0), + new Piece(1, 18, 'orange', 2), + new Piece(7, 19, 'orange', 0), + ], + }, + LLJ: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(1, 17, 'orange', 1), + new Piece(3, 19, 'blue', 0), + ], + }, + LLO: { + pieces: [ + new Piece(5, 19, 'orange', 0), + new Piece(8, 19, 'yellow', 0), + new Piece(9, 18, 'orange', 1), + ], + }, + LLS: { + pieces: [ + new Piece(8, 19, 'orange', 0), + new Piece(5, 19, 'orange', 0), + new Piece(8, 18, 'green', 0), + ], + }, + LLZ: { + pieces: [ + new Piece(1, 19, 'orange', 0), + new Piece(0, 17, 'orange', 3), + new Piece(4, 18, 'red', 1), + ], + }, + TJJ: { + pieces: [ + new Piece(6, 19, 'purple', 0), + new Piece(9, 18, 'blue', 1), + new Piece(8, 17, 'blue', 3), + ], + }, + IJJ: { + pieces: [ + new Piece(7, 20, 'teal', 0), + new Piece(8, 18, 'blue', 2), + new Piece(2, 19, 'blue', 0), + ], + }, + LJJ: { + pieces: [ + new Piece(6, 19, 'orange', 0), + new Piece(9, 18, 'blue', 1), + new Piece(8, 17, 'blue', 3), + ], + }, + JJO: { + pieces: [ + new Piece(0, 18, 'blue', 3), + new Piece(2, 19, 'yellow', 0), + new Piece(4, 19, 'blue', 0), + ], + }, + JJS: { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(9, 17, 'blue', 1), + new Piece(5, 18, 'green', 3), + ], + }, + JJZ: { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(4, 19, 'blue', 0), + new Piece(1, 18, 'red', 0), + ], + }, + TOO: { + pieces: [ + new Piece(6, 19, 'purple', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(9, 17, 'yellow', 0), + ], + }, + IOO: { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(8, 19, 'yellow', 0), + new Piece(8, 17, 'yellow', 0), + ], + }, + LOO: { + pieces: [ + new Piece(9, 18, 'orange', 1), + new Piece(8, 19, 'yellow', 0), + new Piece(6, 19, 'yellow', 0), + ], + }, + JOO: { + pieces: [ + new Piece(0, 18, 'blue', 3), + new Piece(2, 19, 'yellow', 0), + new Piece(4, 19, 'yellow', 0), + ], + }, + SOO: { + pieces: [ + new Piece(5, 19, 'green', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(1, 17, 'yellow', 0), + ], + }, + ZOO: { + pieces: [ + new Piece(4, 19, 'red', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(9, 17, 'yellow', 0), + ], + }, + TSS: { + pieces: [ + new Piece(3, 19, 'purple', 0), + new Piece(1, 19, 'green', 0), + new Piece(2, 17, 'green', 0), + ], + }, + ISS: { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(5, 19, 'green', 0), + new Piece(4, 18, 'green', 0), + ], + }, + SSO: { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(4, 19, 'green', 0), + new Piece(3, 18, 'green', 0), + ], + }, + SSZ: { + pieces: [ + new Piece(3, 19, 'green', 0), + new Piece(5, 19, 'green', 0), + new Piece(4, 17, 'red', 0), + ], + }, + TZZ: { + pieces: [ + new Piece(6, 19, 'purple', 0), + new Piece(8, 19, 'red', 0), + new Piece(7, 17, 'red', 0), + ], + }, + IZZ: { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(4, 19, 'red', 0), + new Piece(5, 18, 'red', 0), + ], + }, + ZZO: { + pieces: [ + new Piece(5, 19, 'red', 0), + new Piece(6, 18, 'red', 0), + new Piece(1, 19, 'yellow', 0), + ], + }, + SZZ: { + pieces: [ + new Piece(6, 19, 'red', 0), + new Piece(4, 19, 'red', 0), + new Piece(5, 17, 'green', 0), + ], + }, + }, + 'Aorio Cannon': { + variation: { + pieces: [ + new Piece(8, 18, 'blue', 2), + new Piece(4, 19, 'green', 0), + new Piece(3, 17, 'red', 0), + new Piece(6, 17, 'teal', 0), + new Piece(9, 17, 'yellow', 0), + new Piece(0, 18, 'purple', 3), + ], + seed: 'IwNgLATMAMEKwGYQE4QKA', + }, + }, + "Nakamuraa's Voracity": { + variation: { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(6, 19, 'red', 0), + new Piece(8, 16, 'green', 3), + new Piece(1, 18, 'blue', 3), + new Piece(3, 18, 'orange', 2), + new Piece(1, 18, 'teal', 1), + new Piece(7, 17, 'purple', 2), + new Piece(1, 15, 'orange', 3), + new Piece(8, 14, 'yellow', 0), + new Piece(6, 15, 'green', 3), + new Piece(4, 18, 'red', 0), + new Piece(0, 14, 'blue', 3), + new Piece(9, 14, 'teal', 3), + new Piece(5, 16, 'purple', 2), + new Piece(2, 14, 'blue', 3), + new Piece(8, 11, 'orange', 1), + new Piece(1, 12, 'green', 0), + new Piece(7, 12, 'yellow', 0), + new Piece(9, 10, 'teal', 3), + new Piece(4, 14, 'red', 2), + new Piece(5, 13, 'purple', 2), + new Piece(7, 9, 'orange', 0), + new Piece(9, 7, 'yellow', 0), + new Piece(7, 7, 'blue', 1), + new Piece(1, 10, 'teal', 1), + new Piece(1, 9, 'red', 3), + new Piece(5, 11, 'green', 0), + new Piece(3, 10, 'purple', 2), + new Piece(1, 7, 'blue', 3), + new Piece(1, 6, 'teal', 1), + new Piece(7, 5, 'red', 0), + new Piece(5, 9, 'orange', 1), + new Piece(8, 4, 'green', 3), + new Piece(6, 7, 'yellow', 0), + new Piece(3, 7, 'purple', 2), + new Piece(2, 5, 'yellow', 0), + new Piece(5, 4, 'orange', 3), + new Piece(8, 2, 'blue', 2), + new Piece(6, 2, 'red', 2), + new Piece(3, 8, 'purple', 2), + new Piece(1, 3, 'green', 0), + new Piece(5, 6, 'teal', 1), + new Piece(4, 8, 'teal', 1), + new Piece(8, 0, 'green', 3), + new Piece(1, 1, 'red', 1), + new Piece(3, 3, 'purple', 2), + new Piece(8, -2, 'blue', 2), + new Piece(7, 0, 'orange', 3), + new Piece(6, 1, 'yellow', 0), + ], + seed: 'IwNgrAzBCcAcDsAWa1ECYg', + }, + }, + 'Reliable TSD': { + '1-1': { + pieces: [ + new Piece(9, 18, 'blue', 1), + new Piece(5, 20, 'teal', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(3, 18, 'orange', 2), + new Piece(4, 17, 'green', 3), + new Piece(8, 16, 'red', 3), + new Piece(7, 18, 'purple', 2), + new Piece(2, 17, 'orange', 0), + new Piece(0, 16, 'blue', 3), + new Piece(2, 15, 'green', 2), + new Piece(9, 14, 'yellow', 0), + new Piece(5, 16, 'red', 0), + new Piece(2, 15, 'teal', 0), + new Piece(7, 15, 'purple', 2), + new Piece(1, 12, 'teal', 1), + new Piece(3, 13, 'yellow', 0), + new Piece(8, 12, 'red', 0), + new Piece(1, 12, 'blue', 3), + new Piece(4, 12, 'orange', 1), + new Piece(5, 13, 'green', 2), + new Piece(7, 14, 'purple', 1), + new Piece(8, 9, 'blue', 1), + new Piece(1, 10, 'red', 0), + new Piece(2, 8, 'green', 1), + new Piece(9, 10, 'teal', 3), + new Piece(3, 9, 'orange', 3), + new Piece(6, 12, 'purple', 2), + new Piece(3, 7, 'yellow', 0), + ], + seed: 'IwNgrAzALBxcB2AHGATEA', + }, + '1-2': { + pieces: [ + new Piece(9, 18, 'blue', 1), + new Piece(1, 19, 'yellow', 0), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'orange', 2), + new Piece(4, 17, 'green', 3), + new Piece(8, 16, 'red', 3), + new Piece(7, 18, 'purple', 2), + new Piece(2, 17, 'orange', 0), + new Piece(2, 16, 'green', 0), + new Piece(0, 16, 'blue', 3), + new Piece(9, 14, 'yellow', 0), + new Piece(5, 16, 'red', 0), + new Piece(2, 15, 'teal', 0), + new Piece(7, 15, 'purple', 2), + new Piece(1, 12, 'orange', 3), + new Piece(8, 12, 'red', 0), + new Piece(5, 14, 'green', 0), + new Piece(3, 12, 'yellow', 0), + new Piece(4, 12, 'blue', 1), + new Piece(1, 12, 'teal', 1), + new Piece(7, 14, 'purple', 1), + new Piece(6, 12, 'purple', 2), + new Piece(8, 9, 'blue', 1), + new Piece(1, 9, 'green', 1), + new Piece(3, 10, 'orange', 0), + new Piece(9, 10, 'teal', 3), + new Piece(2, 9, 'red', 0), + new Piece(1, 7, 'yellow', 0), + ], + seed: 'IwNgrAzALBAMAcITzCIA', + }, + '1-3': { + pieces: [ + new Piece(9, 18, 'blue', 1), + new Piece(5, 20, 'teal', 0), + new Piece(3, 18, 'orange', 2), + new Piece(4, 17, 'green', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(8, 16, 'red', 3), + new Piece(7, 18, 'purple', 2), + new Piece(2, 17, 'orange', 0), + new Piece(0, 16, 'blue', 3), + new Piece(2, 15, 'green', 2), + new Piece(2, 15, 'teal', 0), + new Piece(9, 14, 'yellow', 0), + new Piece(5, 16, 'red', 0), + new Piece(7, 15, 'purple', 2), + new Piece(5, 14, 'green', 0), + new Piece(8, 12, 'red', 0), + new Piece(1, 12, 'orange', 3), + new Piece(4, 12, 'blue', 1), + new Piece(1, 12, 'teal', 1), + new Piece(3, 12, 'yellow', 0), + new Piece(7, 14, 'purple', 1), + new Piece(9, 10, 'teal', 3), + new Piece(8, 9, 'blue', 1), + new Piece(3, 10, 'yellow', 0), + new Piece(1, 9, 'green', 1), + new Piece(1, 8, 'red', 0), + new Piece(4, 9, 'orange', 1), + new Piece(6, 12, 'purple', 2), + ], + seed: 'IwNgrAzALBwEwnFAHEA', + }, + '2-1': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(9, 18, 'blue', 1), + new Piece(8, 16, 'red', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(4, 17, 'green', 3), + new Piece(3, 18, 'orange', 2), + new Piece(7, 18, 'purple', 2), + new Piece(1, 16, 'orange', 2), + new Piece(4, 16, 'teal', 1), + new Piece(1, 15, 'blue', 0), + new Piece(4, 14, 'red', 3), + new Piece(5, 16, 'green', 3), + new Piece(9, 14, 'yellow', 0), + new Piece(7, 15, 'purple', 2), + new Piece(1, 14, 'blue', 3), + new Piece(5, 11, 'red', 3), + new Piece(9, 11, 'teal', 3), + new Piece(4, 13, 'yellow', 0), + new Piece(6, 14, 'green', 3), + new Piece(1, 12, 'orange', 2), + new Piece(7, 12, 'purple', 2), + new Piece(0, 10, 'orange', 3), + new Piece(8, 11, 'yellow', 0), + new Piece(7, 10, 'teal', 0), + new Piece(2, 11, 'red', 0), + new Piece(1, 8, 'green', 1), + new Piece(9, 7, 'blue', 1), + new Piece(4, 10, 'purple', 2), + ], + seed: 'IwNgrAzALBygDAJgOwiA', + }, + '2-2': { + pieces: [ + new Piece(5, 20, 'teal', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(9, 18, 'blue', 1), + new Piece(3, 18, 'orange', 2), + new Piece(8, 16, 'red', 3), + new Piece(4, 17, 'green', 3), + new Piece(7, 18, 'purple', 2), + new Piece(2, 16, 'blue', 2), + new Piece(1, 16, 'teal', 1), + new Piece(2, 15, 'orange', 0), + new Piece(4, 14, 'red', 3), + new Piece(9, 14, 'yellow', 0), + new Piece(5, 16, 'green', 3), + new Piece(7, 15, 'purple', 2), + new Piece(4, 13, 'yellow', 0), + new Piece(9, 11, 'teal', 3), + new Piece(6, 14, 'green', 3), + new Piece(1, 14, 'orange', 1), + new Piece(1, 12, 'blue', 2), + new Piece(5, 11, 'red', 3), + new Piece(7, 12, 'purple', 2), + new Piece(4, 11, 'green', 0), + new Piece(8, 11, 'yellow', 0), + new Piece(5, 10, 'teal', 0), + new Piece(7, 9, 'red', 0), + new Piece(9, 7, 'blue', 1), + new Piece(0, 10, 'orange', 3), + new Piece(2, 10, 'purple', 2), + ], + seed: 'IwNgrAzALBAMDsZYCYAcIg', + }, + }, + 'Stray gun': { + A: { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(7, 18, 'blue', 1), + new Piece(1, 18, 'orange', 3), + new Piece(3, 18, 'green', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(4, 18, 'purple', 3), + new Piece(8, 17, 'red', 0), + new Piece(1, 15, 'green', 1), + new Piece(3, 15, 'red', 1), + new Piece(8, 14, 'blue', 1), + new Piece(4, 16, 'orange', 2), + new Piece(7, 14, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 1), + new Piece(6, 14, 'purple', 1), + ], + seed: 'IwNgrAzALBBMUA4EHYCcsg', + }, + B: { + pieces: [ + new Piece(1, 18, 'orange', 3), + new Piece(1, 18, 'teal', 1), + new Piece(7, 18, 'blue', 1), + new Piece(3, 18, 'green', 1), + new Piece(4, 18, 'purple', 3), + new Piece(9, 19, 'yellow', 0), + new Piece(8, 17, 'red', 0), + new Piece(7, 15, 'red', 0), + new Piece(2, 16, 'yellow', 0), + new Piece(4, 16, 'orange', 2), + new Piece(3, 14, 'green', 1), + new Piece(9, 15, 'teal', 3), + new Piece(8, 13, 'blue', 3), + new Piece(6, 17, 'purple', 1), + ], + seed: 'IwNgrAzALBBMDsAGMiIE4g', + }, + C: { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(1, 18, 'orange', 3), + new Piece(7, 18, 'blue', 1), + new Piece(3, 18, 'green', 1), + new Piece(4, 18, 'purple', 3), + new Piece(8, 17, 'red', 0), + new Piece(1, 18, 'teal', 1), + new Piece(1, 16, 'red', 0), + new Piece(3, 15, 'yellow', 0), + new Piece(4, 16, 'orange', 2), + new Piece(8, 15, 'blue', 2), + new Piece(8, 15, 'teal', 0), + new Piece(1, 14, 'green', 0), + new Piece(6, 17, 'purple', 1), + ], + seed: 'IwNgrAzALBBMITADgAwqA', + }, + D: { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(4, 18, 'purple', 3), + new Piece(1, 18, 'orange', 3), + new Piece(7, 18, 'blue', 1), + new Piece(3, 18, 'green', 1), + new Piece(1, 16, 'red', 0), + new Piece(7, 16, 'green', 3), + new Piece(7, 14, 'blue', 2), + new Piece(3, 15, 'yellow', 0), + new Piece(4, 16, 'orange', 2), + new Piece(9, 16, 'teal', 3), + new Piece(1, 13, 'red', 3), + new Piece(6, 17, 'purple', 1), + ], + seed: 'IwNgrAzALBBMDsERWMIA', + }, + }, + 'Riif Stacking v1': { + variation: { + pieces: [ + new Piece(3, 20, 'teal', 0), + new Piece(1, 18, 'orange', 2), + new Piece(3, 18, 'red', 0), + new Piece(5, 17, 'purple', 2), + new Piece(1, 17, 'yellow', 0), + new Piece(6, 19, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(0, 14, 'blue', 3), + new Piece(9, 15, 'orange', 1), + new Piece(6, 17, 'teal', 0), + new Piece(2, 16, 'red', 0), + new Piece(2, 14, 'green', 0), + new Piece(4, 15, 'yellow', 0), + new Piece(8, 17, 'purple', 1), + ], + seed: 'IwNgrAzCAMAsIHZpgQTiA', + }, + }, + 'Riif Stacking v3': { + 1: { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(2, 18, 'orange', 1), + new Piece(8, 18, 'blue', 1), + new Piece(9, 18, 'teal', 3), + new Piece(8, 15, 'red', 3), + new Piece(3, 18, 'purple', 3), + new Piece(5, 18, 'green', 2), + new Piece(1, 16, 'red', 1), + new Piece(9, 13, 'yellow', 0), + new Piece(7, 13, 'orange', 3), + new Piece(5, 17, 'green', 0), + new Piece(3, 16, 'blue', 0), + new Piece(1, 14, 'teal', 1), + new Piece(7, 17, 'purple', 1), + ], + seed: 'IwNgrAzCAM6iAWCQ', + }, + 2: { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(3, 18, 'purple', 3), + new Piece(8, 18, 'blue', 1), + new Piece(2, 18, 'orange', 1), + new Piece(5, 19, 'green', 0), + new Piece(9, 18, 'teal', 3), + new Piece(8, 15, 'red', 3), + new Piece(3, 15, 'teal', 1), + new Piece(3, 15, 'orange', 3), + new Piece(1, 16, 'red', 1), + new Piece(8, 14, 'yellow', 0), + new Piece(8, 12, 'blue', 2), + new Piece(5, 16, 'green', 2), + new Piece(7, 17, 'purple', 1), + ], + seed: 'IwNgrAzCAMIbYDsYg', + }, + }, + 'Margerine Stacking (Riif Stacking v4)': { + 1: { + pieces: [ + new Piece(3, 19, 'green', 0), + new Piece(1, 18, 'purple', 3), + new Piece(1, 18, 'teal', 1), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'yellow', 0), + new Piece(6, 18, 'blue', 1), + new Piece(1, 16, 'red', 0), + new Piece(6, 15, 'orange', 1), + new Piece(3, 16, 'green', 2), + new Piece(8, 16, 'yellow', 0), + new Piece(6, 13, 'blue', 2), + new Piece(9, 16, 'teal', 3), + new Piece(8, 13, 'red', 3), + new Piece(5, 17, 'purple', 1), + ], + seed: 'IwNgrAzCAMIgTAFngDhUA', + }, + 2: { + pieces: [ + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'yellow', 0), + new Piece(6, 18, 'blue', 1), + new Piece(1, 18, 'teal', 1), + new Piece(3, 19, 'green', 0), + new Piece(1, 18, 'purple', 3), + new Piece(1, 16, 'red', 0), + new Piece(1, 13, 'red', 3), + new Piece(0, 13, 'blue', 3), + new Piece(8, 16, 'yellow', 0), + new Piece(6, 15, 'orange', 1), + new Piece(9, 16, 'teal', 3), + new Piece(3, 16, 'green', 2), + new Piece(5, 17, 'purple', 1), + ], + seed: 'IwNgrAzCAMIOwQExhAFiA', + }, + }, + 'Riif Stacking v5': { + 1: { + pieces: [ + new Piece(4, 18, 'purple', 3), + new Piece(4, 18, 'teal', 1), + new Piece(6, 19, 'green', 0), + new Piece(9, 18, 'blue', 1), + new Piece(1, 19, 'yellow', 0), + new Piece(2, 18, 'orange', 1), + new Piece(1, 16, 'red', 1), + new Piece(5, 15, 'blue', 1), + new Piece(9, 15, 'orange', 1), + new Piece(6, 16, 'green', 2), + new Piece(1, 14, 'teal', 1), + new Piece(3, 15, 'red', 1), + new Piece(2, 14, 'yellow', 0), + new Piece(8, 17, 'purple', 1), + new Piece(8, 14, 'purple', 1), + ], + seed: 'IwNgrAzCAMIBwWNWQ', + }, + 2: { + pieces: [ + new Piece(6, 19, 'green', 0), + new Piece(4, 18, 'teal', 1), + new Piece(1, 19, 'yellow', 0), + new Piece(2, 18, 'orange', 1), + new Piece(0, 16, 'red', 3), + new Piece(4, 18, 'purple', 3), + new Piece(9, 18, 'blue', 1), + new Piece(6, 17, 'green', 0), + new Piece(5, 15, 'blue', 1), + new Piece(9, 15, 'orange', 1), + new Piece(3, 15, 'red', 1), + new Piece(1, 14, 'teal', 1), + new Piece(9, 13, 'yellow', 0), + new Piece(8, 17, 'purple', 1), + ], + seed: 'IwNgrAzCAMDs3GATgCwSA', + }, + 3: { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(2, 18, 'orange', 1), + new Piece(9, 18, 'blue', 1), + new Piece(6, 19, 'green', 0), + new Piece(4, 18, 'purple', 3), + new Piece(4, 18, 'teal', 1), + new Piece(1, 16, 'red', 1), + new Piece(6, 17, 'green', 0), + new Piece(4, 15, 'yellow', 0), + new Piece(5, 15, 'blue', 1), + new Piece(3, 15, 'teal', 1), + new Piece(9, 15, 'orange', 1), + new Piece(1, 14, 'red', 1), + new Piece(8, 17, 'purple', 1), + ], + seed: 'IwNgrAzCAMDszAgThCIA', + }, + }, + 'Gravity TD': { + 1: { + pieces: [ + new Piece(5, 18, 'purple', 1), + new Piece(3, 18, 'red', 2), + new Piece(9, 19, 'yellow', 0), + new Piece(7, 18, 'blue', 1), + new Piece(0, 18, 'orange', 3), + new Piece(7, 16, 'green', 3), + new Piece(6, 17, 'teal', 3), + new Piece(0, 15, 'blue', 3), + new Piece(5, 16, 'yellow', 0), + new Piece(9, 16, 'teal', 3), + new Piece(5, 14, 'orange', 0), + new Piece(7, 14, 'green', 3), + new Piece(3, 16, 'red', 2), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAzCAcFg7NMJhA', + }, + 2: { + pieces: [ + new Piece(7, 18, 'blue', 1), + new Piece(6, 17, 'teal', 3), + new Piece(5, 18, 'purple', 1), + new Piece(0, 18, 'orange', 3), + new Piece(9, 19, 'yellow', 0), + new Piece(3, 18, 'red', 2), + new Piece(7, 16, 'green', 3), + new Piece(0, 15, 'blue', 3), + new Piece(9, 16, 'orange', 1), + new Piece(5, 16, 'yellow', 0), + new Piece(5, 14, 'green', 0), + new Piece(8, 14, 'teal', 2), + new Piece(3, 16, 'red', 2), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAzCAcHcAGALATgExA', + }, + 3: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(3, 19, 'red', 0), + new Piece(5, 18, 'purple', 1), + new Piece(7, 18, 'blue', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(6, 17, 'teal', 3), + new Piece(7, 16, 'green', 3), + new Piece(0, 15, 'blue', 3), + new Piece(7, 14, 'green', 3), + new Piece(9, 16, 'teal', 3), + new Piece(9, 13, 'yellow', 0), + new Piece(4, 15, 'orange', 3), + new Piece(3, 16, 'red', 2), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAzCAcEOwQEzGABiA', + }, + }, + 'Pancake Stacking': { + 1: { + pieces: [ + new Piece(7, 18, 'blue', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(2, 18, 'purple', 3), + new Piece(4, 18, 'green', 2), + new Piece(0, 18, 'orange', 3), + new Piece(8, 17, 'red', 0), + new Piece(2, 17, 'teal', 1), + new Piece(1, 15, 'teal', 1), + new Piece(3, 16, 'yellow', 0), + new Piece(2, 14, 'blue', 0), + new Piece(9, 15, 'orange', 1), + new Piece(4, 17, 'green', 0), + new Piece(7, 14, 'red', 2), + new Piece(6, 17, 'purple', 1), + ], + seed: 'IwNgrAzCAcAsBM1QQkA', + }, + 2: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(2, 17, 'teal', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(8, 17, 'red', 0), + new Piece(7, 18, 'blue', 1), + new Piece(2, 18, 'purple', 3), + new Piece(4, 18, 'green', 2), + new Piece(2, 15, 'orange', 3), + new Piece(7, 15, 'red', 0), + new Piece(0, 15, 'blue', 3), + new Piece(1, 13, 'yellow', 0), + new Piece(4, 16, 'green', 2), + new Piece(9, 15, 'teal', 3), + new Piece(6, 17, 'purple', 1), + ], + seed: 'IwNgrAzCAcAsGxAJmgdiA', + }, + 3: { + pieces: [ + new Piece(7, 18, 'blue', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(2, 18, 'purple', 3), + new Piece(8, 17, 'red', 0), + new Piece(0, 18, 'orange', 3), + new Piece(4, 18, 'green', 2), + new Piece(2, 17, 'teal', 1), + new Piece(7, 15, 'red', 0), + new Piece(0, 15, 'blue', 3), + new Piece(1, 13, 'yellow', 0), + new Piece(9, 15, 'teal', 3), + new Piece(4, 17, 'green', 0), + new Piece(2, 15, 'orange', 3), + new Piece(6, 17, 'purple', 1), + new Piece(8, 13, 'green', 1), + new Piece(9, 12, 'yellow', 0), + new Piece(6, 12, 'blue', 3), + new Piece(3, 14, 'orange', 1), + new Piece(2, 12, 'red', 0), + new Piece(1, 10, 'teal', 1), + new Piece(5, 15, 'purple', 2), + new Piece(1, 7, 'yellow', 0), + new Piece(8, 9, 'orange', 1), + new Piece(1, 9, 'blue', 3), + new Piece(9, 9, 'teal', 3), + new Piece(3, 10, 'red', 2), + new Piece(6, 9, 'green', 3), + new Piece(5, 10, 'purple', 2), + ], + seed: 'IwNgrAzCAcJSB2AnABiA', + }, + }, + 'Honey Cup': { + 'L, J': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(9, 16, 'blue', 1), + new Piece(1, 18, 'orange', 0), + new Piece(1, 17, 'green', 0), + new Piece(0, 15, 'blue', 3), + new Piece(7, 16, 'orange', 0), + new Piece(7, 15, 'yellow', 0), + new Piece(5, 17, 'red', 0), + new Piece(2, 14, 'green', 2), + new Piece(2, 14, 'teal', 0), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAzCAcDsAMwIE4yyA', + }, + 'S, O': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(1, 18, 'orange', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(9, 16, 'blue', 1), + new Piece(7, 18, 'purple', 1), + new Piece(5, 19, 'red', 0), + new Piece(1, 17, 'green', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(2, 15, 'green', 0), + new Piece(5, 17, 'red', 0), + new Piece(2, 13, 'orange', 2), + new Piece(6, 15, 'blue', 3), + new Piece(1, 15, 'teal', 1), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAzCAcMOxwJyiA', + }, + 'L, O': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(9, 16, 'blue', 1), + new Piece(1, 18, 'orange', 0), + new Piece(1, 17, 'green', 0), + new Piece(5, 19, 'red', 0), + new Piece(2, 15, 'yellow', 0), + new Piece(5, 17, 'red', 0), + new Piece(1, 15, 'teal', 1), + new Piece(7, 15, 'green', 3), + new Piece(6, 15, 'orange', 3), + new Piece(2, 13, 'blue', 2), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAzCAcDsBMAGYwAsIg', + }, + 'I, O': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(1, 18, 'orange', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 16, 'blue', 1), + new Piece(5, 19, 'red', 0), + new Piece(1, 17, 'green', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(6, 15, 'blue', 3), + new Piece(2, 15, 'green', 0), + new Piece(1, 15, 'teal', 1), + new Piece(1, 13, 'orange', 1), + new Piece(5, 16, 'red', 2), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAzCAc2g7CYwg', + }, + L: { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(9, 16, 'blue', 1), + new Piece(2, 20, 'teal', 0), + new Piece(1, 18, 'orange', 0), + new Piece(1, 17, 'green', 0), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(5, 17, 'red', 0), + new Piece(7, 16, 'orange', 0), + new Piece(1, 15, 'teal', 1), + new Piece(2, 15, 'green', 0), + new Piece(9, 13, 'blue', 1), + new Piece(7, 15, 'yellow', 0), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAzCAcDsbGgTgsIA', + }, + 'L, O->J': { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(1, 18, 'orange', 0), + new Piece(7, 18, 'purple', 1), + new Piece(5, 19, 'red', 0), + new Piece(1, 17, 'green', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(9, 16, 'blue', 1), + new Piece(5, 17, 'red', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(1, 15, 'orange', 2), + new Piece(6, 15, 'blue', 3), + new Piece(2, 15, 'teal', 0), + new Piece(7, 13, 'green', 3), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAzCAcDsCcxrWPIA', + }, + J: { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(1, 18, 'orange', 0), + new Piece(1, 17, 'green', 0), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(9, 16, 'blue', 1), + new Piece(5, 17, 'red', 0), + new Piece(1, 15, 'teal', 1), + new Piece(8, 15, 'blue', 3), + new Piece(9, 13, 'yellow', 0), + new Piece(2, 15, 'green', 0), + new Piece(6, 15, 'orange', 3), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAzCAcDsa2MCBOIA', + }, + 'Z, O': { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(9, 16, 'blue', 1), + new Piece(2, 20, 'teal', 0), + new Piece(5, 19, 'red', 0), + new Piece(1, 18, 'orange', 0), + new Piece(7, 18, 'purple', 1), + new Piece(1, 17, 'green', 0), + new Piece(0, 15, 'blue', 3), + new Piece(2, 14, 'green', 2), + new Piece(5, 17, 'red', 0), + new Piece(6, 15, 'teal', 3), + new Piece(8, 16, 'yellow', 0), + new Piece(8, 14, 'orange', 0), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAzCAcDssCZgE4VA', + }, + }, + 'Satsuki Stacking': { + 'L->S': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(1, 18, 'orange', 3), + new Piece(4, 19, 'red', 0), + new Piece(6, 18, 'purple', 1), + new Piece(8, 19, 'yellow', 0), + new Piece(1, 15, 'green', 1), + new Piece(8, 16, 'blue', 1), + new Piece(5, 15, 'orange', 3), + new Piece(4, 17, 'red', 0), + new Piece(2, 13, 'blue', 1), + new Piece(1, 13, 'yellow', 0), + new Piece(9, 18, 'teal', 3), + new Piece(6, 15, 'green', 3), + new Piece(2, 17, 'purple', 3), + ], + seed: 'IwNgrAzA7GAMsBYBMSAcYg', + }, + 'S->L': { + pieces: [ + new Piece(1, 18, 'orange', 3), + new Piece(8, 19, 'yellow', 0), + new Piece(1, 18, 'teal', 1), + new Piece(1, 15, 'green', 1), + new Piece(6, 18, 'purple', 1), + new Piece(4, 18, 'red', 2), + new Piece(2, 13, 'blue', 1), + new Piece(6, 16, 'green', 3), + new Piece(8, 16, 'orange', 1), + new Piece(1, 13, 'yellow', 0), + new Piece(4, 17, 'red', 0), + new Piece(5, 15, 'blue', 3), + new Piece(9, 18, 'teal', 3), + new Piece(2, 17, 'purple', 3), + ], + seed: 'IwNgrAzA7GAMGwJzCsIA', + }, + }, + 'Kiseragi Stacking': { + 'J->I': { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(7, 18, 'purple', 1), + new Piece(5, 19, 'red', 0), + new Piece(2, 18, 'orange', 3), + new Piece(2, 18, 'teal', 1), + new Piece(2, 15, 'green', 1), + new Piece(9, 16, 'blue', 1), + new Piece(1, 18, 'teal', 1), + new Piece(5, 17, 'red', 0), + new Piece(3, 14, 'yellow', 0), + new Piece(7, 15, 'green', 3), + new Piece(6, 15, 'orange', 3), + new Piece(0, 14, 'blue', 3), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAzA7GwCwE5gCYHKA', + }, + 'I->J': { + pieces: [ + new Piece(2, 18, 'teal', 1), + new Piece(2, 18, 'orange', 3), + new Piece(2, 15, 'green', 1), + new Piece(7, 18, 'purple', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(5, 19, 'red', 0), + new Piece(9, 16, 'blue', 1), + new Piece(7, 15, 'green', 3), + new Piece(6, 15, 'orange', 3), + new Piece(5, 17, 'red', 0), + new Piece(2, 13, 'yellow', 1), + new Piece(3, 13, 'blue', 1), + new Piece(1, 18, 'teal', 1), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAzA7GAMCcAmCx7yA', + }, + }, + 'Sioyaki Cannon 1': { + A: { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(4, 19, 'red', 0), + new Piece(4, 17, 'green', 0), + new Piece(6, 18, 'purple', 2), + new Piece(9, 18, 'blue', 1), + new Piece(1, 18, 'orange', 0), + new Piece(1, 17, 'yellow', 0), + new Piece(1, 15, 'blue', 2), + new Piece(6, 17, 'green', 0), + new Piece(4, 15, 'red', 1), + new Piece(9, 15, 'orange', 1), + new Piece(2, 15, 'teal', 0), + new Piece(8, 17, 'purple', 1), + ], + seed: 'IwNgrAzA7JAsUCYAcVhA', + }, + B: { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(6, 18, 'purple', 2), + new Piece(4, 18, 'red', 2), + new Piece(4, 17, 'green', 0), + new Piece(1, 18, 'orange', 0), + new Piece(1, 17, 'yellow', 0), + new Piece(9, 18, 'blue', 1), + new Piece(1, 15, 'yellow', 0), + new Piece(3, 15, 'red', 3), + new Piece(2, 15, 'blue', 3), + new Piece(6, 16, 'green', 2), + new Piece(9, 15, 'orange', 1), + new Piece(8, 17, 'purple', 1), + ], + seed: 'IwNgrAzA7JIEwE4AM0g', + }, + C: { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(4, 19, 'red', 0), + new Piece(6, 18, 'purple', 2), + new Piece(4, 17, 'green', 0), + new Piece(1, 18, 'orange', 0), + new Piece(1, 17, 'yellow', 0), + new Piece(9, 18, 'blue', 1), + new Piece(3, 16, 'yellow', 0), + new Piece(9, 15, 'orange', 1), + new Piece(1, 14, 'teal', 1), + new Piece(6, 16, 'green', 2), + new Piece(5, 14, 'blue', 1), + new Piece(2, 14, 'red', 1), + new Piece(8, 17, 'purple', 1), + ], + seed: 'IwNgrAzA7JBMCcYAcsAMQ', + }, + D: { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(6, 18, 'purple', 2), + new Piece(1, 18, 'orange', 0), + new Piece(4, 18, 'red', 2), + new Piece(4, 17, 'green', 0), + new Piece(1, 17, 'yellow', 0), + new Piece(9, 18, 'blue', 1), + new Piece(6, 16, 'green', 2), + new Piece(2, 16, 'red', 0), + new Piece(5, 14, 'blue', 1), + new Piece(2, 14, 'yellow', 0), + new Piece(9, 15, 'orange', 1), + new Piece(1, 14, 'teal', 1), + new Piece(8, 17, 'purple', 1), + ], + seed: 'IwNgrAzA7JAcoggTiA', + }, + }, + 'Sioyaki Cannon 2': { + 'O->S': { + pieces: [ + new Piece(8, 19, 'orange', 0), + new Piece(5, 18, 'purple', 3), + new Piece(4, 19, 'yellow', 0), + new Piece(1, 19, 'blue', 0), + new Piece(2, 18, 'green', 0), + new Piece(8, 17, 'red', 3), + new Piece(8, 15, 'teal', 3), + new Piece(9, 14, 'teal', 3), + new Piece(1, 17, 'yellow', 0), + new Piece(3, 15, 'red', 3), + new Piece(7, 13, 'blue', 3), + new Piece(5, 16, 'orange', 2), + new Piece(2, 15, 'green', 1), + new Piece(7, 17, 'purple', 1), + ], + seed: 'IwNgrAzA7GAsIgExykA', + }, + 'S->OI': { + pieces: [ + new Piece(8, 19, 'orange', 0), + new Piece(1, 19, 'blue', 0), + new Piece(4, 19, 'yellow', 0), + new Piece(2, 18, 'green', 0), + new Piece(5, 18, 'purple', 3), + new Piece(8, 17, 'red', 3), + new Piece(8, 15, 'teal', 3), + new Piece(1, 17, 'green', 0), + new Piece(5, 16, 'orange', 2), + new Piece(2, 15, 'yellow', 0), + new Piece(1, 15, 'teal', 1), + new Piece(4, 15, 'red', 1), + new Piece(7, 13, 'blue', 3), + new Piece(7, 17, 'purple', 1), + ], + seed: 'IwNgrAzA7GAszAgJlkoA', + }, + 'I->S->O': { + pieces: [ + new Piece(4, 19, 'yellow', 0), + new Piece(8, 19, 'orange', 0), + new Piece(8, 17, 'red', 3), + new Piece(8, 15, 'teal', 3), + new Piece(1, 19, 'blue', 0), + new Piece(2, 18, 'green', 0), + new Piece(5, 18, 'purple', 3), + new Piece(9, 14, 'teal', 3), + new Piece(2, 15, 'blue', 3), + new Piece(1, 17, 'yellow', 0), + new Piece(3, 16, 'green', 3), + new Piece(4, 14, 'orange', 3), + new Piece(7, 12, 'red', 3), + new Piece(6, 16, 'purple', 0), + ], + seed: 'IwNgrAzA7GAsAcBOeAGYEg', + }, + }, + 'Sioyaki Cannon 3': { + 'S->I': { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(8, 18, 'red', 0), + new Piece(6, 19, 'yellow', 0), + new Piece(4, 18, 'purple', 1), + new Piece(1, 18, 'teal', 1), + new Piece(1, 18, 'orange', 3), + new Piece(1, 15, 'green', 1), + new Piece(6, 16, 'red', 3), + new Piece(1, 12, 'orange', 2), + new Piece(4, 16, 'blue', 2), + new Piece(2, 14, 'yellow', 0), + new Piece(8, 16, 'green', 3), + new Piece(9, 14, 'teal', 3), + new Piece(2, 17, 'purple', 3), + ], + seed: 'IwNgrAzA7GbAHAFgJwAYBMQ', + }, + 'I->S': { + pieces: [ + new Piece(8, 19, 'blue', 0), + new Piece(8, 18, 'red', 0), + new Piece(4, 18, 'purple', 1), + new Piece(1, 18, 'teal', 1), + new Piece(1, 18, 'orange', 3), + new Piece(6, 19, 'yellow', 0), + new Piece(1, 15, 'green', 1), + new Piece(9, 16, 'teal', 3), + new Piece(8, 15, 'orange', 1), + new Piece(2, 14, 'green', 0), + new Piece(1, 13, 'yellow', 0), + new Piece(6, 16, 'red', 3), + new Piece(4, 16, 'blue', 2), + new Piece(2, 17, 'purple', 3), + ], + seed: 'IwNgrAzA7GYgLFATABhEA', + }, + }, + 'Sioyaki Cannon 4': { + 'A 6L-2': { + pieces: [ + new Piece(2, 18, 'purple', 3), + new Piece(8, 20, 'teal', 0), + new Piece(8, 18, 'blue', 0), + new Piece(8, 17, 'red', 0), + new Piece(4, 18, 'green', 2), + new Piece(1, 19, 'yellow', 0), + new Piece(2, 16, 'orange', 2), + new Piece(4, 16, 'green', 2), + new Piece(1, 16, 'teal', 1), + new Piece(7, 15, 'red', 0), + new Piece(9, 15, 'orange', 1), + new Piece(6, 17, 'purple', 1), + ], + seed: 'IwNgrAzA7GICwAYQA44E4g', + }, + 'A 8L': { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(8, 18, 'blue', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(4, 19, 'green', 0), + new Piece(8, 17, 'red', 0), + new Piece(2, 18, 'purple', 3), + new Piece(2, 16, 'orange', 2), + new Piece(9, 15, 'orange', 1), + new Piece(9, 13, 'yellow', 0), + new Piece(1, 16, 'teal', 1), + new Piece(4, 16, 'green', 2), + new Piece(7, 15, 'red', 0), + new Piece(6, 17, 'purple', 1), + new Piece(2, 15, 'blue', 0), + ], + seed: 'IwNgrAzA7GIAwCYLWEA', + }, + 'D 8L': { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(8, 18, 'blue', 0), + new Piece(2, 18, 'purple', 3), + new Piece(8, 17, 'red', 0), + new Piece(4, 18, 'green', 2), + new Piece(1, 19, 'yellow', 0), + new Piece(2, 16, 'orange', 2), + new Piece(9, 15, 'orange', 1), + new Piece(8, 12, 'blue', 2), + new Piece(7, 15, 'red', 0), + new Piece(2, 15, 'yellow', 0), + new Piece(4, 16, 'green', 2), + new Piece(1, 16, 'teal', 1), + new Piece(6, 17, 'purple', 1), + ], + seed: 'IwNgrAzA7G4BwCZgBZhA', + }, + 'E 8L': { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(2, 18, 'purple', 3), + new Piece(4, 18, 'green', 2), + new Piece(8, 18, 'blue', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(8, 17, 'red', 0), + new Piece(2, 16, 'orange', 2), + new Piece(1, 16, 'teal', 1), + new Piece(1, 14, 'blue', 3), + new Piece(3, 15, 'yellow', 0), + new Piece(4, 17, 'green', 0), + new Piece(9, 15, 'orange', 1), + new Piece(7, 14, 'red', 2), + new Piece(6, 17, 'purple', 1), + ], + seed: 'IwNgrAzA7GIBxwAzOEA', + }, + 'E-1 PC': { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(8, 18, 'blue', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(2, 18, 'purple', 3), + new Piece(4, 18, 'green', 2), + new Piece(8, 17, 'red', 0), + new Piece(2, 16, 'orange', 2), + new Piece(1, 14, 'blue', 3), + new Piece(3, 15, 'yellow', 0), + new Piece(1, 16, 'teal', 1), + new Piece(9, 15, 'orange', 1), + new Piece(7, 14, 'red', 2), + new Piece(4, 16, 'green', 2), + new Piece(6, 17, 'purple', 1), + new Piece(3, 12, 'green', 1), + new Piece(8, 14, 'teal', 0), + new Piece(8, 12, 'yellow', 0), + new Piece(0, 12, 'red', 3), + new Piece(6, 11, 'blue', 3), + new Piece(9, 11, 'orange', 1), + new Piece(5, 15, 'purple', 2), + ], + seed: 'IwNgrAzA7GWgnMALCIA', + }, + 'E-2-1 SBZ': { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(2, 18, 'purple', 3), + new Piece(4, 18, 'green', 2), + new Piece(8, 18, 'blue', 0), + new Piece(8, 17, 'red', 0), + new Piece(2, 16, 'orange', 2), + new Piece(7, 15, 'red', 0), + new Piece(9, 15, 'orange', 1), + new Piece(3, 15, 'yellow', 0), + new Piece(1, 14, 'blue', 3), + new Piece(1, 16, 'teal', 1), + new Piece(4, 16, 'green', 2), + new Piece(6, 17, 'purple', 1), + new Piece(9, 12, 'blue', 1), + new Piece(1, 12, 'red', 1), + new Piece(8, 12, 'yellow', 0), + new Piece(6, 12, 'orange', 3), + new Piece(1, 10, 'teal', 1), + new Piece(3, 12, 'green', 1), + new Piece(5, 15, 'purple', 2), + new Piece(3, 10, 'yellow', 0), + new Piece(8, 9, 'orange', 1), + new Piece(4, 11, 'red', 2), + new Piece(1, 9, 'blue', 3), + new Piece(9, 9, 'teal', 3), + new Piece(6, 9, 'green', 3), + new Piece(5, 10, 'purple', 2), + new Piece(7, 7, 'red', 0), + new Piece(0, 6, 'orange', 3), + new Piece(5, 8, 'green', 0), + new Piece(9, 5, 'teal', 3), + new Piece(7, 5, 'blue', 2), + new Piece(2, 6, 'yellow', 0), + new Piece(3, 7, 'purple', 2), + new Piece(5, 5, 'green', 0), + new Piece(7, 4, 'red', 0), + new Piece(7, 2, 'blue', 2), + new Piece(9, 1, 'teal', 3), + new Piece(0, 3, 'orange', 3), + new Piece(2, 3, 'yellow', 0), + new Piece(3, 4, 'purple', 2), + new Piece(8, 1, 'yellow', 0), + new Piece(1, 0, 'red', 3), + new Piece(5, 2, 'green', 0), + new Piece(9, -3, 'teal', 3), + new Piece(7, -1, 'orange', 2), + new Piece(0, 0, 'blue', 3), + new Piece(3, 1, 'purple', 2), + ], + seed: 'IwNgrAzA7GUEwA4CcAGYKg', + }, + 'E-2-2 PC': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(2, 18, 'purple', 3), + new Piece(8, 20, 'teal', 0), + new Piece(2, 16, 'orange', 2), + new Piece(8, 18, 'blue', 0), + new Piece(4, 18, 'green', 2), + new Piece(8, 17, 'red', 0), + new Piece(7, 15, 'red', 0), + new Piece(4, 16, 'green', 2), + new Piece(9, 15, 'orange', 1), + new Piece(1, 16, 'teal', 1), + new Piece(1, 14, 'blue', 3), + new Piece(3, 15, 'yellow', 0), + new Piece(6, 17, 'purple', 1), + new Piece(3, 12, 'green', 1), + new Piece(1, 12, 'red', 1), + new Piece(1, 10, 'teal', 1), + new Piece(8, 13, 'yellow', 0), + new Piece(6, 12, 'blue', 3), + new Piece(9, 12, 'orange', 1), + new Piece(5, 15, 'purple', 2), + new Piece(3, 11, 'red', 0), + new Piece(6, 9, 'green', 3), + new Piece(8, 9, 'orange', 1), + new Piece(1, 9, 'blue', 3), + new Piece(9, 9, 'teal', 3), + new Piece(1, 7, 'yellow', 0), + new Piece(5, 10, 'purple', 2), + ], + seed: 'IwNgrAzA7GUCwCYAMBOCwg', + }, + 'E-2-2 DPC': { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(8, 18, 'blue', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(2, 18, 'purple', 3), + new Piece(4, 18, 'green', 2), + new Piece(2, 16, 'orange', 2), + new Piece(8, 17, 'red', 0), + new Piece(4, 16, 'green', 2), + new Piece(1, 14, 'blue', 3), + new Piece(1, 16, 'teal', 1), + new Piece(9, 15, 'orange', 1), + new Piece(7, 14, 'red', 2), + new Piece(3, 15, 'yellow', 0), + new Piece(6, 17, 'purple', 1), + new Piece(9, 12, 'blue', 1), + new Piece(1, 12, 'red', 1), + new Piece(8, 12, 'yellow', 0), + new Piece(6, 12, 'orange', 3), + new Piece(3, 12, 'green', 1), + new Piece(1, 10, 'teal', 1), + new Piece(5, 15, 'purple', 2), + new Piece(9, 9, 'teal', 3), + new Piece(1, 9, 'blue', 3), + new Piece(3, 10, 'red', 2), + new Piece(8, 9, 'orange', 1), + new Piece(1, 7, 'yellow', 0), + new Piece(6, 9, 'green', 3), + new Piece(5, 10, 'purple', 2), + new Piece(1, 5, 'yellow', 0), + new Piece(3, 8, 'green', 2), + new Piece(7, 7, 'red', 0), + new Piece(5, 11, 'teal', 3), + new Piece(9, 5, 'blue', 1), + new Piece(2, 6, 'orange', 3), + new Piece(5, 7, 'purple', 2), + ], + seed: 'IwNgrAzA7GUgLAJmFADEA', + }, + 'E-2-2 King Crimson': { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(2, 18, 'purple', 3), + new Piece(8, 20, 'teal', 0), + new Piece(8, 18, 'blue', 0), + new Piece(8, 17, 'red', 0), + new Piece(4, 18, 'green', 2), + new Piece(2, 16, 'orange', 2), + new Piece(4, 16, 'green', 2), + new Piece(3, 15, 'yellow', 0), + new Piece(9, 15, 'orange', 1), + new Piece(7, 14, 'red', 2), + new Piece(0, 16, 'teal', 3), + new Piece(1, 14, 'blue', 3), + new Piece(6, 17, 'purple', 1), + new Piece(1, 12, 'red', 1), + new Piece(6, 12, 'orange', 3), + new Piece(9, 12, 'blue', 1), + new Piece(1, 10, 'teal', 1), + new Piece(8, 12, 'yellow', 0), + new Piece(3, 12, 'green', 1), + new Piece(5, 15, 'purple', 2), + new Piece(3, 11, 'red', 0), + new Piece(1, 9, 'blue', 3), + new Piece(6, 9, 'green', 3), + new Piece(1, 7, 'yellow', 0), + new Piece(9, 9, 'teal', 3), + new Piece(8, 9, 'orange', 1), + new Piece(5, 10, 'purple', 2), + new Piece(8, 6, 'orange', 1), + new Piece(6, 6, 'green', 3), + new Piece(3, 8, 'red', 0), + new Piece(1, 5, 'yellow', 0), + new Piece(9, 5, 'teal', 3), + new Piece(5, 7, 'purple', 2), + new Piece(3, 7, 'blue', 2), + new Piece(2, 4, 'orange', 1), + new Piece(7, 4, 'yellow', 0), + new Piece(8, 3, 'blue', 3), + new Piece(1, 2, 'teal', 1), + new Piece(3, 6, 'green', 0), + new Piece(5, 2, 'red', 3), + new Piece(5, 6, 'purple', 1), + ], + seed: 'IwNgrAzA7GUJwCYpWMIA', + }, + 'E2-2-2 MTSD': { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(8, 18, 'blue', 0), + new Piece(8, 17, 'red', 0), + new Piece(2, 18, 'purple', 3), + new Piece(4, 18, 'green', 2), + new Piece(1, 19, 'yellow', 0), + new Piece(2, 16, 'orange', 2), + new Piece(1, 16, 'teal', 1), + new Piece(9, 15, 'orange', 1), + new Piece(3, 15, 'yellow', 0), + new Piece(1, 14, 'blue', 3), + new Piece(4, 16, 'green', 2), + new Piece(7, 14, 'red', 2), + new Piece(6, 17, 'purple', 1), + new Piece(3, 12, 'green', 1), + new Piece(8, 13, 'yellow', 0), + new Piece(9, 12, 'orange', 1), + new Piece(5, 15, 'purple', 2), + new Piece(6, 12, 'blue', 3), + new Piece(0, 12, 'red', 3), + new Piece(0, 10, 'teal', 3), + new Piece(8, 9, 'orange', 1), + new Piece(9, 9, 'teal', 3), + new Piece(1, 9, 'blue', 3), + new Piece(3, 10, 'red', 2), + new Piece(1, 7, 'yellow', 0), + new Piece(6, 9, 'green', 3), + new Piece(5, 10, 'purple', 2), + new Piece(1, 5, 'yellow', 0), + new Piece(2, 6, 'orange', 3), + new Piece(7, 7, 'red', 0), + new Piece(3, 8, 'green', 2), + new Piece(7, 5, 'blue', 2), + new Piece(9, 5, 'teal', 3), + new Piece(5, 7, 'purple', 2), + new Piece(3, 5, 'red', 0), + new Piece(6, 3, 'green', 3), + new Piece(2, 3, 'yellow', 0), + new Piece(9, 1, 'teal', 3), + new Piece(0, 2, 'blue', 3), + new Piece(8, 3, 'orange', 1), + new Piece(5, 4, 'purple', 2), + new Piece(3, 2, 'red', 0), + new Piece(6, 0, 'green', 3), + new Piece(9, -3, 'teal', 3), + new Piece(0, -1, 'blue', 3), + new Piece(2, 0, 'yellow', 0), + new Piece(8, 0, 'orange', 1), + new Piece(5, 1, 'purple', 2), + new Piece(3, -1, 'red', 0), + new Piece(2, -3, 'yellow', 0), + new Piece(0, -4, 'blue', 3), + new Piece(6, -3, 'green', 3), + new Piece(8, -3, 'orange', 1), + new Piece(5, -2, 'purple', 2), + new Piece(9, -7, 'teal', 3), + ], + seed: 'IwNgrAzA7CAMCcIZKA', + }, + }, + 'Sioyaki Cannon 5': { + LJO: { + pieces: [ + new Piece(4, 19, 'green', 0), + new Piece(8, 20, 'teal', 0), + new Piece(1, 19, 'yellow', 0), + new Piece(8, 18, 'blue', 0), + new Piece(2, 18, 'purple', 3), + new Piece(8, 17, 'red', 0), + new Piece(9, 15, 'orange', 1), + new Piece(4, 17, 'green', 0), + new Piece(0, 16, 'orange', 3), + new Piece(2, 16, 'blue', 0), + new Piece(8, 14, 'teal', 0), + new Piece(3, 15, 'yellow', 0), + new Piece(7, 14, 'red', 2), + new Piece(6, 17, 'purple', 1), + ], + seed: 'IwNgrAzA7OIAwA4AsBOKQ', + }, + 'JS->L->O': { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(8, 18, 'blue', 0), + new Piece(2, 18, 'purple', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(8, 17, 'red', 0), + new Piece(4, 18, 'green', 2), + new Piece(9, 15, 'orange', 1), + new Piece(8, 12, 'blue', 2), + new Piece(4, 17, 'green', 0), + new Piece(1, 16, 'teal', 1), + new Piece(7, 15, 'red', 0), + new Piece(2, 16, 'orange', 2), + new Piece(2, 15, 'yellow', 0), + new Piece(6, 17, 'purple', 1), + ], + seed: 'IwNgrAzA7CIAwTgTigFiA', + }, + 'O->L->SJ': { + pieces: [ + new Piece(2, 18, 'purple', 3), + new Piece(8, 20, 'teal', 0), + new Piece(8, 18, 'blue', 0), + new Piece(8, 17, 'red', 0), + new Piece(4, 18, 'green', 2), + new Piece(1, 19, 'yellow', 0), + new Piece(9, 15, 'orange', 1), + new Piece(1, 17, 'yellow', 0), + new Piece(2, 15, 'orange', 3), + new Piece(4, 16, 'green', 2), + new Piece(8, 14, 'teal', 0), + new Piece(1, 14, 'blue', 1), + new Piece(7, 15, 'red', 0), + new Piece(6, 17, 'purple', 1), + ], + seed: 'IwNgrAzA7OAcBMsAMAWKQ', + }, + }, + 'Tandoori Chicken Stacking': { + 'S->I': { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(1, 18, 'orange', 3), + new Piece(4, 19, 'red', 0), + new Piece(6, 18, 'purple', 1), + new Piece(1, 18, 'teal', 1), + new Piece(1, 15, 'green', 1), + new Piece(7, 18, 'blue', 3), + new Piece(4, 17, 'red', 0), + new Piece(2, 13, 'blue', 1), + new Piece(1, 13, 'yellow', 0), + new Piece(8, 16, 'green', 3), + new Piece(9, 14, 'teal', 3), + new Piece(6, 16, 'orange', 0), + new Piece(2, 17, 'purple', 3), + ], + seed: 'IwNgrAzA7CIcAGAnGKQ', + }, + 'I->S': { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(9, 19, 'yellow', 0), + new Piece(4, 19, 'red', 0), + new Piece(1, 18, 'orange', 3), + new Piece(1, 15, 'green', 1), + new Piece(6, 18, 'purple', 1), + new Piece(9, 16, 'blue', 1), + new Piece(7, 18, 'teal', 3), + new Piece(4, 17, 'red', 0), + new Piece(2, 14, 'yellow', 0), + new Piece(6, 16, 'green', 0), + new Piece(8, 15, 'blue', 3), + new Piece(1, 12, 'orange', 2), + new Piece(2, 17, 'purple', 3), + ], + seed: 'IwNgrAzA7C4gDGAHATiA', + }, + }, + 'Curling Stacking': { + OI: { + pieces: [ + new Piece(7, 20, 'teal', 0), + new Piece(8, 18, 'green', 3), + new Piece(3, 19, 'red', 0), + new Piece(0, 18, 'orange', 3), + new Piece(5, 17, 'blue', 1), + new Piece(7, 18, 'yellow', 0), + new Piece(4, 15, 'purple', 3), + new Piece(3, 17, 'red', 0), + new Piece(0, 15, 'blue', 3), + new Piece(9, 16, 'teal', 3), + new Piece(6, 15, 'orange', 1), + new Piece(8, 16, 'yellow', 0), + new Piece(8, 14, 'green', 0), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnGIOwGYYAYxA', + }, + LI: { + pieces: [ + new Piece(7, 20, 'teal', 0), + new Piece(8, 18, 'green', 3), + new Piece(5, 17, 'blue', 1), + new Piece(3, 19, 'red', 0), + new Piece(0, 18, 'orange', 3), + new Piece(7, 18, 'yellow', 0), + new Piece(4, 15, 'purple', 3), + new Piece(0, 15, 'blue', 3), + new Piece(3, 16, 'red', 2), + new Piece(7, 16, 'orange', 0), + new Piece(7, 15, 'green', 0), + new Piece(9, 16, 'teal', 3), + new Piece(9, 13, 'yellow', 0), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnGDsBMswBYTKA', + }, + OL: { + pieces: [ + new Piece(7, 20, 'teal', 0), + new Piece(7, 18, 'yellow', 0), + new Piece(3, 19, 'red', 0), + new Piece(5, 17, 'blue', 1), + new Piece(0, 18, 'orange', 3), + new Piece(8, 18, 'green', 3), + new Piece(4, 15, 'purple', 3), + new Piece(8, 16, 'green', 3), + new Piece(9, 14, 'teal', 3), + new Piece(3, 17, 'red', 0), + new Piece(0, 15, 'blue', 3), + new Piece(8, 13, 'orange', 1), + new Piece(7, 16, 'yellow', 0), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnGDswAYDMCAswg', + }, + OS: { + pieces: [ + new Piece(7, 20, 'teal', 0), + new Piece(0, 18, 'orange', 3), + new Piece(5, 17, 'blue', 1), + new Piece(7, 18, 'yellow', 0), + new Piece(8, 18, 'green', 3), + new Piece(3, 18, 'red', 2), + new Piece(4, 15, 'purple', 3), + new Piece(7, 16, 'yellow', 0), + new Piece(3, 16, 'red', 2), + new Piece(8, 16, 'green', 3), + new Piece(0, 15, 'blue', 3), + new Piece(5, 13, 'orange', 3), + new Piece(9, 14, 'teal', 3), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnG4gzPEUg', + }, + SO: { + pieces: [ + new Piece(7, 20, 'teal', 0), + new Piece(7, 18, 'yellow', 0), + new Piece(3, 19, 'red', 0), + new Piece(5, 17, 'blue', 1), + new Piece(0, 18, 'orange', 3), + new Piece(8, 18, 'green', 3), + new Piece(4, 15, 'purple', 3), + new Piece(8, 16, 'green', 3), + new Piece(9, 14, 'teal', 3), + new Piece(3, 17, 'red', 0), + new Piece(0, 15, 'blue', 3), + new Piece(8, 13, 'orange', 1), + new Piece(7, 16, 'yellow', 0), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnGDswAYDMCAswg', + }, + LS: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(7, 20, 'teal', 0), + new Piece(8, 18, 'green', 3), + new Piece(7, 18, 'yellow', 0), + new Piece(5, 17, 'blue', 1), + new Piece(3, 18, 'red', 2), + new Piece(4, 15, 'purple', 3), + new Piece(7, 16, 'orange', 0), + new Piece(7, 15, 'green', 0), + new Piece(6, 14, 'yellow', 0), + new Piece(0, 15, 'blue', 3), + new Piece(3, 16, 'red', 2), + new Piece(9, 16, 'teal', 3), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnGDsAMx4GYBMEg', + }, + Compromise: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(3, 19, 'red', 0), + new Piece(7, 20, 'teal', 0), + new Piece(8, 18, 'green', 3), + new Piece(7, 18, 'yellow', 0), + new Piece(5, 17, 'blue', 1), + new Piece(4, 15, 'purple', 3), + new Piece(5, 13, 'blue', 3), + new Piece(7, 16, 'yellow', 0), + new Piece(1, 15, 'teal', 1), + new Piece(1, 13, 'orange', 1), + new Piece(3, 16, 'red', 2), + new Piece(8, 16, 'green', 3), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnGDsDM5ZgAxA', + }, + }, + 'New TKI': { + O: { + pieces: [ + new Piece(3, 18, 'purple', 2), + new Piece(6, 20, 'teal', 0), + new Piece(9, 19, 'yellow', 0), + new Piece(8, 16, 'blue', 2), + new Piece(0, 18, 'orange', 3), + new Piece(7, 17, 'green', 2), + new Piece(5, 17, 'red', 3), + new Piece(5, 16, 'green', 0), + new Piece(3, 16, 'red', 2), + new Piece(0, 15, 'blue', 3), + new Piece(9, 14, 'teal', 3), + new Piece(8, 15, 'yellow', 0), + new Piece(7, 13, 'orange', 2), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnJAMIgCwHZZA', + }, + JI: { + pieces: [ + new Piece(3, 19, 'red', 0), + new Piece(6, 19, 'purple', 0), + new Piece(9, 18, 'blue', 1), + new Piece(8, 18, 'yellow', 0), + new Piece(8, 17, 'teal', 0), + new Piece(5, 17, 'green', 2), + new Piece(0, 18, 'orange', 3), + new Piece(8, 15, 'blue', 0), + new Piece(5, 16, 'green', 0), + new Piece(9, 14, 'yellow', 0), + new Piece(3, 16, 'red', 2), + new Piece(1, 15, 'teal', 1), + new Piece(1, 13, 'orange', 1), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnJBMJQCyIAxA', + }, + L: { + pieces: [ + new Piece(9, 18, 'blue', 1), + new Piece(3, 19, 'red', 0), + new Piece(6, 19, 'purple', 0), + new Piece(5, 18, 'green', 0), + new Piece(0, 18, 'orange', 3), + new Piece(8, 18, 'yellow', 0), + new Piece(8, 17, 'teal', 0), + new Piece(8, 15, 'orange', 0), + new Piece(7, 15, 'teal', 0), + new Piece(9, 13, 'yellow', 0), + new Piece(3, 17, 'red', 0), + new Piece(5, 15, 'green', 2), + new Piece(0, 15, 'blue', 3), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnGDsvjGADEA', + }, + OI: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(5, 18, 'purple', 2), + new Piece(8, 19, 'teal', 2), + new Piece(8, 18, 'blue', 0), + new Piece(9, 17, 'yellow', 0), + new Piece(3, 18, 'red', 2), + new Piece(6, 17, 'green', 0), + new Piece(3, 17, 'red', 0), + new Piece(9, 15, 'yellow', 0), + new Piece(7, 14, 'blue', 3), + new Piece(1, 15, 'teal', 1), + new Piece(1, 13, 'orange', 1), + new Piece(5, 16, 'green', 0), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnJyVAWATEA', + }, + }, + 'Kakute Keiai': { + 1: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(3, 19, 'red', 0), + new Piece(5, 18, 'purple', 1), + new Piece(6, 18, 'teal', 3), + new Piece(9, 19, 'yellow', 0), + new Piece(5, 16, 'green', 0), + new Piece(0, 15, 'blue', 3), + new Piece(7, 18, 'teal', 3), + new Piece(3, 16, 'red', 2), + new Piece(9, 16, 'blue', 1), + new Piece(5, 14, 'orange', 2), + new Piece(7, 15, 'green', 3), + new Piece(9, 14, 'yellow', 0), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnGXADAJjAFgkA', + }, + 2: { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(5, 18, 'purple', 1), + new Piece(0, 18, 'orange', 3), + new Piece(0, 15, 'blue', 3), + new Piece(6, 18, 'teal', 3), + new Piece(3, 18, 'red', 2), + new Piece(5, 16, 'green', 0), + new Piece(3, 16, 'red', 2), + new Piece(9, 16, 'blue', 1), + new Piece(7, 18, 'teal', 3), + new Piece(1, 17, 'purple', 3), + new Piece(7, 15, 'green', 3), + new Piece(9, 14, 'yellow', 0), + new Piece(8, 12, 'orange', 2), + ], + seed: 'IwNgrAHAnGUEwHYAMcDMIg', + }, + 3: { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(0, 18, 'orange', 3), + new Piece(3, 19, 'red', 0), + new Piece(0, 15, 'blue', 3), + new Piece(5, 18, 'purple', 1), + new Piece(6, 18, 'teal', 3), + new Piece(5, 16, 'green', 0), + new Piece(9, 16, 'blue', 1), + new Piece(5, 14, 'orange', 2), + new Piece(6, 13, 'yellow', 0), + new Piece(3, 16, 'red', 2), + new Piece(7, 18, 'teal', 3), + new Piece(7, 15, 'green', 3), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnJVcAmAzGIA', + }, + 4: { + pieces: [ + new Piece(9, 19, 'yellow', 0), + new Piece(0, 18, 'orange', 3), + new Piece(0, 15, 'blue', 3), + new Piece(3, 19, 'red', 0), + new Piece(6, 18, 'teal', 3), + new Piece(5, 18, 'purple', 1), + new Piece(5, 16, 'green', 0), + new Piece(7, 18, 'blue', 3), + new Piece(4, 13, 'green', 3), + new Piece(6, 13, 'orange', 1), + new Piece(9, 16, 'teal', 3), + new Piece(3, 16, 'red', 2), + new Piece(8, 16, 'yellow', 0), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnJDsDMAmJ8g', + }, + 5: { + pieces: [ + new Piece(0, 18, 'orange', 3), + new Piece(0, 15, 'blue', 3), + new Piece(9, 19, 'yellow', 0), + new Piece(6, 18, 'teal', 3), + new Piece(3, 19, 'red', 0), + new Piece(5, 18, 'purple', 1), + new Piece(5, 16, 'green', 0), + new Piece(9, 17, 'yellow', 0), + new Piece(7, 18, 'teal', 3), + new Piece(3, 16, 'red', 2), + new Piece(4, 13, 'green', 3), + new Piece(6, 13, 'orange', 1), + new Piece(9, 14, 'blue', 1), + new Piece(1, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnJYCzGAZmEA', + }, + }, + 'Bomb Death Cannon': { + 1: { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(1, 19, 'blue', 0), + new Piece(6, 19, 'red', 0), + new Piece(1, 17, 'green', 1), + new Piece(3, 18, 'orange', 3), + new Piece(8, 18, 'purple', 1), + new Piece(2, 17, 'orange', 1), + new Piece(3, 15, 'blue', 3), + new Piece(8, 16, 'green', 0), + new Piece(2, 15, 'yellow', 0), + new Piece(2, 13, 'yellow', 0), + new Piece(1, 14, 'teal', 1), + new Piece(6, 16, 'red', 2), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnGUWYDsAWCQ', + }, + 2: { + pieces: [ + new Piece(9, 18, 'teal', 3), + new Piece(6, 19, 'red', 0), + new Piece(8, 18, 'purple', 1), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(3, 18, 'orange', 3), + new Piece(9, 15, 'yellow', 0), + new Piece(7, 15, 'orange', 3), + new Piece(1, 15, 'green', 1), + new Piece(9, 13, 'yellow', 0), + new Piece(6, 17, 'red', 0), + new Piece(3, 15, 'blue', 3), + new Piece(3, 17, 'teal', 1), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnCAM9jMAzEA', + }, + 3: { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(3, 18, 'orange', 3), + new Piece(6, 19, 'red', 0), + new Piece(9, 18, 'teal', 3), + new Piece(8, 18, 'purple', 1), + new Piece(8, 16, 'yellow', 0), + new Piece(2, 17, 'orange', 1), + new Piece(3, 15, 'green', 1), + new Piece(8, 14, 'blue', 2), + new Piece(6, 17, 'red', 0), + new Piece(1, 14, 'teal', 1), + new Piece(4, 14, 'yellow', 0), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnCAMAsFZgOwqA', + }, + 4: { + pieces: [ + new Piece(3, 18, 'orange', 3), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(8, 18, 'purple', 1), + new Piece(6, 19, 'red', 0), + new Piece(9, 18, 'teal', 3), + new Piece(9, 15, 'yellow', 0), + new Piece(6, 17, 'red', 0), + new Piece(7, 15, 'orange', 3), + new Piece(1, 15, 'green', 1), + new Piece(3, 17, 'teal', 1), + new Piece(2, 14, 'yellow', 0), + new Piece(3, 15, 'blue', 3), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnCAMDMAWEAmSQ', + }, + 5: { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(6, 19, 'red', 0), + new Piece(9, 18, 'teal', 3), + new Piece(8, 18, 'purple', 1), + new Piece(3, 18, 'orange', 3), + new Piece(9, 15, 'yellow', 0), + new Piece(7, 15, 'orange', 3), + new Piece(3, 15, 'blue', 3), + new Piece(4, 13, 'yellow', 0), + new Piece(1, 15, 'green', 1), + new Piece(3, 17, 'teal', 1), + new Piece(6, 16, 'red', 2), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnCAMxhBYBmIA', + }, + 6: { + pieces: [ + new Piece(8, 18, 'purple', 1), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(6, 19, 'red', 0), + new Piece(9, 18, 'teal', 3), + new Piece(3, 18, 'orange', 3), + new Piece(6, 17, 'red', 0), + new Piece(1, 15, 'green', 1), + new Piece(8, 16, 'yellow', 0), + new Piece(2, 17, 'blue', 3), + new Piece(8, 14, 'yellow', 0), + new Piece(3, 14, 'orange', 2), + new Piece(9, 14, 'teal', 3), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnCAMyzAJicIA', + }, + 7: { + pieces: [ + new Piece(6, 19, 'red', 0), + new Piece(9, 18, 'teal', 3), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(8, 18, 'purple', 1), + new Piece(3, 18, 'orange', 3), + new Piece(2, 17, 'orange', 1), + new Piece(8, 16, 'yellow', 0), + new Piece(1, 14, 'teal', 1), + new Piece(3, 15, 'blue', 3), + new Piece(6, 16, 'red', 2), + new Piece(2, 15, 'yellow', 0), + new Piece(8, 14, 'green', 0), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnCAMBM9ZgCyyA', + }, + Compromise: { + pieces: [ + new Piece(8, 18, 'purple', 1), + new Piece(3, 18, 'orange', 3), + new Piece(9, 18, 'teal', 3), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(6, 19, 'red', 0), + new Piece(1, 15, 'green', 1), + new Piece(8, 16, 'yellow', 0), + new Piece(6, 17, 'red', 0), + new Piece(8, 14, 'yellow', 0), + new Piece(7, 11, 'orange', 3), + new Piece(3, 15, 'blue', 3), + new Piece(3, 17, 'teal', 1), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNgrAHAnCAMtjAiQ', + }, + }, + 'Malt Syrup Stacking': { + 1: { + pieces: [ + new Piece(1, 18, 'purple', 3), + new Piece(6, 18, 'blue', 1), + new Piece(8, 19, 'yellow', 0), + new Piece(3, 18, 'green', 2), + new Piece(1, 18, 'teal', 1), + new Piece(1, 16, 'red', 0), + new Piece(9, 18, 'orange', 1), + new Piece(8, 16, 'teal', 1), + new Piece(9, 16, 'yellow', 0), + new Piece(6, 15, 'orange', 1), + new Piece(8, 14, 'red', 0), + new Piece(3, 16, 'green', 2), + new Piece(8, 12, 'blue', 2), + new Piece(5, 17, 'purple', 1), + ], + seed: 'IwNgrAnADAzCDsAmGjxA', + }, + 2: { + pieces: [ + new Piece(9, 18, 'orange', 1), + new Piece(3, 19, 'green', 0), + new Piece(8, 19, 'yellow', 0), + new Piece(1, 18, 'purple', 3), + new Piece(6, 18, 'blue', 1), + new Piece(1, 18, 'teal', 1), + new Piece(1, 16, 'red', 0), + new Piece(3, 17, 'green', 0), + new Piece(9, 15, 'teal', 3), + new Piece(7, 16, 'red', 3), + new Piece(1, 14, 'blue', 2), + new Piece(1, 13, 'yellow', 0), + new Piece(6, 15, 'orange', 1), + new Piece(5, 17, 'purple', 1), + ], + seed: 'IwNgrAnADAzCAs8oRgJiA', + }, + 3: { + pieces: [ + new Piece(6, 18, 'blue', 1), + new Piece(8, 19, 'yellow', 0), + new Piece(1, 18, 'purple', 3), + new Piece(1, 18, 'teal', 1), + new Piece(3, 18, 'green', 2), + new Piece(9, 18, 'orange', 1), + new Piece(1, 16, 'red', 0), + new Piece(3, 17, 'green', 0), + new Piece(9, 16, 'yellow', 0), + new Piece(7, 16, 'teal', 3), + new Piece(6, 15, 'orange', 1), + new Piece(8, 14, 'red', 0), + new Piece(1, 14, 'blue', 2), + new Piece(5, 17, 'purple', 1), + ], + seed: 'IwNgrAnADAzCAcAmM8oHYg', + }, + 4: { + pieces: [ + new Piece(9, 18, 'orange', 1), + new Piece(8, 19, 'yellow', 0), + new Piece(1, 18, 'purple', 3), + new Piece(3, 19, 'green', 0), + new Piece(1, 18, 'teal', 1), + new Piece(1, 16, 'red', 0), + new Piece(6, 18, 'blue', 1), + new Piece(1, 14, 'blue', 2), + new Piece(3, 17, 'green', 0), + new Piece(6, 15, 'red', 3), + new Piece(8, 16, 'orange', 2), + new Piece(9, 14, 'teal', 3), + new Piece(6, 14, 'yellow', 0), + new Piece(5, 17, 'purple', 1), + ], + seed: 'IwNgrAnADAzA7FYtgA4g', + }, + 5: { + pieces: [ + new Piece(3, 19, 'green', 0), + new Piece(1, 18, 'purple', 3), + new Piece(8, 19, 'yellow', 0), + new Piece(6, 18, 'blue', 1), + new Piece(1, 18, 'teal', 1), + new Piece(1, 16, 'red', 0), + new Piece(9, 18, 'orange', 1), + new Piece(9, 15, 'teal', 3), + new Piece(6, 15, 'orange', 1), + new Piece(3, 16, 'green', 2), + new Piece(6, 13, 'yellow', 0), + new Piece(7, 16, 'red', 3), + new Piece(8, 13, 'blue', 3), + new Piece(5, 17, 'purple', 1), + ], + seed: 'IwNgrAnADAzCECYAsEAcEg', + }, + 6: { + pieces: [ + new Piece(1, 18, 'teal', 1), + new Piece(3, 19, 'green', 0), + new Piece(1, 18, 'purple', 3), + new Piece(1, 16, 'red', 0), + new Piece(6, 18, 'blue', 1), + new Piece(8, 19, 'yellow', 0), + new Piece(9, 18, 'orange', 1), + new Piece(1, 14, 'blue', 2), + new Piece(9, 15, 'teal', 3), + new Piece(6, 15, 'orange', 1), + new Piece(6, 13, 'yellow', 0), + new Piece(7, 16, 'red', 3), + new Piece(3, 17, 'green', 0), + new Piece(5, 17, 'purple', 1), + ], + seed: 'IwNgrAnADAzA7FAHBEUpA', + }, + 7: { + pieces: [ + new Piece(1, 18, 'purple', 3), + new Piece(3, 19, 'green', 0), + new Piece(1, 18, 'teal', 1), + new Piece(1, 16, 'red', 0), + new Piece(9, 18, 'orange', 1), + new Piece(8, 19, 'yellow', 0), + new Piece(6, 18, 'blue', 1), + new Piece(6, 15, 'orange', 1), + new Piece(9, 16, 'yellow', 0), + new Piece(2, 13, 'red', 1), + new Piece(0, 13, 'blue', 3), + new Piece(3, 17, 'green', 0), + new Piece(7, 16, 'teal', 3), + new Piece(5, 17, 'purple', 1), + ], + seed: 'IwNgrAnADAzCLDCGAWIA', + }, + }, + 'Arrest Stack': { + 1: { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(1, 19, 'blue', 0), + new Piece(6, 18, 'orange', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(4, 18, 'red', 2), + new Piece(1, 17, 'green', 1), + new Piece(6, 16, 'purple', 1), + new Piece(8, 16, 'orange', 0), + new Piece(8, 15, 'green', 0), + new Piece(1, 15, 'blue', 3), + new Piece(4, 16, 'red', 2), + new Piece(9, 13, 'yellow', 0), + new Piece(1, 14, 'teal', 1), + new Piece(2, 17, 'purple', 3), + ], + seed: 'IwNgrAnADAzA7GOVhTEA', + }, + 2: { + pieces: [ + new Piece(4, 19, 'red', 0), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(6, 18, 'orange', 0), + new Piece(8, 19, 'teal', 2), + new Piece(9, 18, 'yellow', 0), + new Piece(1, 15, 'green', 1), + new Piece(8, 16, 'blue', 0), + new Piece(6, 16, 'purple', 1), + new Piece(9, 14, 'teal', 3), + new Piece(2, 14, 'yellow', 0), + new Piece(4, 16, 'red', 2), + new Piece(1, 12, 'orange', 2), + new Piece(2, 17, 'purple', 3), + ], + seed: 'IwNgrAnADAzA7AFilBExA', + }, + 3: { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(1, 19, 'blue', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(6, 18, 'orange', 0), + new Piece(4, 18, 'red', 2), + new Piece(1, 17, 'green', 1), + new Piece(6, 16, 'purple', 1), + new Piece(1, 15, 'blue', 3), + new Piece(8, 16, 'orange', 0), + new Piece(4, 16, 'red', 2), + new Piece(2, 13, 'yellow', 0), + new Piece(8, 15, 'green', 0), + new Piece(1, 14, 'teal', 1), + new Piece(2, 17, 'purple', 3), + ], + seed: 'IwNgrAnADAzAHFMU52EA', + }, + 4: { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(1, 19, 'blue', 0), + new Piece(6, 18, 'orange', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(4, 18, 'red', 2), + new Piece(1, 17, 'green', 1), + new Piece(4, 17, 'red', 0), + new Piece(9, 16, 'yellow', 0), + new Piece(6, 16, 'purple', 2), + new Piece(1, 14, 'teal', 1), + new Piece(9, 13, 'orange', 1), + new Piece(1, 15, 'blue', 3), + new Piece(7, 15, 'green', 0), + new Piece(2, 17, 'purple', 3), + ], + seed: 'IwNgrAnADAzA7ADhgJjhGQ', + }, + 5: { + pieces: [ + new Piece(1, 19, 'blue', 0), + new Piece(4, 19, 'red', 0), + new Piece(8, 20, 'teal', 0), + new Piece(6, 18, 'orange', 0), + new Piece(9, 18, 'yellow', 0), + new Piece(1, 17, 'green', 1), + new Piece(6, 16, 'purple', 2), + new Piece(9, 15, 'teal', 3), + new Piece(4, 16, 'red', 2), + new Piece(1, 15, 'green', 1), + new Piece(1, 12, 'orange', 2), + new Piece(7, 15, 'blue', 2), + new Piece(2, 14, 'yellow', 0), + new Piece(2, 17, 'purple', 3), + ], + seed: 'IwNgrAnADAzA7CaEAsyg', + }, + 6: { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(1, 19, 'blue', 0), + new Piece(1, 17, 'green', 1), + new Piece(9, 18, 'yellow', 0), + new Piece(4, 19, 'red', 0), + new Piece(6, 18, 'orange', 0), + new Piece(4, 17, 'red', 0), + new Piece(6, 16, 'purple', 1), + new Piece(1, 14, 'teal', 1), + new Piece(8, 16, 'orange', 0), + new Piece(1, 15, 'blue', 3), + new Piece(7, 14, 'yellow', 0), + new Piece(8, 14, 'green', 2), + new Piece(2, 17, 'purple', 3), + ], + seed: 'IwNgrAnADAzAHKMMQSA', + }, + }, + 'Olive Stacking': { + 1: { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(2, 18, 'orange', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(2, 16, 'red', 1), + new Piece(5, 18, 'purple', 1), + new Piece(9, 17, 'blue', 1), + new Piece(7, 18, 'green', 0), + new Piece(1, 14, 'red', 3), + new Piece(1, 16, 'teal', 1), + new Piece(3, 13, 'orange', 1), + new Piece(1, 13, 'yellow', 0), + new Piece(5, 16, 'blue', 2), + new Piece(8, 16, 'green', 0), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAnADAzAHAdjFCMpA', + }, + 2: { + pieces: [ + new Piece(1, 19, 'yellow', 0), + new Piece(8, 20, 'teal', 0), + new Piece(9, 17, 'blue', 1), + new Piece(7, 18, 'green', 0), + new Piece(2, 18, 'orange', 3), + new Piece(5, 18, 'purple', 1), + new Piece(1, 16, 'red', 3), + new Piece(6, 15, 'green', 3), + new Piece(8, 15, 'red', 3), + new Piece(1, 16, 'teal', 1), + new Piece(1, 14, 'orange', 1), + new Piece(5, 16, 'blue', 2), + new Piece(3, 14, 'yellow', 0), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAnADAzAHGATFY8g', + }, + 3: { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(9, 17, 'blue', 1), + new Piece(1, 19, 'yellow', 0), + new Piece(2, 18, 'orange', 3), + new Piece(5, 18, 'purple', 1), + new Piece(7, 18, 'green', 0), + new Piece(2, 16, 'red', 1), + new Piece(8, 15, 'red', 3), + new Piece(1, 16, 'teal', 1), + new Piece(2, 14, 'orange', 2), + new Piece(1, 13, 'yellow', 0), + new Piece(5, 16, 'blue', 2), + new Piece(6, 15, 'green', 3), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAnADAzNUCYAsZhA', + }, + 4: { + pieces: [ + new Piece(5, 18, 'purple', 1), + new Piece(8, 20, 'teal', 0), + new Piece(2, 18, 'orange', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(2, 16, 'red', 1), + new Piece(9, 17, 'blue', 1), + new Piece(7, 18, 'green', 0), + new Piece(6, 15, 'green', 3), + new Piece(2, 14, 'orange', 2), + new Piece(8, 15, 'red', 3), + new Piece(5, 16, 'blue', 2), + new Piece(3, 13, 'yellow', 0), + new Piece(1, 16, 'teal', 1), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAnADAzAHBGZhwOxA', + }, + 5: { + pieces: [ + new Piece(8, 20, 'teal', 0), + new Piece(2, 18, 'orange', 3), + new Piece(1, 19, 'yellow', 0), + new Piece(5, 18, 'purple', 1), + new Piece(2, 16, 'red', 1), + new Piece(9, 17, 'blue', 1), + new Piece(7, 18, 'green', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(5, 16, 'blue', 2), + new Piece(8, 14, 'green', 3), + new Piece(6, 14, 'red', 3), + new Piece(2, 14, 'orange', 2), + new Piece(1, 16, 'teal', 1), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAnADAzAHBEEBMURA', + }, + }, + 'A gun that can only be compromised by pulling 1/11': { + 1: { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(0, 17, 'blue', 3), + new Piece(2, 18, 'yellow', 0), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(8, 18, 'orange', 3), + new Piece(2, 15, 'green', 1), + new Piece(5, 17, 'red', 0), + new Piece(1, 14, 'teal', 1), + new Piece(9, 17, 'orange', 1), + new Piece(7, 16, 'green', 0), + new Piece(2, 13, 'yellow', 0), + new Piece(3, 13, 'blue', 1), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAnADALFIQMyNkA', + }, + 2: { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(8, 18, 'orange', 3), + new Piece(5, 19, 'red', 0), + new Piece(7, 18, 'purple', 1), + new Piece(0, 17, 'blue', 3), + new Piece(2, 18, 'yellow', 0), + new Piece(2, 15, 'green', 1), + new Piece(9, 17, 'teal', 3), + new Piece(7, 15, 'green', 3), + new Piece(5, 17, 'red', 0), + new Piece(6, 15, 'orange', 3), + new Piece(3, 14, 'yellow', 0), + new Piece(0, 14, 'blue', 3), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAnADAzBDsEBMAOYEg', + }, + 3: { + pieces: [ + new Piece(8, 18, 'orange', 3), + new Piece(2, 20, 'teal', 0), + new Piece(0, 17, 'blue', 3), + new Piece(7, 18, 'purple', 1), + new Piece(5, 19, 'red', 0), + new Piece(2, 18, 'yellow', 0), + new Piece(2, 15, 'green', 1), + new Piece(8, 16, 'yellow', 0), + new Piece(5, 17, 'red', 0), + new Piece(2, 13, 'green', 1), + new Piece(9, 17, 'teal', 3), + new Piece(6, 15, 'blue', 3), + new Piece(3, 13, 'orange', 1), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAnADALFUUVMQ', + }, + 4: { + pieces: [ + new Piece(2, 20, 'teal', 0), + new Piece(0, 17, 'blue', 3), + new Piece(7, 18, 'purple', 1), + new Piece(2, 18, 'yellow', 0), + new Piece(5, 19, 'red', 0), + new Piece(8, 18, 'orange', 3), + new Piece(2, 15, 'green', 1), + new Piece(3, 14, 'green', 0), + new Piece(7, 15, 'blue', 1), + new Piece(2, 13, 'yellow', 0), + new Piece(1, 14, 'teal', 1), + new Piece(5, 16, 'red', 2), + new Piece(9, 17, 'orange', 1), + new Piece(3, 17, 'purple', 3), + ], + seed: 'IwNgrAnADALFAcF4wMwqA', + }, + }, + Dubble: { + variation: { + pieces: [ + new Piece(9, 18, 'purple', 1), + new Piece(1, 18, 'red', 1), + new Piece(7, 18, 'orange', 3), + new Piece(4, 18, 'blue', 1), + new Piece(6, 19, 'yellow', 0), + new Piece(2, 18, 'green', 2), + ], + seed: 'IwNhCZgZgBhBWG5zyA', + }, + }, + 'Nananshino Stacking': { + 1: { + pieces: [ + new Piece(6, 18, 'purple', 1), + new Piece(8, 19, 'yellow', 0), + new Piece(9, 18, 'orange', 1), + new Piece(3, 20, 'teal', 0), + new Piece(3, 17, 'blue', 1), + new Piece(1, 18, 'red', 1), + new Piece(2, 16, 'green', 1), + new Piece(1, 16, 'teal', 1), + new Piece(6, 16, 'blue', 2), + new Piece(3, 15, 'green', 0), + new Piece(9, 16, 'yellow', 0), + new Piece(7, 14, 'red', 3), + new Piece(9, 13, 'orange', 1), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNhCZgZihWAOK4Ccsg', + }, + 2: { + pieces: [ + new Piece(6, 18, 'purple', 1), + new Piece(1, 19, 'blue', 0), + new Piece(8, 19, 'orange', 0), + new Piece(8, 18, 'green', 0), + new Piece(2, 17, 'teal', 1), + new Piece(3, 19, 'red', 0), + new Piece(3, 17, 'yellow', 0), + new Piece(1, 16, 'teal', 1), + new Piece(1, 12, 'orange', 2), + new Piece(1, 14, 'green', 3), + new Piece(9, 16, 'yellow', 0), + new Piece(3, 14, 'red', 3), + new Piece(6, 16, 'blue', 2), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNhCZgZigWBOKB2aQ', + }, + 3: { + pieces: [ + new Piece(8, 19, 'orange', 0), + new Piece(3, 19, 'red', 0), + new Piece(1, 19, 'blue', 0), + new Piece(3, 17, 'yellow', 0), + new Piece(2, 17, 'teal', 1), + new Piece(8, 18, 'green', 0), + new Piece(6, 18, 'purple', 1), + new Piece(6, 16, 'blue', 2), + new Piece(1, 16, 'teal', 1), + new Piece(3, 15, 'green', 0), + new Piece(1, 14, 'red', 0), + new Piece(3, 13, 'orange', 0), + new Piece(9, 16, 'yellow', 0), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNhCZgZigOBWK8AsIg', + }, + 4: { + pieces: [ + new Piece(3, 20, 'teal', 0), + new Piece(1, 18, 'red', 1), + new Piece(8, 19, 'yellow', 0), + new Piece(6, 18, 'purple', 1), + new Piece(3, 17, 'blue', 1), + new Piece(2, 16, 'green', 1), + new Piece(9, 18, 'orange', 1), + new Piece(9, 16, 'yellow', 0), + new Piece(8, 14, 'orange', 2), + new Piece(1, 16, 'teal', 1), + new Piece(3, 15, 'green', 0), + new Piece(1, 14, 'red', 0), + new Piece(6, 16, 'blue', 2), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNhCZgZih2XoA5FA', + }, + 5: { + pieces: [ + new Piece(6, 18, 'purple', 1), + new Piece(8, 19, 'yellow', 0), + new Piece(9, 18, 'orange', 1), + new Piece(3, 20, 'teal', 0), + new Piece(1, 18, 'red', 1), + new Piece(3, 17, 'blue', 1), + new Piece(2, 16, 'green', 1), + new Piece(6, 16, 'blue', 2), + new Piece(2, 14, 'green', 1), + new Piece(9, 16, 'yellow', 0), + new Piece(8, 14, 'orange', 2), + new Piece(4, 14, 'red', 1), + new Piece(1, 16, 'teal', 1), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNhCZgZihOBWeJYAYg', + }, + 6: { + pieces: [ + new Piece(8, 19, 'yellow', 0), + new Piece(3, 20, 'teal', 0), + new Piece(1, 18, 'red', 1), + new Piece(2, 16, 'green', 1), + new Piece(3, 17, 'blue', 1), + new Piece(9, 18, 'orange', 1), + new Piece(6, 18, 'purple', 1), + new Piece(8, 15, 'orange', 3), + new Piece(6, 16, 'blue', 2), + new Piece(8, 13, 'yellow', 0), + new Piece(3, 14, 'red', 3), + new Piece(2, 14, 'green', 1), + new Piece(1, 16, 'teal', 1), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNhCZgZihOWAMVgBYg', + }, + Compromise: { + pieces: [ + new Piece(6, 18, 'purple', 1), + new Piece(8, 19, 'yellow', 0), + new Piece(3, 20, 'teal', 0), + new Piece(3, 17, 'blue', 1), + new Piece(1, 18, 'red', 1), + new Piece(2, 16, 'green', 1), + new Piece(9, 18, 'orange', 1), + new Piece(3, 14, 'red', 3), + new Piece(2, 14, 'green', 1), + new Piece(8, 15, 'orange', 3), + new Piece(8, 13, 'yellow', 0), + new Piece(6, 16, 'blue', 2), + new Piece(1, 16, 'teal', 1), + new Piece(4, 17, 'purple', 3), + new Piece(7, 11, 'blue', 0), + new Piece(0, 12, 'red', 3), + new Piece(7, 9, 'orange', 3), + new Piece(3, 13, 'yellow', 0), + new Piece(6, 14, 'green', 3), + new Piece(9, 14, 'teal', 3), + new Piece(5, 12, 'purple', 2), + new Piece(9, 10, 'orange', 1), + new Piece(1, 10, 'teal', 1), + new Piece(5, 9, 'red', 3), + new Piece(2, 10, 'green', 1), + new Piece(5, 13, 'purple', 3), + new Piece(9, 7, 'blue', 1), + new Piece(8, 7, 'yellow', 0), + ], + seed: 'IwNhCZgZgFgBgKzABwmUA', + }, + }, + 'Cheese Stacking': { + 1: { + pieces: [ + new Piece(2, 19, 'green', 0), + new Piece(0, 18, 'purple', 3), + new Piece(8, 18, 'orange', 3), + new Piece(6, 20, 'teal', 0), + new Piece(6, 18, 'blue', 0), + new Piece(6, 17, 'red', 0), + new Piece(1, 16, 'yellow', 0), + new Piece(9, 17, 'teal', 3), + new Piece(5, 15, 'red', 0), + new Piece(8, 16, 'yellow', 0), + new Piece(9, 13, 'blue', 1), + new Piece(0, 13, 'orange', 3), + new Piece(2, 16, 'green', 2), + new Piece(4, 17, 'purple', 1), + ], + seed: 'IwNhCZgZgFihWMAOJQ', + }, + 2: { + pieces: [ + new Piece(0, 18, 'purple', 3), + new Piece(6, 20, 'teal', 0), + new Piece(8, 19, 'red', 0), + new Piece(7, 17, 'blue', 0), + new Piece(5, 17, 'orange', 3), + new Piece(2, 19, 'green', 0), + new Piece(1, 16, 'yellow', 0), + new Piece(9, 17, 'teal', 3), + new Piece(8, 16, 'yellow', 0), + new Piece(0, 13, 'orange', 3), + new Piece(2, 17, 'green', 0), + new Piece(5, 15, 'red', 0), + new Piece(5, 13, 'blue', 2), + new Piece(4, 17, 'purple', 1), + ], + seed: 'IwNhCZgZgFh4CcUQHYg', + }, + 3: { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(6, 20, 'teal', 0), + new Piece(5, 17, 'orange', 3), + new Piece(7, 17, 'blue', 0), + new Piece(0, 18, 'purple', 3), + new Piece(2, 19, 'green', 0), + new Piece(1, 16, 'yellow', 0), + new Piece(2, 17, 'green', 0), + new Piece(9, 17, 'teal', 3), + new Piece(5, 15, 'red', 0), + new Piece(0, 13, 'orange', 3), + new Piece(8, 16, 'yellow', 0), + new Piece(7, 14, 'blue', 0), + new Piece(4, 17, 'purple', 1), + ], + seed: 'IwNhCZgZgFhgOcUCcMg', + }, + 4: { + pieces: [ + new Piece(5, 18, 'blue', 1), + new Piece(6, 17, 'red', 0), + new Piece(0, 18, 'purple', 3), + new Piece(1, 16, 'yellow', 0), + new Piece(2, 19, 'green', 0), + new Piece(8, 19, 'teal', 2), + new Piece(7, 18, 'orange', 0), + new Piece(1, 14, 'yellow', 0), + new Piece(9, 17, 'teal', 3), + new Piece(8, 15, 'blue', 3), + new Piece(5, 15, 'red', 0), + new Piece(7, 15, 'orange', 1), + new Piece(2, 16, 'green', 2), + new Piece(4, 17, 'purple', 1), + ], + seed: 'IwNhCZgZgFgVigdkQDmEA', + }, + 5: { + pieces: [ + new Piece(5, 18, 'blue', 1), + new Piece(6, 17, 'red', 0), + new Piece(8, 19, 'teal', 2), + new Piece(7, 18, 'orange', 0), + new Piece(2, 19, 'green', 0), + new Piece(0, 18, 'purple', 3), + new Piece(1, 16, 'yellow', 0), + new Piece(5, 15, 'red', 0), + new Piece(2, 16, 'green', 2), + new Piece(0, 13, 'orange', 3), + new Piece(5, 13, 'yellow', 0), + new Piece(8, 15, 'blue', 1), + new Piece(9, 17, 'teal', 3), + new Piece(4, 17, 'purple', 1), + ], + seed: 'IwNhCZgZgFgVgBzgJwHY5A', + }, + 6: { + pieces: [ + new Piece(8, 19, 'red', 0), + new Piece(7, 17, 'orange', 2), + new Piece(0, 18, 'purple', 3), + new Piece(1, 16, 'yellow', 3), + new Piece(6, 20, 'teal', 0), + new Piece(2, 18, 'green', 2), + new Piece(5, 17, 'blue', 3), + new Piece(2, 17, 'green', 0), + new Piece(0, 13, 'orange', 3), + new Piece(5, 14, 'blue', 2), + new Piece(8, 16, 'yellow', 0), + new Piece(9, 17, 'teal', 3), + new Piece(7, 14, 'red', 0), + new Piece(4, 17, 'purple', 1), + ], + seed: 'IwNhCZgZgFnBWAnI4ig', + }, + }, + 'Heaping up': { + 'PC 4': { + pieces: [ + new Piece(1, 18, 'orange', 2), + new Piece(3, 20, 'teal', 0), + new Piece(3, 17, 'green', 1), + new Piece(8, 19, 'red', 0), + new Piece(1, 17, 'yellow', 0), + new Piece(9, 17, 'purple', 1), + ], + seed: 'IwNhCZgZgFgDjsArABikA', + }, + 1: { + pieces: [ + new Piece(1, 18, 'orange', 2), + new Piece(3, 20, 'teal', 0), + new Piece(3, 17, 'green', 1), + new Piece(8, 19, 'red', 0), + new Piece(1, 17, 'yellow', 0), + new Piece(9, 17, 'purple', 1), + new Piece(3, 15, 'blue', 3), + new Piece(4, 13, 'yellow', 0), + new Piece(1, 15, 'orange', 0), + new Piece(1, 13, 'red', 3), + new Piece(0, 13, 'blue', 3), + new Piece(7, 17, 'teal', 0), + new Piece(6, 18, 'green', 0), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNhCZgZgFgDjsArABikA', + }, + 2: { + pieces: [ + new Piece(1, 18, 'orange', 2), + new Piece(3, 20, 'teal', 0), + new Piece(1, 17, 'yellow', 0), + new Piece(8, 19, 'red', 0), + new Piece(3, 17, 'green', 1), + new Piece(9, 17, 'purple', 1), + new Piece(3, 15, 'blue', 3), + new Piece(2, 14, 'blue', 1), + new Piece(1, 14, 'red', 1), + new Piece(9, 15, 'yellow', 0), + new Piece(1, 12, 'orange', 2), + new Piece(6, 18, 'green', 0), + new Piece(7, 16, 'teal', 2), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNhCZgZgVmcDsUAcyg', + }, + 3: { + pieces: [ + new Piece(1, 18, 'orange', 2), + new Piece(3, 20, 'teal', 0), + new Piece(8, 19, 'red', 0), + new Piece(9, 17, 'purple', 1), + new Piece(1, 17, 'yellow', 0), + new Piece(3, 17, 'green', 1), + new Piece(3, 15, 'blue', 3), + new Piece(3, 13, 'orange', 0), + new Piece(1, 15, 'blue', 0), + new Piece(7, 17, 'teal', 0), + new Piece(1, 13, 'red', 2), + new Piece(9, 15, 'yellow', 0), + new Piece(6, 18, 'green', 0), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNhCZgZgVgBigTgOzOEA', + }, + 4: { + pieces: [ + new Piece(3, 20, 'teal', 0), + new Piece(3, 17, 'green', 1), + new Piece(1, 18, 'orange', 2), + new Piece(8, 19, 'red', 0), + new Piece(9, 17, 'purple', 1), + new Piece(1, 17, 'yellow', 0), + new Piece(2, 15, 'blue', 2), + new Piece(9, 15, 'yellow', 0), + new Piece(6, 18, 'green', 0), + new Piece(1, 13, 'orange', 3), + new Piece(3, 14, 'red', 0), + new Piece(3, 12, 'blue', 2), + new Piece(7, 16, 'teal', 2), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNhCZgZgVmB2OAGAnEA', + }, + 5: { + pieces: [ + new Piece(3, 20, 'teal', 0), + new Piece(8, 19, 'red', 0), + new Piece(9, 17, 'purple', 1), + new Piece(3, 17, 'green', 1), + new Piece(1, 18, 'orange', 2), + new Piece(1, 17, 'yellow', 0), + new Piece(2, 15, 'blue', 2), + new Piece(4, 13, 'blue', 1), + new Piece(1, 14, 'teal', 1), + new Piece(1, 13, 'orange', 3), + new Piece(3, 13, 'yellow', 0), + new Piece(6, 17, 'red', 0), + new Piece(8, 16, 'green', 0), + new Piece(4, 17, 'purple', 3), + ], + seed: 'IwNhCZgZgVncCcIAsCg', + }, + }, + Jigsaw: { + Jaws: { + pieces: [ + new Piece(4, 19, 'yellow', 0), + new Piece(7, 18, 'green', 3), + new Piece(6, 18, 'red', 2), + new Piece(1, 18, 'orange', 2), + new Piece(9, 18, 'teal', 3), + new Piece(7, 16, 'blue', 2), + ], + seed: 'IwNg7ArATJYBwGYoAYFA', + }, + PCO: { + pieces: [ + new Piece(5, 19, 'yellow', 0), + new Piece(0, 18, 'purple', 3), + new Piece(2, 18, 'green', 2), + new Piece(9, 18, 'teal', 3), + new Piece(1, 17, 'red', 0), + new Piece(7, 18, 'blue', 2), + ], + seed: 'IwNg7ArATJAcEllWQ', + }, + 'Simplified Loop': { + pieces: [ + new Piece(1, 18, 'red', 3), + new Piece(1, 18, 'teal', 1), + new Piece(3, 19, 'green', 0), + new Piece(8, 18, 'blue', 2), + new Piece(6, 19, 'yellow', 0), + new Piece(2, 16, 'orange', 2), + new Piece(4, 17, 'purple', 1), + new Piece(7, 18, 'red', 0), + new Piece(6, 16, 'orange', 2), + new Piece(0, 14, 'purple', 3), + new Piece(2, 15, 'green', 0), + new Piece(4, 14, 'blue', 1), + new Piece(9, 17, 'yellow', 0), + new Piece(8, 15, 'teal', 2), + new Piece(9, 13, 'blue', 1), + new Piece(6, 13, 'orange', 3), + new Piece(8, 13, 'yellow', 0), + new Piece(3, 12, 'purple', 2), + new Piece(5, 14, 'teal', 3), + new Piece(1, 12, 'red', 2), + new Piece(1, 11, 'green', 0), + new Piece(2, 9, 'yellow', 0), + new Piece(1, 9, 'teal', 1), + new Piece(3, 11, 'purple', 0), + new Piece(8, 11, 'red', 0), + new Piece(6, 10, 'orange', 3), + new Piece(8, 9, 'blue', 2), + new Piece(4, 10, 'green', 3), + new Piece(3, 8, 'red', 3), + new Piece(1, 6, 'purple', 2), + new Piece(9, 7, 'blue', 1), + new Piece(6, 7, 'orange', 3), + new Piece(3, 6, 'green', 2), + new Piece(8, 7, 'yellow', 0), + new Piece(5, 8, 'teal', 3), + ], + seed: 'IwNg7ArATGKhAGEEg', + }, + 'ZS Cannon-OL': { + pieces: [ + new Piece(7, 19, 'red', 0), + new Piece(1, 18, 'teal', 1), + new Piece(8, 18, 'green', 3), + new Piece(8, 16, 'blue', 2), + new Piece(2, 18, 'orange', 2), + new Piece(5, 19, 'yellow', 0), + new Piece(6, 17, 'purple', 3), + new Piece(1, 15, 'yellow', 0), + new Piece(2, 17, 'green', 1), + new Piece(6, 15, 'red', 0), + new Piece(5, 16, 'blue', 1), + new Piece(2, 14, 'orange', 1), + new Piece(9, 14, 'teal', 3), + new Piece(3, 16, 'purple', 2), + ], + seed: 'IwNg7ArATGICwAYDMAOOIg', + }, + 'ZS Cannon-LO': { + pieces: [ + new Piece(5, 19, 'yellow', 0), + new Piece(2, 18, 'orange', 2), + new Piece(7, 19, 'red', 0), + new Piece(1, 18, 'teal', 1), + new Piece(8, 18, 'green', 3), + new Piece(8, 16, 'blue', 2), + new Piece(6, 17, 'purple', 3), + new Piece(1, 15, 'orange', 0), + new Piece(1, 17, 'green', 3), + new Piece(5, 16, 'blue', 1), + new Piece(1, 14, 'yellow', 0), + new Piece(6, 15, 'red', 0), + new Piece(9, 14, 'teal', 3), + new Piece(3, 16, 'purple', 2), + ], + seed: 'IwNg7ArATGICwgMxwAwA4g', + }, + }, + } + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/js/piece.js b/resources/blox.askplays.com/blox.askplays.com/js/piece.js new file mode 100644 index 0000000..6cb3240 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/js/piece.js @@ -0,0 +1,821 @@ +const cols = { + outline: 0, + perma: 1, + garbage: 0, + red: 2, + orange: 3, + yellow: 4, + green: 5, + teal: 6, + blue: 7, + purple: 8, + }, + presetSkins = ['default', 'jstris', 'four', 'fourTop', 'preview'], + hexes = { + default: { + teal: '#42AFE1', + yellow: '#F6D03C', + purple: '#9739A2', + orange: '#F38927', + blue: '#1165B5', + green: '#51B84D', + red: '#EB4F65', + garbage: '#6A6A6A', + }, + jstris: { + teal: '#0F9BD7', + yellow: '#E39F02', + purple: '#AF298A', + orange: '#E35B02', + blue: '#2141C6', + green: '#59B101', + red: '#D70F37', + garbage: '#6A6A6A', + }, + four: { + teal: '#42AFE1', + yellow: '#F6D03C', + purple: '#9739A2', + orange: '#F38927', + blue: '#1165B5', + green: '#51B84D', + red: '#EB4F65', + garbage: '#6A6A6A', + }, + fourTop: { + teal: '#6CEAFF', + yellow: '#FFFF7F', + purple: '#D958E9', + orange: '#FFBA59', + blue: '#339BFF', + green: '#84F880', + red: '#FF7F79', + garbage: '#DDDDDD', + }, + preview: { + teal: '#0F9BD7', + yellow: '#E39F02', + purple: '#AF298A', + orange: '#E35B02', + blue: '#2141C6', + green: '#59B101', + red: '#D70F37', + garbage: '#686868', + }, + } +settings?.openerPreviewColors && (hexes.preview = settings.openerPreviewColors) +class Piece { + constructor(t, i, r, s = 0) { + this.x = t + this.y = i + this.r = s + this.color = r + } + show(t, i = 2) { + 'blue' == this.color + ? (this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(-1, -1, this.r)) * i * ratio, + 16 * (this.y + rY(-1, -1, this.r)) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(-1, 0, this.r)) * i * ratio, + 16 * (this.y + rY(-1, 0, this.r)) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * this.x * i * ratio, + 16 * this.y * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(1, 0, this.r)) * i * ratio, + 16 * (this.y + rY(1, 0, this.r)) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + )) + : 'orange' == this.color + ? (this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(1, -1, this.r)) * i * ratio, + 16 * (this.y + rY(1, -1, this.r)) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(-1, 0, this.r)) * i * ratio, + 16 * (this.y + rY(-1, 0, this.r)) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * this.x * i * ratio, + 16 * this.y * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(1, 0, this.r)) * i * ratio, + 16 * (this.y + rY(1, 0, this.r)) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + )) + : 'green' == this.color + ? (this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(1, -1, this.r)) * i * ratio, + 16 * (this.y + rY(1, -1, this.r)) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(-1, 0, this.r)) * i * ratio, + 16 * (this.y + rY(-1, 0, this.r)) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * this.x * i * ratio, + 16 * this.y * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(0, -1, this.r)) * i * ratio, + 16 * (this.y + rY(0, -1, this.r)) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + )) + : 'red' == this.color + ? (this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(-1, -1, this.r)) * i * ratio, + 16 * (this.y + rY(-1, -1, this.r)) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(1, 0, this.r)) * i * ratio, + 16 * (this.y + rY(1, 0, this.r)) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * this.x * i * ratio, + 16 * this.y * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(0, -1, this.r)) * i * ratio, + 16 * (this.y + rY(0, -1, this.r)) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + )) + : 'yellow' == this.color + ? (this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(-0.5, -0.5, this.r) - 0.5) * i * ratio, + 16 * (this.y + rY(-0.5, -0.5, this.r) - 0.5) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(-0.5, 0.5, this.r) - 0.5) * i * ratio, + 16 * (this.y + rY(-0.5, 0.5, this.r) - 0.5) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(0.5, 0.5, this.r) - 0.5) * i * ratio, + 16 * (this.y + rY(0.5, 0.5, this.r) - 0.5) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(0.5, -0.5, this.r) - 0.5) * i * ratio, + 16 * (this.y + rY(0.5, -0.5, this.r) - 0.5) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + )) + : 'teal' == this.color + ? (this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(-1.5, -0.5, this.r) - 0.5) * i * ratio, + 16 * (this.y + rY(-1.5, -0.5, this.r) - 0.5) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(-0.5, -0.5, this.r) - 0.5) * i * ratio, + 16 * (this.y + rY(-0.5, -0.5, this.r) - 0.5) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(0.5, -0.5, this.r) - 0.5) * i * ratio, + 16 * (this.y + rY(0.5, -0.5, this.r) - 0.5) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(1.5, -0.5, this.r) - 0.5) * i * ratio, + 16 * (this.y + rY(1.5, -0.5, this.r) - 0.5) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + )) + : 'purple' == this.color && + (this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(-1, 0, this.r)) * i * ratio, + 16 * (this.y + rY(-1, 0, this.r)) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(1, 0, this.r)) * i * ratio, + 16 * (this.y + rY(1, 0, this.r)) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * this.x * i * ratio, + 16 * this.y * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + ), + this.sprite( + t ? 'outline' : prefix, + this.color, + bx + 16 * (this.x + rX(0, -1, this.r)) * i * ratio, + 16 * (this.y + rY(0, -1, this.r)) * i * ratio, + 0, + 16 * i * ratio, + 16 * i * ratio + )) + } + collide(t, i) { + if ('blue' == this.color) { + if ( + coll(this.x + rX(-1, -1, this.r) + t, this.y + rY(-1, -1, this.r) + i) + ) { + return true + } + if ( + coll(this.x + rX(-1, 0, this.r) + t, this.y + rY(-1, 0, this.r) + i) + ) { + return true + } + if (coll(this.x + rX(0, 0, this.r) + t, this.y + rY(0, 0, this.r) + i)) { + return true + } + if (coll(this.x + rX(1, 0, this.r) + t, this.y + rY(1, 0, this.r) + i)) { + return true + } + } else { + if ('orange' == this.color) { + if ( + coll(this.x + rX(1, -1, this.r) + t, this.y + rY(1, -1, this.r) + i) + ) { + return true + } + if ( + coll(this.x + rX(-1, 0, this.r) + t, this.y + rY(-1, 0, this.r) + i) + ) { + return true + } + if ( + coll(this.x + rX(0, 0, this.r) + t, this.y + rY(0, 0, this.r) + i) + ) { + return true + } + if ( + coll(this.x + rX(1, 0, this.r) + t, this.y + rY(1, 0, this.r) + i) + ) { + return true + } + } else { + if ('green' == this.color) { + if ( + coll(this.x + rX(1, -1, this.r) + t, this.y + rY(1, -1, this.r) + i) + ) { + return true + } + if ( + coll(this.x + rX(-1, 0, this.r) + t, this.y + rY(-1, 0, this.r) + i) + ) { + return true + } + if ( + coll(this.x + rX(0, 0, this.r) + t, this.y + rY(0, 0, this.r) + i) + ) { + return true + } + if ( + coll(this.x + rX(0, -1, this.r) + t, this.y + rY(0, -1, this.r) + i) + ) { + return true + } + } else { + if ('red' == this.color) { + if ( + coll( + this.x + rX(-1, -1, this.r) + t, + this.y + rY(-1, -1, this.r) + i + ) + ) { + return true + } + if ( + coll(this.x + rX(1, 0, this.r) + t, this.y + rY(1, 0, this.r) + i) + ) { + return true + } + if ( + coll(this.x + rX(0, 0, this.r) + t, this.y + rY(0, 0, this.r) + i) + ) { + return true + } + if ( + coll( + this.x + rX(0, -1, this.r) + t, + this.y + rY(0, -1, this.r) + i + ) + ) { + return true + } + } else { + if ('yellow' == this.color) { + if ( + coll( + this.x + rX(-0.5, -0.5, this.r) - 0.5 + t, + this.y + rY(-0.5, -0.5, this.r) - 0.5 + i + ) + ) { + return true + } + if ( + coll( + this.x + rX(-0.5, 0.5, this.r) - 0.5 + t, + this.y + rY(-0.5, 0.5, this.r) - 0.5 + i + ) + ) { + return true + } + if ( + coll( + this.x + rX(0.5, 0.5, this.r) - 0.5 + t, + this.y + rY(0.5, 0.5, this.r) - 0.5 + i + ) + ) { + return true + } + if ( + coll( + this.x + rX(0.5, -0.5, this.r) - 0.5 + t, + this.y + rY(0.5, -0.5, this.r) - 0.5 + i + ) + ) { + return true + } + } else { + if ('teal' == this.color) { + if ( + coll( + this.x + rX(-1.5, -0.5, this.r) - 0.5 + t, + this.y + rY(-1.5, -0.5, this.r) - 0.5 + i + ) + ) { + return true + } + if ( + coll( + this.x + rX(-0.5, -0.5, this.r) - 0.5 + t, + this.y + rY(-0.5, -0.5, this.r) - 0.5 + i + ) + ) { + return true + } + if ( + coll( + this.x + rX(0.5, -0.5, this.r) - 0.5 + t, + this.y + rY(0.5, -0.5, this.r) - 0.5 + i + ) + ) { + return true + } + if ( + coll( + this.x + rX(1.5, -0.5, this.r) - 0.5 + t, + this.y + rY(1.5, -0.5, this.r) - 0.5 + i + ) + ) { + return true + } + } else { + if ('purple' == this.color) { + if ( + coll( + this.x + rX(-1, 0, this.r) + t, + this.y + rY(-1, 0, this.r) + i + ) + ) { + return true + } + if ( + coll( + this.x + rX(1, 0, this.r) + t, + this.y + rY(1, 0, this.r) + i + ) + ) { + return true + } + if ( + coll( + this.x + rX(0, 0, this.r) + t, + this.y + rY(0, 0, this.r) + i + ) + ) { + return true + } + if ( + coll( + this.x + rX(0, -1, this.r) + t, + this.y + rY(0, -1, this.r) + i + ) + ) { + return true + } + } + } + } + } + } + } + } + return false + } + setBlock() { + 'blue' == this.color + ? ((board[this.x + rX(-1, -1, this.r)][this.y + rY(-1, -1, this.r)] = + new Block( + this.x + rX(-1, -1, this.r), + this.y + rY(-1, -1, this.r), + this.color + )), + (board[this.x + rX(-1, 0, this.r)][this.y + rY(-1, 0, this.r)] = + new Block( + this.x + rX(-1, 0, this.r), + this.y + rY(-1, 0, this.r), + this.color + )), + (board[this.x][this.y] = new Block(this.x, this.y, this.color)), + (board[this.x + rX(1, 0, this.r)][this.y + rY(1, 0, this.r)] = + new Block( + this.x + rX(1, 0, this.r), + this.y + rY(1, 0, this.r), + this.color + ))) + : 'orange' == this.color + ? ((board[this.x + rX(1, -1, this.r)][this.y + rY(1, -1, this.r)] = + new Block( + this.x + rX(1, -1, this.r), + this.y + rY(1, -1, this.r), + this.color + )), + (board[this.x + rX(-1, 0, this.r)][this.y + rY(-1, 0, this.r)] = + new Block( + this.x + rX(-1, 0, this.r), + this.y + rY(-1, 0, this.r), + this.color + )), + (board[this.x][this.y] = new Block(this.x, this.y, this.color)), + (board[this.x + rX(1, 0, this.r)][this.y + rY(1, 0, this.r)] = + new Block( + this.x + rX(1, 0, this.r), + this.y + rY(1, 0, this.r), + this.color + ))) + : 'green' == this.color + ? ((board[this.x + rX(1, -1, this.r)][this.y + rY(1, -1, this.r)] = + new Block( + this.x + rX(1, -1, this.r), + this.y + rY(1, -1, this.r), + this.color + )), + (board[this.x + rX(-1, 0, this.r)][this.y + rY(-1, 0, this.r)] = + new Block( + this.x + rX(-1, 0, this.r), + this.y + rY(-1, 0, this.r), + this.color + )), + (board[this.x][this.y] = new Block(this.x, this.y, this.color)), + (board[this.x + rX(0, -1, this.r)][this.y + rY(0, -1, this.r)] = + new Block( + this.x + rX(0, -1, this.r), + this.y + rY(0, -1, this.r), + this.color + ))) + : 'red' == this.color + ? ((board[this.x + rX(-1, -1, this.r)][this.y + rY(-1, -1, this.r)] = + new Block( + this.x + rX(-1, -1, this.r), + this.y + rY(-1, -1, this.r), + this.color + )), + (board[this.x + rX(1, 0, this.r)][this.y + rY(1, 0, this.r)] = + new Block( + this.x + rX(1, 0, this.r), + this.y + rY(1, 0, this.r), + this.color + )), + (board[this.x][this.y] = new Block(this.x, this.y, this.color)), + (board[this.x + rX(0, -1, this.r)][this.y + rY(0, -1, this.r)] = + new Block( + this.x + rX(0, -1, this.r), + this.y + rY(0, -1, this.r), + this.color + ))) + : 'yellow' == this.color + ? ((board[this.x + rX(-0.5, -0.5, this.r) - 0.5][ + this.y + rY(-0.5, -0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(-0.5, -0.5, this.r) - 0.5, + this.y + rY(-0.5, -0.5, this.r) - 0.5, + this.color + )), + (board[this.x + rX(-0.5, 0.5, this.r) - 0.5][ + this.y + rY(-0.5, 0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(-0.5, 0.5, this.r) - 0.5, + this.y + rY(-0.5, 0.5, this.r) - 0.5, + this.color + )), + (board[this.x + rX(0.5, 0.5, this.r) - 0.5][ + this.y + rY(0.5, 0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(0.5, 0.5, this.r) - 0.5, + this.y + rY(0.5, 0.5, this.r) - 0.5, + this.color + )), + (board[this.x + rX(0.5, -0.5, this.r) - 0.5][ + this.y + rY(0.5, -0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(0.5, -0.5, this.r) - 0.5, + this.y + rY(0.5, -0.5, this.r) - 0.5, + this.color + ))) + : 'teal' == this.color + ? ((board[this.x + rX(-1.5, -0.5, this.r) - 0.5][ + this.y + rY(-1.5, -0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(-1.5, -0.5, this.r) - 0.5, + this.y + rY(-1.5, -0.5, this.r) - 0.5, + this.color + )), + (board[this.x + rX(-0.5, -0.5, this.r) - 0.5][ + this.y + rY(-0.5, -0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(-0.5, -0.5, this.r) - 0.5, + this.y + rY(-0.5, -0.5, this.r) - 0.5, + this.color + )), + (board[this.x + rX(0.5, -0.5, this.r) - 0.5][ + this.y + rY(0.5, -0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(0.5, -0.5, this.r) - 0.5, + this.y + rY(0.5, -0.5, this.r) - 0.5, + this.color + )), + (board[this.x + rX(1.5, -0.5, this.r) - 0.5][ + this.y + rY(1.5, -0.5, this.r) - 0.5 + ] = new Block( + this.x + rX(1.5, -0.5, this.r) - 0.5, + this.y + rY(1.5, -0.5, this.r) - 0.5, + this.color + ))) + : 'purple' == this.color && + ((board[this.x + rX(-1, 0, this.r)][this.y + rY(-1, 0, this.r)] = + new Block( + this.x + rX(-1, 0, this.r), + this.y + rY(-1, 0, this.r), + this.color + )), + (board[this.x + rX(1, 0, this.r)][this.y + rY(1, 0, this.r)] = + new Block( + this.x + rX(1, 0, this.r), + this.y + rY(1, 0, this.r), + this.color + )), + (board[this.x][this.y] = new Block(this.x, this.y, this.color)), + (board[this.x + rX(0, -1, this.r)][this.y + rY(0, -1, this.r)] = + new Block( + this.x + rX(0, -1, this.r), + this.y + rY(0, -1, this.r), + this.color + ))) + blockId++ + } + sprite(i, r, s = 0, h = 0, t, o = 16, e = 16) { + if (presetSkins.includes(i)) { + settings.webgl + ? ctx != hCtx && + ctx != qCtx && + ctx != bCtx && + ctx != rCtx && + drawImage(images[i + cols[r]], s, h, o, e) + : ((ctx.fillStyle = hexes[i][r]), ctx.fillRect(s, h, o, e)) + } else { + if ( + 'undefined' != typeof settings && + settings && + settings.skinConnected && + 'custom' == i + ) { + var l = sprites[i], + a = (l || console.log(i), board), + x = + (((board = createBoard())[-1] = []), + (board[-2] = []), + (board[-3] = []), + (board[bW] = []), + this.setBlock(), + 22) + let t = 4 * (cols[r] - 2) + 3 < cols[r] - 2 && (t += 116) + var c = s / (32 * ratio), + p = h / (32 * ratio) + this.pAt(c - 1, p) || + this.pAt(1 + c, p) || + this.pAt(c, p - 1) || + !this.pAt(c, 1 + p) + ? !this.pAt(c - 1, p) && + !this.pAt(1 + c, p) && + this.pAt(c, p - 1) && + this.pAt(c, 1 + p) + ? (t += x) + : this.pAt(c - 1, p) || + this.pAt(1 + c, p) || + !this.pAt(c, p - 1) || + this.pAt(c, 1 + p) + ? this.pAt(c - 1, p) || + !this.pAt(1 + c, p) || + this.pAt(c, p - 1) || + this.pAt(c, 1 + p) + ? this.pAt(c - 1, p) && + this.pAt(1 + c, p) && + !this.pAt(c, p - 1) && + !this.pAt(c, 1 + p) + ? (t += 68) + : !this.pAt(c - 1, p) || + this.pAt(1 + c, p) || + this.pAt(c, p - 1) || + this.pAt(c, 1 + p) + ? this.pAt(c - 1, p) || + this.pAt(1 + c, p) || + this.pAt(c, p - 1) || + this.pAt(c, 1 + p) + ? !this.pAt(c - 1, p) && + this.pAt(1 + c, p) && + !this.pAt(c, p - 1) && + this.pAt(c, 1 + p) + ? (t += 88) + : this.pAt(c - 1, p) && + !this.pAt(1 + c, p) && + !this.pAt(c, p - 1) && + this.pAt(c, 1 + p) + ? (t += 89) + : !this.pAt(c - 1, p) && + this.pAt(1 + c, p) && + this.pAt(c, p - 1) && + !this.pAt(c, 1 + p) + ? (t += 110) + : this.pAt(c - 1, p) && + !this.pAt(1 + c, p) && + this.pAt(c, p - 1) && + !this.pAt(c, 1 + p) + ? (t += 111) + : this.pAt(c - 1, p) && + this.pAt(1 + c, p) && + this.pAt(c, p - 1) && + !this.pAt(c, 1 + p) + ? (t += 90) + : !this.pAt(c - 1, p) && + this.pAt(1 + c, p) && + this.pAt(c, p - 1) && + this.pAt(c, 1 + p) + ? (t += 91) + : this.pAt(c - 1, p) && + this.pAt(1 + c, p) && + !this.pAt(c, p - 1) && + this.pAt(c, 1 + p) + ? (t += 112) + : this.pAt(c - 1, p) && + !this.pAt(1 + c, p) && + this.pAt(c, p - 1) && + this.pAt(c, 1 + p) && + (t += 113) + : (t += 66) + : (t += 69) + : (t += 67) + : (t += 44) + : (t += 0) + x = l.sprites[t % l.sprites.length] + try { + ctx.drawImage(x, 0, 0, l.w, l.h, s, h, o, e) + } catch (t) {} + board = a + } else { + c = sprites[i] + c || console.log(i) + let t + t = + 'outline' != i + ? c.sprites[cols[r] % c.sprites.length] + : c.sprites[Math.max(cols[r] - 2, 0) % c.sprites.length] + ctx.drawImage(t, 0, 0, c.w, c.h, s, h, o, e) + } + } + } + pAt(t, i) { + return board[t][i] + } +} diff --git a/resources/blox.askplays.com/blox.askplays.com/js/replay.js b/resources/blox.askplays.com/blox.askplays.com/js/replay.js new file mode 100644 index 0000000..e9de8dd --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/js/replay.js @@ -0,0 +1,671 @@ +function encodeReplay() { + var t = r.saveReplay() + replay = { + c: c, + d: t, + } + addReplay( + (replay = LZString.compressToEncodedURIComponent(JSON.stringify(replay))) + ) + } + function addReplay(r) { + if ( + (document.getElementById('chat-box') && + ((!alive && 0 == mode) || websocket.readyState != websocket.OPEN)) || + 2 == playMode || + desynced + ) { + let t = document.createElement('p'), + e = + ((t.classList = 'replay'), + (t.innerHTML = + 'replayOpen in new tab '), + document.createElement('input')), + s = + ((e.type = 'text'), + e.setAttribute('value', r), + (e.value = r), + document.createElement('button')), + i = + ((s.innerText = 'copy'), + s.addEventListener('click', copyText), + t.appendChild(e), + t.appendChild(s), + document.getElementById('chat-box').appendChild(t), + document.getElementById('chat-box')) + i.scrollTop = i.scrollHeight + } + } + class Replayer { + constructor() { + this.r = {} + this.actions = [] + } + } + const r = new Replayer(), + Action = Object.freeze({ + MOVE_LEFT: 0, + MOVE_RIGHT: 1, + DAS_LEFT: 2, + DAS_RIGHT: 3, + ROTATE_LEFT: 4, + ROTATE_RIGHT: 5, + ROTATE_180: 6, + HARD_DROP: 7, + SOFT_DROP_BEGIN_END: 8, + GRAVITY_STEP: 9, + HOLD_BLOCK: 10, + GARBAGE_ADD: 11, + SGARBAGE_ADD: 12, + REDBAR_SET: 13, + ARR_MOVE: 14, + AUX: 15, + }), + Aux = Object.freeze({ + AFK: 0, + BLOCK_SET: 1, + MOVE_TO: 2, + RANDOMIZER: 3, + MATRIX_MOD: 4, + WIDE_GARBAGE_ADD: 5, + WIDE_GARBAGE_SET: 6, + }) + function action(e, s, i) { + if (1 === gamemode) { + let t = { + t: Math.max(0, counter), + a: Action[e], + } + s && (t.d = s) + i && (t.aux = Aux[i]) + r.actions.push(t) + s + ? sendActions.push({ + a: replayCodes[e], + d: s, + }) + : sendActions.push({ a: replayCodes[e] }) + } + } + function _base64ToArrayBuffer(t) { + for ( + var e = window.atob(t), s = e.length, i = new Uint8Array(s), r = 0; + r < s / 4; + r++ + ) { + for (var n = 0; n < 4; n++) { + i[4 * r + n] = e.charCodeAt(4 * r + 3 - n) + } + } + return i.buffer + } + function _arrayBufferToBase64(t) { + for (var e = '', s = new Uint8Array(t), i = s.byteLength, r = 0; r < i; r++) { + e += ' ' + } + for (r = 0; r < i / 4; r++) { + for (var n = 0; n < 4; n++) { + e = e.replaceAt(4 * r + 3 - n, String.fromCharCode(s[4 * r + n])) + } + } + return window.btoa(e) + } + function Mash() { + function t(t) { + for (var e = 0, s = (t = t.toString()).length; e < s; e++) { + var i = 0.02519603282416938 * (r += t.charCodeAt(e)) + r = (i = (i - (r = i >>> 0)) * r) >>> 0 + r += 4294967296 * (i -= r) + } + return 2.3283064365386963e-10 * (r >>> 0) + } + var r = 4022871197 + return (t.version = 'Mash 0.9'), t + } + function ir(t) { + var i, + e = this, + s = + ((i = 4022871197), + function (t) { + t = t.toString() + for (var e = 0; e < t.length; e++) { + var s = 0.02519603282416938 * (i += t.charCodeAt(e)) + i = (s = (s -= i = s >>> 0) * i) >>> 0 + i += 4294967296 * (s -= i) + } + return 2.3283064365386963e-10 * (i >>> 0) + }) + e.next = function () { + var t = 2091639 * e.s0 + 2.3283064365386963e-10 * e.c + return (e.s0 = e.s1), (e.s1 = e.s2), (e.s2 = t - (e.c = 0 | t)) + } + e.c = 1 + e.s0 = s(' ') + e.s1 = s(' ') + e.s2 = s(' ') + e.s0 -= s(t) + e.s0 < 0 && (e.s0 += 1) + e.s1 -= s(t) + e.s1 < 0 && (e.s1 += 1) + e.s2 -= s(t) + e.s2 < 0 && (e.s2 += 1) + } + function s(t, e) { + return (e.c = t.c), (e.s0 = t.s0), (e.s1 = t.s1), (e.s2 = t.s2), e + } + function alea(t, e) { + var i = new ir(t), + t = e && e.state, + r = i.next + return ( + (r.int32 = function () { + return (4294967296 * i.next()) | 0 + }), + (r.double = function () { + return r() + 1.1102230246251565e-16 * ((2097152 * r()) | 0) + }), + (r.quick = r), + t && + ('object' == typeof t && s(t, i), + (r.state = function () { + return s(i, {}) + })), + r + ) + } + function Bag(t, s, i) { + this.RNG = t + this.usebag = [] + for (let e = 0; e < s; e++) { + for (let t = 0; t < i; t++) { + this.usebag.push(e) + } + } + this.bag = this.usebag.slice(0) + } + String.prototype.replaceAt = function (t, e) { + return this.substr(0, t) + e + this.substr(t + e.length) + } + Replayer.prototype.loadReplay = function (t) { + for ( + var t = _base64ToArrayBuffer((this.r.d = t)), + e = + ((ab = t), + (this.data = new Uint32Array(t)), + (this.byte = 0), + (this.bitpos = 0), + this.data.length, + 0), + s = 0; + ; + + ) { + var i = { + t: 4094 * s + (e = r), + a: this.pullBits(4), + }, + r = this.pullBits(12) + if (null === r || 4095 === r) { + break + } + r < e && s++ + i.a === Action.GARBAGE_ADD && (i.d = [this.pullBits(5), this.pullBits(4)]) + i.a === Action.REDBAR_SET && (i.d = [this.pullBits(5)]) + i.a === Action.ARR_MOVE && (i.d = [this.pullBits(1)]) + i.a === Action.AUX && + ((i.aux = this.pullBits(4)), + i.aux === Aux.AFK + ? ((i.d = [this.pullBits(16)]), + 4094 <= (e += i.d[0] % 4094) && ((e -= 4094), s++), + (s += (i.d[0] / 4094) >>> 0)) + : i.aux === Aux.BLOCK_SET + ? (i.d = [this.pullBits(1), this.pullBits(4)]) + : i.aux === Aux.MOVE_TO + ? (i.d = [this.pullBits(4) - 3, this.pullBits(5) - 12]) + : i.aux === Aux.RANDOMIZER + ? (i.d = [this.pullBits(1), this.pullBits(5)]) + : i.aux === Aux.MATRIX_MOD + ? (i.d = [this.pullBits(4), this.pullBits(5)]) + : (i.aux !== Aux.WIDE_GARBAGE_ADD && i.aux !== Aux.WIDE_GARBAGE_SET) || + (i.d = [ + this.pullBits(5), + this.pullBits(4), + this.pullBits(3), + this.pullBits(1), + ])) + this.actions.push(i) + } + return ( + this.debug && console.log(JSON.stringify(this.actions)), + (this.r.a = this.actions), + this.actions + ) + } + Replayer.prototype.pullBits = function (t) { + if (this.data.length === this.byte) { + return null + } + var e = 32 - (this.bitpos + t) + if (0 <= e) { + var s = (this.data[this.byte] & (((1 << t) - 1) << e)) >>> e + } else { + var i = (this.data[this.byte] & ((1 << (t + e)) - 1)) << -e + if (this.data.length === this.byte + 1 && 0 != e) { + return null + } + s = + i | + ((this.data[this.byte + 1] & (((1 << -e) - 1) << (32 + e))) >>> (32 + e)) + } + return ( + (this.bitpos = this.bitpos + t), + 32 <= this.bitpos && ((this.bitpos -= 32), this.byte++), + s + ) + } + Replayer.prototype.saveReplay = function (e) { + e = this.actions + this.data = null + this.data = [] + this.byte = 0 + for (let t = (this.bitpos = 0); t < e.length; t++) { + this.putBits(e[t].t % 4094, 12) + this.putBits(e[t].a, 4) + e[t].a === Action.GARBAGE_ADD && + (this.putBits(e[t].d[0], 5), this.putBits(e[t].d[1], 4)) + e[t].a === Action.AUX && + (this.putBits(e[t].aux, 4), + e[t].aux === Aux.BLOCK_SET && + (this.putBits(e[t].d[0], 1), this.putBits(e[t].d[1], 4)), + e[t].aux === Aux.WIDE_GARBAGE_ADD && + (this.putBits(e[t].d[0], 5), + this.putBits(e[t].d[1], 4), + this.putBits(e[t].d[2], 3), + this.putBits(e[t].d[3], 1)), + e[t].aux === Aux.WIDE_GARBAGE_SET && + (this.putBits(e[t].d[0], 5), + this.putBits(e[t].d[1], 4), + this.putBits(e[t].d[2], 3), + this.putBits(e[t].d[3], 1))) + } + return ( + 0 != this.bitpos && + (this.data[this.byte] = + (this.data[this.byte] << (32 - this.bitpos)) + + ((1 << (32 - this.bitpos)) - 1)), + (this.data = new Uint32Array(this.data)), + (this.r.d = _arrayBufferToBase64(this.data.buffer)), + this.r.d + ) + } + Replayer.prototype.putBits = function (t, e) { + var s, i + t &= (1 << e) - 1 + 32 < this.bitpos + e + ? ((s = 32 - this.bitpos), + (i = this.bitpos + e - 32), + (this.data[this.byte] = (this.data[this.byte] << s) + (t >>> i)), + (this.data[this.byte + 1] = t & ((1 << i) - 1))) + : (this.data[this.byte] = (this.data[this.byte] << e) + t) + this.bitpos += e + 32 <= this.bitpos && ((this.bitpos -= 32), this.byte++) + } + Bag.prototype.getBlock = function () { + var t = Math.floor(this.RNG() * this.bag.length), + t = this.bag.splice(t, 1)[0] + return 0 === this.bag.length && (this.bag = this.usebag.slice(0)), t + } + var LZString = (function () { + function s(t, e) { + if (!n[t]) { + for (var s = 0; s < t.length; s++) { + n[t][t.charAt(s)] = s + } + } + return n[t][e] + } + var b = String.fromCharCode, + i = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', + r = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$', + n = { t: {} }, + o = { + compressToBase64: function (t) { + if (null == t) { + return '' + } + var e = o._compress(t, 6, function (t) { + return i.charAt(t) + }) + switch (e.length % 4) { + default: + case 0: + return e + case 1: + return e + '===' + case 2: + return e + '==' + case 3: + return e + '=' + } + }, + decompressFromBase64: function (e) { + return null == e + ? '' + : '' == e + ? null + : o._decompress(e.length, 32, function (t) { + return s(i, e.charAt(t)) + }) + }, + compressToUTF16: function (t) { + return null == t + ? '' + : o._compress(t, 15, function (t) { + return b(t + 32) + }) + ' ' + }, + decompressFromUTF16: function (e) { + return null == e + ? '' + : '' == e + ? null + : o._decompress(e.length, 16384, function (t) { + return e.charCodeAt(t) - 32 + }) + }, + compressToUint8Array: function (t) { + for ( + var e = o.compress(t), + s = new Uint8Array(2 * e.length), + i = 0, + r = e.length; + i < r; + i++ + ) { + var n = e.charCodeAt(i) + s[2 * i] = n >>> 8 + s[2 * i + 1] = n % 256 + } + return s + }, + decompressFromUint8Array: function (t) { + if (null == t) { + return o.decompress(t) + } + for (var e = new Array(t.length / 2), s = 0, i = e.length; s < i; s++) { + e[s] = 256 * t[2 * s] + t[2 * s + 1] + } + var r = [] + return ( + e.forEach(function (t) { + r.push(b(t)) + }), + o.decompress(r.join('')) + ) + }, + compressToEncodedURIComponent: function (t) { + return null == t + ? '' + : o._compress(t, 6, function (t) { + return r.charAt(t) + }) + }, + decompressFromEncodedURIComponent: function (e) { + return null == e + ? '' + : '' == e + ? null + : ((e = e.replace(/ /g, '+')), + o._decompress(e.length, 32, function (t) { + return s(r, e.charAt(t)) + })) + }, + compress: function (t) { + return o._compress(t, 16, function (t) { + return b(t) + }) + }, + _compress: function (t, e, s) { + if (null == t) { + return '' + } + for ( + var i, + r, + n, + o, + a = { o: l++ }, + u = {}, + h = '', + p = 2, + l = 3, + c = 2, + d = [], + f = 0, + A = 0, + y = 0; + y < t.length; + y += 1 + ) { + if ( + ((n = t.charAt(y)), + Object.prototype.hasOwnProperty.call(a, n) || + ((a[n] = l++), (u[n] = true)), + (o = h + n), + Object.prototype.hasOwnProperty.call(a, o)) + ) { + h = o + } else { + if (Object.prototype.hasOwnProperty.call(u, h)) { + if (h.charCodeAt(0) < 256) { + for (i = 0; i < c; i++) { + f <<= 1 + A == e - 1 ? ((A = 0), d.push(s(f)), (f = 0)) : A++ + } + for (r = h.charCodeAt(0), i = 0; i < 8; i++) { + f = (f << 1) | (1 & r) + A == e - 1 ? ((A = 0), d.push(s(f)), (f = 0)) : A++ + r >>= 1 + } + } else { + for (r = 1, i = 0; i < c; i++) { + f = (f << 1) | r + A == e - 1 ? ((A = 0), d.push(s(f)), (f = 0)) : A++ + r = 0 + } + for (r = h.charCodeAt(0), i = 0; i < 16; i++) { + f = (f << 1) | (1 & r) + A == e - 1 ? ((A = 0), d.push(s(f)), (f = 0)) : A++ + r >>= 1 + } + } + 0 == --p && ((p = Math.pow(2, c)), c++) + delete u[h] + } else { + for (r = a[h], i = 0; i < c; i++) { + f = (f << 1) | (1 & r) + A == e - 1 ? ((A = 0), d.push(s(f)), (f = 0)) : A++ + r >>= 1 + } + } + 0 == --p && ((p = Math.pow(2, c)), c++) + h = String(n) + } + } + if ('' !== h) { + if (Object.prototype.hasOwnProperty.call(u, h)) { + if (h.charCodeAt(0) < 256) { + for (i = 0; i < c; i++) { + f <<= 1 + A == e - 1 ? ((A = 0), d.push(s(f)), (f = 0)) : A++ + } + for (r = h.charCodeAt(0), i = 0; i < 8; i++) { + f = (f << 1) | (1 & r) + A == e - 1 ? ((A = 0), d.push(s(f)), (f = 0)) : A++ + r >>= 1 + } + } else { + for (r = 1, i = 0; i < c; i++) { + f = (f << 1) | r + A == e - 1 ? ((A = 0), d.push(s(f)), (f = 0)) : A++ + r = 0 + } + for (r = h.charCodeAt(0), i = 0; i < 16; i++) { + f = (f << 1) | (1 & r) + A == e - 1 ? ((A = 0), d.push(s(f)), (f = 0)) : A++ + r >>= 1 + } + } + 0 == --p && ((p = Math.pow(2, c)), c++) + delete u[h] + } else { + for (r = a[h], i = 0; i < c; i++) { + f = (f << 1) | (1 & r) + A == e - 1 ? ((A = 0), d.push(s(f)), (f = 0)) : A++ + r >>= 1 + } + } + 0 == --p && ((p = Math.pow(2, c)), c++) + } + for (r = 2, i = 0; i < c; i++) { + f = (f << 1) | (1 & r) + A == e - 1 ? ((A = 0), d.push(s(f)), (f = 0)) : A++ + r >>= 1 + } + for (;;) { + if (((f <<= 1), A == e - 1)) { + d.push(s(f)) + break + } + A++ + } + return d.join('') + }, + decompress: function (e) { + return null == e + ? '' + : '' == e + ? null + : o._decompress(e.length, 32768, function (t) { + return e.charCodeAt(t) + }) + }, + _decompress: function (t, e, s) { + for ( + var i, + r, + n, + o, + a, + u, + h = [], + p = 4, + l = 4, + c = 3, + d = '', + f = [], + A = { + val: s(0), + position: e, + index: 1, + }, + y = 0; + y < 3; + y += 1 + ) { + h[y] = y + } + for (r = 0, o = Math.pow(2, 2), a = 1; a != o; ) { + n = A.val & A.position + A.position >>= 1 + 0 == A.position && ((A.position = e), (A.val = s(A.index++))) + r |= (0 < n ? 1 : 0) * a + a <<= 1 + } + switch (r) { + case 0: + for (r = 0, o = Math.pow(2, 8), a = 1; a != o; ) { + n = A.val & A.position + A.position >>= 1 + 0 == A.position && ((A.position = e), (A.val = s(A.index++))) + r |= (0 < n ? 1 : 0) * a + a <<= 1 + } + u = b(r) + break + case 1: + for (r = 0, o = Math.pow(2, 16), a = 1; a != o; ) { + n = A.val & A.position + A.position >>= 1 + 0 == A.position && ((A.position = e), (A.val = s(A.index++))) + r |= (0 < n ? 1 : 0) * a + a <<= 1 + } + u = b(r) + break + case 2: + return '' + } + for (i = h[3] = u, f.push(u); ; ) { + if (A.index > t) { + return '' + } + for (r = 0, o = Math.pow(2, c), a = 1; a != o; ) { + n = A.val & A.position + A.position >>= 1 + 0 == A.position && ((A.position = e), (A.val = s(A.index++))) + r |= (0 < n ? 1 : 0) * a + a <<= 1 + } + switch ((u = r)) { + case 0: + for (r = 0, o = Math.pow(2, 8), a = 1; a != o; ) { + n = A.val & A.position + A.position >>= 1 + 0 == A.position && ((A.position = e), (A.val = s(A.index++))) + r |= (0 < n ? 1 : 0) * a + a <<= 1 + } + ;(h[l++] = b(r)), (u = l - 1), p-- + break + case 1: + for (r = 0, o = Math.pow(2, 16), a = 1; a != o; ) { + n = A.val & A.position + A.position >>= 1 + 0 == A.position && ((A.position = e), (A.val = s(A.index++))) + r |= (0 < n ? 1 : 0) * a + a <<= 1 + } + ;(h[l++] = b(r)), (u = l - 1), p-- + break + case 2: + return f.join('') + } + if ((0 == p && ((p = Math.pow(2, c)), c++), h[u])) { + d = h[u] + } else { + if (u !== l) { + return null + } + d = i + i.charAt(0) + } + f.push(d) + h[l++] = i + d.charAt(0) + i = d + 0 == --p && ((p = Math.pow(2, c)), c++) + } + }, + } + return o + })() + 'function' == typeof define && define.amd + ? define(function () { + return LZString + }) + : 'undefined' != typeof module && + null != module && + (module.exports = LZString) + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/js/rubbable.js b/resources/blox.askplays.com/blox.askplays.com/js/rubbable.js new file mode 100644 index 0000000..6c26c34 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/js/rubbable.js @@ -0,0 +1,67 @@ +!(function (e, t) { + 'function' == typeof define && define.amd + ? define(['./libgif'], t) + : 'object' == typeof exports + ? (module.exports = t(require('./libgif'))) + : (e.RubbableGif = t(e.SuperGif)) + })(this, function (e) { + return function (n) { + function t() { + function o(e) { + return n.vp_l ? e - n.vp_l : e + } + var e = l.get_canvas(), + a = n.vp_w || e.width, + u = Math.floor(a / (2 * l.get_length())), + i = 0, + r = 0, + t = 'ontouchend' in document, + c = 0 + e.addEventListener(t ? 'touchstart' : 'mousedown', function (e) { + e.preventDefault() + l.get_auto_play() && l.pause() + var t = e.touches && 0 < e.touches.length ? e.touches[0] : e, + n = 0 < t.layerX ? o(t.layerX) : a / 2 + l.move_to(Math.floor((n / a) * (l.get_length() - 1))) + r = e.timeStamp + i = o(t.pageX) + }) + e.addEventListener(t ? 'touchend' : 'mouseup', function (e) { + i = r = 0 + l.get_auto_play() && l.play() + }) + e.addEventListener(t ? 'touchmove' : 'mousemove', function (e) { + e.preventDefault() + var t = e.touches && 0 < e.touches.length ? e.touches[0] : e, + n = o(t.pageX) + currentDistance = 0 === i ? 0 : Math.abs(n - i) + currentTime = e.timeStamp + 0 !== r && + currentDistance > u && + (n < i && 0 < l.get_current_frame() && l.move_relative(-1), + i < n && + l.get_current_frame() < l.get_length() - 1 && + l.move_relative(1), + (r = e.timeStamp), + (i = o(t.pageX))) + e.timeStamp + c++ + document.getElementById('tickles' + ((c % 5) + 1)) && + document.getElementById('tickles' + ((c % 5) + 1)).play() + e.timeStamp + }) + } + var l = new e(n) + return ( + (l.orig_load = l.load), + (l.load = function (e) { + l.orig_load(function () { + e && e() + t() + }) + }), + l + ) + } + }) + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/manifest.json b/resources/blox.askplays.com/blox.askplays.com/manifest.json new file mode 100644 index 0000000..26ea22c --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/manifest.json @@ -0,0 +1 @@ +{"short_name":"Blox","name":"Blox","icons":[{"src":"/favicon.ico","sizes":"48x48","type":"image/x-icon"},{"src":"/res/PWA/icons-192.png","type":"image/png","sizes":"192x192"},{"src":"/res/PWA/maskable-240.png","type":"image/png","sizes":"240x240","purpose":"maskable"},{"src":"/res/PWA/icons-512.png","type":"image/png","sizes":"512x512"}],"start_url":"/?source=pwa","id":"/?source=pwa","background_color":"#333333","display":"standalone","scope":"../","theme_color":"#9900ff","shortcuts":[{"name":"Play Singleplayer","short_name":"Singleplayer","description":"Beat your previous score!","url":"/?source=pwa&mode=0","icons":[{"src":"/res/PWA/icons-192.png","sizes":"192x192"}]},{"name":"Practice Openers","short_name":"Opener","description":"Improve your proficiency of 100+ openers","url":"/?source=pwa&opener=","icons":[{"src":"/res/PWA/icons-192.png","sizes":"192x192"}]}],"description":"Multiplayer block stacker.","screenshots":[{"src":"/res/PWA/screenshot1.png","type":"image/png","sizes":"1332x821"}]} \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/Discord-Logo-White.svg b/resources/blox.askplays.com/blox.askplays.com/res/Discord-Logo-White.svg new file mode 100644 index 0000000..f905d23 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/Discord-Logo-White.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/arrow_back_ios-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/arrow_back_ios-icon.svg new file mode 100644 index 0000000..40c768f --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/arrow_back_ios-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/arrow_forward_ios-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/arrow_forward_ios-icon.svg new file mode 100644 index 0000000..6bd4748 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/arrow_forward_ios-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/chat-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/chat-icon.svg new file mode 100644 index 0000000..b60fc1c --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/chat-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/file_download-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/file_download-icon.svg new file mode 100644 index 0000000..28e8f93 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/file_download-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/group-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/group-icon.svg new file mode 100644 index 0000000..af8740d --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/group-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/insert_emoticon-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/insert_emoticon-icon.svg new file mode 100644 index 0000000..57fcbd4 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/insert_emoticon-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/launch-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/launch-icon.svg new file mode 100644 index 0000000..433c975 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/launch-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/loop-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/loop-icon.svg new file mode 100644 index 0000000..6379007 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/loop-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/mirror-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/mirror-icon.svg new file mode 100644 index 0000000..451a63f --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/mirror-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/play_arrow-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/play_arrow-icon.svg new file mode 100644 index 0000000..249d677 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/play_arrow-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/rotate_left-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/rotate_left-icon.svg new file mode 100644 index 0000000..779a585 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/rotate_left-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/rotate_right-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/rotate_right-icon.svg new file mode 100644 index 0000000..96ea193 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/rotate_right-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/search-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/search-icon.svg new file mode 100644 index 0000000..a9511fb --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/search-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/settings-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/settings-icon.svg new file mode 100644 index 0000000..1dbcba0 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/settings-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/south-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/south-icon.svg new file mode 100644 index 0000000..9a78dec --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/south-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/swap_horiz-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/swap_horiz-icon.svg new file mode 100644 index 0000000..6a72e05 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/swap_horiz-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/res/icons/visibility_off-icon.svg b/resources/blox.askplays.com/blox.askplays.com/res/icons/visibility_off-icon.svg new file mode 100644 index 0000000..74f33ec --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/res/icons/visibility_off-icon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/service-worker.js b/resources/blox.askplays.com/blox.askplays.com/service-worker.js new file mode 100644 index 0000000..e318d63 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/service-worker.js @@ -0,0 +1 @@ +const CACHE_NAME="static-v1",OFFLINE_URL="/index.html";self.addEventListener("install",function(e){console.log("[ServiceWorker] Install"),e.waitUntil((async()=>{const e=await caches.open(CACHE_NAME);await e.addAll(["/","/index.html","/style.css","/js/layout.js","/js/basic.js","/js/AskGame.js","/js/script.js","/js/block.js","/js/piece.js","/js/opener.js","/js/computer.js","/js/replay.js","/js/computerWorker.js","/js/pcfinder.js","/js/account.js","/js/webgl.js","/js/rubbable.js","/js/libgif.js","/?source=pwa","/?mode=0","/?opener=","/map-maker","/js/map-maker.js","/js/lz-string.js","/js/base64-string.js","/replay/index.html","/replay/sketch.js","/profile","/stats","/times","/about/","/about/about.css","/about/patchnotes/","/about/patchnotes/patchnotes.css","/about/api/","/account/","/guide/","/res/audio/sonar0.mp3","/res/audio/sonar1.mp3","/res/audio/sonar2.mp3","/res/audio/sonar3.mp3","/res/audio/sonar4.mp3","/res/audio/sonar5.mp3","/res/audio/sonar6.mp3","/res/audio/sonar7.mp3","/res/audio/sonar8.mp3","/Roboto-Regular.ttf","/res/PWA/icons-192.png","/res/PWA/screenshot1.png","/res/icons/settings-icon.svg","/res/icons/chat-icon.svg","/res/icons/insert_emoticon-icon.svg","/res/icons/group-icon.svg","/res/icons/star-icon.svg"])})()),self.skipWaiting()}),self.addEventListener("activate",e=>{console.log("[ServiceWorker] Activate"),e.waitUntil((async()=>{"navigationPreload"in self.registration&&await self.registration.navigationPreload.enable()})()),self.clients.claim()}),self.addEventListener("fetch",function(n){n.request.url.startsWith(self.location.origin)&&n.respondWith((async()=>{try{var e=await n.preloadResponse;return e?e:caches.open(CACHE_NAME).then(function(s){return fetch(n.request).then(function(e){if(206!=e.status&&"POST"!=n.request.method&&s.put(n.request,e.clone()).catch(console.error),e.ok)return e;{let e=n.request;return e.url.match(/\?/)&&(e=n.request.url.replace(/\?.*/,"")),s.match(e).then(function(e){return e})}}).catch(function(e){let t=n.request;return t.url.match(/\?/)&&(t=n.request.url.replace(/\?.*/,"")),s.match(t).then(function(e){return e})})})}catch(e){console.log("[Service Worker] Fetch failed; returning offline page instead.",e)}return caches.open(CACHE_NAME).then(function(t){let e=n.request;return e.url.match(/\?/)&&(e=n.request.url.replace(/\?.*/,"")),t.match(e).then(function(e){return e||fetch(n.request).then(function(e){try{t.put(n.request,e.clone())}catch(e){console.log("[Service Worker] Cache Put failed; ",e)}return e})})})})())}),self.addEventListener("activate",function(e){e.waitUntil(caches.keys().then(function(e){return Promise.all(e.filter(function(e){return e!=CACHE_NAME}).map(function(e){return caches.delete(e)}))}))}); \ No newline at end of file diff --git a/resources/blox.askplays.com/blox.askplays.com/style.css b/resources/blox.askplays.com/blox.askplays.com/style.css new file mode 100644 index 0000000..ea4ddd6 --- /dev/null +++ b/resources/blox.askplays.com/blox.askplays.com/style.css @@ -0,0 +1,1023 @@ + +html { + --scrollbarBG: rgba(0,0,0,0); + --thumbBG: #ffffff; + --bg: #333; + --bg2: #444; + --txt: #fff; + --txt2: #bbb; + --border: #fff; + --accent: #90f; + --accentActive: #95f; + --warning: #fc5; + + --svg-filter: invert(100%); + --roundness: 8px; + --btnRoundness: 4px; +} + +html.light { + --scrollbarBG: rgba(255,255,255,0); + --thumbBG: #999; + --bg: #fff; + --bg2: #eee; + --txt: #000; + --txt2: #333; + --border: #000; + --accent: #90f; + --accentActive: #95f; +} + +html.night { + --scrollbarBG: rgba(0,0,0,0); + --thumbBG: #ffffff; + --bg: #000; + --bg2: #111; + --txt: #fff; + --txt2: #bbb; + --border: #fff; + --accent: #90f; + --accentActive: #95f; +} + +html {background-color: var(--bg); height: 100%;} +body {padding: 0; margin: 0; width: 100%; height: 100%; background-color: var(--bg); color: var(--txt); font-family: Roboto, Tahoma, Verdana, sans-serif; font-size: 14px;} + +@font-face { + font-family: 'Roboto'; + src: url('Roboto-Regular.woff2') format('woff2'), + url('Roboto-Regular.woff') format('woff'); + font-display: swap; +} + +@font-face { + font-family: "Twemoji Country Flags"; + unicode-range: U+1F1E6-1F1FF, U+1F3F4, U+E0062-E0063, U+E0065, U+E0067, + U+E006C, U+E006E, U+E0073-E0074, U+E0077, U+E007F; + src: url('https://cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1/dist/TwemojiCountryFlags.woff2') format('woff2'); + font-display: swap; +} + +a { + cursor: pointer; +} + +#leaderboard-content a, .score-table a { + color: var(--accentActive); +} + +#leaderboard-content { + margin:20px; + overflow-y: scroll; +} + +.group { + padding: 8px; +} + +.group-header { + font-size: 16px; + font-weight: bold; +} + +.group > .group-header, .group-body { + margin: 8px; +} + +.group-body button { + margin-top: 2px; +} + +a.skip-main { + left:-999px; + position:absolute; + top:auto; + width:1px; + height:1px; + overflow:hidden; + z-index:-999; +} + +a.skip-main:focus, a.skip-main:active { + left: 5px; + top: 5px; + padding: 5px; + text-align: center; + font-size: 20px; + z-index: 999; + border-radius: 15px; + border: 4px solid #fff; + display: block; + width: auto; + height: auto; + overflow: auto; + background-color: var(--bg); +} + +.title { + color: var(--txt); + font-size: 32px; + font-weight: 400; + padding: 20px; +} + +.error-title { + color: var(--txt); + font-size: 96px; + font-weight: 400; + color: #f55; +} + +img.pixelated { + image-rendering: pixelated; /* Chrome */ + -ms-interpolation-mode: nearest-neighbor; /* IE8+ */ +} + +canvas { + padding: 20px; +} + +#close-chat, .close, #close-leaderboard, .close-window, #help-button { + float: right; + font-size: inherit; + border: none; + color: inherit; + background-color: inherit; + padding: 0px; + cursor: pointer; +} + +#close-leaderboard { + position: absolute; + right:0; + font-size: 32px; + padding: 20px; +} + +.close-window { + font-size: 32px; +} + +#account #close-login { + font-size: 32px; + padding: 0px; +} + +.icon { + font-size: 17px; + margin-right: 2px; + vertical-align: middle; + font-family: "Twemoji Country Flags"; +} + +.icon img { + width: 17px; + height: 17px; +} + +.search-icon { + line-height: 0px; + font-size: 17px; + width: 17px; + height: 17px; + margin: 1px 16px 0; + vertical-align: middle; +} + +.medium-icon { + max-height: 24px; + max-width: 24px; + margin-right: 2px; + vertical-align: middle; +} + +.svg-icon { + max-height: 24px; + max-width: 24px; + display: block; +} + +.icon-button { + border: 1px solid var(--border); + background-color: var(--bg); + color: var(--txt); + cursor: pointer; + padding: 4px; + opacity: 0.7; + user-select: none; +} + +.icon-button.toggled { + border: 2px solid var(--border); + padding: 3px; + opacity: 1; +} + +.icon-row { + display: flex; + flex-direction: row; + gap: 4px; +} + +.tabheader { + width: 100%; + padding: 0px 20px 4px 20px; + box-sizing: border-box; +} + +.tabheader button { + border: var(--bg) solid 2px; + background-color: var(--bg); + color: var(--txt); + border-radius: var(--roundness); + padding: 10px; + cursor: pointer; + margin-top: 4px; + box-shadow: 0px 2px 4px #0008; + transition: all 0.25s; +} + +.tabheader button:hover { + border: var(--border) solid 2px; + background-color: var(--bg2); +} + +.tabcontent { + padding: 20px; + padding-top: 8px; + overflow: auto; +} + +#header { + display: flex; + flex-direction: row; + justify-content:center; + background-color: var(--accent); + z-index: 3; + position: relative; +} + +#header a { + background-color: var(--accent); + font-size: 20px; + padding: 20px; + transition: all 0.25s linear; + position: relative; +} + +#header > div > a { + display: block !important; + position: relative !important; +} + +#header > div > a::after, #header > a::after { + content: ""; + left: 0px; + width: 100%; + position: absolute; + bottom: 0px; + border-bottom: solid 0px #fff; + transition: all 0.15s ease-out; + z-index: 4; +} + +#header > div > a:hover::after, #header > a:hover::after, #header > div > a:focus::after, #header > a:focus::after { + content: ""; + left: 0px; + width: 100%; + position: absolute; + bottom: 0px; + border-bottom: solid 4px #fff; +} + +#header a:hover, #header a:focus { + background-color: #b5f; +} + +#header .top { + background-color: var(--accent); + font-size: 20px; + padding: 20px; + display: block !important; + position: relative !important; + top: auto; +} + +#header .top:hover, #header .top:hover > a { + background-color: #b5f; +} + +#header .top > a { + background-color: var(--accent); + font-size: 20px; + padding: 0px; + display: block !important; +} + +#header > div { + position: relative; + z-index: 3; +} + +#header div > div > a { + background-color: var(--accent); + display: none; +} + +#header div > div:hover > a { + display: block; +} + +#header a:hover { + background-color: #b5f; +} + +#header > div > div { + background-color: #111; + position: absolute; + display: block; + top: 100%; + z-index: 3; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); +} + +#header > div > div > a { + background-color: #111; + word-break:keep-all; +} + +#header > div:hover > div > a, #header > div:focus-within > div > a { + display: block; +} + +a { + color: var(--txt); + text-decoration: none; +} + +#other-button { + display: none; +} + +.hidden { + display: none !important; +} + +.score-table { + margin: 8px 0px; + background-color: var(--bg); + border-radius: 4px; + color: var(--txt); + width: 100%; + overflow-x: auto; + overflow-y: scroll; +} + +.popup-wrapper { + position: fixed; + top: 0; + left: 0; + right: 0; + height: 100%; + background-color: rgba(0,0,0,0.75); + display: grid; + justify-content: center; + align-items: start; + z-index: 3; + padding: 5rem 0; +} + +.popup-wrapper > * { + width: calc(100vw - 100px); + max-width: 700px; + background: var(--bg2); + border-radius: var(--roundness); + display: flex; + max-height: calc(100vh - 10rem); + flex-direction: column; +} + +.scroll { + overflow-y: scroll; +} + +.noscroll { + overflow: hidden; +} + +#top-row { + position: sticky; + top: 0; +} + +#player-card { + width: 250px; + min-height: 90px; + position: absolute; + border: var(--border) solid 1px; + border-radius: var(--roundness); + background: var(--bg2); + padding: 8px; + z-index: 3; + pointer-events: none; + box-shadow: 0px 2px 4px #0008; +} + +#player-name { + max-width: 75px; + overflow: hidden; + display: block; +} + +#player-stats { + width: 155px; + display: grid; + grid-template-columns: auto auto auto; + grid-gap: 8px; + position: absolute; + top: 8px; + right: 8px; +} + +#player-positions { + margin-top: 4px; + display: grid; + grid-template-columns: auto auto; +} + +#player-loading { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +#player-loading:after { + content:""; + border-radius: 50%; + border: 4px solid #fff; + border-color: #fff transparent #fff transparent; + width: 32px; + height: 32px; + position: absolute; + top: calc(50% - 16px); + left: calc(50% - 16px); + animation: lds-dual-ring 1.2s linear infinite; +} + +#achievement-card { + width: 250px; + /* height: 90px; */ + position: absolute; + border: var(--border) solid 1px; + border-radius: var(--roundness); + background: var(--bg2); + padding: 8px; + z-index: 3; + pointer-events: none; + box-shadow: 0px 2px 4px #0008; +} + +#achievement-icon { + width: 64px; + height: 64px; +} + +#achievement-title { + font-size: 20px; +} + +#achievement-description { + margin-top: 4px; +} + +.loading { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +.loading:after { + content:""; + border-radius: 50%; + border: 4px solid #fff; + border-color: #fff transparent #fff transparent; + width: 32px; + height: 32px; + position: absolute; + top: calc(50% - 12vh); + left: calc(50% - 12vh); + animation: lds-dual-ring 1.2s linear infinite; +} + +#leaderboard-loading:after { + width: 24vh; + height: 24vh; + border: 2vh solid #fff; + border-color: #fff transparent #fff transparent; +} + +h1 { + font-size: 36px; +} + +h2 { + font-size: 30px; +} + +h3 { + font-size: 24px; +} + +h1, h2, h3 { + margin-top: 22px; + margin-bottom: 11px; + font-weight: 400; +} + +td { + padding: 8px; + /*border: var(--border) solid 2px;*/ + /*background-color: var(--bg);*/ + font-weight: normal; + text-align: left; +} + +th { + color: var(--accentActive); + padding: 8px; + /*border: var(--border) solid 2px;*/ + background-color: var(--bg); + text-align: left; +} + +tr:nth-child(2n) {background: var(--bg2)} +/*td:nth-child(2n) {background: var(--bg2)}*/ + +.milies { + font-size: 12px; +} + +input[type=number].effect-settings { + width: 50px; +} + +input.searchbar { + padding: 16px 16px 16px 0; + border: none; + outline: none; + font-size: 16px; + width: 100%; + border-radius: var(--roundness); + background: var(--bg2); + color: var(--txt); + box-sizing: border-box; +} + +div.expand-content { + margin: 0px; + display: none; +} + +div.expand-content span.group-header { + margin-bottom: 4px; + display: block; +} + +div.effect-set { + margin: 8px 0px; + margin-left: 16px; + display: none; +} + +button.expand-effect { + background: none; + border: none; + color: var(--txt); + cursor: pointer; +} + +button.expand-button.toggled { + border: var(--border) solid 2px; + background-color: var(--bg2); + color: var(--txt); +} + +select { + border-radius: var(--btnRoundness); +} + +input { + border-radius: 2px; + border: none; +} + +input:disabled { + background-color: white; + opacity: 0.7; +} + +.expand-content input, .expand-content select { + margin-top: 2px; +} + +.rotated { + -webkit-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -o-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} + +.warn { + color: var(--warning); + border: var(--warning) solid 1px; + background-color: var(--bg); +} + +.switch { + cursor: pointer; + padding-top: 1px; + display: block; + margin-top: 1px; +} + +.switch > span { + position: relative; + display: inline-block; + width: 32px; + height: 18px; + top: -1px; +} + +.switch > span input { + opacity: 0; + width: 0; + height: 0; +} + +.slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + -webkit-transition: .4s; + transition: .4s; + border-radius: 34px; +} + +.slider:before { + position: absolute; + content: ""; + height: 14px; + width: 14px; + left: 2px; + bottom: 2px; + background-color: white; + -webkit-transition: .4s; + transition: .4s; + border-radius: 50%; +} + +input:checked + .slider { + background-color: #2196F3; +} + +input:focus + .slider { + /* outline-offset: 3px; */ + outline: -webkit-focus-ring-color auto 1px; +} + +input:checked + .slider:before { + -webkit-transform: translateX(14px); + -ms-transform: translateX(14px); + transform: translateX(14px); +} + +.input-columns { + display: grid; + grid-template-columns: auto 1fr; + flex-direction: column; + justify-content: flex-start; + gap: 2px; +} + +.input-columns > span { + margin-right: 8px; +} + +.input-columns input[type=checkbox] { + margin-left: 0px; +} + +.container { + display: none; +} + +#aside .article { + margin: 0px 8px; + margin-bottom: 8px; +} + +.article { + padding: 16px; + margin-bottom: 4px; + border-radius: 4px; + background-color: var(--bg2); + box-shadow: 0px 2px 4px #0008; +} + +.article h3 { + margin-top: 0px; + margin-bottom: 5px; +} + +.content { + max-width: 1080px; + margin: auto; + /* padding: 0px 10px; */ +} + +.content > h1 { + padding-left: 7px; +} + +.center-content { + display:flex; + align-items: center; + justify-content: center; + height: 100vh; + flex-direction: column; + text-align: center; + font-size: clamp(14px, 4vw, 21px); +} + +.center-content > h1 { + font-size: clamp(18px, 6vw, 27px); +} + +.center-content > .error-title { + color: var(--txt); + font-size: clamp(32px, 10vw, 64px); + font-weight: 400; + color: #f55; +} + +.link { + cursor: pointer; + color: var(--accentActive); +} + +.link:hover { + text-decoration: underline; +} + +.address { + padding: 0px 7px; + padding-top: 15px; + margin-bottom: -20px; + color: var(--txt2); +} + +.address a { + cursor: pointer; + color: var(--accentActive); +} + +.tiles { + /* display: grid; + grid-template-columns: repeat(auto-fit, calc( 100% / 3 - 8px / 3));*/ + display: flex; + flex-wrap: wrap; + grid-gap: 4px; + margin: 4px 0px; + text-align: center; +} + +.tile { + margin: 0; + flex: 1; +} + +.tile * { + background-color: var(--bg2); + border-radius: 4px; + padding: 16px; + box-shadow: 0px 2px 4px #0008; + cursor: pointer; + transition: 0.3s background-color, 0.3s color; + font-size: 24px; + color: var(--txt2); + display: block; +} + +.tile *:hover, .tile *:focus-within { + background-color: var(--bg); + color: var(--txt); +} + +.tile *:hover, .tile *:focus-within { + color: var(--txt); +} + +.player-join { + color: #5f5; + width: 9px; + display: inline-block; + text-align: center; +} + +.player-leave { + color: #f55; + width: 9px; + display: inline-block; + text-align: center; +} + +*::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +*::-webkit-scrollbar-thumb { + background: var(--thumbBG); + transition: .25s; + border-radius: 2px!important; +} + +*::-webkit-scrollbar-track { + background: 0 0; +} + +@keyframes bar-fill { + 0% { margin-left: 0px; } + 100% { width: 100% } +} + +@keyframes lds-dual-ring { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +@media only screen and (max-width: 1080px) { + .content { + max-width: 720px; + margin: auto; + } +} + +@media only screen and (max-height: 550px) { + #main { + height:324px; + } + #cv { + width:164px; + height:324px; + } + #canvas { + width:160px; + height:320px; + } + #cog { + font-size: 60px; + } + #cog img { + width: 60px; + height: 60px; + } + #hold-canvas, #queue-canvas { + margin-top: 2px; + width:64px; + height:64px; + } + #queue-canvas { + margin-left: 16px; + } + .center-bars > * { + font-size: 32px; + } +} + +@media only screen and (min-height: 550px) { + #main { + height:484px; + } + #cv { + width:244px; + height:484px; + } + #canvas { + width:240px; + height:480px; + } + #cog { + font-size: 90px; + } + #cog img { + width: 90px; + height: 90px; + } + #hold-canvas, #queue-canvas { + width:96px; + height:96px; + } + #queue-canvas { + margin-left: 24px; + } + .center-bars > * { + font-size: 48px; + } +} + +@media only screen and (min-height: 700px) { + #main { + height:644px; + } + #cv { + width:324px; + height:644px; + } + #canvas { + width:320px; + height:640px; + } + #cog { + font-size: 120px; + } + #cog img { + width: 120px; + height: 120px; + } + #hold-canvas, #queue-canvas { + width:128px; + height:128px; + } + #queue-canvas { + margin-left: 32px; + } + .center-bars > * { + font-size: 64px; + } +} + +@media only screen and (max-width: 499px) { + #main { + height:324px; + justify-content: center; + } + #cv { + width:164px; + height:324px; + } + #canvas { + width:160px; + height:320px; + } + #cog { + font-size: 60px; + } + #cog img { + width: 60px; + height: 60px; + } + #hold-canvas, #queue-canvas { + margin-top: 2px; + width:64px; + height:64px; + } + #queue-canvas { + margin-left: 16px; + } + #players, #modes { + margin: 0 8px; + } + #players { + display: none; + } + #mobile-buttons { + display: block; + } + #other-button { + display: block; + } + #header > .collapse { + display: none; + } + #container { + display: grid; + } + .center-bars > * { + font-size: 32px; + } +} \ No newline at end of file diff --git a/resources/blox.askplays.com/cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1/dist/TwemojiCountryFlags.woff2 b/resources/blox.askplays.com/cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@0.1/dist/TwemojiCountryFlags.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b9d6ea84b392bd43479c556d264fff6e5e57940e GIT binary patch literal 78292 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 K1)JR*5&!^7A{=4> literal 0 HcmV?d00001 diff --git a/resources/blox.askplays.com/www.googletagmanager.com/gtag/js.html b/resources/blox.askplays.com/www.googletagmanager.com/gtag/js.html new file mode 100644 index 0000000..6fdf396 --- /dev/null +++ b/resources/blox.askplays.com/www.googletagmanager.com/gtag/js.html @@ -0,0 +1,110 @@ +/******************************************************************************* + + uBlock Origin - a browser extension to block requests. + Copyright (C) 2019-present Raymond Hill + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see {http://www.gnu.org/licenses/}. + + Home: https://github.com/gorhill/uBlock +*/ + +(function() { + 'use strict'; + // https://developers.google.com/analytics/devguides/collection/analyticsjs/ + const noopfn = function() { + }; + // + const Tracker = function() { + }; + const p = Tracker.prototype; + p.get = noopfn; + p.set = noopfn; + p.send = noopfn; + // + const w = window; + const gaName = w.GoogleAnalyticsObject || 'ga'; + const gaQueue = w[gaName]; + // https://github.com/uBlockOrigin/uAssets/pull/4115 + const ga = function() { + const len = arguments.length; + if ( len === 0 ) { return; } + const args = Array.from(arguments); + let fn; + let a = args[len-1]; + if ( a instanceof Object && a.hitCallback instanceof Function ) { + fn = a.hitCallback; + } else if ( a instanceof Function ) { + fn = ( ) => { a(ga.create()); }; + } else { + const pos = args.indexOf('hitCallback'); + if ( pos !== -1 && args[pos+1] instanceof Function ) { + fn = args[pos+1]; + } + } + if ( fn instanceof Function === false ) { return; } + try { + fn(); + } catch (ex) { + } + }; + ga.create = function() { + return new Tracker(); + }; + ga.getByName = function() { + return new Tracker(); + }; + ga.getAll = function() { + return [new Tracker()]; + }; + ga.remove = noopfn; + // https://github.com/uBlockOrigin/uAssets/issues/2107 + ga.loaded = true; + w[gaName] = ga; + // https://github.com/gorhill/uBlock/issues/3075 + const dl = w.dataLayer; + if ( dl instanceof Object ) { + if ( dl.hide instanceof Object && typeof dl.hide.end === 'function' ) { + dl.hide.end(); + dl.hide.end = ()=>{}; + } + if ( typeof dl.push === 'function' ) { + const doCallback = function(item) { + if ( item instanceof Object === false ) { return; } + if ( typeof item.eventCallback !== 'function' ) { return; } + setTimeout(item.eventCallback, 1); + item.eventCallback = ()=>{}; + }; + dl.push = new Proxy(dl.push, { + apply: function(target, thisArg, args) { + doCallback(args[0]); + return Reflect.apply(target, thisArg, args); + } + }); + if ( Array.isArray(dl) ) { + const q = dl.slice(); + for ( const item of q ) { + doCallback(item); + } + } + } + } + // empty ga queue + if ( gaQueue instanceof Function && Array.isArray(gaQueue.q) ) { + const q = gaQueue.q.slice(); + gaQueue.q.length = 0; + for ( const entry of q ) { + ga(...entry); + } + } +})(); diff --git a/resources/ddrkirby.com.zip b/resources/ddrkirby.com.zip new file mode 100644 index 0000000000000000000000000000000000000000..8edc3ce80e07a5f9973b756d067fc262ba3ff317 GIT binary patch literal 111039 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®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­=PYG$S;!{T2pY1Ev_#;TGb*8Oi7*S=o`|-|q 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 z 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μ5s5q1pS6JwPDl5EUIkl| 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 literal 0 HcmV?d00001 diff --git a/resources/ddrkirby.com/ddrkirby.com/4-Wide Trainer.html b/resources/ddrkirby.com/ddrkirby.com/4-Wide Trainer.html new file mode 100644 index 0000000..6046126 --- /dev/null +++ b/resources/ddrkirby.com/ddrkirby.com/4-Wide Trainer.html @@ -0,0 +1,49 @@ + + + + + + 4-Wide Trainer + + + + + + + \ No newline at end of file diff --git a/resources/ddrkirby.com/ddrkirby.com/4-Wide Trainer_files/bundle.js.download b/resources/ddrkirby.com/ddrkirby.com/4-Wide Trainer_files/bundle.js.download new file mode 100644 index 0000000..a17eed1 --- /dev/null +++ b/resources/ddrkirby.com/ddrkirby.com/4-Wide Trainer_files/bundle.js.download @@ -0,0 +1,99 @@ +!function(e){var t=window.webpackHotUpdate;window.webpackHotUpdate=function(e,n){!function(e,t){if(!_[e]||!w[e])return;for(var n in w[e]=!1,t)Object.prototype.hasOwnProperty.call(t,n)&&(m[n]=t[n]);0==--v&&0===g&&T()}(e,n),t&&t(e,n)};var n,r=!0,o="28dad7be60dfc18c3768",i=1e4,a={},l=[],u=[];function c(e){var t=E[e];if(!t)return C;var r=function(r){return t.hot.active?(E[r]?-1===E[r].parents.indexOf(e)&&E[r].parents.push(e):(l=[e],n=r),-1===t.children.indexOf(r)&&t.children.push(r)):(console.warn("[HMR] unexpected require("+r+") from disposed module "+e),l=[]),C(r)},o=function(e){return{configurable:!0,enumerable:!0,get:function(){return C[e]},set:function(t){C[e]=t}}};for(var i in C)Object.prototype.hasOwnProperty.call(C,i)&&"e"!==i&&"t"!==i&&Object.defineProperty(r,i,o(i));return r.e=function(e){return"ready"===p&&d("prepare"),g++,C.e(e).then(t,function(e){throw t(),e});function t(){g--,"prepare"===p&&(b[e]||S(e),0===g&&0===v&&T())}},r.t=function(e,t){return 1&t&&(e=r(e)),C.t(e,-2&t)},r}function s(e){var t={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:n!==e,active:!0,accept:function(e,n){if(void 0===e)t._selfAccepted=!0;else if("function"==typeof e)t._selfAccepted=e;else if("object"==typeof e)for(var r=0;r=0&&t._disposeHandlers.splice(n,1)},check:k,apply:O,status:function(e){if(!e)return p;f.push(e)},addStatusHandler:function(e){f.push(e)},removeStatusHandler:function(e){var t=f.indexOf(e);t>=0&&f.splice(t,1)},data:a[e]};return n=void 0,t}var f=[],p="idle";function d(e){p=e;for(var t=0;t0;){var o=r.pop(),i=o.id,a=o.chain;if((u=E[i])&&!u.hot._selfAccepted){if(u.hot._selfDeclined)return{type:"self-declined",chain:a,moduleId:i};if(u.hot._main)return{type:"unaccepted",chain:a,moduleId:i};for(var l=0;l ")),k.type){case"self-declined":t.onDeclined&&t.onDeclined(k),t.ignoreDeclined||(S=new Error("Aborted because of self decline: "+k.moduleId+P));break;case"declined":t.onDeclined&&t.onDeclined(k),t.ignoreDeclined||(S=new Error("Aborted because of declined dependency: "+k.moduleId+" in "+k.parentId+P));break;case"unaccepted":t.onUnaccepted&&t.onUnaccepted(k),t.ignoreUnaccepted||(S=new Error("Aborted because "+c+" is not accepted"+P));break;case"accepted":t.onAccepted&&t.onAccepted(k),T=!0;break;case"disposed":t.onDisposed&&t.onDisposed(k),O=!0;break;default:throw new Error("Unexception type "+k.type)}if(S)return d("abort"),Promise.reject(S);if(T)for(c in g[c]=m[c],f(v,k.outdatedModules),k.outdatedDependencies)Object.prototype.hasOwnProperty.call(k.outdatedDependencies,c)&&(h[c]||(h[c]=[]),f(h[c],k.outdatedDependencies[c]));O&&(f(v,[k.moduleId]),g[c]=b)}var A,j=[];for(r=0;r0;)if(c=R.pop(),u=E[c]){var M={},N=u.hot._disposeHandlers;for(i=0;i=0&&z.parents.splice(A,1))}}for(c in h)if(Object.prototype.hasOwnProperty.call(h,c)&&(u=E[c]))for(I=h[c],i=0;i=0&&u.children.splice(A,1);for(c in d("apply"),o=y,g)Object.prototype.hasOwnProperty.call(g,c)&&(e[c]=g[c]);var L=null;for(c in h)if(Object.prototype.hasOwnProperty.call(h,c)&&(u=E[c])){I=h[c];var U=[];for(r=0;r=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}function l(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}var u="An invariant failed, however the error is obfuscated because this is an production build.",c=[];Object.freeze(c);var s={};function f(){return++Te.mobxGuid}function p(e){throw d(!1,e),"X"}function d(e,t){if(!e)throw new Error("[mobx] "+(t||u))}Object.freeze(s);function h(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var m=function(){};function y(e){return null!==e&&"object"==typeof e}function v(e){if(null===e||"object"!=typeof e)return!1;var t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}function g(e,t,n){Object.defineProperty(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function b(e,t){var n="isMobX"+e;return t.prototype[n]=!0,function(e){return y(e)&&!0===e[n]}}function w(e){return e instanceof Map}function _(e){return e instanceof Set}function x(e){var t=new Set;for(var n in e)t.add(n);return Object.getOwnPropertySymbols(e).forEach(function(n){Object.getOwnPropertyDescriptor(e,n).enumerable&&t.add(n)}),Array.from(t)}function k(e){return e&&e.toString?e.toString():new String(e).toString()}function S(e){return null===e?null:"object"==typeof e?""+e:e}var T=Symbol("mobx administration"),O=function(){function e(e){void 0===e&&(e="Atom@"+f()),this.name=e,this.isPendingUnobservation=!1,this.isBeingObserved=!1,this.observers=new Set,this.diffValue=0,this.lastAccessedBy=0,this.lowestObserverState=ae.NOT_TRACKING}return e.prototype.onBecomeObserved=function(){this.onBecomeObservedListeners&&this.onBecomeObservedListeners.forEach(function(e){return e()})},e.prototype.onBecomeUnobserved=function(){this.onBecomeUnobservedListeners&&this.onBecomeUnobservedListeners.forEach(function(e){return e()})},e.prototype.reportObserved=function(){return De(this)},e.prototype.reportChanged=function(){Ae(),function(e){if(e.lowestObserverState===ae.STALE)return;e.lowestObserverState=ae.STALE,e.observers.forEach(function(t){t.dependenciesState===ae.UP_TO_DATE&&(t.isTracing!==le.NONE&&Ie(t,e),t.onBecomeStale()),t.dependenciesState=ae.STALE})}(this),je()},e.prototype.toString=function(){return this.name},e}(),E=b("Atom",O);function C(e,t,n){void 0===t&&(t=m),void 0===n&&(n=m);var r,o=new O(e);return t!==m&&Ze("onBecomeObserved",o,t,r),n!==m&&Je(o,n),o}var P={identity:function(e,t){return e===t},structural:function(e,t){return tn(e,t)},default:function(e,t){return Object.is(e,t)}},A=Symbol("mobx did run lazy initializers"),j=Symbol("mobx pending decorators"),D={},I={};function R(e,t){var n=t?D:I;return n[e]||(n[e]={configurable:!0,enumerable:t,get:function(){return M(this),this[e]},set:function(t){M(this),this[e]=t}})}function M(e){if(!0!==e[A]){var t=e[j];if(t)for(var n in g(e,A,!0),t){var r=t[n];r.propertyCreator(e,r.prop,r.descriptor,r.decoratorTarget,r.decoratorArguments)}}}function N(e,t){return function(){var n,r=function(r,o,a,l){if(!0===l)return t(r,o,a,r,n),null;if(!Object.prototype.hasOwnProperty.call(r,j)){var u=r[j];g(r,j,i({},u))}return r[j][o]={prop:o,propertyCreator:t,descriptor:a,decoratorTarget:r,decoratorArguments:n},R(o,e)};return z(arguments)?(n=c,r.apply(null,arguments)):(n=Array.prototype.slice.call(arguments),r)}}function z(e){return(2===e.length||3===e.length)&&"string"==typeof e[1]||4===e.length&&!0===e[3]}function L(e,t,n){return dt(e)?e:Array.isArray(e)?X.array(e,{name:n}):v(e)?X.object(e,void 0,{name:n}):w(e)?X.map(e,{name:n}):_(e)?X.set(e,{name:n}):e}function U(e){return e}function F(t){d(t);var n=N(!0,function(e,n,r,o,i){var a=r?r.initializer?r.initializer.call(e):r.value:void 0;$t(e).addObservableProp(n,a,t)}),r=(void 0!==e&&e.env,n);return r.enhancer=t,r}var B={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};function V(e){return null==e?B:"string"==typeof e?{name:e,deep:!0,proxy:!0}:e}Object.freeze(B);var H=F(L),W=F(function(e,t,n){return null==e?e:Qt(e)||zt(e)||Bt(e)||Wt(e)?e:Array.isArray(e)?X.array(e,{name:n,deep:!1}):v(e)?X.object(e,void 0,{name:n,deep:!1}):w(e)?X.map(e,{name:n,deep:!1}):_(e)?X.set(e,{name:n,deep:!1}):p(!1)}),q=F(U),$=F(function(e,t,n){return tn(e,t)?t:e});function G(e){return e.defaultDecorator?e.defaultDecorator.enhancer:!1===e.deep?U:L}var K={box:function(e,t){arguments.length>2&&Y("box");var n=V(t);return new ue(e,G(n),n.name,!0,n.equals)},array:function(e,t){arguments.length>2&&Y("array");var n=V(t);return Dt(e,G(n),n.name)},map:function(e,t){arguments.length>2&&Y("map");var n=V(t);return new Ft(e,G(n),n.name)},set:function(e,t){arguments.length>2&&Y("set");var n=V(t);return new Ht(e,G(n),n.name)},object:function(e,t,n){"string"==typeof arguments[1]&&Y("object");var r=V(n);if(!1===r.proxy)return tt({},e,t,r);var o=nt(r),i=tt({},void 0,void 0,r),a=St(i);return rt(a,e,t,o),a},ref:q,shallow:W,deep:H,struct:$},X=function(e,t,n){if("string"==typeof arguments[1])return H.apply(null,arguments);if(dt(e))return e;var r=v(e)?X.object(e,t,n):Array.isArray(e)?X.array(e,t):w(e)?X.map(e,t):_(e)?X.set(e,t):e;if(r!==e)return r;p(!1)};function Y(e){p("Expected one or two arguments to observable."+e+". Did you accidentally try to use observable."+e+" as decorator?")}Object.keys(K).forEach(function(e){return X[e]=K[e]});var Q=N(!1,function(e,t,n,r,o){var a=n.get,l=n.set,u=o[0]||{};$t(e).addComputedProp(e,t,i({get:a,set:l,context:e},u))}),J=Q({equals:P.structural}),Z=function(e,t,n){if("string"==typeof t)return Q.apply(null,arguments);if(null!==e&&"object"==typeof e&&1===arguments.length)return Q.apply(null,arguments);var r="object"==typeof t?t:{};return r.get=e,r.set="function"==typeof t?t:r.set,r.name=r.name||e.name||"",new ce(r)};function ee(e,t,n){var r=function(){return te(e,t,n||this,arguments)};return r.isMobxAction=!0,r}function te(e,t,n,r){var o=function(e,t,n,r){var o=!1,i=0;var a=be();Ae();var l=oe(!0);return{prevDerivation:a,prevAllowStateChanges:l,notifySpy:o,startTime:i}}(),i=!0;try{var a=t.apply(n,r);return i=!1,a}finally{i?(Te.suppressReactionErrors=i,ne(o),Te.suppressReactionErrors=!1):ne(o)}}function ne(e){ie(e.prevAllowStateChanges),je(),we(e.prevDerivation),e.notifySpy}function re(e,t){var n,r=oe(e);try{n=t()}finally{ie(r)}return n}function oe(e){var t=Te.allowStateChanges;return Te.allowStateChanges=e,t}function ie(e){Te.allowStateChanges=e}Z.struct=J;var ae,le,ue=function(e){function t(t,n,r,o,i){void 0===r&&(r="ObservableValue@"+f()),void 0===o&&(o=!0),void 0===i&&(i=P.default);var a=e.call(this,r)||this;return a.enhancer=n,a.name=r,a.equals=i,a.hasUnreportedChange=!1,a.value=n(t,void 0,r),a}return function(e,t){function n(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t.prototype.dehanceValue=function(e){return void 0!==this.dehancer?this.dehancer(e):e},t.prototype.set=function(e){this.value;if((e=this.prepareNewValue(e))!==Te.UNCHANGED){0,this.setNewValue(e)}},t.prototype.prepareNewValue=function(e){if(me(this),Tt(this)){var t=Et(this,{object:this,type:"update",newValue:e});if(!t)return Te.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value,this.name),this.equals(this.value,e)?Te.UNCHANGED:e},t.prototype.setNewValue=function(e){var t=this.value;this.value=e,this.reportChanged(),Ct(this)&&At(this,{type:"update",object:this,newValue:e,oldValue:t})},t.prototype.get=function(){return this.reportObserved(),this.dehanceValue(this.value)},t.prototype.intercept=function(e){return Ot(this,e)},t.prototype.observe=function(e,t){return t&&e({object:this,type:"update",newValue:this.value,oldValue:void 0}),Pt(this,e)},t.prototype.toJSON=function(){return this.get()},t.prototype.toString=function(){return this.name+"["+this.value+"]"},t.prototype.valueOf=function(){return S(this.get())},t.prototype[Symbol.toPrimitive]=function(){return this.valueOf()},t}(O),ce=(b("ObservableValue",ue),function(){function e(e){this.dependenciesState=ae.NOT_TRACKING,this.observing=[],this.newObserving=null,this.isBeingObserved=!1,this.isPendingUnobservation=!1,this.observers=new Set,this.diffValue=0,this.runId=0,this.lastAccessedBy=0,this.lowestObserverState=ae.UP_TO_DATE,this.unboundDepsCount=0,this.__mapid="#"+f(),this.value=new fe(null),this.isComputing=!1,this.isRunningSetter=!1,this.isTracing=le.NONE,this.derivation=e.get,this.name=e.name||"ComputedValue@"+f(),e.set&&(this.setter=ee(this.name+"-setter",e.set)),this.equals=e.equals||(e.compareStructural||e.struct?P.structural:P.default),this.scope=e.context,this.requiresReaction=!!e.requiresReaction,this.keepAlive=!!e.keepAlive}return e.prototype.onBecomeStale=function(){!function(e){if(e.lowestObserverState!==ae.UP_TO_DATE)return;e.lowestObserverState=ae.POSSIBLY_STALE,e.observers.forEach(function(t){t.dependenciesState===ae.UP_TO_DATE&&(t.dependenciesState=ae.POSSIBLY_STALE,t.isTracing!==le.NONE&&Ie(t,e),t.onBecomeStale())})}(this)},e.prototype.onBecomeObserved=function(){this.onBecomeObservedListeners&&this.onBecomeObservedListeners.forEach(function(e){return e()})},e.prototype.onBecomeUnobserved=function(){this.onBecomeUnobservedListeners&&this.onBecomeUnobservedListeners.forEach(function(e){return e()})},e.prototype.get=function(){this.isComputing&&p("Cycle detected in computation "+this.name+": "+this.derivation),0!==Te.inBatch||0!==this.observers.size||this.keepAlive?(De(this),de(this)&&this.trackAndCompute()&&function(e){if(e.lowestObserverState===ae.STALE)return;e.lowestObserverState=ae.STALE,e.observers.forEach(function(t){t.dependenciesState===ae.POSSIBLY_STALE?t.dependenciesState=ae.STALE:t.dependenciesState===ae.UP_TO_DATE&&(e.lowestObserverState=ae.UP_TO_DATE)})}(this)):de(this)&&(this.warnAboutUntrackedRead(),Ae(),this.value=this.computeValue(!1),je());var e=this.value;if(pe(e))throw e.cause;return e},e.prototype.peek=function(){var e=this.computeValue(!1);if(pe(e))throw e.cause;return e},e.prototype.set=function(e){if(this.setter){d(!this.isRunningSetter,"The setter of computed value '"+this.name+"' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?"),this.isRunningSetter=!0;try{this.setter.call(this.scope,e)}finally{this.isRunningSetter=!1}}else d(!1,!1)},e.prototype.trackAndCompute=function(){var e=this.value,t=this.dependenciesState===ae.NOT_TRACKING,n=this.computeValue(!0),r=t||pe(e)||pe(n)||!this.equals(e,n);return r&&(this.value=n),r},e.prototype.computeValue=function(e){var t;if(this.isComputing=!0,Te.computationDepth++,e)t=ye(this,this.derivation,this.scope);else if(!0===Te.disableErrorBoundaries)t=this.derivation.call(this.scope);else try{t=this.derivation.call(this.scope)}catch(e){t=new fe(e)}return Te.computationDepth--,this.isComputing=!1,t},e.prototype.suspend=function(){this.keepAlive||(ve(this),this.value=void 0)},e.prototype.observe=function(e,t){var n=this,r=!0,o=void 0;return Xe(function(){var i=n.get();if(!r||t){var a=be();e({type:"update",object:n,newValue:i,oldValue:o}),we(a)}r=!1,o=i})},e.prototype.warnAboutUntrackedRead=function(){},e.prototype.toJSON=function(){return this.get()},e.prototype.toString=function(){return this.name+"["+this.derivation.toString()+"]"},e.prototype.valueOf=function(){return S(this.get())},e.prototype[Symbol.toPrimitive]=function(){return this.valueOf()},e}()),se=b("ComputedValue",ce);!function(e){e[e.NOT_TRACKING=-1]="NOT_TRACKING",e[e.UP_TO_DATE=0]="UP_TO_DATE",e[e.POSSIBLY_STALE=1]="POSSIBLY_STALE",e[e.STALE=2]="STALE"}(ae||(ae={})),function(e){e[e.NONE=0]="NONE",e[e.LOG=1]="LOG",e[e.BREAK=2]="BREAK"}(le||(le={}));var fe=function(e){this.cause=e};function pe(e){return e instanceof fe}function de(e){switch(e.dependenciesState){case ae.UP_TO_DATE:return!1;case ae.NOT_TRACKING:case ae.STALE:return!0;case ae.POSSIBLY_STALE:for(var t=be(),n=e.observing,r=n.length,o=0;o0;Te.computationDepth>0&&t&&p(!1),Te.allowStateChanges||!t&&"strict"!==Te.enforceActions||p(!1)}function ye(e,t,n){_e(e),e.newObserving=new Array(e.observing.length+100),e.unboundDepsCount=0,e.runId=++Te.runId;var r,o=Te.trackingDerivation;if(Te.trackingDerivation=e,!0===Te.disableErrorBoundaries)r=t.call(n);else try{r=t.call(n)}catch(e){r=new fe(e)}return Te.trackingDerivation=o,function(e){for(var t=e.observing,n=e.observing=e.newObserving,r=ae.UP_TO_DATE,o=0,i=e.unboundDepsCount,a=0;ar&&(r=l.dependenciesState)}n.length=o,e.newObserving=null,i=t.length;for(;i--;){var l=t[i];0===l.diffValue&&Ce(l,e),l.diffValue=0}for(;o--;){var l=n[o];1===l.diffValue&&(l.diffValue=0,Ee(l,e))}r!==ae.UP_TO_DATE&&(e.dependenciesState=r,e.onBecomeStale())}(e),r}function ve(e){var t=e.observing;e.observing=[];for(var n=t.length;n--;)Ce(t[n],e);e.dependenciesState=ae.NOT_TRACKING}function ge(e){var t=be();try{return e()}finally{we(t)}}function be(){var e=Te.trackingDerivation;return Te.trackingDerivation=null,e}function we(e){Te.trackingDerivation=e}function _e(e){if(e.dependenciesState!==ae.UP_TO_DATE){e.dependenciesState=ae.UP_TO_DATE;for(var t=e.observing,n=t.length;n--;)t[n].lowestObserverState=ae.UP_TO_DATE}}var xe=function(){this.version=5,this.UNCHANGED={},this.trackingDerivation=null,this.computationDepth=0,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!0,this.enforceActions=!1,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.computedConfigurable=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1},ke=!0,Se=!1,Te=function(){var e=Oe();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(ke=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==(new xe).version&&(ke=!1),ke?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new xe):(setTimeout(function(){Se||p("There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`")},1),new xe)}();function Oe(){return"undefined"!=typeof window?window:r}function Ee(e,t){e.observers.add(t),e.lowestObserverState>t.dependenciesState&&(e.lowestObserverState=t.dependenciesState)}function Ce(e,t){e.observers.delete(t),0===e.observers.size&&Pe(e)}function Pe(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,Te.pendingUnobservations.push(e))}function Ae(){Te.inBatch++}function je(){if(0==--Te.inBatch){ze();for(var e=Te.pendingUnobservations,t=0;t0&&Pe(e),!1)}function Ie(e,t){if(console.log("[mobx.trace] '"+e.name+"' is invalidated due to a change in: '"+t.name+"'"),e.isTracing===le.BREAK){var n=[];!function e(t,n,r){if(n.length>=1e3)return void n.push("(and many more)");n.push(""+new Array(r).join("\t")+t.name);t.dependencies&&t.dependencies.forEach(function(t){return e(t,n,r+1)})}(ot(e),n,1),new Function("debugger;\n/*\nTracing '"+e.name+"'\n\nYou are entering this break point because derivation '"+e.name+"' is being traced and '"+t.name+"' is now forcing it to update.\nJust follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update\nThe stackframe you are looking for is at least ~6-8 stack-frames up.\n\n"+(e instanceof ce?e.derivation.toString().replace(/[*]\//g,"/"):"")+"\n\nThe dependencies for this derivation are:\n\n"+n.join("\n")+"\n*/\n ")()}}var Re=function(){function e(e,t,n){void 0===e&&(e="Reaction@"+f()),this.name=e,this.onInvalidate=t,this.errorHandler=n,this.observing=[],this.newObserving=[],this.dependenciesState=ae.NOT_TRACKING,this.diffValue=0,this.runId=0,this.unboundDepsCount=0,this.__mapid="#"+f(),this.isDisposed=!1,this._isScheduled=!1,this._isTrackPending=!1,this._isRunning=!1,this.isTracing=le.NONE}return e.prototype.onBecomeStale=function(){this.schedule()},e.prototype.schedule=function(){this._isScheduled||(this._isScheduled=!0,Te.pendingReactions.push(this),ze())},e.prototype.isScheduled=function(){return this._isScheduled},e.prototype.runReaction=function(){if(!this.isDisposed){if(Ae(),this._isScheduled=!1,de(this)){this._isTrackPending=!0;try{this.onInvalidate(),this._isTrackPending}catch(e){this.reportExceptionInDerivation(e)}}je()}},e.prototype.track=function(e){if(!this.isDisposed){Ae();0,this._isRunning=!0;var t=ye(this,e,void 0);this._isRunning=!1,this._isTrackPending=!1,this.isDisposed&&ve(this),pe(t)&&this.reportExceptionInDerivation(t.cause),je()}},e.prototype.reportExceptionInDerivation=function(e){var t=this;if(this.errorHandler)this.errorHandler(e,this);else{if(Te.disableErrorBoundaries)throw e;var n="[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '"+this+"'";Te.suppressReactionErrors?console.warn("[mobx] (error in reaction '"+this.name+"' suppressed, fix error of causing action below)"):console.error(n,e),Te.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})}},e.prototype.dispose=function(){this.isDisposed||(this.isDisposed=!0,this._isRunning||(Ae(),ve(this),je()))},e.prototype.getDisposer=function(){var e=this.dispose.bind(this);return e[T]=this,e},e.prototype.toString=function(){return"Reaction["+this.name+"]"},e.prototype.trace=function(e){void 0===e&&(e=!1),function(){for(var e=[],t=0;t0||Te.isRunningReactions||Ne(Le)}function Le(){Te.isRunningReactions=!0;for(var e=Te.pendingReactions,t=0;e.length>0;){++t===Me&&(console.error("Reaction doesn't converge to a stable state after "+Me+" iterations. Probably there is a cycle in the reactive function: "+e[0]),e.splice(0));for(var n=e.splice(0),r=0,o=n.length;r",e):2===arguments.length&&"function"==typeof t?ee(e,t):1===arguments.length&&"string"==typeof e?He(e):!0!==r?He(t).apply(null,arguments):void g(e,t,ee(e.name||t,n.value,this))};function $e(e,t){"string"==typeof e||e.name;return te(0,"function"==typeof e?e:t,this,void 0)}function Ge(e){return"function"==typeof e&&!0===e.isMobxAction}function Ke(e,t,n){g(e,t,ee(t,n.bind(e)))}function Xe(e,t){void 0===t&&(t=s);var n,r=t&&t.name||e.name||"Autorun@"+f();if(!t.scheduler&&!t.delay)n=new Re(r,function(){this.track(a)},t.onError);else{var o=Qe(t),i=!1;n=new Re(r,function(){i||(i=!0,o(function(){i=!1,n.isDisposed||n.track(a)}))},t.onError)}function a(){e(n)}return n.schedule(),n.getDisposer()}qe.bound=function(e,t,n,r){return!0===r?(Ke(e,t,n.value),null):n?{configurable:!0,enumerable:!1,get:function(){return Ke(this,t,n.value||n.initializer.call(this)),this[t]},set:Ve}:{enumerable:!1,configurable:!0,set:function(e){Ke(this,t,e)},get:function(){}}};var Ye=function(e){return e()};function Qe(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:Ye}function Je(e,t,n){return Ze("onBecomeUnobserved",e,t,n)}function Ze(e,t,n,r){var o="string"==typeof n?Jt(t,n):Jt(t),i="string"==typeof n?r:n,a=e+"Listeners";return o[a]?o[a].add(i):o[a]=new Set([i]),"function"!=typeof o[e]?p(!1):function(){var e=o[a];e&&(e.delete(i),0===e.size&&delete o[a])}}function et(e){var t=e.enforceActions,n=e.computedRequiresReaction,r=e.computedConfigurable,o=e.disableErrorBoundaries,i=e.reactionScheduler;if(!0===e.isolateGlobalState&&((Te.pendingReactions.length||Te.inBatch||Te.isRunningReactions)&&p("isolateGlobalState should be called before MobX is running any reactions"),Se=!0,ke&&(0==--Oe().__mobxInstanceCount&&(Oe().__mobxGlobals=void 0),Te=new xe)),void 0!==t){var a=void 0;switch(t){case!0:case"observed":a=!0;break;case!1:case"never":a=!1;break;case"strict":case"always":a="strict";break;default:p("Invalid value for 'enforceActions': '"+t+"', expected 'never', 'always' or 'observed'")}Te.enforceActions=a,Te.allowStateChanges=!0!==a&&"strict"!==a}void 0!==n&&(Te.computedRequiresReaction=!!n),void 0!==r&&(Te.computedConfigurable=!!r),void 0!==o&&(!0===o&&console.warn("WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled."),Te.disableErrorBoundaries=!!o),i&&Fe(i)}function tt(e,t,n,r){var o=nt(r=V(r));return M(e),$t(e,r.name,o.enhancer),t&&rt(e,t,n,o),e}function nt(e){return e.defaultDecorator||(!1===e.deep?q:H)}function rt(e,t,n,r){var o,i;Ae();try{var l=x(t);try{for(var u=a(l),c=u.next();!c.done;c=u.next()){var s=c.value,f=Object.getOwnPropertyDescriptor(t,s);0;var p=(n&&s in n?n[s]:f.get?Q:r)(e,s,f,!0);p&&Object.defineProperty(e,s,p)}}catch(e){o={error:e}}finally{try{c&&!c.done&&(i=u.return)&&i.call(u)}finally{if(o)throw o.error}}}finally{je()}}function ot(e,t){return it(Jt(e,t))}function it(e){var t,n,r={name:e.name};return e.observing&&e.observing.length>0&&(r.dependencies=(t=e.observing,n=[],t.forEach(function(e){-1===n.indexOf(e)&&n.push(e)}),n).map(it)),r}var at=0;function lt(e){1!==arguments.length&&p("Flow expects one 1 argument and cannot be used as decorator");var t=e.name||"";return function(){var n,r=this,o=arguments,i=++at,a=qe(t+" - runid: "+i+" - init",e).apply(r,o),l=void 0,u=new Promise(function(e,r){var o=0;function u(e){var n;l=void 0;try{n=qe(t+" - runid: "+i+" - yield "+o++,a.next).call(a,e)}catch(e){return r(e)}s(n)}function c(e){var n;l=void 0;try{n=qe(t+" - runid: "+i+" - yield "+o++,a.throw).call(a,e)}catch(e){return r(e)}s(n)}function s(t){if(!t||"function"!=typeof t.then)return t.done?e(t.value):(l=Promise.resolve(t.value)).then(u,c);t.then(s,r)}n=r,u(void 0)});return u.cancel=qe(t+" - runid: "+i+" - cancel",function(){try{l&&ut(l);var e=a.return(),t=Promise.resolve(e.value);t.then(m,m),ut(t),n(new Error("FLOW_CANCELLED"))}catch(e){n(e)}}),u}}function ut(e){"function"==typeof e.cancel&&e.cancel()}function ct(e,t){if(null==e)return!1;if(void 0!==t){if(!1===Qt(e))return!1;if(!e[T].values.has(t))return!1;var n=Jt(e,t);return se(n)}return se(e)}function st(e){return arguments.length>1?p(!1):ct(e)}function ft(e,t){return"string"!=typeof t?p(!1):ct(e,t)}function pt(e,t){return null!=e&&(void 0!==t?!!Qt(e)&&e[T].values.has(t):Qt(e)||!!e[T]||E(e)||Ue(e)||se(e))}function dt(e){return 1!==arguments.length&&p(!1),pt(e)}function ht(e){return Qt(e)?e[T].getKeys():Bt(e)?Array.from(e.keys()):Wt(e)?Array.from(e.keys()):zt(e)?e.map(function(e,t){return t}):p(!1)}function mt(e){return Qt(e)?ht(e).map(function(t){return e[t]}):Bt(e)?ht(e).map(function(t){return e.get(t)}):Wt(e)?Array.from(e.values()):zt(e)?e.slice():p(!1)}function yt(e){return Qt(e)?ht(e).map(function(t){return[t,e[t]]}):Bt(e)?ht(e).map(function(t){return[t,e.get(t)]}):Wt(e)?Array.from(e.entries()):zt(e)?e.map(function(e,t){return[t,e]}):p(!1)}function vt(e,t,n,r){return"function"==typeof n?function(e,t,n,r){return Zt(e,t).observe(n,r)}(e,t,n,r):function(e,t,n){return Zt(e).observe(t,n)}(e,t,n)}function gt(e,t){void 0===t&&(t=void 0),Ae();try{return e.apply(t)}finally{je()}}function bt(e,t,n){return 1===arguments.length||t&&"object"==typeof t?function(e,t){0;var n,r=new Promise(function(r,o){var a=wt(e,r,i({},t,{onError:o}));n=function(){a(),o("WHEN_CANCELLED")}});return r.cancel=n,r}(e,t):wt(e,t,n||{})}function wt(e,t,n){var r;"number"==typeof n.timeout&&(r=setTimeout(function(){if(!i[T].isDisposed){i();var e=new Error("WHEN_TIMEOUT");if(!n.onError)throw e;n.onError(e)}},n.timeout)),n.name=n.name||"When@"+f();var o=ee(n.name+"-effect",t),i=Xe(function(t){e()&&(t.dispose(),r&&clearTimeout(r),o())},n);return i}function _t(e){return e[T]}function xt(e){return"string"==typeof e||"number"==typeof e||"symbol"==typeof e}var kt={has:function(e,t){if(t===T||"constructor"===t||t===A)return!0;var n=_t(e);return xt(t)?n.has(t):t in e},get:function(e,t){if(t===T||"constructor"===t||t===A)return e[t];var n=_t(e),r=n.values.get(t);if(r instanceof O){var o=r.get();return void 0===o&&n.has(t),o}return xt(t)&&n.has(t),e[t]},set:function(e,t,n){return!!xt(t)&&(function e(t,n,r){if(2!==arguments.length||Wt(t))if(Qt(t)){var o=t[T];o.values.get(n)?o.write(n,r):o.addObservableProp(n,r,o.defaultEnhancer)}else if(Bt(t))t.set(n,r);else if(Wt(t))t.add(n);else{if(!zt(t))return p(!1);"number"!=typeof n&&(n=parseInt(n,10)),d(n>=0,"Not a valid index: '"+n+"'"),Ae(),n>=t.length&&(t.length=n+1),t[n]=r,je()}else{Ae();var i=n;try{for(var a in i)e(t,a,i[a])}finally{je()}}}(e,t,n),!0)},deleteProperty:function(e,t){return!!xt(t)&&(_t(e).remove(t),!0)},ownKeys:function(e){return _t(e).keysAtom.reportObserved(),Reflect.ownKeys(e)},preventExtensions:function(e){return p("Dynamic observable objects cannot be frozen"),!1}};function St(e){var t=new Proxy(e,kt);return e[T].proxy=t,t}function Tt(e){return void 0!==e.interceptors&&e.interceptors.length>0}function Ot(e,t){var n=e.interceptors||(e.interceptors=[]);return n.push(t),h(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function Et(e,t){var n=be();try{var r=e.interceptors;if(r)for(var o=0,i=r.length;o0}function Pt(e,t){var n=e.changeListeners||(e.changeListeners=[]);return n.push(t),h(function(){var e=n.indexOf(t);-1!==e&&n.splice(e,1)})}function At(e,t){var n=be(),r=e.changeListeners;if(r){for(var o=0,i=(r=r.slice()).length;o0?e.map(this.dehancer):e},e.prototype.intercept=function(e){return Ot(this,e)},e.prototype.observe=function(e,t){return void 0===t&&(t=!1),t&&e({object:this.proxy,type:"splice",index:0,added:this.values.slice(),addedCount:this.values.length,removed:[],removedCount:0}),Pt(this,e)},e.prototype.getArrayLength=function(){return this.atom.reportObserved(),this.values.length},e.prototype.setArrayLength=function(e){if("number"!=typeof e||e<0)throw new Error("[mobx.array] Out of range: "+e);var t=this.values.length;if(e!==t)if(e>t){for(var n=new Array(e-t),r=0;ro?e=o:e<0&&(e=Math.max(0,o+e)),t=1===arguments.length?o-e:null==t?0:Math.max(0,Math.min(t,o-e)),void 0===n&&(n=c),Tt(this)){var i=Et(this,{object:this.proxy,type:"splice",index:e,removedCount:t,added:n});if(!i)return c;t=i.removedCount,n=i.added}n=0===n.length?n:n.map(function(e){return r.enhancer(e,void 0)});var a=this.spliceItemsIntoValues(e,t,n);return 0===t&&0===n.length||this.notifyArraySplice(e,n,a),this.dehanceValues(a)},e.prototype.spliceItemsIntoValues=function(e,t,n){var r;if(n.length<1e4)return(r=this.values).splice.apply(r,function(){for(var e=[],t=0;t-1&&(this.splice(n,1),!0)},get:function(e){var t=this[T];if(t){if(e=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},_=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},x=function(e){return"object"===(void 0===e?"undefined":m(e))&&e.constructor===Object},k=Object.freeze([]),S=Object.freeze({});function T(e){return"function"==typeof e}function O(e){return e.displayName||e.name||"Component"}function E(e){return e&&"string"==typeof e.styledComponentId}var C=void 0!==e&&(e.env.REACT_APP_SC_ATTR||e.env.SC_ATTR)||"data-styled",P="undefined"!=typeof window&&"HTMLElement"in window,A="boolean"==typeof SC_DISABLE_SPEEDY&&SC_DISABLE_SPEEDY||void 0!==e&&(e.env.REACT_APP_SC_DISABLE_SPEEDY||e.env.SC_DISABLE_SPEEDY)||!1;var j=function(e){function t(n){y(this,t);for(var r=arguments.length,o=Array(r>1?r-1:0),i=1;i0?" Additional arguments: "+o.join(", "):"")));return _(a)}return b(t,e),t}(Error),D=/^[^\S\n]*?\/\* sc-component-id:\s*(\S+)\s+\*\//gm,I=function(e){var t=""+(e||""),n=[];return t.replace(D,function(e,t,r){return n.push({componentId:t,matchIndex:r}),e}),n.map(function(e,r){var o=e.componentId,i=e.matchIndex,a=n[r+1];return{componentId:o,cssFromDOM:a?t.slice(i,a.matchIndex):t.slice(i)}})},R=/^\s*\/\/.*$/gm,M=new o.a({global:!1,cascade:!0,keyframe:!1,prefix:!1,compress:!1,semicolon:!0}),N=new o.a({global:!1,cascade:!0,keyframe:!1,prefix:!0,compress:!1,semicolon:!1}),z=[],L=function(e){if(-2===e){var t=z;return z=[],t}},U=a()(function(e){z.push(e)}),F=void 0,B=void 0,V=void 0,H=function(e,t,n){return t>0&&-1!==n.slice(0,t).indexOf(B)&&n.slice(t-B.length,t)!==B?"."+F:e};N.use([function(e,t,n){2===e&&n.length&&n[0].lastIndexOf(B)>0&&(n[0]=n[0].replace(V,H))},U,L]),M.use([U,L]);var W=function(e){return M("",e)};function q(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"&",o=e.join("").replace(R,""),i=t&&n?n+" "+t+" { "+o+" }":o;return F=r,B=t,V=new RegExp("\\"+B+"\\b","g"),N(n||!t?"":t,i)}var $=function(){return n.nc},G=function(e,t,n){n&&((e[t]||(e[t]=Object.create(null)))[n]=!0)},K=function(e,t){e[t]=Object.create(null)},X=function(e){return function(t,n){return void 0!==e[t]&&e[t][n]}},Y=function(e){var t="";for(var n in e)t+=Object.keys(e[n]).join(" ")+" ";return t.trim()},Q=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets.length,n=0;n"+e()+""}},ne=function(e,t){return function(){var n,r=((n={})[C]=Y(t),n["data-styled-version"]="4.3.2",n),o=$();return o&&(r.nonce=o),u.a.createElement("style",g({},r,{dangerouslySetInnerHTML:{__html:e()}}))}},re=function(e){return function(){return Object.keys(e)}},oe=function(e){return document.createTextNode(Z(e))},ie=function e(t,n){var r=void 0===t?Object.create(null):t,o=void 0===n?Object.create(null):n,i=function(e){var t=o[e];return void 0!==t?t:o[e]=[""]},a=function(){var e="";for(var t in o){var n=o[t][0];n&&(e+=Z(t)+n)}return e};return{clone:function(){var t=function(e){var t=Object.create(null);for(var n in e)t[n]=g({},e[n]);return t}(r),n=Object.create(null);for(var i in o)n[i]=[o[i][0]];return e(t,n)},css:a,getIds:re(o),hasNameForId:X(r),insertMarker:i,insertRules:function(e,t,n){i(e)[0]+=t.join(" "),G(r,e,n)},removeRules:function(e){var t=o[e];void 0!==t&&(t[0]="",K(r,e))},sealed:!1,styleTag:null,toElement:ne(a,r),toHTML:te(a,r)}},ae=function(e,t,n,r,o){if(P&&!n){var i=function(e,t,n){var r=document.createElement("style");r.setAttribute(C,""),r.setAttribute("data-styled-version","4.3.2");var o=$();if(o&&r.setAttribute("nonce",o),r.appendChild(document.createTextNode("")),e&&!t)e.appendChild(r);else{if(!t||!e||!t.parentNode)throw new j(6);t.parentNode.insertBefore(r,n?t:t.nextSibling)}return r}(e,t,r);return A?function(e,t){var n=Object.create(null),r=Object.create(null),o=void 0!==t,i=!1,a=function(t){var o=r[t];return void 0!==o?o:(r[t]=oe(t),e.appendChild(r[t]),n[t]=Object.create(null),r[t])},l=function(){var e="";for(var t in r)e+=r[t].data;return e};return{clone:function(){throw new j(5)},css:l,getIds:re(r),hasNameForId:X(n),insertMarker:a,insertRules:function(e,r,l){for(var u=a(e),c=[],s=r.length,f=0;f0&&(i=!0,t().insertRules(e+"-import",c))},removeRules:function(a){var l=r[a];if(void 0!==l){var u=oe(a);e.replaceChild(u,l),r[a]=u,K(n,a),o&&i&&t().removeRules(a+"-import")}},sealed:!1,styleTag:e,toElement:ne(l,n),toHTML:te(l,n)}}(i,o):function(e,t){var n=Object.create(null),r=Object.create(null),o=[],i=void 0!==t,a=!1,l=function(e){var t=r[e];return void 0!==t?t:(r[e]=o.length,o.push(0),K(n,e),r[e])},u=function(){var t=Q(e).cssRules,n="";for(var i in r){n+=Z(i);for(var a=r[i],l=ee(o,a),u=l-o[a];u0&&(a=!0,t().insertRules(r+"-import",h)),o[s]+=d,G(n,r,c)},removeRules:function(l){var u=r[l];if(void 0!==u){var c=o[u];!function(e,t,n){for(var r=t-n,o=t;o>r;o-=1)e.deleteRule(o)}(Q(e),ee(o,u)-1,c),o[u]=0,K(n,l),i&&a&&t().removeRules(l+"-import")}},sealed:!1,styleTag:e,toElement:ne(u,n),toHTML:te(u,n)}}(i,o)}return ie()},le=/\s+/,ue=void 0;ue=P?A?40:1e3:-1;var ce=0,se=void 0,fe=function(){function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:P?document.head:null,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];y(this,e),this.getImportRuleTag=function(){var e=t.importRuleTag;if(void 0!==e)return e;var n=t.tags[0];return t.importRuleTag=ae(t.target,n?n.styleTag:null,t.forceServer,!0)},ce+=1,this.id=ce,this.forceServer=r,this.target=r?null:n,this.tagMap={},this.deferred={},this.rehydratedNames={},this.ignoreRehydratedNames={},this.tags=[],this.capacity=1,this.clones=[]}return e.prototype.rehydrate=function(){if(!P||this.forceServer)return this;var e=[],t=[],n=!1,r=document.querySelectorAll("style["+C+'][data-styled-version="4.3.2"]'),o=r.length;if(!o)return this;for(var i=0;i0&&void 0!==arguments[0]&&arguments[0];se=new e(void 0,t).rehydrate()},e.prototype.clone=function(){var t=new e(this.target,this.forceServer);return this.clones.push(t),t.tags=this.tags.map(function(e){for(var n=e.getIds(),r=e.clone(),o=0;o1?t-1:0),r=1;r=4;)t=1540483477*(65535&(t=255&e.charCodeAt(o)|(255&e.charCodeAt(++o))<<8|(255&e.charCodeAt(++o))<<16|(255&e.charCodeAt(++o))<<24))+((1540483477*(t>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(t=1540483477*(65535&(t^=t>>>24))+((1540483477*(t>>>16)&65535)<<16)),n-=4,++o;switch(n){case 3:r^=(255&e.charCodeAt(o+2))<<16;case 2:r^=(255&e.charCodeAt(o+1))<<8;case 1:r=1540483477*(65535&(r^=255&e.charCodeAt(o)))+((1540483477*(r>>>16)&65535)<<16)}return((r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16))^r>>>15)>>>0}var _e=52,xe=function(e){return String.fromCharCode(e+(e>25?39:97))};function ke(e){var t="",n=void 0;for(n=e;n>_e;n=Math.floor(n/_e))t=xe(n%_e)+t;return xe(n%_e)+t}function Se(e,t){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:S,r=!!n&&e.theme===n.theme,o=e.theme&&!r?e.theme:t||n.theme;return o},Ae=/[[\].#*$><+~=|^:(),"'`-]+/g,je=/(^-|-$)/g;function De(e){return e.replace(Ae,"-").replace(je,"")}function Ie(e){return"string"==typeof e&&!0}var Re={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDerivedStateFromProps:!0,propTypes:!0,type:!0},Me={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},Ne=((Te={})[s.ForwardRef]={$$typeof:!0,render:!0},Te),ze=Object.defineProperty,Le=Object.getOwnPropertyNames,Ue=Object.getOwnPropertySymbols,Fe=void 0===Ue?function(){return[]}:Ue,Be=Object.getOwnPropertyDescriptor,Ve=Object.getPrototypeOf,He=Object.prototype,We=Array.prototype;function qe(e,t,n){if("string"!=typeof t){var r=Ve(t);r&&r!==He&&qe(e,r,n);for(var o=We.concat(Le(t),Fe(t)),i=Ne[e.$$typeof]||Re,a=Ne[t.$$typeof]||Re,l=o.length,u=void 0,c=void 0;l--;)if(c=o[l],!(Me[c]||n&&n[c]||a&&a[c]||i&&i[c])&&(u=Be(t,c)))try{ze(e,c,u)}catch(e){}return e}return e}var $e=Object(l.createContext)(),Ge=$e.Consumer,Ke=(function(e){function t(n){y(this,t);var r=_(this,e.call(this,n));return r.getContext=Object(f.a)(r.getContext.bind(r)),r.renderInner=r.renderInner.bind(r),r}b(t,e),t.prototype.render=function(){return this.props.children?u.a.createElement($e.Consumer,null,this.renderInner):null},t.prototype.renderInner=function(e){var t=this.getContext(this.props.theme,e);return u.a.createElement($e.Provider,{value:t},u.a.Children.only(this.props.children))},t.prototype.getTheme=function(e,t){if(T(e))return e(t);if(null===e||Array.isArray(e)||"object"!==(void 0===e?"undefined":m(e)))throw new j(8);return g({},t,e)},t.prototype.getContext=function(e,t){return this.getTheme(e,t)}}(l.Component),function(){function e(){y(this,e),this.masterSheet=fe.master,this.instance=this.masterSheet.clone(),this.sealed=!1}e.prototype.seal=function(){if(!this.sealed){var e=this.masterSheet.clones.indexOf(this.instance);this.masterSheet.clones.splice(e,1),this.sealed=!0}},e.prototype.collectStyles=function(e){if(this.sealed)throw new j(2);return u.a.createElement(Ye,{sheet:this.instance},e)},e.prototype.getStyleTags=function(){return this.seal(),this.instance.toHTML()},e.prototype.getStyleElement=function(){return this.seal(),this.instance.toReactElements()},e.prototype.interleaveWithNodeStream=function(e){throw new j(3)}}(),Object(l.createContext)()),Xe=Ke.Consumer,Ye=function(e){function t(n){y(this,t);var r=_(this,e.call(this,n));return r.getContext=Object(f.a)(r.getContext),r}return b(t,e),t.prototype.getContext=function(e,t){if(e)return e;if(t)return new fe(t);throw new j(4)},t.prototype.render=function(){var e=this.props,t=e.children,n=e.sheet,r=e.target;return u.a.createElement(Ke.Provider,{value:this.getContext(n,r)},t)},t}(l.Component),Qe={};var Je=function(e){function t(){y(this,t);var n=_(this,e.call(this));return n.attrs={},n.renderOuter=n.renderOuter.bind(n),n.renderInner=n.renderInner.bind(n),n}return b(t,e),t.prototype.render=function(){return u.a.createElement(Xe,null,this.renderOuter)},t.prototype.renderOuter=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:fe.master;return this.styleSheet=e,this.props.forwardedComponent.componentStyle.isStatic?this.renderInner():u.a.createElement(Ge,null,this.renderInner)},t.prototype.renderInner=function(e){var t=this.props.forwardedComponent,n=t.componentStyle,r=t.defaultProps,o=(t.displayName,t.foldedComponentIds),i=t.styledComponentId,a=t.target,u=void 0;u=n.isStatic?this.generateAndInjectStyles(S,this.props):this.generateAndInjectStyles(Pe(this.props,e,r)||S,this.props);var c=this.props.as||this.attrs.as||a,s=Ie(c),f={},d=g({},this.attrs,this.props),h=void 0;for(h in d)"forwardedComponent"!==h&&"as"!==h&&("forwardedRef"===h?f.ref=d[h]:"forwardedAs"===h?f.as=d[h]:s&&!Object(p.a)(h)||(f[h]=d[h]));return this.props.style&&this.attrs.style&&(f.style=g({},this.attrs.style,this.props.style)),f.className=Array.prototype.concat(o,this.props.className,i,this.attrs.className,u).filter(Boolean).join(" "),Object(l.createElement)(c,f)},t.prototype.buildExecutionContext=function(e,t,n){var r=this,o=g({},t,{theme:e});return n.length?(this.attrs={},n.forEach(function(e){var t,n=e,i=!1,a=void 0,l=void 0;for(l in T(n)&&(n=n(o),i=!0),n)a=n[l],i||!T(a)||(t=a)&&t.prototype&&t.prototype.isReactComponent||E(a)||(a=a(o)),r.attrs[l]=a,o[l]=a}),o):o},t.prototype.generateAndInjectStyles=function(e,t){var n=t.forwardedComponent,r=n.attrs,o=n.componentStyle;n.warnTooManyClasses;return o.isStatic&&!r.length?o.generateAndInjectStyles(S,this.styleSheet):o.generateAndInjectStyles(this.buildExecutionContext(e,t,r),this.styleSheet)},t}(l.Component);function Ze(e,t,n){var r=E(e),o=!Ie(e),i=t.displayName,a=void 0===i?function(e){return Ie(e)?"styled."+e:"Styled("+O(e)+")"}(e):i,l=t.componentId,c=void 0===l?function(e,t,n){var r="string"!=typeof t?"sc":De(t),o=(Qe[r]||0)+1;Qe[r]=o;var i=r+"-"+e.generateName(r+o);return n?n+"-"+i:i}(Ce,t.displayName,t.parentComponentId):l,s=t.ParentComponent,f=void 0===s?Je:s,p=t.attrs,h=void 0===p?k:p,m=t.displayName&&t.componentId?De(t.displayName)+"-"+t.componentId:t.componentId||c,y=r&&e.attrs?Array.prototype.concat(e.attrs,h).filter(Boolean):h,v=new Ce(r?e.componentStyle.rules.concat(n):n,y,m),b=void 0,_=function(e,t){return u.a.createElement(f,g({},e,{forwardedComponent:b,forwardedRef:t}))};return _.displayName=a,(b=u.a.forwardRef(_)).displayName=a,b.attrs=y,b.componentStyle=v,b.foldedComponentIds=r?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):k,b.styledComponentId=m,b.target=r?e.target:e,b.withComponent=function(e){var r=t.componentId,o=w(t,["componentId"]),i=r&&r+"-"+(Ie(e)?e:De(O(e)));return Ze(e,g({},o,{attrs:y,componentId:i,ParentComponent:f}),n)},Object.defineProperty(b,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=r?Object(d.a)(e.defaultProps,t):t}}),b.toString=function(){return"."+b.styledComponentId},o&&qe(b,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,styledComponentId:!0,target:!0,withComponent:!0}),b}var et=function(e){return function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:S;if(!Object(s.isValidElementType)(n))throw new j(1,String(n));var o=function(){return t(n,r,be.apply(void 0,arguments))};return o.withConfig=function(o){return e(t,n,g({},r,o))},o.attrs=function(o){return e(t,n,g({},r,{attrs:Array.prototype.concat(r.attrs,o).filter(Boolean)}))},o}(Ze,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"].forEach(function(e){et[e]=et(e)});!function(){function e(t,n){y(this,e),this.rules=t,this.componentId=n,this.isStatic=Se(t,k),fe.master.hasId(n)||fe.master.deferredInject(n,[])}e.prototype.createStyles=function(e,t){var n=q(ge(this.rules,e,t),"");t.inject(this.componentId,n)},e.prototype.removeStyles=function(e){var t=this.componentId;e.hasId(t)&&e.remove(t)},e.prototype.renderStyles=function(e,t){this.removeStyles(t),this.createStyles(e,t)}}();P&&(window.scCGSHMRCache={});var tt=function(e){return e.replace(/\s|\\n/g,"")};function nt(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r=0&&e<=1){if(t._volume=e,t._muted)return t;t.usingWebAudio&&t.masterGain.gain.setValueAtTime(e,i.ctx.currentTime);for(var n=0;n=0;t--)e._howls[t].unload();return e.usingWebAudio&&e.ctx&&void 0!==e.ctx.close&&(e.ctx.close(),e.ctx=null,d()),e},codecs:function(e){return(this||i)._codecs[e.replace(/^x-/,"")]},_setup:function(){var e=this||i;if(e.state=e.ctx&&e.ctx.state||"suspended",e._autoSuspend(),!e.usingWebAudio)if("undefined"!=typeof Audio)try{void 0===(new Audio).oncanplaythrough&&(e._canPlayEvent="canplay")}catch(t){e.noAudio=!0}else e.noAudio=!0;try{(new Audio).muted&&(e.noAudio=!0)}catch(e){}return e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||i,t=null;try{t="undefined"!=typeof Audio?new Audio:null}catch(t){return e}if(!t||"function"!=typeof t.canPlayType)return e;var n=t.canPlayType("audio/mpeg;").replace(/^no$/,""),r=e._navigator&&e._navigator.userAgent.match(/OPR\/([0-6].)/g),o=r&&parseInt(r[0].split("/")[1],10)<33;return e._codecs={mp3:!(o||!n&&!t.canPlayType("audio/mp3;").replace(/^no$/,"")),mpeg:!!n,opus:!!t.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!t.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!t.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),aac:!!t.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!t.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(t.canPlayType("audio/x-m4a;")||t.canPlayType("audio/m4a;")||t.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(t.canPlayType("audio/x-mp4;")||t.canPlayType("audio/mp4;")||t.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),webm:!!t.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),dolby:!!t.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(t.canPlayType("audio/x-flac;")||t.canPlayType("audio/flac;")).replace(/^no$/,"")},e},_unlockAudio:function(){var e=this||i;if(!e._audioUnlocked&&e.ctx){e._audioUnlocked=!1,e.autoUnlock=!1,e._mobileUnloaded||44100===e.ctx.sampleRate||(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var t=function(n){for(var r=0;r0?l._seek:n._sprite[e][0]/1e3),s=Math.max(0,(n._sprite[e][0]+n._sprite[e][1])/1e3-c),f=1e3*s/Math.abs(l._rate),p=n._sprite[e][0]/1e3,d=(n._sprite[e][0]+n._sprite[e][1])/1e3,h=!(!l._loop&&!n._sprite[e][2]);l._sprite=e,l._ended=!1;var m=function(){l._paused=!1,l._seek=c,l._start=p,l._stop=d,l._loop=h};if(!(c>=d)){var y=l._node;if(n._webAudio){var v=function(){n._playLock=!1,m(),n._refreshBuffer(l);var e=l._muted||n._muted?0:l._volume;y.gain.setValueAtTime(e,i.ctx.currentTime),l._playStart=i.ctx.currentTime,void 0===y.bufferSource.start?l._loop?y.bufferSource.noteGrainOn(0,c,86400):y.bufferSource.noteGrainOn(0,c,s):l._loop?y.bufferSource.start(0,c,86400):y.bufferSource.start(0,c,s),f!==1/0&&(n._endTimers[l._id]=setTimeout(n._ended.bind(n,l),f)),t||setTimeout(function(){n._emit("play",l._id),n._loadQueue()},0)};"running"===i.state?v():(n._playLock=!0,n.once("resume",v),n._clearTimer(l._id))}else{var g=function(){y.currentTime=c,y.muted=l._muted||n._muted||i._muted||y.muted,y.volume=l._volume*i.volume(),y.playbackRate=l._rate;try{var r=y.play();if(r&&"undefined"!=typeof Promise&&(r instanceof Promise||"function"==typeof r.then)?(n._playLock=!0,m(),r.then(function(){n._playLock=!1,y._unlocked=!0,t||(n._emit("play",l._id),n._loadQueue())}).catch(function(){n._playLock=!1,n._emit("playerror",l._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),l._ended=!0,l._paused=!0})):t||(n._playLock=!1,m(),n._emit("play",l._id),n._loadQueue()),y.playbackRate=l._rate,y.paused)return void n._emit("playerror",l._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");"__default"!==e||l._loop?n._endTimers[l._id]=setTimeout(n._ended.bind(n,l),f):(n._endTimers[l._id]=function(){n._ended(l),y.removeEventListener("ended",n._endTimers[l._id],!1)},y.addEventListener("ended",n._endTimers[l._id],!1))}catch(e){n._emit("playerror",l._id,e)}};"data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"===y.src&&(y.src=n._src,y.load());var b=window&&window.ejecta||!y.readyState&&i._navigator.isCocoonJS;if(y.readyState>=3||b)g();else{n._playLock=!0;var w=function(){g(),y.removeEventListener(i._canPlayEvent,w,!1)};y.addEventListener(i._canPlayEvent,w,!1),n._clearTimer(l._id)}}return l._id}n._ended(l)},pause:function(e){var t=this;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"pause",action:function(){t.pause(e)}}),t;for(var n=t._getSoundIds(e),r=0;r=0?t=parseInt(o[0],10):e=parseFloat(o[0])}else o.length>=2&&(e=parseFloat(o[0]),t=parseInt(o[1],10));if(!(void 0!==e&&e>=0&&e<=1))return(n=t?r._soundById(t):r._sounds[0])?n._volume:0;if("loaded"!==r._state||r._playLock)return r._queue.push({event:"volume",action:function(){r.volume.apply(r,o)}}),r;void 0===t&&(r._volume=e),t=r._getSoundIds(t);for(var u=0;u0?r/c:r),f=Date.now();e._fadeTo=n,e._interval=setInterval(function(){var o=(Date.now()-f)/r;f=Date.now(),l+=u*o,l=Math.max(0,l),l=Math.min(1,l),l=Math.round(100*l)/100,a._webAudio?e._volume=l:a.volume(l,e._id,!0),i&&(a._volume=l),(nt&&l>=n)&&(clearInterval(e._interval),e._interval=null,e._fadeTo=null,a.volume(n,e._id),a._emit("fade",e._id))},s)},_stopFade:function(e){var t=this._soundById(e);return t&&t._interval&&(this._webAudio&&t._node.gain.cancelScheduledValues(i.ctx.currentTime),clearInterval(t._interval),t._interval=null,this.volume(t._fadeTo,e),t._fadeTo=null,this._emit("fade",e)),this},loop:function(){var e,t,n,r=this,o=arguments;if(0===o.length)return r._loop;if(1===o.length){if("boolean"!=typeof o[0])return!!(n=r._soundById(parseInt(o[0],10)))&&n._loop;e=o[0],r._loop=e}else 2===o.length&&(e=o[0],t=parseInt(o[1],10));for(var i=r._getSoundIds(t),a=0;a=0?t=parseInt(o[0],10):e=parseFloat(o[0])}else 2===o.length&&(e=parseFloat(o[0]),t=parseInt(o[1],10));if("number"!=typeof e)return(n=r._soundById(t))?n._rate:r._rate;if("loaded"!==r._state||r._playLock)return r._queue.push({event:"rate",action:function(){r.rate.apply(r,o)}}),r;void 0===t&&(r._rate=e),t=r._getSoundIds(t);for(var u=0;u=0?t=parseInt(r[0],10):n._sounds.length&&(t=n._sounds[0]._id,e=parseFloat(r[0]))}else 2===r.length&&(e=parseFloat(r[0]),t=parseInt(r[1],10));if(void 0===t)return n;if("loaded"!==n._state||n._playLock)return n._queue.push({event:"seek",action:function(){n.seek.apply(n,r)}}),n;var l=n._soundById(t);if(l){if(!("number"==typeof e&&e>=0)){if(n._webAudio){var u=n.playing(t)?i.ctx.currentTime-l._playStart:0,c=l._rateSeek?l._rateSeek-l._seek:0;return l._seek+(c+u*Math.abs(l._rate))}return l._node.currentTime}var s=n.playing(t);s&&n.pause(t,!0),l._seek=e,l._ended=!1,n._clearTimer(t),n._webAudio||!l._node||isNaN(l._node.duration)||(l._node.currentTime=e);var f=function(){n._emit("seek",t),s&&n.play(t,!0)};if(s&&!n._webAudio){var p=function(){n._playLock?setTimeout(p,0):f()};setTimeout(p,0)}else f()}return n},playing:function(e){if("number"==typeof e){var t=this._soundById(e);return!!t&&!t._paused}for(var n=0;n=0&&i._howls.splice(r,1);var o=!0;for(n=0;n=0){o=!1;break}return u&&o&&delete u[e._src],i.noAudio=!1,e._state="unloaded",e._sounds=[],e=null,null},on:function(e,t,n,r){var o=this["_on"+e];return"function"==typeof t&&o.push(r?{id:n,fn:t,once:r}:{id:n,fn:t}),this},off:function(e,t,n){var r=this["_on"+e],o=0;if("number"==typeof t&&(n=t,t=null),t||n)for(o=0;o=0;o--)r[o].id&&r[o].id!==t&&"load"!==e||(setTimeout(function(e){e.call(this,t,n)}.bind(this,r[o].fn),0),r[o].once&&this.off(e,r[o].fn,r[o].id));return this._loadQueue(e),this},_loadQueue:function(e){if(this._queue.length>0){var t=this._queue[0];t.event===e&&(this._queue.shift(),this._loadQueue()),e||t.action()}return this},_ended:function(e){var t=e._sprite;if(!this._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime=0;n--){if(t<=e)return;this._sounds[n]._ended&&(this._webAudio&&this._sounds[n]._node&&this._sounds[n]._node.disconnect(0),this._sounds.splice(n,1),t--)}}},_getSoundIds:function(e){if(void 0===e){for(var t=[],n=0;n=0;if(i._scratchBuffer&&e.bufferSource&&(e.bufferSource.onended=null,e.bufferSource.disconnect(0),t))try{e.bufferSource.buffer=i._scratchBuffer}catch(e){}return e.bufferSource=null,this},_clearSound:function(e){/MSIE |Trident\//.test(i._navigator&&i._navigator.userAgent)||(e.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var l=function(e){this._parent=e,this.init()};l.prototype={init:function(){var e=this._parent;return this._muted=e._muted,this._loop=e._loop,this._volume=e._volume,this._rate=e._rate,this._seek=0,this._paused=!0,this._ended=!0,this._sprite="__default",this._id=++i._counter,e._sounds.push(this),this.create(),this},create:function(){var e=this._parent,t=i._muted||this._muted||this._parent._muted?0:this._volume;return e._webAudio?(this._node=void 0===i.ctx.createGain?i.ctx.createGainNode():i.ctx.createGain(),this._node.gain.setValueAtTime(t,i.ctx.currentTime),this._node.paused=!0,this._node.connect(i.masterGain)):(this._node=i._obtainHtml5Audio(),this._errorFn=this._errorListener.bind(this),this._node.addEventListener("error",this._errorFn,!1),this._loadFn=this._loadListener.bind(this),this._node.addEventListener(i._canPlayEvent,this._loadFn,!1),this._node.src=e._src,this._node.preload="auto",this._node.volume=t*i.volume(),this._node.load()),this},reset:function(){var e=this._parent;return this._muted=e._muted,this._loop=e._loop,this._volume=e._volume,this._rate=e._rate,this._seek=0,this._rateSeek=0,this._paused=!0,this._ended=!0,this._sprite="__default",this._id=++i._counter,this},_errorListener:function(){this._parent._emit("loaderror",this._id,this._node.error?this._node.error.code:0),this._node.removeEventListener("error",this._errorFn,!1)},_loadListener:function(){var e=this._parent;e._duration=Math.ceil(10*this._node.duration)/10,0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),"loaded"!==e._state&&(e._state="loaded",e._emit("load"),e._loadQueue()),this._node.removeEventListener(i._canPlayEvent,this._loadFn,!1)}};var u={},c=function(e){var t=e._src;if(u[t])return e._duration=u[t].duration,void p(e);if(/^data:[^;]+;base64,/.test(t)){for(var n=atob(t.split(",")[1]),r=new Uint8Array(n.length),o=0;o0?(u[t._src]=e,p(t,e)):n()};"undefined"!=typeof Promise&&1===i.ctx.decodeAudioData.length?i.ctx.decodeAudioData(e).then(r).catch(n):i.ctx.decodeAudioData(e,r,n)},p=function(e,t){t&&!e._duration&&(e._duration=t.duration),0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),"loaded"!==e._state&&(e._state="loaded",e._emit("load"),e._loadQueue())},d=function(){if(i.usingWebAudio){try{"undefined"!=typeof AudioContext?i.ctx=new AudioContext:"undefined"!=typeof webkitAudioContext?i.ctx=new webkitAudioContext:i.usingWebAudio=!1}catch(e){i.usingWebAudio=!1}i.ctx||(i.usingWebAudio=!1);var e=/iP(hone|od|ad)/.test(i._navigator&&i._navigator.platform),t=i._navigator&&i._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),n=t?parseInt(t[1],10):null;if(e&&n&&n<9){var r=/safari/.test(i._navigator&&i._navigator.userAgent.toLowerCase());(i._navigator&&i._navigator.standalone&&!r||i._navigator&&!i._navigator.standalone&&!r)&&(i.usingWebAudio=!1)}i.usingWebAudio&&(i.masterGain=void 0===i.ctx.createGain?i.ctx.createGainNode():i.ctx.createGain(),i.masterGain.gain.setValueAtTime(i._muted?0:1,i.ctx.currentTime),i.masterGain.connect(i.ctx.destination)),i._setup()}};void 0===(r=function(){return{Howler:i,Howl:a}}.apply(t,[]))||(e.exports=r),t.Howler=i,t.Howl=a,"undefined"!=typeof window?(window.HowlerGlobal=o,window.Howler=i,window.Howl=a,window.Sound=l):void 0!==n&&(n.HowlerGlobal=o,n.Howler=i,n.Howl=a,n.Sound=l)}(), +/*! + * Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported. + * + * howler.js v2.1.2 + * howlerjs.com + * + * (c) 2013-2019, James Simpson of GoldFire Studios + * goldfirestudios.com + * + * MIT License + */ +function(){"use strict";var e;HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(e){if(!this.ctx||!this.ctx.listener)return this;for(var t=this._howls.length-1;t>=0;t--)this._howls[t].stereo(e);return this},HowlerGlobal.prototype.pos=function(e,t,n){return this.ctx&&this.ctx.listener?(t="number"!=typeof t?this._pos[1]:t,n="number"!=typeof n?this._pos[2]:n,"number"!=typeof e?this._pos:(this._pos=[e,t,n],void 0!==this.ctx.listener.positionX?(this.ctx.listener.positionX.setTargetAtTime(this._pos[0],Howler.ctx.currentTime,.1),this.ctx.listener.positionY.setTargetAtTime(this._pos[1],Howler.ctx.currentTime,.1),this.ctx.listener.positionZ.setTargetAtTime(this._pos[2],Howler.ctx.currentTime,.1)):this.ctx.listener.setPosition(this._pos[0],this._pos[1],this._pos[2]),this)):this},HowlerGlobal.prototype.orientation=function(e,t,n,r,o,i){if(!this.ctx||!this.ctx.listener)return this;var a=this._orientation;return t="number"!=typeof t?a[1]:t,n="number"!=typeof n?a[2]:n,r="number"!=typeof r?a[3]:r,o="number"!=typeof o?a[4]:o,i="number"!=typeof i?a[5]:i,"number"!=typeof e?a:(this._orientation=[e,t,n,r,o,i],void 0!==this.ctx.listener.forwardX?(this.ctx.listener.forwardX.setTargetAtTime(e,Howler.ctx.currentTime,.1),this.ctx.listener.forwardY.setTargetAtTime(t,Howler.ctx.currentTime,.1),this.ctx.listener.forwardZ.setTargetAtTime(n,Howler.ctx.currentTime,.1),this.ctx.listener.upX.setTargetAtTime(e,Howler.ctx.currentTime,.1),this.ctx.listener.upY.setTargetAtTime(t,Howler.ctx.currentTime,.1),this.ctx.listener.upZ.setTargetAtTime(n,Howler.ctx.currentTime,.1)):this.ctx.listener.setOrientation(e,t,n,r,o,i),this)},Howl.prototype.init=(e=Howl.prototype.init,function(t){return this._orientation=t.orientation||[1,0,0],this._stereo=t.stereo||null,this._pos=t.pos||null,this._pannerAttr={coneInnerAngle:void 0!==t.coneInnerAngle?t.coneInnerAngle:360,coneOuterAngle:void 0!==t.coneOuterAngle?t.coneOuterAngle:360,coneOuterGain:void 0!==t.coneOuterGain?t.coneOuterGain:0,distanceModel:void 0!==t.distanceModel?t.distanceModel:"inverse",maxDistance:void 0!==t.maxDistance?t.maxDistance:1e4,panningModel:void 0!==t.panningModel?t.panningModel:"HRTF",refDistance:void 0!==t.refDistance?t.refDistance:1,rolloffFactor:void 0!==t.rolloffFactor?t.rolloffFactor:1},this._onstereo=t.onstereo?[{fn:t.onstereo}]:[],this._onpos=t.onpos?[{fn:t.onpos}]:[],this._onorientation=t.onorientation?[{fn:t.onorientation}]:[],e.call(this,t)}),Howl.prototype.stereo=function(e,n){var r=this;if(!r._webAudio)return r;if("loaded"!==r._state)return r._queue.push({event:"stereo",action:function(){r.stereo(e,n)}}),r;var o=void 0===Howler.ctx.createStereoPanner?"spatial":"stereo";if(void 0===n){if("number"!=typeof e)return r._stereo;r._stereo=e,r._pos=[e,0,0]}for(var i=r._getSoundIds(n),a=0;a1)for(var n=1;n])/g,g=/([[}=:>])\s+/g,b=/(\{[^{]+?);(?=\})/g,w=/\s{2,}/g,_=/([^\(])(:+) */g,x=/[svh]\w+-[tblr]{2}/,k=/\(\s*(.*)\s*\)/g,S=/([\s\S]*?);/g,T=/-self|flex-/g,O=/[^]*?(:[rp][el]a[\w-]+)[^]*/,E=/stretch|:\s*\w+\-(?:conte|avail)/,C=/([^-])(image-set\()/,P="-webkit-",A="-moz-",j="-ms-",D=59,I=125,R=123,M=40,N=41,z=91,L=93,U=10,F=13,B=9,V=64,H=32,W=38,q=45,$=95,G=42,K=44,X=58,Y=39,Q=34,J=47,Z=62,ee=43,te=126,ne=0,re=12,oe=11,ie=107,ae=109,le=115,ue=112,ce=111,se=105,fe=99,pe=100,de=112,he=1,me=1,ye=0,ve=1,ge=1,be=1,we=0,_e=0,xe=0,ke=[],Se=[],Te=0,Oe=null,Ee=-2,Ce=-1,Pe=0,Ae=1,je=2,De=3,Ie=0,Re=1,Me="",Ne="",ze="";function Le(e,t,o,i,a){for(var l,u,s=0,f=0,p=0,d=0,v=0,g=0,b=0,w=0,x=0,S=0,T=0,O=0,E=0,C=0,$=0,we=0,Se=0,Oe=0,Ee=0,Ce=o.length,Fe=Ce-1,$e="",Ge="",Ke="",Xe="",Ye="",Qe="";$0&&(Ge=Ge.replace(r,"")),Ge.trim().length>0)){switch(b){case H:case B:case D:case F:case U:break;default:Ge+=o.charAt($)}b=D}if(1===Se)switch(b){case R:case I:case D:case Q:case Y:case M:case N:case K:Se=0;case B:case F:case U:case H:break;default:for(Se=0,Ee=$,v=b,$--,b=D;Ee0&&(++$,b=v);case R:Ee=Ce}}switch(b){case R:for(v=(Ge=Ge.trim()).charCodeAt(0),T=1,Ee=++$;$0&&(Ge=Ge.replace(r,"")),g=Ge.charCodeAt(1)){case pe:case ae:case le:case q:l=t;break;default:l=ke}if(Ee=(Ke=Le(t,l,Ke,g,a+1)).length,xe>0&&0===Ee&&(Ee=Ge.length),Te>0&&(l=Ue(ke,Ge,Oe),u=We(De,Ke,l,t,me,he,Ee,g,a,i),Ge=l.join(""),void 0!==u&&0===(Ee=(Ke=u.trim()).length)&&(g=0,Ke="")),Ee>0)switch(g){case le:Ge=Ge.replace(k,He);case pe:case ae:case q:Ke=Ge+"{"+Ke+"}";break;case ie:Ke=(Ge=Ge.replace(h,"$1 $2"+(Re>0?Me:"")))+"{"+Ke+"}",Ke=1===ge||2===ge&&Ve("@"+Ke,3)?"@"+P+Ke+"@"+Ke:"@"+Ke;break;default:Ke=Ge+Ke,i===de&&(Xe+=Ke,Ke="")}else Ke="";break;default:Ke=Le(t,Ue(t,Ge,Oe),Ke,i,a+1)}Ye+=Ke,O=0,Se=0,C=0,we=0,Oe=0,E=0,Ge="",Ke="",b=o.charCodeAt(++$);break;case I:case D:if((Ee=(Ge=(we>0?Ge.replace(r,""):Ge).trim()).length)>1)switch(0===C&&((v=Ge.charCodeAt(0))===q||v>96&&v<123)&&(Ee=(Ge=Ge.replace(" ",":")).length),Te>0&&void 0!==(u=We(Ae,Ge,t,e,me,he,Xe.length,i,a,i))&&0===(Ee=(Ge=u.trim()).length)&&(Ge="\0\0"),v=Ge.charCodeAt(0),g=Ge.charCodeAt(1),v){case ne:break;case V:if(g===se||g===fe){Qe+=Ge+o.charAt($);break}default:if(Ge.charCodeAt(Ee-1)===X)break;Xe+=Be(Ge,v,g,Ge.charCodeAt(2))}O=0,Se=0,C=0,we=0,Oe=0,Ge="",b=o.charCodeAt(++$)}}switch(b){case F:case U:if(f+d+p+s+_e===0)switch(S){case N:case Y:case Q:case V:case te:case Z:case G:case ee:case J:case q:case X:case K:case D:case R:case I:break;default:C>0&&(Se=1)}f===J?f=0:ve+O===0&&i!==ie&&Ge.length>0&&(we=1,Ge+="\0"),Te*Ie>0&&We(Pe,Ge,t,e,me,he,Xe.length,i,a,i),he=1,me++;break;case D:case I:if(f+d+p+s===0){he++;break}default:switch(he++,$e=o.charAt($),b){case B:case H:if(d+s+f===0)switch(w){case K:case X:case B:case H:$e="";break;default:b!==H&&($e=" ")}break;case ne:$e="\\0";break;case re:$e="\\f";break;case oe:$e="\\v";break;case W:d+f+s===0&&ve>0&&(Oe=1,we=1,$e="\f"+$e);break;case 108:if(d+f+s+ye===0&&C>0)switch($-C){case 2:w===ue&&o.charCodeAt($-3)===X&&(ye=w);case 8:x===ce&&(ye=x)}break;case X:d+f+s===0&&(C=$);break;case K:f+p+d+s===0&&(we=1,$e+="\r");break;case Q:case Y:0===f&&(d=d===b?0:0===d?b:d);break;case z:d+f+p===0&&s++;break;case L:d+f+p===0&&s--;break;case N:d+f+s===0&&p--;break;case M:if(d+f+s===0){if(0===O)switch(2*w+3*x){case 533:break;default:T=0,O=1}p++}break;case V:f+p+d+s+C+E===0&&(E=1);break;case G:case J:if(d+s+p>0)break;switch(f){case 0:switch(2*b+3*o.charCodeAt($+1)){case 235:f=J;break;case 220:Ee=$,f=G}break;case G:b===J&&w===G&&Ee+2!==$&&(33===o.charCodeAt(Ee+2)&&(Xe+=o.substring(Ee,$+1)),$e="",f=0)}}if(0===f){if(ve+d+s+E===0&&i!==ie&&b!==D)switch(b){case K:case te:case Z:case ee:case N:case M:if(0===O){switch(w){case B:case H:case U:case F:$e+="\0";break;default:$e="\0"+$e+(b===K?"":"\0")}we=1}else switch(b){case M:C+7===$&&108===w&&(C=0),O=++T;break;case N:0==(O=--T)&&(we=1,$e+="\0")}break;case B:case H:switch(w){case ne:case R:case I:case D:case K:case re:case B:case H:case U:case F:break;default:0===O&&(we=1,$e+="\0")}}Ge+=$e,b!==H&&b!==B&&(S=b)}}x=w,w=b,$++}if(Ee=Xe.length,xe>0&&0===Ee&&0===Ye.length&&0===t[0].length==0&&(i!==ae||1===t.length&&(ve>0?Ne:ze)===t[0])&&(Ee=t.join(",").length+2),Ee>0){if(l=0===ve&&i!==ie?function(e){for(var t,n,o=0,i=e.length,a=Array(i);o1)){if(p=u.charCodeAt(u.length-1),d=n.charCodeAt(0),t="",0!==s)switch(p){case G:case te:case Z:case ee:case H:case M:break;default:t=" "}switch(d){case W:n=t+Ne;case te:case Z:case ee:case H:case N:case M:break;case z:n=t+n+Ne;break;case X:switch(2*n.charCodeAt(1)+3*n.charCodeAt(2)){case 530:if(be>0){n=t+n.substring(8,f-1);break}default:(s<1||l[s-1].length<1)&&(n=t+Ne+n)}break;case K:t="";default:n=f>1&&n.indexOf(":")>0?t+n.replace(_,"$1"+Ne+"$2"):t+n+Ne}u+=n}a[o]=u.replace(r,"").trim()}return a}(t):t,Te>0&&void 0!==(u=We(je,Xe,l,e,me,he,Ee,i,a,i))&&0===(Xe=u).length)return Qe+Xe+Ye;if(Xe=l.join(",")+"{"+Xe+"}",ge*ye!=0){switch(2!==ge||Ve(Xe,2)||(ye=0),ye){case ce:Xe=Xe.replace(y,":"+A+"$1")+Xe;break;case ue:Xe=Xe.replace(m,"::"+P+"input-$1")+Xe.replace(m,"::"+A+"$1")+Xe.replace(m,":"+j+"input-$1")+Xe}ye=0}}return Qe+Xe+Ye}function Ue(e,t,n){var r=t.trim().split(s),o=r,i=r.length,a=e.length;switch(a){case 0:case 1:for(var l=0,u=0===a?"":e[0]+" ";l0&&ve>0)return o.replace(p,"$1").replace(f,"$1"+ze);break;default:return e.trim()+o.replace(f,"$1"+e.trim())}default:if(n*ve>0&&o.indexOf("\f")>0)return o.replace(f,(e.charCodeAt(0)===X?"":"$1")+e.trim())}return e+o}function Be(e,t,n,r){var c,s=0,f=e+";",p=2*t+3*n+4*r;if(944===p)return function(e){var t=e.length,n=e.indexOf(":",9)+1,r=e.substring(0,n).trim(),o=e.substring(n,t-1).trim();switch(e.charCodeAt(9)*Re){case 0:break;case q:if(110!==e.charCodeAt(10))break;default:for(var i=o.split((o="",l)),a=0,n=0,t=i.length;aV&&f<90||f>96&&f<123||f===$||f===q&&c.charCodeAt(1)!==q))switch(isNaN(parseFloat(c))+(-1!==c.indexOf("("))){case 1:switch(c){case"infinite":case"alternate":case"backwards":case"running":case"normal":case"forwards":case"both":case"none":case"linear":case"ease":case"ease-in":case"ease-out":case"ease-in-out":case"paused":case"reverse":case"alternate-reverse":case"inherit":case"initial":case"unset":case"step-start":case"step-end":break;default:c+=Me}}s[n++]=c}o+=(0===a?"":",")+s.join(" ")}}return o=r+o+";",1===ge||2===ge&&Ve(o,1)?P+o+o:o}(f);if(0===ge||2===ge&&!Ve(f,1))return f;switch(p){case 1015:return 97===f.charCodeAt(10)?P+f+f:f;case 951:return 116===f.charCodeAt(3)?P+f+f:f;case 963:return 110===f.charCodeAt(5)?P+f+f:f;case 1009:if(100!==f.charCodeAt(4))break;case 969:case 942:return P+f+f;case 978:return P+f+A+f+f;case 1019:case 983:return P+f+A+f+j+f+f;case 883:return f.charCodeAt(8)===q?P+f+f:f.indexOf("image-set(",11)>0?f.replace(C,"$1"+P+"$2")+f:f;case 932:if(f.charCodeAt(4)===q)switch(f.charCodeAt(5)){case 103:return P+"box-"+f.replace("-grow","")+P+f+j+f.replace("grow","positive")+f;case 115:return P+f+j+f.replace("shrink","negative")+f;case 98:return P+f+j+f.replace("basis","preferred-size")+f}return P+f+j+f+f;case 964:return P+f+j+"flex-"+f+f;case 1023:if(99!==f.charCodeAt(8))break;return c=f.substring(f.indexOf(":",15)).replace("flex-","").replace("space-between","justify"),P+"box-pack"+c+P+f+j+"flex-pack"+c+f;case 1005:return i.test(f)?f.replace(o,":"+P)+f.replace(o,":"+A)+f:f;case 1e3:switch(s=(c=f.substring(13).trim()).indexOf("-")+1,c.charCodeAt(0)+c.charCodeAt(s)){case 226:c=f.replace(x,"tb");break;case 232:c=f.replace(x,"tb-rl");break;case 220:c=f.replace(x,"lr");break;default:return f}return P+f+j+c+f;case 1017:if(-1===f.indexOf("sticky",9))return f;case 975:switch(s=(f=e).length-10,p=(c=(33===f.charCodeAt(s)?f.substring(0,s):f).substring(e.indexOf(":",7)+1).trim()).charCodeAt(0)+(0|c.charCodeAt(7))){case 203:if(c.charCodeAt(8)<111)break;case 115:f=f.replace(c,P+c)+";"+f;break;case 207:case 102:f=f.replace(c,P+(p>102?"inline-":"")+"box")+";"+f.replace(c,P+c)+";"+f.replace(c,j+c+"box")+";"+f}return f+";";case 938:if(f.charCodeAt(5)===q)switch(f.charCodeAt(6)){case 105:return c=f.replace("-items",""),P+f+P+"box-"+c+j+"flex-"+c+f;case 115:return P+f+j+"flex-item-"+f.replace(T,"")+f;default:return P+f+j+"flex-line-pack"+f.replace("align-content","").replace(T,"")+f}break;case 973:case 989:if(f.charCodeAt(3)!==q||122===f.charCodeAt(4))break;case 931:case 953:if(!0===E.test(e))return 115===(c=e.substring(e.indexOf(":")+1)).charCodeAt(0)?Be(e.replace("stretch","fill-available"),t,n,r).replace(":fill-available",":stretch"):f.replace(c,P+c)+f.replace(c,A+c.replace("fill-",""))+f;break;case 962:if(f=P+f+(102===f.charCodeAt(5)?j+f:"")+f,n+r===211&&105===f.charCodeAt(13)&&f.indexOf("transform",10)>0)return f.substring(0,f.indexOf(";",27)+1).replace(a,"$1"+P+"$2")+f}return f}function Ve(e,t){var n=e.indexOf(1===t?":":"{"),r=e.substring(0,3!==t?n:10),o=e.substring(n+1,e.length-1);return Oe(2!==t?r:r.replace(O,"$1"),o,t)}function He(e,t){var n=Be(t,t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2));return n!==t+";"?n.replace(S," or ($1)").substring(4):"("+t+")"}function We(e,t,n,r,o,i,a,l,u,c){for(var s,f=0,p=t;f0&&(Me=o.replace(d,i===z?"":"-")),i=1,1===ve?ze=o:Ne=o;var a,l=[ze];Te>0&&void 0!==(a=We(Ce,n,l,l,me,he,0,0,0,0))&&"string"==typeof a&&(n=a);var u=Le(ke,l,n,0,0);return Te>0&&void 0!==(a=We(Ee,u,l,l,me,he,u.length,0,0,0))&&"string"!=typeof(u=a)&&(i=0),Me="",ze="",Ne="",ye=0,me=1,he=1,we*i==0?u:u.replace(r,"").replace(v,"").replace(g,"$1").replace(b,"$1").replace(w," ")}return Ge.use=function e(t){switch(t){case void 0:case null:Te=Se.length=0;break;default:if("function"==typeof t)Se[Te++]=t;else if("object"==typeof t)for(var n=0,r=t.length;n=0&&s.splice(t,1)}function y(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var r=function(){0;return n.nc}();r&&(e.attrs.nonce=r)}return v(t,e.attrs),h(e,t),t}function v(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function g(e,t){var n,r,o,i;if(t.transform&&e.css){if(!(i="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=i}if(t.singleton){var a=c++;n=u||(u=y(t)),r=_.bind(null,n,a,!1),o=_.bind(null,n,a,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",v(t,e.attrs),h(e,t),t}(t),r=function(e,t,n){var r=n.css,o=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||i)&&(r=f(r));o&&(r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var a=new Blob([r],{type:"text/css"}),l=e.href;e.href=URL.createObjectURL(a),l&&URL.revokeObjectURL(l)}.bind(null,n,t),o=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=y(t),r=function(e,t){var n=t.css,r=t.media;r&&e.setAttribute("media",r);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),o=function(){m(n)});return r(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;r(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=a()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=d(e,t);return p(n,t),function(e){for(var r=[],o=0;oD.length&&D.push(e)}function M(e,t,n){return null==e?0:function e(t,n,r,o){var l=typeof t;"undefined"!==l&&"boolean"!==l||(t=null);var u=!1;if(null===t)u=!0;else switch(l){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case i:case a:u=!0}}if(u)return r(o,t,""===n?"."+N(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var c=0;cthis.eventPool.length&&this.eventPool.push(e)}function fe(e){e.eventPool=[],e.getPooled=ce,e.release=se}o(ue.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=ae)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=ae)},persist:function(){this.isPersistent=ae},isPersistent:le,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=le,this._dispatchInstances=this._dispatchListeners=null}}),ue.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},ue.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var i=new t;return o(i,n.prototype),n.prototype=i,n.prototype.constructor=n,n.Interface=o({},r.Interface,e),n.extend=r.extend,fe(n),n},fe(ue);var pe=ue.extend({data:null}),de=ue.extend({data:null}),he=[9,13,27,32],me=q&&"CompositionEvent"in window,ye=null;q&&"documentMode"in document&&(ye=document.documentMode);var ve=q&&"TextEvent"in window&&!ye,ge=q&&(!me||ye&&8=ye),be=String.fromCharCode(32),we={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},_e=!1;function xe(e,t){switch(e){case"keyup":return-1!==he.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function ke(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Se=!1;var Te={eventTypes:we,extractEvents:function(e,t,n,r){var o=void 0,i=void 0;if(me)e:{switch(e){case"compositionstart":o=we.compositionStart;break e;case"compositionend":o=we.compositionEnd;break e;case"compositionupdate":o=we.compositionUpdate;break e}o=void 0}else Se?xe(e,n)&&(o=we.compositionEnd):"keydown"===e&&229===n.keyCode&&(o=we.compositionStart);return o?(ge&&"ko"!==n.locale&&(Se||o!==we.compositionStart?o===we.compositionEnd&&Se&&(i=ie()):(re="value"in(ne=r)?ne.value:ne.textContent,Se=!0)),o=pe.getPooled(o,t,n,r),i?o.data=i:null!==(i=ke(n))&&(o.data=i),W(o),i=o):i=null,(e=ve?function(e,t){switch(e){case"compositionend":return ke(t);case"keypress":return 32!==t.which?null:(_e=!0,be);case"textInput":return(e=t.data)===be&&_e?null:e;default:return null}}(e,n):function(e,t){if(Se)return"compositionend"===e||!me&&xe(e,t)?(e=ie(),oe=re=ne=null,Se=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1

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