cubing 0.21.2 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (581) hide show
  1. package/README.md +5 -8
  2. package/alg/package.json +1 -3
  3. package/bluetooth/package.json +1 -3
  4. package/dist/bin/order.js +16675 -0
  5. package/dist/bin/order.js.map +7 -0
  6. package/dist/bin/puzzle-geometry-bin.js +13 -9
  7. package/dist/bin/puzzle-geometry-bin.js.map +2 -2
  8. package/dist/bundle-global/cubing.bundle-global.js +3285 -291
  9. package/dist/esm/2x2x2.sgs.json-FRBWMMA7.js +122 -0
  10. package/dist/esm/2x2x2.sgs.json-FRBWMMA7.js.map +7 -0
  11. package/dist/esm/3d-Q4WSD4BC.js +21 -0
  12. package/dist/esm/3d-Q4WSD4BC.js.map +7 -0
  13. package/dist/esm/alg/index.js +1 -1
  14. package/dist/esm/bluetooth/index.d.ts +1 -1
  15. package/dist/esm/bluetooth/index.js +10 -8
  16. package/dist/esm/bluetooth/index.js.map +3 -3
  17. package/dist/esm/chunk-37EHU3GZ.js +66 -0
  18. package/dist/esm/chunk-37EHU3GZ.js.map +7 -0
  19. package/dist/esm/{chunk-RE7MIN5R.js → chunk-4IUYLRHT.js} +2 -2
  20. package/dist/esm/{chunk-RE7MIN5R.js.map → chunk-4IUYLRHT.js.map} +0 -0
  21. package/dist/esm/chunk-BJIOROQC.js +18 -0
  22. package/dist/esm/chunk-BJIOROQC.js.map +7 -0
  23. package/dist/esm/{chunk-MUQMBH2S.js → chunk-DK6PXBB2.js} +16 -4
  24. package/dist/esm/chunk-DK6PXBB2.js.map +7 -0
  25. package/dist/esm/chunk-DPMEZY7V.js +1552 -0
  26. package/dist/esm/chunk-DPMEZY7V.js.map +7 -0
  27. package/dist/esm/{chunk-BU5PUJK3.js → chunk-EWRBHQFX.js} +1 -1
  28. package/dist/esm/{chunk-BU5PUJK3.js.map → chunk-EWRBHQFX.js.map} +1 -1
  29. package/dist/esm/chunk-FK2SCC3Z.js +499 -0
  30. package/dist/esm/chunk-FK2SCC3Z.js.map +7 -0
  31. package/dist/esm/chunk-JZWB7AIU.js +115 -0
  32. package/dist/esm/chunk-JZWB7AIU.js.map +7 -0
  33. package/dist/esm/chunk-MLOCDLUF.js +226 -0
  34. package/dist/esm/chunk-MLOCDLUF.js.map +7 -0
  35. package/dist/esm/{chunk-APIIMJG6.js → chunk-N3RNWU5T.js} +450 -1052
  36. package/dist/esm/chunk-N3RNWU5T.js.map +7 -0
  37. package/dist/esm/chunk-PUPUQWJC.js +4065 -0
  38. package/dist/esm/chunk-PUPUQWJC.js.map +7 -0
  39. package/dist/esm/{chunk-YV3RT5PX.js → chunk-X6JHXPDX.js} +2 -2
  40. package/dist/esm/{chunk-YV3RT5PX.js.map → chunk-X6JHXPDX.js.map} +0 -0
  41. package/dist/esm/chunk-XVZOMB6J.js +89 -0
  42. package/dist/esm/chunk-XVZOMB6J.js.map +7 -0
  43. package/dist/esm/chunk-Z6X7HTPP.js +103 -0
  44. package/dist/esm/chunk-Z6X7HTPP.js.map +7 -0
  45. package/dist/esm/entry-L6CE2HLF.js +531 -0
  46. package/dist/esm/entry-L6CE2HLF.js.map +7 -0
  47. package/dist/esm/esm-test-worker.js +3 -14
  48. package/dist/esm/esm-test-worker.js.map +3 -3
  49. package/dist/esm/fto.sgs.json-62YNULOK.js +649 -0
  50. package/dist/esm/fto.sgs.json-62YNULOK.js.map +7 -0
  51. package/dist/esm/gwt-B7CBESZR.js +1669 -0
  52. package/dist/esm/gwt-B7CBESZR.js.map +7 -0
  53. package/dist/esm/kpuzzle/index.js +2 -2
  54. package/dist/esm/megaminx.sgs.json-PRL46G5J.js +16 -0
  55. package/dist/esm/megaminx.sgs.json-PRL46G5J.js.map +7 -0
  56. package/dist/esm/module-entry-J2N3UZP7.js +18 -0
  57. package/dist/esm/module-entry-J2N3UZP7.js.map +7 -0
  58. package/dist/esm/{node-BSAQKO3G.js → node-SP4L2AKI.js} +2 -2
  59. package/dist/esm/{node-BSAQKO3G.js.map → node-SP4L2AKI.js.map} +1 -1
  60. package/dist/esm/{node-WEHVBEKP.js → node-W3AD4HBK.js} +3 -2
  61. package/dist/esm/node-W3AD4HBK.js.map +7 -0
  62. package/dist/esm/notation/index.js +2 -2
  63. package/dist/esm/protocol/index.js +2 -2
  64. package/dist/esm/puzzle-geometry/index.js +13 -4049
  65. package/dist/esm/puzzle-geometry/index.js.map +3 -3
  66. package/dist/esm/puzzles/index.js +3 -3
  67. package/dist/esm/pyraminx.sgs.json-7QMPT5XP.js +14 -0
  68. package/dist/esm/pyraminx.sgs.json-7QMPT5XP.js.map +7 -0
  69. package/dist/esm/scramble/index.js +6 -4
  70. package/dist/esm/scramble_444-JP3CWLJM.js +2572 -0
  71. package/dist/esm/scramble_444-JP3CWLJM.js.map +7 -0
  72. package/dist/esm/scramble_sq1-PQ2AYBFW.js +706 -0
  73. package/dist/esm/scramble_sq1-PQ2AYBFW.js.map +7 -0
  74. package/dist/esm/search/index.js +8 -5
  75. package/dist/esm/skewb.sgs.json-FWHYACJG.js +16 -0
  76. package/dist/esm/skewb.sgs.json-FWHYACJG.js.map +7 -0
  77. package/dist/esm/stream/index.js +1 -1
  78. package/dist/esm/twisty/index.js +721 -2343
  79. package/dist/esm/twisty/index.js.map +3 -3
  80. package/dist/esm/worker-inside-generated-string-OWJA5IIQ.js +3450 -0
  81. package/dist/esm/worker-inside-generated-string-OWJA5IIQ.js.map +7 -0
  82. package/dist/types/alg/index.d.ts +1 -0
  83. package/dist/types/alg/index.d.ts.map +1 -1
  84. package/dist/types/alg/units/leaves/Move.d.ts +1 -1
  85. package/dist/types/alg/units/leaves/Move.d.ts.map +1 -1
  86. package/dist/types/bluetooth/smart-puzzle/gan.d.ts.map +1 -1
  87. package/dist/types/cubing.bundle-global.exports.d.ts +25 -0
  88. package/dist/types/cubing.bundle-global.exports.d.ts.map +1 -0
  89. package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts +3 -0
  90. package/dist/types/puzzle-geometry/PGPuzzles.spec.d.ts.map +1 -1
  91. package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts +7 -3
  92. package/dist/types/puzzle-geometry/PuzzleGeometry.d.ts.map +1 -1
  93. package/dist/types/puzzle-geometry/index.d.ts +1 -1
  94. package/dist/types/puzzle-geometry/index.d.ts.map +1 -1
  95. package/dist/types/puzzles/index.d.ts +1 -1
  96. package/dist/types/puzzles/index.d.ts.map +1 -1
  97. package/dist/types/puzzles/stickerings/cube-stickerings.d.ts.map +1 -1
  98. package/dist/types/search/inside/api.d.ts.map +1 -1
  99. package/dist/types/search/inside/module-entry-path-getter.d.ts +2 -0
  100. package/dist/types/search/inside/module-entry-path-getter.d.ts.map +1 -0
  101. package/dist/types/search/inside/module-entry.d.ts +2 -0
  102. package/dist/types/search/inside/module-entry.d.ts.map +1 -0
  103. package/dist/types/search/inside/solve/puzzles/3x3x3/index.d.ts.map +1 -1
  104. package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts +2 -1
  105. package/dist/types/search/inside/solve/puzzles/4x4x4.d.ts.map +1 -1
  106. package/dist/types/search/inside/solve/puzzles/fto.d.ts +6 -0
  107. package/dist/types/search/inside/solve/puzzles/fto.d.ts.map +1 -0
  108. package/dist/types/search/inside/solve/puzzles/fto.sgs.json.d.ts +5 -0
  109. package/dist/types/search/inside/solve/puzzles/fto.sgs.json.d.ts.map +1 -0
  110. package/dist/types/search/inside/solve/puzzles/sq1.d.ts.map +1 -1
  111. package/dist/types/search/inside/solve/tremble.d.ts.map +1 -1
  112. package/dist/types/search/instantiator.d.ts +1 -2
  113. package/dist/types/search/instantiator.d.ts.map +1 -1
  114. package/dist/types/search/worker-inside-generated-string.d.ts +1 -1
  115. package/dist/types/search/worker-inside-generated-string.d.ts.map +1 -1
  116. package/dist/types/twisty/{old/animation/cursor/CursorTypes.d.ts → controllers/AnimationTypes.d.ts} +10 -3
  117. package/dist/types/twisty/controllers/AnimationTypes.d.ts.map +1 -0
  118. package/dist/types/twisty/{old/animation → controllers}/RenderScheduler.d.ts +0 -0
  119. package/dist/types/twisty/controllers/RenderScheduler.d.ts.map +1 -0
  120. package/dist/types/twisty/controllers/TwistyAnimationController.d.ts +1 -1
  121. package/dist/types/twisty/controllers/TwistyAnimationController.d.ts.map +1 -1
  122. package/dist/types/twisty/{old/animation → controllers}/easing.d.ts +0 -0
  123. package/dist/types/twisty/controllers/easing.d.ts.map +1 -0
  124. package/dist/types/twisty/{old/animation → controllers}/indexer/AlgDuration.d.ts +2 -2
  125. package/dist/types/twisty/controllers/indexer/AlgDuration.d.ts.map +1 -0
  126. package/dist/types/twisty/{old/animation → controllers}/indexer/AlgIndexer.d.ts +3 -3
  127. package/dist/types/twisty/controllers/indexer/AlgIndexer.d.ts.map +1 -0
  128. package/dist/types/twisty/{old/animation → controllers}/indexer/SimpleAlgIndexer.d.ts +3 -3
  129. package/dist/types/twisty/controllers/indexer/SimpleAlgIndexer.d.ts.map +1 -0
  130. package/dist/types/twisty/{old/animation → controllers}/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts +3 -3
  131. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts.map +1 -0
  132. package/dist/types/twisty/{old/animation → controllers}/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts +3 -3
  133. package/dist/types/twisty/controllers/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts.map +1 -0
  134. package/dist/types/twisty/{old/animation → controllers}/indexer/simultaneous-moves/simul-moves.d.ts +2 -2
  135. package/dist/types/twisty/controllers/indexer/simultaneous-moves/simul-moves.d.ts.map +1 -0
  136. package/dist/types/twisty/{old/animation → controllers}/indexer/tree/AlgWalker.d.ts +2 -2
  137. package/dist/types/twisty/controllers/indexer/tree/AlgWalker.d.ts.map +1 -0
  138. package/dist/types/twisty/{old/animation → controllers}/indexer/tree/TreeAlgIndexer.d.ts +3 -3
  139. package/dist/types/twisty/controllers/indexer/tree/TreeAlgIndexer.d.ts.map +1 -0
  140. package/dist/types/twisty/controllers/indexer/tree/chunkAlgs.d.ts +3 -0
  141. package/dist/types/twisty/controllers/indexer/tree/chunkAlgs.d.ts.map +1 -0
  142. package/dist/types/twisty/{old/animation → controllers}/stream/timeline-move-calculation-draft.d.ts +2 -2
  143. package/dist/types/twisty/controllers/stream/timeline-move-calculation-draft.d.ts.map +1 -0
  144. package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts +1 -2
  145. package/dist/types/twisty/heavy-code-imports/dynamic-entries/3d.d.ts.map +1 -1
  146. package/dist/types/twisty/index.d.ts +8 -11
  147. package/dist/types/twisty/index.d.ts.map +1 -1
  148. package/dist/types/twisty/model/TwistyPlayerModel.d.ts +11 -0
  149. package/dist/types/twisty/model/TwistyPlayerModel.d.ts.map +1 -1
  150. package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts +1 -1
  151. package/dist/types/twisty/model/props/TwistyPropDebugger.d.ts.map +1 -1
  152. package/dist/types/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts +6 -0
  153. package/dist/types/twisty/model/props/puzzle/display/FoundationDisplayProp.d.ts.map +1 -0
  154. package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts +5 -1
  155. package/dist/types/twisty/model/props/puzzle/display/HintFaceletProp.d.ts.map +1 -1
  156. package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts +46 -1
  157. package/dist/types/twisty/model/props/puzzle/display/StickeringProp.d.ts.map +1 -1
  158. package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts +2 -2
  159. package/dist/types/twisty/model/props/puzzle/state/AnchoredStartProp.d.ts.map +1 -1
  160. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesProp.d.ts +1 -1
  161. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesProp.d.ts.map +1 -1
  162. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts +1 -1
  163. package/dist/types/twisty/model/props/puzzle/state/CurrentLeavesSimplified.d.ts.map +1 -1
  164. package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts +1 -1
  165. package/dist/types/twisty/model/props/puzzle/state/CurrentTransformationProp.d.ts.map +1 -1
  166. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts +5 -2
  167. package/dist/types/twisty/model/props/puzzle/state/IndexerConstructorProp.d.ts.map +1 -1
  168. package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts +2 -2
  169. package/dist/types/twisty/model/props/puzzle/state/IndexerProp.d.ts.map +1 -1
  170. package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts +2 -2
  171. package/dist/types/twisty/model/props/puzzle/state/LegacyPositionProp.d.ts.map +1 -1
  172. package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts +11 -0
  173. package/dist/types/twisty/model/props/puzzle/state/MovePressInputProp.d.ts.map +1 -0
  174. package/dist/types/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts +10 -0
  175. package/dist/types/twisty/model/props/puzzle/state/NaiveMoveCountProp.d.ts.map +1 -0
  176. package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts +5 -1
  177. package/dist/types/twisty/model/props/puzzle/state/SetupAnchorProp.d.ts.map +1 -1
  178. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts +1 -1
  179. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDProp.d.ts.map +1 -1
  180. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts +19 -1
  181. package/dist/types/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.d.ts.map +1 -1
  182. package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts +1 -1
  183. package/dist/types/twisty/model/props/puzzle/structure/PuzzleLoaderProp.d.ts.map +1 -1
  184. package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts +2 -3
  185. package/dist/types/twisty/model/props/timeline/DetailedTimelineInfoProp.d.ts.map +1 -1
  186. package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts +1 -1
  187. package/dist/types/twisty/model/props/timeline/PlayingInfoProp.d.ts.map +1 -1
  188. package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts +1 -1
  189. package/dist/types/twisty/model/props/timeline/TimestampRequestProp.d.ts.map +1 -1
  190. package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts +6 -1
  191. package/dist/types/twisty/model/props/viewer/BackViewProp.d.ts.map +1 -1
  192. package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts +5 -1
  193. package/dist/types/twisty/model/props/viewer/BackgroundProp.d.ts.map +1 -1
  194. package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts +5 -1
  195. package/dist/types/twisty/model/props/viewer/ControlPanelProp.d.ts.map +1 -1
  196. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts +18 -5
  197. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesProp.d.ts.map +1 -1
  198. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts +6 -6
  199. package/dist/types/twisty/model/props/viewer/OrbitCoordinatesRequestProp.d.ts.map +1 -1
  200. package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts +2 -2
  201. package/dist/types/twisty/model/props/viewer/TimeRangeProp.d.ts.map +1 -1
  202. package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts +5 -1
  203. package/dist/types/twisty/model/props/viewer/ViewerLinkProp.d.ts.map +1 -1
  204. package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts +7 -1
  205. package/dist/types/twisty/model/props/viewer/VisualizationProp.d.ts.map +1 -1
  206. package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts +1 -1
  207. package/dist/types/twisty/model/props/viewer/VisualizationStrategyProp.d.ts.map +1 -1
  208. package/dist/types/twisty/views/2D/Twisty2DPuzzle.css.d.ts +3 -0
  209. package/dist/types/twisty/views/2D/Twisty2DPuzzle.css.d.ts.map +1 -0
  210. package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts +4 -6
  211. package/dist/types/twisty/views/2D/Twisty2DPuzzle.d.ts.map +1 -1
  212. package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts +1 -1
  213. package/dist/types/twisty/views/2D/Twisty2DPuzzleWrapper.d.ts.map +1 -1
  214. package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts +2 -2
  215. package/dist/types/twisty/views/2D/Twisty2DSceneWrapper.d.ts.map +1 -1
  216. package/dist/types/twisty/views/3D/DragTracker.d.ts +28 -0
  217. package/dist/types/twisty/views/3D/DragTracker.d.ts.map +1 -0
  218. package/dist/types/twisty/views/3D/RendererPool.d.ts.map +1 -1
  219. package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts +6 -1
  220. package/dist/types/twisty/views/3D/Twisty3DPuzzleWrapper.d.ts.map +1 -1
  221. package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts +9 -4
  222. package/dist/types/twisty/views/3D/Twisty3DSceneWrapper.d.ts.map +1 -1
  223. package/dist/types/twisty/views/3D/Twisty3DVantage.css.d.ts +3 -0
  224. package/dist/types/twisty/views/3D/Twisty3DVantage.css.d.ts.map +1 -0
  225. package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts +11 -7
  226. package/dist/types/twisty/views/3D/Twisty3DVantage.d.ts.map +1 -1
  227. package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts +24 -0
  228. package/dist/types/twisty/views/3D/TwistyOrbitControls.d.ts.map +1 -0
  229. package/dist/types/twisty/views/3D/TwistyOrbitControls.spec.d.ts +5 -0
  230. package/dist/types/twisty/views/3D/TwistyOrbitControls.spec.d.ts.map +1 -0
  231. package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts +4 -4
  232. package/dist/types/twisty/views/3D/puzzles/Cube3D.d.ts.map +1 -1
  233. package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts +17 -10
  234. package/dist/types/twisty/views/3D/puzzles/PG3D.d.ts.map +1 -1
  235. package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts +1 -1
  236. package/dist/types/twisty/views/3D/puzzles/Twisty3DPuzzle.d.ts.map +1 -1
  237. package/dist/types/twisty/{old/dom/element → views}/ClassListManager.d.ts +0 -0
  238. package/dist/types/twisty/views/ClassListManager.d.ts.map +1 -0
  239. package/dist/types/twisty/{old/dom/element → views}/ManagedCustomElement.d.ts +0 -0
  240. package/dist/types/twisty/views/ManagedCustomElement.d.ts.map +1 -0
  241. package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts +1 -1
  242. package/dist/types/twisty/views/TwistyAlgEditor/LeafTokens.d.ts.map +1 -1
  243. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts +1 -1
  244. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.d.ts.map +1 -1
  245. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts +2 -1
  246. package/dist/types/twisty/views/TwistyAlgEditor/TwistyAlgEditor.d.ts.map +1 -1
  247. package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts +1 -1
  248. package/dist/types/twisty/views/TwistyAlgViewer.css.d.ts.map +1 -1
  249. package/dist/types/twisty/views/TwistyAlgViewer.d.ts +2 -2
  250. package/dist/types/twisty/views/TwistyAlgViewer.d.ts.map +1 -1
  251. package/dist/types/twisty/views/TwistyPlayer.css.d.ts +3 -0
  252. package/dist/types/twisty/views/TwistyPlayer.css.d.ts.map +1 -0
  253. package/dist/types/twisty/views/TwistyPlayer.d.ts +7 -3
  254. package/dist/types/twisty/views/TwistyPlayer.d.ts.map +1 -1
  255. package/dist/types/twisty/views/TwistyPlayerSettable.d.ts +7 -4
  256. package/dist/types/twisty/views/TwistyPlayerSettable.d.ts.map +1 -1
  257. package/dist/types/twisty/views/TwistyViewerWrapper.css.d.ts +3 -0
  258. package/dist/types/twisty/views/TwistyViewerWrapper.css.d.ts.map +1 -0
  259. package/dist/types/twisty/{old/dom/viewers → views}/canvas.d.ts +0 -0
  260. package/dist/types/twisty/views/canvas.d.ts.map +1 -0
  261. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.css.d.ts +4 -0
  262. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.css.d.ts.map +1 -0
  263. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts +1 -1
  264. package/dist/types/twisty/views/control-panel/TwistyButtonsV2.d.ts.map +1 -1
  265. package/dist/types/twisty/views/control-panel/TwistyScrubber.css.d.ts +3 -0
  266. package/dist/types/twisty/{old/dom/controls → views/control-panel}/TwistyScrubber.css.d.ts.map +1 -1
  267. package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts +1 -1
  268. package/dist/types/twisty/views/control-panel/TwistyScrubberV2.d.ts.map +1 -1
  269. package/dist/types/twisty/{old/dom/element → views}/node-custom-element-shims.d.ts +0 -0
  270. package/dist/types/twisty/views/node-custom-element-shims.d.ts.map +1 -0
  271. package/dist/types/twisty/views/stream/TwistyStreamSource.css.d.ts +3 -0
  272. package/dist/types/twisty/views/stream/TwistyStreamSource.css.d.ts.map +1 -0
  273. package/dist/types/twisty/{old/dom → views}/stream/TwistyStreamSource.d.ts +1 -1
  274. package/dist/types/twisty/views/stream/TwistyStreamSource.d.ts.map +1 -0
  275. package/dist/types/{search/vendor → vendor}/comlink-everywhere/inside/index.d.ts +0 -0
  276. package/dist/types/vendor/comlink-everywhere/inside/index.d.ts.map +1 -0
  277. package/dist/types/{search/vendor → vendor}/comlink-everywhere/inside/node.d.ts +0 -0
  278. package/dist/types/vendor/comlink-everywhere/inside/node.d.ts.map +1 -0
  279. package/dist/types/{search/vendor → vendor}/comlink-everywhere/outside/index.d.ts +0 -0
  280. package/dist/types/vendor/comlink-everywhere/outside/index.d.ts.map +1 -0
  281. package/dist/types/{search/vendor → vendor}/comlink-everywhere/outside/node.d.ts +0 -0
  282. package/dist/types/vendor/comlink-everywhere/outside/node.d.ts.map +1 -0
  283. package/dist/types/{search/inside/solve/vendor → vendor}/cstimer/src/js/lib/mathlib.d.ts +0 -0
  284. package/dist/types/vendor/cstimer/src/js/lib/mathlib.d.ts.map +1 -0
  285. package/dist/types/{search/inside/solve/vendor → vendor}/cstimer/src/js/scramble/scramble_444.d.ts +1 -1
  286. package/dist/types/vendor/cstimer/src/js/scramble/scramble_444.d.ts.map +1 -0
  287. package/dist/types/{search/inside/solve/vendor → vendor}/min2phase/gwt.d.ts +0 -0
  288. package/dist/types/vendor/min2phase/gwt.d.ts.map +1 -0
  289. package/dist/types/{search/inside/solve/vendor → vendor}/random-uint-below/get-random-values.d.ts +0 -0
  290. package/dist/types/vendor/random-uint-below/get-random-values.d.ts.map +1 -0
  291. package/dist/types/{search/inside/solve/vendor → vendor}/random-uint-below/index.d.ts +1 -1
  292. package/dist/types/vendor/random-uint-below/index.d.ts.map +1 -0
  293. package/dist/types/{search/inside/solve/vendor → vendor}/random-uint-below/random-choice.d.ts +0 -0
  294. package/dist/types/vendor/random-uint-below/random-choice.d.ts.map +1 -0
  295. package/dist/types/{search/inside/solve/vendor/random-uint-below/random-int.d.ts → vendor/random-uint-below/random53BitValue.d.ts} +1 -1
  296. package/dist/types/vendor/random-uint-below/random53BitValue.d.ts.map +1 -0
  297. package/dist/types/{search/inside/solve/vendor → vendor}/sq12phase/scramble_sq1.d.ts +0 -0
  298. package/dist/types/vendor/sq12phase/scramble_sq1.d.ts.map +1 -0
  299. package/dist/types/{bluetooth/smart-puzzle → vendor/unsafe-raw-aes}/unsafe-raw-aes.d.ts +0 -0
  300. package/dist/types/vendor/unsafe-raw-aes/unsafe-raw-aes.d.ts.map +1 -0
  301. package/docs/.DS_Store +0 -0
  302. package/docs/cubing/.DS_Store +0 -0
  303. package/docs/cubing/api/index.html +11 -52
  304. package/docs/cubing/index.html +67 -27
  305. package/docs/main.css +7 -6
  306. package/kpuzzle/package.json +1 -3
  307. package/notation/package.json +1 -3
  308. package/package.json +9 -14
  309. package/protocol/package.json +1 -3
  310. package/puzzle-geometry/package.json +1 -3
  311. package/puzzles/package.json +1 -3
  312. package/scramble/package.json +1 -3
  313. package/search/package.json +1 -3
  314. package/src/cubing/.DS_Store +0 -0
  315. package/src/cubing/alg/index.ts +1 -0
  316. package/src/cubing/alg/units/leaves/Move.ts +1 -1
  317. package/src/cubing/bluetooth/smart-puzzle/gan.ts +4 -1
  318. package/src/cubing/bluetooth/smart-timer/GanTimer.ts +1 -1
  319. package/src/cubing/cubing.bundle-global.exports.ts +25 -0
  320. package/src/cubing/cubing.bundle-global.ts +3 -31
  321. package/src/cubing/puzzle-geometry/PGPuzzles.spec.ts +4 -0
  322. package/src/cubing/puzzle-geometry/PuzzleGeometry.ts +20 -8
  323. package/src/cubing/puzzle-geometry/index.ts +2 -2
  324. package/src/cubing/puzzles/index.ts +1 -1
  325. package/src/cubing/puzzles/stickerings/cube-stickerings.ts +18 -0
  326. package/src/cubing/puzzles/stickerings/global-custom-stickering-hack.ts +1 -1
  327. package/src/cubing/{twisty/views/3D → search}/.DS_Store +0 -0
  328. package/src/cubing/search/esm-test-worker.js +1 -1
  329. package/src/cubing/{twisty → search/inside}/.DS_Store +0 -0
  330. package/src/cubing/search/inside/api.ts +3 -0
  331. package/src/cubing/search/inside/entry.js +1 -1
  332. package/src/cubing/search/inside/inside-worker.ts +1 -1
  333. package/src/cubing/search/inside/module-entry-path-getter.ts +5 -0
  334. package/src/cubing/search/inside/module-entry.ts +20 -0
  335. package/src/cubing/search/inside/solve/addOrientationSuffix.ts +1 -1
  336. package/src/cubing/search/inside/solve/puzzles/2x2x2.ts +1 -1
  337. package/src/cubing/search/inside/solve/puzzles/3x3x3/index.ts +14 -4
  338. package/src/cubing/search/inside/solve/puzzles/4x4x4.ts +19 -5
  339. package/src/cubing/search/inside/solve/puzzles/big-cubes.ts +1 -1
  340. package/src/cubing/search/inside/solve/puzzles/clock.ts +1 -1
  341. package/src/cubing/search/inside/solve/puzzles/fto.sgs.json.ts +643 -0
  342. package/src/cubing/search/inside/solve/puzzles/fto.ts +58 -0
  343. package/src/cubing/search/inside/solve/puzzles/sq1.ts +12 -2
  344. package/src/cubing/search/inside/solve/puzzles/wca-minx.ts +1 -1
  345. package/src/cubing/search/inside/solve/tremble.ts +2 -1
  346. package/src/cubing/search/instantiator.ts +76 -41
  347. package/src/cubing/search/worker-inside-generated-string.js +1 -1
  348. package/src/cubing/twisty/{old/animation/cursor/CursorTypes.ts → controllers/AnimationTypes.ts} +11 -2
  349. package/src/cubing/twisty/{old/animation → controllers}/RenderScheduler.ts +0 -0
  350. package/src/cubing/twisty/controllers/TwistyAnimationController.ts +4 -4
  351. package/src/cubing/twisty/{old/animation → controllers}/easing.ts +0 -0
  352. package/src/cubing/twisty/{old/animation → controllers}/indexer/AlgDuration.ts +2 -2
  353. package/src/cubing/twisty/{old/animation → controllers}/indexer/AlgIndexer.ts +4 -4
  354. package/src/cubing/twisty/{old/animation → controllers}/indexer/SimpleAlgIndexer.ts +4 -4
  355. package/src/cubing/twisty/{old/animation → controllers}/indexer/simultaneous-moves/SimultaneousMoveIndexer.ts +3 -3
  356. package/src/cubing/twisty/{old/animation → controllers}/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.ts +3 -3
  357. package/src/cubing/twisty/{old/animation → controllers}/indexer/simultaneous-moves/simul-moves.ts +2 -2
  358. package/src/cubing/twisty/{old/animation → controllers}/indexer/tree/AlgWalker.ts +4 -4
  359. package/src/cubing/twisty/{old/animation → controllers}/indexer/tree/TreeAlgIndexer.ts +3 -3
  360. package/src/cubing/twisty/{old/animation → controllers}/indexer/tree/chunkAlgs.ts +2 -2
  361. package/src/cubing/twisty/{old/animation → controllers}/stream/timeline-move-calculation-draft.spec.ts.TODO +0 -0
  362. package/src/cubing/twisty/{old/animation → controllers}/stream/timeline-move-calculation-draft.ts +2 -2
  363. package/src/cubing/twisty/heavy-code-imports/dynamic-entries/3d.ts +2 -12
  364. package/src/cubing/twisty/index.ts +11 -18
  365. package/src/cubing/twisty/model/TwistyPlayerModel.ts +38 -7
  366. package/src/cubing/twisty/model/props/TwistyPropDebugger.ts +3 -3
  367. package/src/cubing/twisty/model/props/puzzle/display/FoundationDisplayProp.ts +9 -0
  368. package/src/cubing/twisty/model/props/puzzle/display/HintFaceletProp.ts +6 -1
  369. package/src/cubing/twisty/model/props/puzzle/display/StickeringProp.ts +49 -1
  370. package/src/cubing/twisty/model/props/puzzle/state/AlgTransformationProp.ts +1 -1
  371. package/src/cubing/twisty/model/props/puzzle/state/AnchoredStartProp.ts +2 -2
  372. package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesProp.ts +2 -2
  373. package/src/cubing/twisty/model/props/puzzle/state/CurrentLeavesSimplified.ts +1 -1
  374. package/src/cubing/twisty/model/props/puzzle/state/CurrentTransformationProp.ts +1 -1
  375. package/src/cubing/twisty/model/props/puzzle/state/IndexerConstructorProp.ts +12 -5
  376. package/src/cubing/twisty/model/props/puzzle/state/IndexerProp.ts +2 -2
  377. package/src/cubing/twisty/model/props/puzzle/state/LegacyPositionProp.ts +2 -2
  378. package/src/cubing/twisty/model/props/puzzle/state/MovePressInputProp.ts +14 -0
  379. package/src/cubing/twisty/model/props/puzzle/state/NaiveMoveCountProp.ts +20 -0
  380. package/src/cubing/twisty/model/props/puzzle/state/SetupAnchorProp.ts +7 -1
  381. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDProp.ts +1 -1
  382. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleIDRequestProp.ts +20 -1
  383. package/src/cubing/twisty/model/props/puzzle/structure/PuzzleLoaderProp.ts +1 -1
  384. package/src/cubing/twisty/model/props/timeline/DetailedTimelineInfoProp.ts +5 -3
  385. package/src/cubing/twisty/model/props/timeline/PlayingInfoProp.ts +1 -4
  386. package/src/cubing/twisty/model/props/timeline/TimestampRequestProp.ts +1 -1
  387. package/src/cubing/twisty/model/props/viewer/BackViewProp.ts +7 -1
  388. package/src/cubing/twisty/model/props/viewer/BackgroundProp.ts +6 -1
  389. package/src/cubing/twisty/model/props/viewer/ControlPanelProp.ts +5 -1
  390. package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesProp.ts +83 -12
  391. package/src/cubing/twisty/model/props/viewer/OrbitCoordinatesRequestProp.ts +8 -8
  392. package/src/cubing/twisty/model/props/viewer/TimeRangeProp.ts +2 -2
  393. package/src/cubing/twisty/model/props/viewer/ViewerLinkProp.ts +5 -1
  394. package/src/cubing/twisty/model/props/viewer/VisualizationProp.ts +8 -1
  395. package/src/cubing/twisty/model/props/viewer/VisualizationStrategyProp.ts +1 -1
  396. package/src/cubing/twisty/{old/dom/viewers/Twisty2DSVGView.css.ts → views/2D/Twisty2DPuzzle.css.ts} +1 -1
  397. package/src/cubing/twisty/views/2D/Twisty2DPuzzle.ts +8 -12
  398. package/src/cubing/twisty/views/2D/Twisty2DPuzzleWrapper.ts +1 -1
  399. package/src/cubing/twisty/views/2D/Twisty2DSceneWrapper.ts +4 -4
  400. package/src/cubing/twisty/views/3D/DragTracker.ts +184 -0
  401. package/src/cubing/twisty/views/3D/RendererPool.ts +2 -1
  402. package/src/cubing/twisty/views/3D/Twisty3DPuzzleWrapper.ts +51 -5
  403. package/src/cubing/twisty/views/3D/Twisty3DSceneWrapper.ts +51 -10
  404. package/src/cubing/twisty/{old/dom/viewers/Twisty3DCanvas.css.ts → views/3D/Twisty3DVantage.css.ts} +2 -2
  405. package/src/cubing/twisty/views/3D/Twisty3DVantage.ts +88 -30
  406. package/src/cubing/twisty/views/3D/TwistyOrbitControls.spec.ts +213 -0
  407. package/src/cubing/twisty/views/3D/TwistyOrbitControls.ts +176 -0
  408. package/src/cubing/twisty/views/3D/puzzles/Cube3D.ts +5 -9
  409. package/src/cubing/twisty/views/3D/puzzles/PG3D.ts +127 -37
  410. package/src/cubing/twisty/views/3D/puzzles/Twisty3DPuzzle.ts +1 -1
  411. package/src/cubing/twisty/{old/dom/element → views}/ClassListManager.ts +0 -0
  412. package/src/cubing/twisty/{old/dom/element → views}/ManagedCustomElement.ts +0 -0
  413. package/src/cubing/twisty/views/TwistyAlgEditor/LeafTokens.ts +1 -1
  414. package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.css.ts +1 -1
  415. package/src/cubing/twisty/views/TwistyAlgEditor/TwistyAlgEditor.ts +11 -4
  416. package/src/cubing/twisty/views/TwistyAlgViewer.css.ts +1 -1
  417. package/src/cubing/twisty/views/TwistyAlgViewer.ts +4 -4
  418. package/src/cubing/twisty/{old/dom → views}/TwistyPlayer.css.ts +4 -1
  419. package/src/cubing/twisty/views/TwistyPlayer.ts +16 -25
  420. package/src/cubing/twisty/views/TwistyPlayerSettable.ts +14 -10
  421. package/src/cubing/twisty/{old/dom/viewers → views}/TwistyViewerWrapper.css.ts +1 -1
  422. package/src/cubing/twisty/{old/dom/viewers → views}/canvas.ts +0 -0
  423. package/src/cubing/twisty/{old/dom/controls/buttons.css.ts → views/control-panel/TwistyButtonsV2.css.ts} +1 -1
  424. package/src/cubing/twisty/views/control-panel/TwistyButtonsV2.ts +5 -8
  425. package/src/cubing/twisty/{old/dom/controls → views/control-panel}/TwistyScrubber.css.ts +1 -1
  426. package/src/cubing/twisty/views/control-panel/TwistyScrubberV2.ts +3 -3
  427. package/src/cubing/twisty/{old/dom/element → views}/node-custom-element-shims.ts +2 -2
  428. package/src/cubing/twisty/{old/dom → views}/stream/TwistyStreamSource.css.ts +1 -1
  429. package/src/cubing/twisty/{old/dom → views}/stream/TwistyStreamSource.ts +9 -9
  430. package/{dist/types → src/cubing/vendor}/.DS_Store +0 -0
  431. package/{dist → src/cubing/vendor/comlink-everywhere}/.DS_Store +0 -0
  432. package/src/cubing/{search/vendor → vendor}/comlink-everywhere/comlink-everywhere.webloc +0 -0
  433. package/src/cubing/{search/vendor → vendor}/comlink-everywhere/inside/index.d.ts +0 -0
  434. package/src/cubing/{search/vendor → vendor}/comlink-everywhere/inside/index.js +0 -0
  435. package/src/cubing/{search/vendor → vendor}/comlink-everywhere/inside/node.js +0 -0
  436. package/src/cubing/{search/vendor → vendor}/comlink-everywhere/outside/index.d.ts +0 -0
  437. package/src/cubing/{search/vendor → vendor}/comlink-everywhere/outside/index.js +0 -0
  438. package/src/cubing/{search/vendor → vendor}/comlink-everywhere/outside/node.js +1 -0
  439. package/src/cubing/vendor/cstimer/.DS_Store +0 -0
  440. package/src/cubing/{search/inside/solve/vendor → vendor}/cstimer/LICENSE +0 -0
  441. package/src/cubing/vendor/cstimer/src/.DS_Store +0 -0
  442. package/src/cubing/{search/inside/solve/vendor → vendor}/cstimer/src/js/lib/mathlib.ts +0 -0
  443. package/src/cubing/{search/inside/solve/vendor → vendor}/cstimer/src/js/scramble/scramble_444.ts +3 -3
  444. package/src/cubing/{search/inside/solve/vendor → vendor}/min2phase/gwt.d.ts +0 -0
  445. package/src/cubing/{search/inside/solve/vendor → vendor}/min2phase/gwt.js +0 -0
  446. package/src/cubing/vendor/random-uint-below/get-random-values.ts +23 -0
  447. package/src/cubing/{search/inside/solve/vendor → vendor}/random-uint-below/index.ts +2 -2
  448. package/src/cubing/{search/inside/solve/vendor → vendor}/random-uint-below/random-choice.ts +1 -1
  449. package/src/cubing/{search/inside/solve/vendor/random-uint-below/random-int.ts → vendor/random-uint-below/random53BitValue.ts} +1 -1
  450. package/src/cubing/{search/inside/solve/vendor → vendor}/sq12phase/scramble_sq1.js +2 -2
  451. package/src/cubing/vendor/three/.DS_Store +0 -0
  452. package/src/cubing/vendor/three/examples/.DS_Store +0 -0
  453. package/src/cubing/{bluetooth/smart-puzzle → vendor/unsafe-raw-aes}/unsafe-raw-aes.ts +18 -20
  454. package/stream/package.json +1 -3
  455. package/twisty/package.json +1 -3
  456. package/alg/index.d.ts +0 -1
  457. package/bluetooth/index.d.ts +0 -1
  458. package/dist/esm/3d-B25DP5PE.js +0 -39
  459. package/dist/esm/3d-B25DP5PE.js.map +0 -7
  460. package/dist/esm/chunk-APIIMJG6.js.map +0 -7
  461. package/dist/esm/chunk-CSVAFZSB.js +0 -1379
  462. package/dist/esm/chunk-CSVAFZSB.js.map +0 -7
  463. package/dist/esm/chunk-MUQMBH2S.js.map +0 -7
  464. package/dist/esm/index.d.ts +0 -1
  465. package/dist/esm/node-WEHVBEKP.js.map +0 -7
  466. package/dist/esm/worker-inside-generated-string-KDZOUGJF.js +0 -2831
  467. package/dist/esm/worker-inside-generated-string-KDZOUGJF.js.map +0 -7
  468. package/dist/types/bluetooth/smart-puzzle/unsafe-raw-aes.d.ts.map +0 -1
  469. package/dist/types/search/inside/solve/vendor/cstimer/src/js/lib/mathlib.d.ts.map +0 -1
  470. package/dist/types/search/inside/solve/vendor/cstimer/src/js/scramble/scramble_444.d.ts.map +0 -1
  471. package/dist/types/search/inside/solve/vendor/min2phase/gwt.d.ts.map +0 -1
  472. package/dist/types/search/inside/solve/vendor/random-uint-below/get-random-values.d.ts.map +0 -1
  473. package/dist/types/search/inside/solve/vendor/random-uint-below/index.d.ts.map +0 -1
  474. package/dist/types/search/inside/solve/vendor/random-uint-below/random-choice.d.ts.map +0 -1
  475. package/dist/types/search/inside/solve/vendor/random-uint-below/random-int.d.ts.map +0 -1
  476. package/dist/types/search/inside/solve/vendor/sq12phase/scramble_sq1.d.ts.map +0 -1
  477. package/dist/types/search/vendor/comlink-everywhere/inside/index.d.ts.map +0 -1
  478. package/dist/types/search/vendor/comlink-everywhere/inside/node.d.ts.map +0 -1
  479. package/dist/types/search/vendor/comlink-everywhere/outside/index.d.ts.map +0 -1
  480. package/dist/types/search/vendor/comlink-everywhere/outside/node.d.ts.map +0 -1
  481. package/dist/types/twisty/old/animation/RenderScheduler.d.ts.map +0 -1
  482. package/dist/types/twisty/old/animation/Timeline.d.ts +0 -72
  483. package/dist/types/twisty/old/animation/Timeline.d.ts.map +0 -1
  484. package/dist/types/twisty/old/animation/cursor/AlgCursor.d.ts +0 -53
  485. package/dist/types/twisty/old/animation/cursor/AlgCursor.d.ts.map +0 -1
  486. package/dist/types/twisty/old/animation/cursor/CursorTypes.d.ts.map +0 -1
  487. package/dist/types/twisty/old/animation/easing.d.ts.map +0 -1
  488. package/dist/types/twisty/old/animation/indexer/AlgDuration.d.ts.map +0 -1
  489. package/dist/types/twisty/old/animation/indexer/AlgIndexer.d.ts.map +0 -1
  490. package/dist/types/twisty/old/animation/indexer/SimpleAlgIndexer.d.ts.map +0 -1
  491. package/dist/types/twisty/old/animation/indexer/simultaneous-moves/SimultaneousMoveIndexer.d.ts.map +0 -1
  492. package/dist/types/twisty/old/animation/indexer/simultaneous-moves/SimultaneousMoveIndexerV2.d.ts.map +0 -1
  493. package/dist/types/twisty/old/animation/indexer/simultaneous-moves/simul-moves.d.ts.map +0 -1
  494. package/dist/types/twisty/old/animation/indexer/tree/AlgWalker.d.ts.map +0 -1
  495. package/dist/types/twisty/old/animation/indexer/tree/TreeAlgIndexer.d.ts.map +0 -1
  496. package/dist/types/twisty/old/animation/indexer/tree/chunkAlgs.d.ts +0 -3
  497. package/dist/types/twisty/old/animation/indexer/tree/chunkAlgs.d.ts.map +0 -1
  498. package/dist/types/twisty/old/animation/stream/timeline-move-calculation-draft.d.ts.map +0 -1
  499. package/dist/types/twisty/old/dom/TwistyAlgViewerV1.css.d.ts +0 -3
  500. package/dist/types/twisty/old/dom/TwistyAlgViewerV1.css.d.ts.map +0 -1
  501. package/dist/types/twisty/old/dom/TwistyAlgViewerV1.d.ts +0 -52
  502. package/dist/types/twisty/old/dom/TwistyAlgViewerV1.d.ts.map +0 -1
  503. package/dist/types/twisty/old/dom/TwistyPlayer.css.d.ts +0 -3
  504. package/dist/types/twisty/old/dom/TwistyPlayer.css.d.ts.map +0 -1
  505. package/dist/types/twisty/old/dom/TwistyPlayer.d.ts +0 -92
  506. package/dist/types/twisty/old/dom/TwistyPlayer.d.ts.map +0 -1
  507. package/dist/types/twisty/old/dom/TwistyPlayer.spec.d.ts +0 -5
  508. package/dist/types/twisty/old/dom/TwistyPlayer.spec.d.ts.map +0 -1
  509. package/dist/types/twisty/old/dom/TwistyPlayerConfig.d.ts +0 -165
  510. package/dist/types/twisty/old/dom/TwistyPlayerConfig.d.ts.map +0 -1
  511. package/dist/types/twisty/old/dom/controls/TwistyControlElement.d.ts +0 -2
  512. package/dist/types/twisty/old/dom/controls/TwistyControlElement.d.ts.map +0 -1
  513. package/dist/types/twisty/old/dom/controls/TwistyScrubber.css.d.ts +0 -3
  514. package/dist/types/twisty/old/dom/controls/TwistyScrubber.d.ts +0 -14
  515. package/dist/types/twisty/old/dom/controls/TwistyScrubber.d.ts.map +0 -1
  516. package/dist/types/twisty/old/dom/controls/buttons.css.d.ts +0 -4
  517. package/dist/types/twisty/old/dom/controls/buttons.css.d.ts.map +0 -1
  518. package/dist/types/twisty/old/dom/controls/buttons.d.ts +0 -40
  519. package/dist/types/twisty/old/dom/controls/buttons.d.ts.map +0 -1
  520. package/dist/types/twisty/old/dom/controls/buttons.spec.d.ts +0 -5
  521. package/dist/types/twisty/old/dom/controls/buttons.spec.d.ts.map +0 -1
  522. package/dist/types/twisty/old/dom/element/ClassListManager.d.ts.map +0 -1
  523. package/dist/types/twisty/old/dom/element/ElementConfig.d.ts +0 -49
  524. package/dist/types/twisty/old/dom/element/ElementConfig.d.ts.map +0 -1
  525. package/dist/types/twisty/old/dom/element/ManagedCustomElement.d.ts.map +0 -1
  526. package/dist/types/twisty/old/dom/element/node-custom-element-shims.d.ts.map +0 -1
  527. package/dist/types/twisty/old/dom/stream/TwistyStreamSource.css.d.ts +0 -3
  528. package/dist/types/twisty/old/dom/stream/TwistyStreamSource.css.d.ts.map +0 -1
  529. package/dist/types/twisty/old/dom/stream/TwistyStreamSource.d.ts.map +0 -1
  530. package/dist/types/twisty/old/dom/viewers/Twisty2DSVG.d.ts +0 -26
  531. package/dist/types/twisty/old/dom/viewers/Twisty2DSVG.d.ts.map +0 -1
  532. package/dist/types/twisty/old/dom/viewers/Twisty2DSVGView.css.d.ts +0 -3
  533. package/dist/types/twisty/old/dom/viewers/Twisty2DSVGView.css.d.ts.map +0 -1
  534. package/dist/types/twisty/old/dom/viewers/Twisty3DCanvas.css.d.ts +0 -3
  535. package/dist/types/twisty/old/dom/viewers/Twisty3DCanvas.css.d.ts.map +0 -1
  536. package/dist/types/twisty/old/dom/viewers/Twisty3DCanvas.d.ts +0 -41
  537. package/dist/types/twisty/old/dom/viewers/Twisty3DCanvas.d.ts.map +0 -1
  538. package/dist/types/twisty/old/dom/viewers/TwistyOrbitControls.d.ts +0 -59
  539. package/dist/types/twisty/old/dom/viewers/TwistyOrbitControls.d.ts.map +0 -1
  540. package/dist/types/twisty/old/dom/viewers/TwistyViewerElement.d.ts +0 -4
  541. package/dist/types/twisty/old/dom/viewers/TwistyViewerElement.d.ts.map +0 -1
  542. package/dist/types/twisty/old/dom/viewers/TwistyViewerWrapper.css.d.ts +0 -3
  543. package/dist/types/twisty/old/dom/viewers/TwistyViewerWrapper.css.d.ts.map +0 -1
  544. package/dist/types/twisty/old/dom/viewers/TwistyViewerWrapper.d.ts +0 -18
  545. package/dist/types/twisty/old/dom/viewers/TwistyViewerWrapper.d.ts.map +0 -1
  546. package/dist/types/twisty/old/dom/viewers/canvas.d.ts.map +0 -1
  547. package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.d.ts +0 -41
  548. package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.d.ts.map +0 -1
  549. package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.spec.d.ts +0 -5
  550. package/dist/types/twisty/views/3D/TwistyOrbitControlsV2.spec.d.ts.map +0 -1
  551. package/kpuzzle/index.d.ts +0 -1
  552. package/notation/index.d.ts +0 -1
  553. package/protocol/index.d.ts +0 -1
  554. package/puzzle-geometry/index.d.ts +0 -1
  555. package/puzzles/index.d.ts +0 -1
  556. package/scramble/index.d.ts +0 -1
  557. package/search/index.d.ts +0 -1
  558. package/src/cubing/search/inside/solve/puzzles/FTO.sgs +0 -264
  559. package/src/cubing/search/inside/solve/vendor/random-uint-below/get-random-values.ts +0 -38
  560. package/src/cubing/twisty/old/animation/Timeline.ts +0 -378
  561. package/src/cubing/twisty/old/animation/cursor/AlgCursor.ts +0 -252
  562. package/src/cubing/twisty/old/dom/TwistyAlgViewerV1.css.ts +0 -25
  563. package/src/cubing/twisty/old/dom/TwistyAlgViewerV1.ts +0 -516
  564. package/src/cubing/twisty/old/dom/TwistyPlayer.spec.ts +0 -25
  565. package/src/cubing/twisty/old/dom/TwistyPlayer.ts +0 -927
  566. package/src/cubing/twisty/old/dom/TwistyPlayerConfig.ts +0 -378
  567. package/src/cubing/twisty/old/dom/controls/TwistyControlElement.ts +0 -1
  568. package/src/cubing/twisty/old/dom/controls/TwistyScrubber.ts +0 -53
  569. package/src/cubing/twisty/old/dom/controls/buttons.spec.ts +0 -37
  570. package/src/cubing/twisty/old/dom/controls/buttons.ts +0 -326
  571. package/src/cubing/twisty/old/dom/element/ElementConfig.ts +0 -180
  572. package/src/cubing/twisty/old/dom/viewers/Twisty2DSVG.ts +0 -118
  573. package/src/cubing/twisty/old/dom/viewers/Twisty3DCanvas.ts +0 -256
  574. package/src/cubing/twisty/old/dom/viewers/TwistyOrbitControls.ts +0 -420
  575. package/src/cubing/twisty/old/dom/viewers/TwistyViewerElement.ts +0 -5
  576. package/src/cubing/twisty/old/dom/viewers/TwistyViewerWrapper.ts +0 -45
  577. package/src/cubing/twisty/views/.DS_Store +0 -0
  578. package/src/cubing/twisty/views/3D/TwistyOrbitControlsV2.spec.ts +0 -209
  579. package/src/cubing/twisty/views/3D/TwistyOrbitControlsV2.ts +0 -270
  580. package/stream/index.d.ts +0 -1
  581. package/twisty/index.d.ts +0 -1
@@ -0,0 +1,1669 @@
1
+ import "./chunk-WO2AXYFE.js";
2
+
3
+ // src/cubing/vendor/min2phase/gwt.js
4
+ var $intern_3 = { 3: 1 };
5
+ var $intern_9 = 4194303;
6
+ var $intern_10 = 1048575;
7
+ var $intern_11 = 524288;
8
+ var $intern_20 = 65535;
9
+ var $intern_26 = { 11: 1, 3: 1 };
10
+ var $intern_27 = { 17: 1, 3: 1 };
11
+ var $intern_28 = 14540032;
12
+ var $intern_29 = 286331153;
13
+ var $intern_30 = { 10: 1, 3: 1 };
14
+ var _;
15
+ var prototypesByTypeId_0 = {};
16
+ function typeMarkerFn() {
17
+ }
18
+ function portableObjCreate(obj) {
19
+ function F() {
20
+ }
21
+ F.prototype = obj || {};
22
+ return new F();
23
+ }
24
+ function maybeGetClassLiteralFromPlaceHolder_0(entry) {
25
+ return entry instanceof Array ? entry[0] : null;
26
+ }
27
+ function defineClass(typeId, superTypeId, castableTypeMap) {
28
+ var prototypesByTypeId = prototypesByTypeId_0;
29
+ var createSubclassPrototype = createSubclassPrototype_0;
30
+ var maybeGetClassLiteralFromPlaceHolder = maybeGetClassLiteralFromPlaceHolder_0;
31
+ var prototype_0 = prototypesByTypeId[typeId];
32
+ var clazz = maybeGetClassLiteralFromPlaceHolder(prototype_0);
33
+ if (prototype_0 && !clazz) {
34
+ _ = prototype_0;
35
+ } else {
36
+ _ = prototypesByTypeId[typeId] = !superTypeId ? {} : createSubclassPrototype(superTypeId);
37
+ _.castableTypeMap$ = castableTypeMap;
38
+ _.constructor = _;
39
+ !superTypeId && (_.typeMarker$ = typeMarkerFn);
40
+ }
41
+ for (var i = 3; i < arguments.length; ++i) {
42
+ arguments[i].prototype = _;
43
+ }
44
+ clazz && (_.___clazz$ = clazz);
45
+ }
46
+ function createSubclassPrototype_0(superTypeId) {
47
+ var prototypesByTypeId = prototypesByTypeId_0;
48
+ return portableObjCreate(prototypesByTypeId[superTypeId]);
49
+ }
50
+ function Object_0() {
51
+ }
52
+ defineClass(1, null, {}, Object_0);
53
+ function narrow_byte(x_0) {
54
+ return x_0 << 24 >> 24;
55
+ }
56
+ function Class() {
57
+ this.typeName = null;
58
+ this.simpleName = null;
59
+ this.packageName = null;
60
+ this.compoundName = null;
61
+ this.canonicalName = null;
62
+ this.typeId = null;
63
+ this.arrayLiterals = null;
64
+ }
65
+ function createClassObject(packageName, compoundClassName) {
66
+ var clazz;
67
+ clazz = new Class();
68
+ clazz.packageName = packageName;
69
+ clazz.compoundName = compoundClassName;
70
+ return clazz;
71
+ }
72
+ function createForClass(packageName, compoundClassName, typeId) {
73
+ var clazz;
74
+ clazz = createClassObject(packageName, compoundClassName);
75
+ maybeSetClassLiteral(typeId, clazz);
76
+ return clazz;
77
+ }
78
+ function createForInterface(packageName, compoundClassName) {
79
+ var clazz;
80
+ clazz = createClassObject(packageName, compoundClassName);
81
+ clazz.modifiers = 2;
82
+ return clazz;
83
+ }
84
+ function createForPrimitive(className, primitiveTypeId) {
85
+ var clazz;
86
+ clazz = createClassObject("", className);
87
+ clazz.typeId = primitiveTypeId;
88
+ clazz.modifiers = 1;
89
+ return clazz;
90
+ }
91
+ function getClassLiteralForArray_0(leafClass, dimensions) {
92
+ var arrayLiterals = leafClass.arrayLiterals = leafClass.arrayLiterals || [];
93
+ return arrayLiterals[dimensions] || (arrayLiterals[dimensions] = leafClass.createClassLiteralForArray(dimensions));
94
+ }
95
+ function getPrototypeForClass(clazz) {
96
+ if (clazz.isPrimitive()) {
97
+ return null;
98
+ }
99
+ var typeId = clazz.typeId;
100
+ var prototype_0 = prototypesByTypeId_0[typeId];
101
+ return prototype_0;
102
+ }
103
+ function maybeSetClassLiteral(typeId, clazz) {
104
+ if (!typeId) {
105
+ return;
106
+ }
107
+ clazz.typeId = typeId;
108
+ var prototype_0 = getPrototypeForClass(clazz);
109
+ if (!prototype_0) {
110
+ prototypesByTypeId_0[typeId] = [clazz];
111
+ return;
112
+ }
113
+ prototype_0.___clazz$ = clazz;
114
+ }
115
+ defineClass(79, 1, {}, Class);
116
+ _.createClassLiteralForArray = function createClassLiteralForArray(dimensions) {
117
+ var clazz;
118
+ clazz = new Class();
119
+ clazz.modifiers = 4;
120
+ dimensions > 1 ? clazz.componentType = getClassLiteralForArray_0(this, dimensions - 1) : clazz.componentType = this;
121
+ return clazz;
122
+ };
123
+ _.isPrimitive = function isPrimitive() {
124
+ return (this.modifiers & 1) != 0;
125
+ };
126
+ function getClassLiteralForArray(clazz, dimensions) {
127
+ return getClassLiteralForArray_0(clazz, dimensions);
128
+ }
129
+ function initDim(leafClassLiteral, castableTypeMap, elementTypeId, length_0, elementTypeCategory, dimensions) {
130
+ var result;
131
+ result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0);
132
+ initValues(getClassLiteralForArray(leafClassLiteral, dimensions), castableTypeMap, elementTypeId, elementTypeCategory, result);
133
+ return result;
134
+ }
135
+ function initDims(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, count) {
136
+ return initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, 0, count);
137
+ }
138
+ function initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count) {
139
+ var elementTypeCategory, i, isLastDim, length_0, result;
140
+ length_0 = dimExprs[index_0];
141
+ isLastDim = index_0 == count - 1;
142
+ elementTypeCategory = isLastDim ? leafElementTypeCategory : 0;
143
+ result = initializeArrayElementsWithDefaults(elementTypeCategory, length_0);
144
+ initValues(getClassLiteralForArray(leafClassLiteral, count - index_0), castableTypeMapExprs[index_0], elementTypeIds[index_0], elementTypeCategory, result);
145
+ if (!isLastDim) {
146
+ ++index_0;
147
+ for (i = 0; i < length_0; ++i) {
148
+ result[i] = initDims_0(leafClassLiteral, castableTypeMapExprs, elementTypeIds, leafElementTypeCategory, dimExprs, index_0, count);
149
+ }
150
+ }
151
+ return result;
152
+ }
153
+ function initValues(arrayClass, castableTypeMap, elementTypeId, elementTypeCategory, array) {
154
+ array.___clazz$ = arrayClass;
155
+ array.castableTypeMap$ = castableTypeMap;
156
+ array.typeMarker$ = typeMarkerFn;
157
+ array.__elementTypeId$ = elementTypeId;
158
+ array.__elementTypeCategory$ = elementTypeCategory;
159
+ return array;
160
+ }
161
+ function initializeArrayElementsWithDefaults(elementTypeCategory, length_0) {
162
+ var array = new Array(length_0);
163
+ var initValue;
164
+ switch (elementTypeCategory) {
165
+ case 6:
166
+ initValue = { l: 0, m: 0, h: 0 };
167
+ break;
168
+ case 7:
169
+ initValue = 0;
170
+ break;
171
+ case 8:
172
+ initValue = false;
173
+ break;
174
+ default:
175
+ return array;
176
+ }
177
+ for (var i = 0; i < length_0; ++i) {
178
+ array[i] = initValue;
179
+ }
180
+ return array;
181
+ }
182
+ function create(value_0) {
183
+ var a0, a1, a2;
184
+ a0 = value_0 & $intern_9;
185
+ a1 = value_0 >> 22 & $intern_9;
186
+ a2 = value_0 < 0 ? $intern_10 : 0;
187
+ return create0(a0, a1, a2);
188
+ }
189
+ function create0(l, m, h) {
190
+ return { l, m, h };
191
+ }
192
+ function add_1(a, b) {
193
+ var sum0, sum1, sum2;
194
+ sum0 = a.l + b.l;
195
+ sum1 = a.m + b.m + (sum0 >> 22);
196
+ sum2 = a.h + b.h + (sum1 >> 22);
197
+ return { l: sum0 & $intern_9, m: sum1 & $intern_9, h: sum2 & $intern_10 };
198
+ }
199
+ function and(a, b) {
200
+ return { l: a.l & b.l, m: a.m & b.m, h: a.h & b.h };
201
+ }
202
+ function fromInt(value_0) {
203
+ var rebase, result;
204
+ if (value_0 > -129 && value_0 < 128) {
205
+ rebase = value_0 + 128;
206
+ boxedValues == null && (boxedValues = initDim(Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit, $intern_3, 293, 256, 0, 1));
207
+ result = boxedValues[rebase];
208
+ !result && (result = boxedValues[rebase] = create(value_0));
209
+ return result;
210
+ }
211
+ return create(value_0);
212
+ }
213
+ function gte(a, b) {
214
+ var signa, signb;
215
+ signa = a.h >> 19;
216
+ signb = b.h >> 19;
217
+ return signa == 0 ? signb != 0 || a.h > b.h || a.h == b.h && a.m > b.m || a.h == b.h && a.m == b.m && a.l >= b.l : !(signb == 0 || a.h < b.h || a.h == b.h && a.m < b.m || a.h == b.h && a.m == b.m && a.l < b.l);
218
+ }
219
+ function neq(a, b) {
220
+ return a.l != b.l || a.m != b.m || a.h != b.h;
221
+ }
222
+ function or(a, b) {
223
+ return { l: a.l | b.l, m: a.m | b.m, h: a.h | b.h };
224
+ }
225
+ function shl(a, n) {
226
+ var res0, res1, res2;
227
+ n &= 63;
228
+ if (n < 22) {
229
+ res0 = a.l << n;
230
+ res1 = a.m << n | a.l >> 22 - n;
231
+ res2 = a.h << n | a.m >> 22 - n;
232
+ } else if (n < 44) {
233
+ res0 = 0;
234
+ res1 = a.l << n - 22;
235
+ res2 = a.m << n - 22 | a.l >> 44 - n;
236
+ } else {
237
+ res0 = 0;
238
+ res1 = 0;
239
+ res2 = a.l << n - 44;
240
+ }
241
+ return { l: res0 & $intern_9, m: res1 & $intern_9, h: res2 & $intern_10 };
242
+ }
243
+ function shr(a, n) {
244
+ var a2, negative, res0, res1, res2;
245
+ n &= 63;
246
+ a2 = a.h;
247
+ negative = (a2 & $intern_11) != 0;
248
+ negative && (a2 |= -1048576);
249
+ if (n < 22) {
250
+ res2 = a2 >> n;
251
+ res1 = a.m >> n | a2 << 22 - n;
252
+ res0 = a.l >> n | a.m << 22 - n;
253
+ } else if (n < 44) {
254
+ res2 = negative ? $intern_10 : 0;
255
+ res1 = a2 >> n - 22;
256
+ res0 = a.m >> n - 22 | a2 << 44 - n;
257
+ } else {
258
+ res2 = negative ? $intern_10 : 0;
259
+ res1 = negative ? $intern_9 : 0;
260
+ res0 = a2 >> n - 44;
261
+ }
262
+ return { l: res0 & $intern_9, m: res1 & $intern_9, h: res2 & $intern_10 };
263
+ }
264
+ function sub_0(a, b) {
265
+ var sum0, sum1, sum2;
266
+ sum0 = a.l - b.l;
267
+ sum1 = a.m - b.m + (sum0 >> 22);
268
+ sum2 = a.h - b.h + (sum1 >> 22);
269
+ return { l: sum0 & $intern_9, m: sum1 & $intern_9, h: sum2 & $intern_10 };
270
+ }
271
+ function toInt(a) {
272
+ return a.l | a.m << 22;
273
+ }
274
+ var boxedValues;
275
+ function AbstractStringBuilder(string) {
276
+ this.string = string;
277
+ }
278
+ function max_0(x_0, y_0) {
279
+ return x_0 > y_0 ? x_0 : y_0;
280
+ }
281
+ function min_0(x_0, y_0) {
282
+ return x_0 < y_0 ? x_0 : y_0;
283
+ }
284
+ function $indexOf_0(this$static, str) {
285
+ return this$static.indexOf(str);
286
+ }
287
+ function _String(value_0) {
288
+ return __valueOf(value_0, 0, value_0.length);
289
+ }
290
+ function __valueOf(x_0, start_0, end) {
291
+ var s = "";
292
+ for (var batchStart = start_0; batchStart < end; ) {
293
+ var batchEnd = Math.min(batchStart + 1e4, end);
294
+ s += String.fromCharCode.apply(null, x_0.slice(batchStart, batchEnd));
295
+ batchStart = batchEnd;
296
+ }
297
+ return s;
298
+ }
299
+ function fromCodePoint(codePoint) {
300
+ return String.fromCharCode(codePoint & $intern_20);
301
+ }
302
+ var Ljava_lang_String_2_classLit = createForClass("java.lang", "String", 2);
303
+ function $append(this$static) {
304
+ this$static.string += " ";
305
+ return this$static;
306
+ }
307
+ function $append_1(this$static, x_0) {
308
+ this$static.string += x_0;
309
+ return this$static;
310
+ }
311
+ function StringBuffer() {
312
+ AbstractStringBuilder.call(this, "");
313
+ }
314
+ function equals_7(array1, array2) {
315
+ var i;
316
+ if (array1 === array2) {
317
+ return true;
318
+ }
319
+ if (array1.length != array2.length) {
320
+ return false;
321
+ }
322
+ for (i = 0; i < array1.length; ++i) {
323
+ if (array1[i] != array2[i]) {
324
+ return false;
325
+ }
326
+ }
327
+ return true;
328
+ }
329
+ var $clinit_CoordCube_ran = false;
330
+ function $clinit_CoordCube() {
331
+ if ($clinit_CoordCube_ran) {
332
+ return;
333
+ }
334
+ $clinit_CoordCube_ran = true;
335
+ UDSliceMove = initDims(C_classLit, [$intern_3, $intern_26], [11, 0], 7, [495, 18], 2);
336
+ TwistMove = initDims(C_classLit, [$intern_3, $intern_26], [11, 0], 7, [324, 18], 2);
337
+ FlipMove = initDims(C_classLit, [$intern_3, $intern_26], [11, 0], 7, [336, 18], 2);
338
+ UDSliceConj = initDims(C_classLit, [$intern_3, $intern_26], [11, 0], 7, [495, 8], 2);
339
+ UDSliceTwistPrun = initDim(I_classLit, $intern_27, 0, 20048, 7, 1);
340
+ UDSliceFlipPrun = initDim(I_classLit, $intern_27, 0, 20791, 7, 1);
341
+ TwistFlipPrun = initDim(I_classLit, $intern_27, 0, 82945, 7, 1);
342
+ CPermMove = initDims(C_classLit, [$intern_3, $intern_26], [11, 0], 7, [2768, 10], 2);
343
+ EPermMove = initDims(C_classLit, [$intern_3, $intern_26], [11, 0], 7, [2768, 10], 2);
344
+ MPermMove = initDims(C_classLit, [$intern_3, $intern_26], [11, 0], 7, [24, 10], 2);
345
+ MPermConj = initDims(C_classLit, [$intern_3, $intern_26], [11, 0], 7, [24, 16], 2);
346
+ CCombPConj = initDims(C_classLit, [$intern_3, $intern_26], [11, 0], 7, [140, 16], 2);
347
+ MCPermPrun = initDim(I_classLit, $intern_27, 0, 8305, 7, 1);
348
+ EPermCCombPPrun = initDim(I_classLit, $intern_27, 0, 48441, 7, 1);
349
+ }
350
+ function $doMovePrun(this$static, cc, m) {
351
+ this$static.slice_0 = UDSliceMove[cc.slice_0][m];
352
+ this$static.flip = FlipMove[cc.flip][($clinit_CubieCube(), Sym8Move)[m << 3 | cc.fsym]];
353
+ this$static.fsym = this$static.flip & 7 ^ cc.fsym;
354
+ this$static.flip >>= 3;
355
+ this$static.twist = TwistMove[cc.twist][Sym8Move[m << 3 | cc.tsym]];
356
+ this$static.tsym = this$static.twist & 7 ^ cc.tsym;
357
+ this$static.twist >>= 3;
358
+ this$static.prun = max_0(max_0(getPruning(UDSliceTwistPrun, this$static.twist * 495 + UDSliceConj[this$static.slice_0][this$static.tsym]), getPruning(UDSliceFlipPrun, this$static.flip * 495 + UDSliceConj[this$static.slice_0][this$static.fsym])), getPruning(TwistFlipPrun, this$static.twist << 11 | FlipS2RF[this$static.flip << 3 | this$static.fsym ^ this$static.tsym]));
359
+ return this$static.prun;
360
+ }
361
+ function $doMovePrunConj(this$static, cc, m) {
362
+ m = ($clinit_CubieCube(), SymMove_0)[3][m];
363
+ this$static.flipc = FlipMove[cc.flipc >> 3][Sym8Move[m << 3 | cc.flipc & 7]] ^ cc.flipc & 7;
364
+ this$static.twistc = TwistMove[cc.twistc >> 3][Sym8Move[m << 3 | cc.twistc & 7]] ^ cc.twistc & 7;
365
+ return getPruning(TwistFlipPrun, this$static.twistc >> 3 << 11 | FlipS2RF[this$static.flipc ^ this$static.twistc & 7]);
366
+ }
367
+ function $setWithPrun(this$static, cc, depth) {
368
+ var pc;
369
+ this$static.twist = ($clinit_CubieCube(), TwistR2S)[$getTwist(cc)];
370
+ this$static.flip = FlipR2S[$getFlip(cc)];
371
+ this$static.tsym = this$static.twist & 7;
372
+ this$static.twist = this$static.twist >> 3;
373
+ this$static.prun = getPruning(TwistFlipPrun, this$static.twist << 11 | FlipS2RF[this$static.flip ^ this$static.tsym]);
374
+ if (this$static.prun > depth) {
375
+ return false;
376
+ }
377
+ this$static.fsym = this$static.flip & 7;
378
+ this$static.flip = this$static.flip >> 3;
379
+ this$static.slice_0 = 494 - getComb(cc.ea, 8, true);
380
+ this$static.prun = max_0(this$static.prun, max_0(getPruning(UDSliceTwistPrun, this$static.twist * 495 + UDSliceConj[this$static.slice_0][this$static.tsym]), getPruning(UDSliceFlipPrun, this$static.flip * 495 + UDSliceConj[this$static.slice_0][this$static.fsym])));
381
+ if (this$static.prun > depth) {
382
+ return false;
383
+ }
384
+ pc = new CubieCube();
385
+ CornConjugate(cc, 1, pc);
386
+ EdgeConjugate(cc, 1, pc);
387
+ this$static.twistc = TwistR2S[$getTwist(pc)];
388
+ this$static.flipc = FlipR2S[$getFlip(pc)];
389
+ this$static.prun = max_0(this$static.prun, getPruning(TwistFlipPrun, this$static.twistc >> 3 << 11 | FlipS2RF[this$static.flipc ^ this$static.twistc & 7]));
390
+ return this$static.prun <= depth;
391
+ }
392
+ function CoordCube() {
393
+ $clinit_CoordCube();
394
+ }
395
+ function getPruning(table, index_0) {
396
+ $clinit_CoordCube();
397
+ return table[index_0 >> 3] >> (index_0 << 2) & 15;
398
+ }
399
+ function init_0(fullInit) {
400
+ $clinit_CoordCube();
401
+ if (initLevel == 2 || initLevel == 1 && !fullInit) {
402
+ return;
403
+ }
404
+ if (initLevel == 0) {
405
+ initPermSym2Raw();
406
+ initCPermMove();
407
+ initEPermMove();
408
+ initMPermMoveConj();
409
+ initCombPMoveConj();
410
+ $clinit_CubieCube();
411
+ initSym2Raw(2048, FlipS2R, FlipR2S, SymStateFlip = initDim(C_classLit, $intern_26, 0, 336, 7, 1), 0);
412
+ initSym2Raw(2187, TwistS2R, TwistR2S, SymStateTwist = initDim(C_classLit, $intern_26, 0, 324, 7, 1), 1);
413
+ initFlipMove();
414
+ initTwistMove();
415
+ initUDSliceMoveConj();
416
+ }
417
+ initRawSymPrun(MCPermPrun, MPermMove, MPermConj, CPermMove, ($clinit_CubieCube(), SymStatePerm), 584244, fullInit);
418
+ initRawSymPrun(EPermCCombPPrun, CCombPMove, CCombPConj, EPermMove, SymStatePerm, 514084, fullInit);
419
+ initRawSymPrun(UDSliceTwistPrun, UDSliceMove, UDSliceConj, TwistMove, SymStateTwist, 431619, fullInit);
420
+ initRawSymPrun(UDSliceFlipPrun, UDSliceMove, UDSliceConj, FlipMove, SymStateFlip, 431619, fullInit);
421
+ initRawSymPrun(TwistFlipPrun, null, null, TwistMove, SymStateTwist, 103939, fullInit);
422
+ initLevel = fullInit ? 2 : 1;
423
+ }
424
+ function initCPermMove() {
425
+ var c, d, i, j;
426
+ c = new CubieCube();
427
+ d = new CubieCube();
428
+ for (i = 0; i < 2768; i++) {
429
+ $setCPerm(c, ($clinit_CubieCube(), EPermS2R)[i]);
430
+ for (j = 0; j < 10; j++) {
431
+ CornMult(c, moveCube[($clinit_Util(), ud2std)[j]], d);
432
+ CPermMove[i][j] = ESym2CSym(EPermR2S[getNPerm(d.ca, 8, false)]) & $intern_20;
433
+ }
434
+ }
435
+ }
436
+ function initCombPMoveConj() {
437
+ var c, d, i, j, j0;
438
+ c = new CubieCube();
439
+ d = new CubieCube();
440
+ CCombPMove = initDims(C_classLit, [$intern_3, $intern_26], [11, 0], 7, [140, 10], 2);
441
+ for (i = 0; i < 140; i++) {
442
+ setComb(c.ca, i % 70, 0, false);
443
+ for (j0 = 0; j0 < 10; j0++) {
444
+ CornMult(c, ($clinit_CubieCube(), moveCube)[($clinit_Util(), ud2std)[j0]], d);
445
+ CCombPMove[i][j0] = getComb(d.ca, 0, false) + 70 * (165 >> j0 & 1 ^ ~~(i / 70)) & $intern_20;
446
+ }
447
+ for (j = 0; j < 16; j++) {
448
+ CornConjugate(c, ($clinit_CubieCube(), SymMultInv)[0][j], d);
449
+ CCombPConj[i][j] = getComb(d.ca, 0, false) + 70 * ~~(i / 70) & $intern_20;
450
+ }
451
+ }
452
+ }
453
+ function initEPermMove() {
454
+ var c, d, i, j;
455
+ c = new CubieCube();
456
+ d = new CubieCube();
457
+ for (i = 0; i < 2768; i++) {
458
+ $setEPerm(c, ($clinit_CubieCube(), EPermS2R)[i]);
459
+ for (j = 0; j < 10; j++) {
460
+ EdgeMult(c, moveCube[($clinit_Util(), ud2std)[j]], d);
461
+ EPermMove[i][j] = EPermR2S[getNPerm(d.ea, 8, true)];
462
+ }
463
+ }
464
+ }
465
+ function initFlipMove() {
466
+ var c, d, i, j;
467
+ c = new CubieCube();
468
+ d = new CubieCube();
469
+ for (i = 0; i < 336; i++) {
470
+ $setFlip(c, ($clinit_CubieCube(), FlipS2R)[i]);
471
+ for (j = 0; j < 18; j++) {
472
+ EdgeMult(c, moveCube[j], d);
473
+ FlipMove[i][j] = FlipR2S[$getFlip(d)];
474
+ }
475
+ }
476
+ }
477
+ function initMPermMoveConj() {
478
+ var c, d, i, j, j0;
479
+ c = new CubieCube();
480
+ d = new CubieCube();
481
+ for (i = 0; i < 24; i++) {
482
+ setNPerm(c.ea, i, 12, true);
483
+ for (j0 = 0; j0 < 10; j0++) {
484
+ EdgeMult(c, ($clinit_CubieCube(), moveCube)[($clinit_Util(), ud2std)[j0]], d);
485
+ MPermMove[i][j0] = getNPerm(d.ea, 12, true) % 24 & $intern_20;
486
+ }
487
+ for (j = 0; j < 16; j++) {
488
+ EdgeConjugate(c, ($clinit_CubieCube(), SymMultInv)[0][j], d);
489
+ MPermConj[i][j] = getNPerm(d.ea, 12, true) % 24 & $intern_20;
490
+ }
491
+ }
492
+ }
493
+ function initRawSymPrun(PrunTable, RawMove, RawConj, SymMove, SymState, PrunFlag, fullInit) {
494
+ var INV_DEPTH, ISTFP, IS_PHASE2, MAX_DEPTH, MIN_DEPTH, NEXT_AXIS_MAGIC, N_MOVES, N_RAW, N_SIZE, SEARCH_DEPTH, SYM_E2C_MAGIC, SYM_MASK, SYM_SHIFT, check, depth, flip, fsym, i, i0, idx, idxx, inv, j, m, mask, prun, raw, rawx, selArrMask, select, sym, symState, symx, val, val0, xorVal;
495
+ SYM_SHIFT = PrunFlag & 15;
496
+ SYM_E2C_MAGIC = (PrunFlag >> 4 & 1) == 1 ? $intern_28 : 0;
497
+ IS_PHASE2 = (PrunFlag >> 5 & 1) == 1;
498
+ INV_DEPTH = PrunFlag >> 8 & 15;
499
+ MAX_DEPTH = PrunFlag >> 12 & 15;
500
+ MIN_DEPTH = PrunFlag >> 16 & 15;
501
+ SEARCH_DEPTH = fullInit ? MAX_DEPTH : MIN_DEPTH;
502
+ SYM_MASK = (1 << SYM_SHIFT) - 1;
503
+ ISTFP = RawMove == null;
504
+ N_RAW = ISTFP ? 2048 : RawMove.length;
505
+ N_SIZE = N_RAW * SymMove.length;
506
+ N_MOVES = IS_PHASE2 ? 10 : 18;
507
+ NEXT_AXIS_MAGIC = N_MOVES == 10 ? 66 : 599186;
508
+ depth = (PrunTable[N_SIZE >> 3] >> (N_SIZE << 2) & 15) - 1;
509
+ if (depth == -1) {
510
+ for (i = 0; i < ~~(N_SIZE / 8) + 1; i++) {
511
+ PrunTable[i] = $intern_29;
512
+ }
513
+ PrunTable[0] ^= 1;
514
+ depth = 0;
515
+ }
516
+ while (depth < SEARCH_DEPTH) {
517
+ mask = (depth + 1) * $intern_29 ^ -1;
518
+ for (i0 = 0; i0 < PrunTable.length; i0++) {
519
+ val0 = PrunTable[i0] ^ mask;
520
+ val0 &= val0 >> 1;
521
+ PrunTable[i0] += val0 & val0 >> 2 & $intern_29;
522
+ }
523
+ inv = depth > INV_DEPTH;
524
+ select = inv ? depth + 2 : depth;
525
+ selArrMask = select * $intern_29;
526
+ check = inv ? depth : depth + 2;
527
+ ++depth;
528
+ xorVal = depth ^ depth + 1;
529
+ val = 0;
530
+ for (i = 0; i < N_SIZE; ++i, val >>= 4) {
531
+ if ((i & 7) == 0) {
532
+ val = PrunTable[i >> 3];
533
+ if (((val ^ selArrMask) - $intern_29 & ~(val ^ selArrMask) & -2004318072) == 0) {
534
+ i += 7;
535
+ continue;
536
+ }
537
+ }
538
+ if ((val & 15) != select) {
539
+ continue;
540
+ }
541
+ raw = i % N_RAW;
542
+ sym = ~~(i / N_RAW);
543
+ flip = 0;
544
+ fsym = 0;
545
+ if (ISTFP) {
546
+ flip = ($clinit_CubieCube(), FlipR2S)[raw];
547
+ fsym = flip & 7;
548
+ flip >>= 3;
549
+ }
550
+ for (m = 0; m < N_MOVES; m++) {
551
+ symx = SymMove[sym][m];
552
+ ISTFP ? rawx = ($clinit_CubieCube(), FlipS2RF)[FlipMove[flip][Sym8Move[m << 3 | fsym]] ^ fsym ^ symx & SYM_MASK] : rawx = RawConj[RawMove[raw][m]][symx & SYM_MASK];
553
+ symx >>= SYM_SHIFT;
554
+ idx = symx * N_RAW + rawx;
555
+ prun = PrunTable[idx >> 3] >> (idx << 2) & 15;
556
+ if (prun != check) {
557
+ prun < depth - 1 && (m += NEXT_AXIS_MAGIC >> m & 3);
558
+ continue;
559
+ }
560
+ if (inv) {
561
+ PrunTable[i >> 3] ^= xorVal << (i << 2);
562
+ break;
563
+ }
564
+ PrunTable[idx >> 3] ^= xorVal << (idx << 2);
565
+ for (j = 1, symState = SymState[symx]; (symState >>= 1) != 0; j++) {
566
+ if ((symState & 1) != 1) {
567
+ continue;
568
+ }
569
+ idxx = symx * N_RAW;
570
+ ISTFP ? idxx += ($clinit_CubieCube(), FlipS2RF)[FlipR2S[rawx] ^ j] : idxx += RawConj[rawx][j ^ SYM_E2C_MAGIC >> (j << 1) & 3];
571
+ if ((PrunTable[idxx >> 3] >> (idxx << 2) & 15) == check) {
572
+ PrunTable[idxx >> 3] ^= xorVal << (idxx << 2);
573
+ }
574
+ }
575
+ }
576
+ }
577
+ }
578
+ }
579
+ function initTwistMove() {
580
+ var c, d, i, j;
581
+ c = new CubieCube();
582
+ d = new CubieCube();
583
+ for (i = 0; i < 324; i++) {
584
+ $setTwist(c, ($clinit_CubieCube(), TwistS2R)[i]);
585
+ for (j = 0; j < 18; j++) {
586
+ CornMult(c, moveCube[j], d);
587
+ TwistMove[i][j] = TwistR2S[$getTwist(d)];
588
+ }
589
+ }
590
+ }
591
+ function initUDSliceMoveConj() {
592
+ var c, d, i, i0, j, j0, k, udslice;
593
+ c = new CubieCube();
594
+ d = new CubieCube();
595
+ for (i0 = 0; i0 < 495; i0++) {
596
+ setComb(c.ea, 494 - i0, 8, true);
597
+ for (j0 = 0; j0 < 18; j0 += 3) {
598
+ EdgeMult(c, ($clinit_CubieCube(), moveCube)[j0], d);
599
+ UDSliceMove[i0][j0] = 494 - getComb(d.ea, 8, true) & $intern_20;
600
+ }
601
+ for (j = 0; j < 16; j += 2) {
602
+ EdgeConjugate(c, ($clinit_CubieCube(), SymMultInv)[0][j], d);
603
+ UDSliceConj[i0][j >> 1] = 494 - getComb(d.ea, 8, true) & $intern_20;
604
+ }
605
+ }
606
+ for (i = 0; i < 495; i++) {
607
+ for (j = 0; j < 18; j += 3) {
608
+ udslice = UDSliceMove[i][j];
609
+ for (k = 1; k < 3; k++) {
610
+ udslice = UDSliceMove[udslice][j];
611
+ UDSliceMove[i][j + k] = udslice & $intern_20;
612
+ }
613
+ }
614
+ }
615
+ }
616
+ defineClass(31, 1, { 31: 1 }, CoordCube);
617
+ _.flip = 0;
618
+ _.flipc = 0;
619
+ _.fsym = 0;
620
+ _.prun = 0;
621
+ _.slice_0 = 0;
622
+ _.tsym = 0;
623
+ _.twist = 0;
624
+ _.twistc = 0;
625
+ var CCombPConj;
626
+ var CCombPMove;
627
+ var CPermMove;
628
+ var EPermCCombPPrun;
629
+ var EPermMove;
630
+ var FlipMove;
631
+ var MCPermPrun;
632
+ var MPermConj;
633
+ var MPermMove;
634
+ var TwistFlipPrun;
635
+ var TwistMove;
636
+ var UDSliceConj;
637
+ var UDSliceFlipPrun;
638
+ var UDSliceMove;
639
+ var UDSliceTwistPrun;
640
+ var initLevel = 0;
641
+ var Lorg_cubing_min2phase_client_CoordCube_2_classLit = createForClass("org.cubing.min2phase.client", "CoordCube", 31);
642
+ var $clinit_CubieCube_ran = false;
643
+ function $clinit_CubieCube() {
644
+ if ($clinit_CubieCube_ran) {
645
+ return;
646
+ }
647
+ $clinit_CubieCube_ran = true;
648
+ CubeSym = initDim(Lorg_cubing_min2phase_client_CubieCube_2_classLit, $intern_3, 7, 16, 0, 1);
649
+ moveCube = initDim(Lorg_cubing_min2phase_client_CubieCube_2_classLit, $intern_3, 7, 18, 0, 1);
650
+ moveCubeSym = initDim(J_classLit, $intern_3, 0, 18, 6, 1);
651
+ firstMoveSym = initDim(I_classLit, $intern_27, 0, 48, 7, 1);
652
+ SymMult = initDims(I_classLit, [$intern_3, $intern_27], [17, 0], 7, [16, 16], 2);
653
+ SymMultInv = initDims(I_classLit, [$intern_3, $intern_27], [17, 0], 7, [16, 16], 2);
654
+ SymMove_0 = initDims(I_classLit, [$intern_3, $intern_27], [17, 0], 7, [16, 18], 2);
655
+ Sym8Move = initDim(I_classLit, $intern_27, 0, 144, 7, 1);
656
+ SymMoveUD = initDims(I_classLit, [$intern_3, $intern_27], [17, 0], 7, [16, 18], 2);
657
+ FlipS2R = initDim(C_classLit, $intern_26, 0, 336, 7, 1);
658
+ TwistS2R = initDim(C_classLit, $intern_26, 0, 324, 7, 1);
659
+ EPermS2R = initDim(C_classLit, $intern_26, 0, 2768, 7, 1);
660
+ Perm2CombP = initDim(B_classLit, $intern_30, 0, 2768, 7, 1);
661
+ PermInvEdgeSym = initDim(C_classLit, $intern_26, 0, 2768, 7, 1);
662
+ MPermInv = initDim(B_classLit, $intern_30, 0, 24, 7, 1);
663
+ FlipR2S = initDim(C_classLit, $intern_26, 0, 2048, 7, 1);
664
+ TwistR2S = initDim(C_classLit, $intern_26, 0, 2187, 7, 1);
665
+ EPermR2S = initDim(C_classLit, $intern_26, 0, 40320, 7, 1);
666
+ FlipS2RF = initDim(C_classLit, $intern_26, 0, 2688, 7, 1);
667
+ urf1 = new CubieCube_0(2531, 1373, 67026819, 1367);
668
+ urf2 = new CubieCube_0(2089, 1906, 322752913, 2040);
669
+ urfMove = initValues(getClassLiteralForArray(B_classLit, 2), $intern_3, 10, 0, [
670
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]),
671
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [6, 7, 8, 0, 1, 2, 3, 4, 5, 15, 16, 17, 9, 10, 11, 12, 13, 14]),
672
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [3, 4, 5, 6, 7, 8, 0, 1, 2, 12, 13, 14, 15, 16, 17, 9, 10, 11]),
673
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [2, 1, 0, 5, 4, 3, 8, 7, 6, 11, 10, 9, 14, 13, 12, 17, 16, 15]),
674
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [8, 7, 6, 2, 1, 0, 5, 4, 3, 17, 16, 15, 11, 10, 9, 14, 13, 12]),
675
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [5, 4, 3, 8, 7, 6, 2, 1, 0, 14, 13, 12, 17, 16, 15, 11, 10, 9])
676
+ ]);
677
+ initMove();
678
+ initSym();
679
+ }
680
+ function $$init(this$static) {
681
+ this$static.ca = initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [0, 1, 2, 3, 4, 5, 6, 7]);
682
+ this$static.ea = initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22]);
683
+ }
684
+ function $URFConjugate(this$static) {
685
+ !this$static.temps && (this$static.temps = new CubieCube());
686
+ CornMult(urf2, this$static, this$static.temps);
687
+ CornMult(this$static.temps, urf1, this$static);
688
+ EdgeMult(urf2, this$static, this$static.temps);
689
+ EdgeMult(this$static.temps, urf1, this$static);
690
+ }
691
+ function $copy(this$static, c) {
692
+ var i, i0;
693
+ for (i0 = 0; i0 < 8; i0++) {
694
+ this$static.ca[i0] = c.ca[i0];
695
+ }
696
+ for (i = 0; i < 12; i++) {
697
+ this$static.ea[i] = c.ea[i];
698
+ }
699
+ }
700
+ function $getCPermSym(this$static) {
701
+ return ESym2CSym(EPermR2S[getNPerm(this$static.ca, 8, false)]);
702
+ }
703
+ function $getEPermSym(this$static) {
704
+ return EPermR2S[getNPerm(this$static.ea, 8, true)];
705
+ }
706
+ function $getFlip(this$static) {
707
+ var i, idx;
708
+ idx = 0;
709
+ for (i = 0; i < 11; i++) {
710
+ idx = idx << 1 | this$static.ea[i] & 1;
711
+ }
712
+ return idx;
713
+ }
714
+ function $getTwist(this$static) {
715
+ var i, idx;
716
+ idx = 0;
717
+ for (i = 0; i < 7; i++) {
718
+ idx += (idx << 1) + (this$static.ca[i] >> 3);
719
+ }
720
+ return idx;
721
+ }
722
+ function $invCubieCube(this$static) {
723
+ var corn, edge;
724
+ !this$static.temps && (this$static.temps = new CubieCube());
725
+ for (edge = 0; edge < 12; edge++) {
726
+ this$static.temps.ea[this$static.ea[edge] >> 1] = (edge << 1 | this$static.ea[edge] & 1) << 24 >> 24;
727
+ }
728
+ for (corn = 0; corn < 8; corn++) {
729
+ this$static.temps.ca[this$static.ca[corn] & 7] = (corn | 32 >> (this$static.ca[corn] >> 3) & 24) << 24 >> 24;
730
+ }
731
+ $copy(this$static, this$static.temps);
732
+ }
733
+ function $selfSymmetry(this$static) {
734
+ var c, cperm, cpermx, d, i, sym, urfInv;
735
+ c = new CubieCube_1(this$static);
736
+ d = new CubieCube();
737
+ cperm = ESym2CSym(EPermR2S[getNPerm(c.ca, 8, false)]) >> 4;
738
+ sym = { l: 0, m: 0, h: 0 };
739
+ for (urfInv = 0; urfInv < 6; urfInv++) {
740
+ cpermx = ESym2CSym(EPermR2S[getNPerm(c.ca, 8, false)]) >> 4;
741
+ if (cperm == cpermx) {
742
+ for (i = 0; i < 16; i++) {
743
+ CornConjugate(c, SymMultInv[0][i], d);
744
+ if (equals_7(d.ca, this$static.ca)) {
745
+ EdgeConjugate(c, SymMultInv[0][i], d);
746
+ equals_7(d.ea, this$static.ea) && (sym = or(sym, shl({ l: 1, m: 0, h: 0 }, (urfInv << 4 | i) < 48 ? urfInv << 4 | i : 48)));
747
+ }
748
+ }
749
+ }
750
+ $URFConjugate(c);
751
+ urfInv % 3 == 2 && $invCubieCube(c);
752
+ }
753
+ return sym;
754
+ }
755
+ function $setCPerm(this$static, idx) {
756
+ setNPerm(this$static.ca, idx, 8, false);
757
+ }
758
+ function $setEPerm(this$static, idx) {
759
+ setNPerm(this$static.ea, idx, 8, true);
760
+ }
761
+ function $setFlip(this$static, idx) {
762
+ var i, parity, val;
763
+ parity = 0;
764
+ for (i = 10; i >= 0; --i, idx >>= 1) {
765
+ parity ^= val = idx & 1;
766
+ this$static.ea[i] = (this$static.ea[i] & -2 | val) << 24 >> 24;
767
+ }
768
+ this$static.ea[11] = (this$static.ea[11] & -2 | parity) << 24 >> 24;
769
+ }
770
+ function $setTwist(this$static, idx) {
771
+ var i, twst, val;
772
+ twst = 15;
773
+ for (i = 6; i >= 0; --i, idx = ~~(idx / 3)) {
774
+ twst -= val = idx % 3;
775
+ this$static.ca[i] = (this$static.ca[i] & 7 | val << 3) << 24 >> 24;
776
+ }
777
+ this$static.ca[7] = (this$static.ca[7] & 7 | twst % 3 << 3) << 24 >> 24;
778
+ }
779
+ function $verify(this$static) {
780
+ var c, cornMask, e, edgeMask, sum;
781
+ sum = 0;
782
+ edgeMask = 0;
783
+ for (e = 0; e < 12; e++) {
784
+ edgeMask |= 1 << (this$static.ea[e] >> 1);
785
+ sum ^= this$static.ea[e] & 1;
786
+ }
787
+ if (edgeMask != 4095) {
788
+ return -2;
789
+ }
790
+ if (sum != 0) {
791
+ return -3;
792
+ }
793
+ cornMask = 0;
794
+ sum = 0;
795
+ for (c = 0; c < 8; c++) {
796
+ cornMask |= 1 << (this$static.ca[c] & 7);
797
+ sum += this$static.ca[c] >> 3;
798
+ }
799
+ if (cornMask != 255) {
800
+ return -4;
801
+ }
802
+ if (sum % 3 != 0) {
803
+ return -5;
804
+ }
805
+ if ((getNParity(getNPerm(this$static.ea, 12, true), 12) ^ getNParity(getNPerm(this$static.ca, 8, false), 8)) != 0) {
806
+ return -6;
807
+ }
808
+ return 0;
809
+ }
810
+ function CornConjugate(a, idx, b) {
811
+ $clinit_CubieCube();
812
+ var corn, ori, oriA, oriB, s, sinv;
813
+ sinv = CubeSym[SymMultInv[0][idx]];
814
+ s = CubeSym[idx];
815
+ for (corn = 0; corn < 8; corn++) {
816
+ oriA = sinv.ca[a.ca[s.ca[corn] & 7] & 7] >> 3;
817
+ oriB = a.ca[s.ca[corn] & 7] >> 3;
818
+ ori = oriA < 3 ? oriB : (3 - oriB) % 3;
819
+ b.ca[corn] = (sinv.ca[a.ca[s.ca[corn] & 7] & 7] & 7 | ori << 3) << 24 >> 24;
820
+ }
821
+ }
822
+ function CornMult(a, b, prod) {
823
+ $clinit_CubieCube();
824
+ var corn, oriA, oriB;
825
+ for (corn = 0; corn < 8; corn++) {
826
+ oriA = a.ca[b.ca[corn] & 7] >> 3;
827
+ oriB = b.ca[corn] >> 3;
828
+ prod.ca[corn] = (a.ca[b.ca[corn] & 7] & 7 | (oriA + oriB) % 3 << 3) << 24 >> 24;
829
+ }
830
+ }
831
+ function CornMultFull(a, b, prod) {
832
+ var corn, ori, oriA, oriB;
833
+ for (corn = 0; corn < 8; corn++) {
834
+ oriA = a.ca[b.ca[corn] & 7] >> 3;
835
+ oriB = b.ca[corn] >> 3;
836
+ ori = oriA + (oriA < 3 ? oriB : 6 - oriB);
837
+ ori = ori % 3 + (oriA < 3 == oriB < 3 ? 0 : 3);
838
+ prod.ca[corn] = (a.ca[b.ca[corn] & 7] & 7 | ori << 3) << 24 >> 24;
839
+ }
840
+ }
841
+ function CubieCube() {
842
+ $clinit_CubieCube();
843
+ $$init(this);
844
+ }
845
+ function CubieCube_0(cperm, twist, eperm, flip) {
846
+ $$init(this);
847
+ setNPerm(this.ca, cperm, 8, false);
848
+ $setTwist(this, twist);
849
+ setNPerm(this.ea, eperm, 12, true);
850
+ $setFlip(this, flip);
851
+ }
852
+ function CubieCube_1(c) {
853
+ $$init(this);
854
+ $copy(this, c);
855
+ }
856
+ function ESym2CSym(idx) {
857
+ $clinit_CubieCube();
858
+ return idx ^ $intern_28 >> ((idx & 15) << 1) & 3;
859
+ }
860
+ function EdgeConjugate(a, idx, b) {
861
+ $clinit_CubieCube();
862
+ var ed, s, sinv;
863
+ sinv = CubeSym[SymMultInv[0][idx]];
864
+ s = CubeSym[idx];
865
+ for (ed = 0; ed < 12; ed++) {
866
+ b.ea[ed] = (sinv.ea[a.ea[s.ea[ed] >> 1] >> 1] ^ a.ea[s.ea[ed] >> 1] & 1 ^ s.ea[ed] & 1) << 24 >> 24;
867
+ }
868
+ }
869
+ function EdgeMult(a, b, prod) {
870
+ $clinit_CubieCube();
871
+ var ed;
872
+ for (ed = 0; ed < 12; ed++) {
873
+ prod.ea[ed] = (a.ea[b.ea[ed] >> 1] ^ b.ea[ed] & 1) << 24 >> 24;
874
+ }
875
+ }
876
+ function getPermSymInv(idx, sym, isCorner) {
877
+ $clinit_CubieCube();
878
+ var idxi;
879
+ idxi = PermInvEdgeSym[idx];
880
+ isCorner && (idxi = idxi ^ $intern_28 >> ((idxi & 15) << 1) & 3);
881
+ return idxi & 65520 | SymMult[idxi & 15][sym];
882
+ }
883
+ function getSkipMoves() {
884
+ $clinit_CubieCube();
885
+ return 0;
886
+ }
887
+ function initMove() {
888
+ var a, p;
889
+ moveCube[0] = new CubieCube_0(15120, 0, 119750400, 0);
890
+ moveCube[3] = new CubieCube_0(21021, 1494, 323403417, 0);
891
+ moveCube[6] = new CubieCube_0(8064, 1236, 29441808, 550);
892
+ moveCube[9] = new CubieCube_0(9, 0, 5880, 0);
893
+ moveCube[12] = new CubieCube_0(1230, 412, 2949660, 0);
894
+ moveCube[15] = new CubieCube_0(224, 137, 328552, 137);
895
+ for (a = 0; a < 18; a += 3) {
896
+ for (p = 0; p < 2; p++) {
897
+ moveCube[a + p + 1] = new CubieCube();
898
+ EdgeMult(moveCube[a + p], moveCube[a], moveCube[a + p + 1]);
899
+ CornMult(moveCube[a + p], moveCube[a], moveCube[a + p + 1]);
900
+ }
901
+ }
902
+ }
903
+ function initPermSym2Raw() {
904
+ $clinit_CubieCube();
905
+ var cc, i, i0;
906
+ initSym2Raw(40320, EPermS2R, EPermR2S, SymStatePerm = initDim(C_classLit, $intern_26, 0, 2768, 7, 1), 2);
907
+ cc = new CubieCube();
908
+ for (i0 = 0; i0 < 2768; i0++) {
909
+ $setEPerm(cc, EPermS2R[i0]);
910
+ Perm2CombP[i0] = getComb(cc.ea, 0, true) + getNParity(EPermS2R[i0], 8) * 70 << 24 >> 24;
911
+ $invCubieCube(cc);
912
+ PermInvEdgeSym[i0] = EPermR2S[getNPerm(cc.ea, 8, true)];
913
+ }
914
+ for (i = 0; i < 24; i++) {
915
+ setNPerm(cc.ea, i, 12, true);
916
+ $invCubieCube(cc);
917
+ MPermInv[i] = getNPerm(cc.ea, 12, true) % 24 << 24 >> 24;
918
+ }
919
+ }
920
+ function initSym() {
921
+ var c, d, f2, i, i0, i1, i2, j, j0, j1, k, lr2, m, s, t, u4;
922
+ c = new CubieCube();
923
+ d = new CubieCube();
924
+ f2 = new CubieCube_0(28783, 0, 259268407, 0);
925
+ u4 = new CubieCube_0(15138, 0, 119765538, 7);
926
+ lr2 = new CubieCube_0(5167, 0, 83473207, 0);
927
+ for (i0 = 0; i0 < 8; i0++) {
928
+ lr2.ca[i0] = narrow_byte(lr2.ca[i0] | 24);
929
+ }
930
+ for (i1 = 0; i1 < 16; i1++) {
931
+ CubeSym[i1] = new CubieCube_1(c);
932
+ CornMultFull(c, u4, d);
933
+ EdgeMult(c, u4, d);
934
+ t = d;
935
+ d = c;
936
+ c = t;
937
+ if (i1 % 4 == 3) {
938
+ CornMultFull(t, lr2, d);
939
+ EdgeMult(t, lr2, d);
940
+ t = d;
941
+ d = c;
942
+ c = t;
943
+ }
944
+ if (i1 % 8 == 7) {
945
+ CornMultFull(t, f2, d);
946
+ EdgeMult(t, f2, d);
947
+ t = d;
948
+ d = c;
949
+ c = t;
950
+ }
951
+ }
952
+ for (i2 = 0; i2 < 16; i2++) {
953
+ for (j0 = 0; j0 < 16; j0++) {
954
+ CornMultFull(CubeSym[i2], CubeSym[j0], c);
955
+ for (k = 0; k < 16; k++) {
956
+ if (equals_7(CubeSym[k].ca, c.ca)) {
957
+ SymMult[i2][j0] = k;
958
+ SymMultInv[k][j0] = i2;
959
+ break;
960
+ }
961
+ }
962
+ }
963
+ }
964
+ for (j1 = 0; j1 < 18; j1++) {
965
+ for (s = 0; s < 16; s++) {
966
+ CornConjugate(moveCube[j1], SymMultInv[0][s], c);
967
+ for (m = 0; m < 18; m++) {
968
+ if (equals_7(moveCube[m].ca, c.ca)) {
969
+ SymMove_0[s][j1] = m;
970
+ SymMoveUD[s][($clinit_Util(), std2ud)[j1]] = std2ud[m];
971
+ break;
972
+ }
973
+ }
974
+ s % 2 == 0 && (Sym8Move[j1 << 3 | s >> 1] = SymMove_0[s][j1]);
975
+ }
976
+ }
977
+ for (i = 0; i < 18; i++) {
978
+ moveCubeSym[i] = $selfSymmetry(moveCube[i]);
979
+ j = i;
980
+ for (s = 0; s < 48; s++) {
981
+ SymMove_0[s % 16][j] < i && (firstMoveSym[s] |= 1 << i);
982
+ s % 16 == 15 && (j = urfMove[2][j]);
983
+ }
984
+ }
985
+ }
986
+ function initSym2Raw(N_RAW, Sym2Raw, Raw2Sym, SymState, coord) {
987
+ $clinit_CubieCube();
988
+ var c, count, d, i, idx, isEdge, s, symIdx, sym_inc;
989
+ c = new CubieCube();
990
+ d = new CubieCube();
991
+ count = 0;
992
+ idx = 0;
993
+ sym_inc = coord >= 2 ? 1 : 2;
994
+ isEdge = coord != 1;
995
+ for (i = 0; i < N_RAW; i++) {
996
+ if (Raw2Sym[i] != 0) {
997
+ continue;
998
+ }
999
+ switch (coord) {
1000
+ case 0:
1001
+ $setFlip(c, i);
1002
+ break;
1003
+ case 1:
1004
+ $setTwist(c, i);
1005
+ break;
1006
+ case 2:
1007
+ setNPerm(c.ea, i, 8, true);
1008
+ }
1009
+ for (s = 0; s < 16; s += sym_inc) {
1010
+ isEdge ? EdgeConjugate(c, s, d) : CornConjugate(c, s, d);
1011
+ switch (coord) {
1012
+ case 0:
1013
+ idx = $getFlip(d);
1014
+ break;
1015
+ case 1:
1016
+ idx = $getTwist(d);
1017
+ break;
1018
+ case 2:
1019
+ idx = getNPerm(d.ea, 8, true);
1020
+ }
1021
+ coord == 0 && (FlipS2RF[count << 3 | s >> 1] = idx & $intern_20);
1022
+ idx == i && (SymState[count] = (SymState[count] | 1 << ~~(s / sym_inc)) & $intern_20);
1023
+ symIdx = ~~((count << 4 | s) / sym_inc);
1024
+ Raw2Sym[idx] = symIdx & $intern_20;
1025
+ }
1026
+ Sym2Raw[count++] = i & $intern_20;
1027
+ }
1028
+ return count;
1029
+ }
1030
+ var CubeSym;
1031
+ var EPermR2S;
1032
+ var EPermS2R;
1033
+ var FlipR2S;
1034
+ var FlipS2R;
1035
+ var FlipS2RF;
1036
+ var MPermInv;
1037
+ var Perm2CombP;
1038
+ var PermInvEdgeSym;
1039
+ var Sym8Move;
1040
+ var SymMove_0;
1041
+ var SymMoveUD;
1042
+ var SymMult;
1043
+ var SymMultInv;
1044
+ var SymStateFlip;
1045
+ var SymStatePerm;
1046
+ var SymStateTwist;
1047
+ var TwistR2S;
1048
+ var TwistS2R;
1049
+ var firstMoveSym;
1050
+ var moveCube;
1051
+ var moveCubeSym;
1052
+ var urf1;
1053
+ var urf2;
1054
+ var urfMove;
1055
+ var Lorg_cubing_min2phase_client_CubieCube_2_classLit = createForClass("org.cubing.min2phase.client", "CubieCube", 7);
1056
+ function $initPhase2(this$static, p2corn, p2csym, p2edge, p2esym, p2mid, edgei, corni) {
1057
+ var depth2, i, i0, prun, ret;
1058
+ prun = max_0(getPruning(($clinit_CoordCube(), EPermCCombPPrun), (edgei >> 4) * 140 + CCombPConj[($clinit_CubieCube(), Perm2CombP)[corni >> 4] & 255][SymMultInv[edgei & 15][corni & 15]]), max_0(getPruning(EPermCCombPPrun, p2edge * 140 + CCombPConj[Perm2CombP[p2corn] & 255][SymMultInv[p2esym][p2csym]]), getPruning(MCPermPrun, p2corn * 24 + MPermConj[p2mid][p2csym])));
1059
+ if (prun > this$static.maxDep2) {
1060
+ return prun - this$static.maxDep2;
1061
+ }
1062
+ for (depth2 = this$static.maxDep2; depth2 >= prun; depth2--) {
1063
+ ret = $phase2(this$static, p2edge, p2esym, p2corn, p2csym, p2mid, depth2, this$static.depth1, 10);
1064
+ if (ret < 0) {
1065
+ break;
1066
+ }
1067
+ depth2 -= ret;
1068
+ this$static.solLen = 0;
1069
+ this$static.solution = new Util$Solution();
1070
+ $setArgs(this$static.solution, this$static.verbose, this$static.urfIdx, this$static.depth1);
1071
+ for (i0 = 0; i0 < this$static.depth1 + depth2; i0++) {
1072
+ $appendSolMove(this$static.solution, this$static.move[i0]);
1073
+ }
1074
+ for (i = this$static.preMoveLen - 1; i >= 0; i--) {
1075
+ $appendSolMove(this$static.solution, this$static.preMoves[i]);
1076
+ }
1077
+ this$static.solLen = this$static.solution.length_0;
1078
+ }
1079
+ if (depth2 != this$static.maxDep2) {
1080
+ this$static.maxDep2 = min_0(MAX_DEPTH2, this$static.solLen - this$static.length1 - 1);
1081
+ return gte(this$static.probe, this$static.probeMin) ? 0 : 1;
1082
+ }
1083
+ return 1;
1084
+ }
1085
+ function $initPhase2Pre(this$static) {
1086
+ var corni, edgei, i, lastMove, lastPre, m, p2corn, p2csym, p2edge, p2esym, p2mid, p2switch, p2switchMask, p2switchMax, ret;
1087
+ this$static.isRec = false;
1088
+ if (gte(this$static.probe, !this$static.solution ? this$static.probeMax : this$static.probeMin)) {
1089
+ return 0;
1090
+ }
1091
+ this$static.probe = add_1(this$static.probe, { l: 1, m: 0, h: 0 });
1092
+ for (i = this$static.valid1; i < this$static.depth1; i++) {
1093
+ CornMult(this$static.phase1Cubie[i], ($clinit_CubieCube(), moveCube)[this$static.move[i]], this$static.phase1Cubie[i + 1]);
1094
+ EdgeMult(this$static.phase1Cubie[i], moveCube[this$static.move[i]], this$static.phase1Cubie[i + 1]);
1095
+ }
1096
+ this$static.valid1 = this$static.depth1;
1097
+ p2corn = $getCPermSym(this$static.phase1Cubie[this$static.depth1]);
1098
+ p2csym = p2corn & 15;
1099
+ p2corn >>= 4;
1100
+ p2edge = $getEPermSym(this$static.phase1Cubie[this$static.depth1]);
1101
+ p2esym = p2edge & 15;
1102
+ p2edge >>= 4;
1103
+ p2mid = getNPerm(this$static.phase1Cubie[this$static.depth1].ea, 12, true) % 24;
1104
+ edgei = getPermSymInv(p2edge, p2esym, false);
1105
+ corni = getPermSymInv(p2corn, p2csym, true);
1106
+ lastMove = this$static.depth1 == 0 ? -1 : this$static.move[this$static.depth1 - 1];
1107
+ lastPre = this$static.preMoveLen == 0 ? -1 : this$static.preMoves[this$static.preMoveLen - 1];
1108
+ ret = 0;
1109
+ p2switchMax = (this$static.preMoveLen == 0 ? 1 : 2) * (this$static.depth1 == 0 ? 1 : 2);
1110
+ for (p2switch = 0, p2switchMask = (1 << p2switchMax) - 1; p2switch < p2switchMax; p2switch++) {
1111
+ if ((p2switchMask >> p2switch & 1) != 0) {
1112
+ p2switchMask &= ~(1 << p2switch);
1113
+ ret = $initPhase2(this$static, p2corn, p2csym, p2edge, p2esym, p2mid, edgei, corni);
1114
+ if (ret == 0 || ret > 2) {
1115
+ break;
1116
+ } else
1117
+ ret == 2 && (p2switchMask &= 4 << p2switch);
1118
+ }
1119
+ if (p2switchMask == 0) {
1120
+ break;
1121
+ }
1122
+ if ((p2switch & 1) == 0 && this$static.depth1 > 0) {
1123
+ m = ($clinit_Util(), std2ud)[~~(lastMove / 3) * 3 + 1];
1124
+ this$static.move[this$static.depth1 - 1] = ud2std[m] * 2 - this$static.move[this$static.depth1 - 1];
1125
+ p2mid = ($clinit_CoordCube(), MPermMove)[p2mid][m];
1126
+ p2corn = CPermMove[p2corn][($clinit_CubieCube(), SymMoveUD)[p2csym][m]];
1127
+ p2csym = SymMult[p2corn & 15][p2csym];
1128
+ p2corn >>= 4;
1129
+ p2edge = EPermMove[p2edge][SymMoveUD[p2esym][m]];
1130
+ p2esym = SymMult[p2edge & 15][p2esym];
1131
+ p2edge >>= 4;
1132
+ corni = getPermSymInv(p2corn, p2csym, true);
1133
+ edgei = getPermSymInv(p2edge, p2esym, false);
1134
+ } else if (this$static.preMoveLen > 0) {
1135
+ m = ($clinit_Util(), std2ud)[~~(lastPre / 3) * 3 + 1];
1136
+ this$static.preMoves[this$static.preMoveLen - 1] = ud2std[m] * 2 - this$static.preMoves[this$static.preMoveLen - 1];
1137
+ p2mid = ($clinit_CubieCube(), MPermInv)[($clinit_CoordCube(), MPermMove)[MPermInv[p2mid]][m]];
1138
+ p2corn = CPermMove[corni >> 4][SymMoveUD[corni & 15][m]];
1139
+ corni = p2corn & -16 | SymMult[p2corn & 15][corni & 15];
1140
+ p2corn = getPermSymInv(corni >> 4, corni & 15, true);
1141
+ p2csym = p2corn & 15;
1142
+ p2corn >>= 4;
1143
+ p2edge = EPermMove[edgei >> 4][SymMoveUD[edgei & 15][m]];
1144
+ edgei = p2edge & -16 | SymMult[p2edge & 15][edgei & 15];
1145
+ p2edge = getPermSymInv(edgei >> 4, edgei & 15, false);
1146
+ p2esym = p2edge & 15;
1147
+ p2edge >>= 4;
1148
+ }
1149
+ }
1150
+ this$static.depth1 > 0 && (this$static.move[this$static.depth1 - 1] = lastMove);
1151
+ this$static.preMoveLen > 0 && (this$static.preMoves[this$static.preMoveLen - 1] = lastPre);
1152
+ return ret == 0 ? 0 : 2;
1153
+ }
1154
+ function $initSearch(this$static) {
1155
+ var i;
1156
+ this$static.conjMask = 0;
1157
+ this$static.selfSym = $selfSymmetry(this$static.cc);
1158
+ this$static.conjMask |= neq(and(shr(this$static.selfSym, 16), { l: $intern_20, m: 0, h: 0 }), { l: 0, m: 0, h: 0 }) ? 18 : 0;
1159
+ this$static.conjMask |= neq(and(shr(this$static.selfSym, 32), { l: $intern_20, m: 0, h: 0 }), { l: 0, m: 0, h: 0 }) ? 36 : 0;
1160
+ this$static.conjMask |= neq(and(shr(this$static.selfSym, 48), { l: $intern_20, m: 0, h: 0 }), { l: 0, m: 0, h: 0 }) ? 56 : 0;
1161
+ this$static.selfSym = and(this$static.selfSym, {
1162
+ l: $intern_9,
1163
+ m: $intern_9,
1164
+ h: 15
1165
+ });
1166
+ this$static.maxPreMoves = this$static.conjMask > 7 ? 0 : 20;
1167
+ for (i = 0; i < 6; i++) {
1168
+ $copy(this$static.urfCubieCube[i], this$static.cc);
1169
+ $setWithPrun(this$static.urfCoordCube[i], this$static.urfCubieCube[i], 20);
1170
+ $URFConjugate(this$static.cc);
1171
+ i % 3 == 2 && $invCubieCube(this$static.cc);
1172
+ }
1173
+ }
1174
+ function $phase1(this$static, node, ssym, maxl, lm) {
1175
+ var axis_0, m, power, prun, ret, skipMoves;
1176
+ if (node.prun == 0 && maxl < 5) {
1177
+ if (this$static.allowShorter || maxl == 0) {
1178
+ this$static.depth1 -= maxl;
1179
+ ret = $initPhase2Pre(this$static);
1180
+ this$static.depth1 += maxl;
1181
+ return ret;
1182
+ } else {
1183
+ return 1;
1184
+ }
1185
+ }
1186
+ skipMoves = getSkipMoves(fromInt(ssym));
1187
+ for (axis_0 = 0; axis_0 < 18; axis_0 += 3) {
1188
+ if (axis_0 == lm || axis_0 == lm - 9) {
1189
+ continue;
1190
+ }
1191
+ for (power = 0; power < 3; power++) {
1192
+ m = axis_0 + power;
1193
+ if (this$static.isRec && m != this$static.move[this$static.depth1 - maxl] || skipMoves != 0 && (skipMoves & 1 << m) != 0) {
1194
+ continue;
1195
+ }
1196
+ prun = $doMovePrun(this$static.nodeUD[maxl], node, m);
1197
+ if (prun > maxl) {
1198
+ break;
1199
+ } else if (prun == maxl) {
1200
+ continue;
1201
+ }
1202
+ prun = $doMovePrunConj(this$static.nodeUD[maxl], node, m);
1203
+ if (prun > maxl) {
1204
+ break;
1205
+ } else if (prun == maxl) {
1206
+ continue;
1207
+ }
1208
+ this$static.move[this$static.depth1 - maxl] = m;
1209
+ this$static.valid1 = min_0(this$static.valid1, this$static.depth1 - maxl);
1210
+ ret = $phase1(this$static, this$static.nodeUD[maxl], ssym & toInt(($clinit_CubieCube(), moveCubeSym)[m]), maxl - 1, axis_0);
1211
+ if (ret == 0) {
1212
+ return 0;
1213
+ } else if (ret >= 2) {
1214
+ break;
1215
+ }
1216
+ }
1217
+ }
1218
+ return 1;
1219
+ }
1220
+ function $phase1PreMoves(this$static, maxl, lm, cc, ssym) {
1221
+ var m, ret, skipMoves;
1222
+ this$static.preMoveLen = this$static.maxPreMoves - maxl;
1223
+ if (this$static.isRec ? this$static.depth1 == this$static.length1 - this$static.preMoveLen : this$static.preMoveLen == 0 || (225207 >> lm & 1) == 0) {
1224
+ this$static.depth1 = this$static.length1 - this$static.preMoveLen;
1225
+ this$static.phase1Cubie[0] = cc;
1226
+ this$static.allowShorter = this$static.depth1 == MIN_P1LENGTH_PRE && this$static.preMoveLen != 0;
1227
+ if ($setWithPrun(this$static.nodeUD[this$static.depth1 + 1], cc, this$static.depth1) && $phase1(this$static, this$static.nodeUD[this$static.depth1 + 1], ssym, this$static.depth1, -1) == 0) {
1228
+ return 0;
1229
+ }
1230
+ }
1231
+ if (maxl == 0 || this$static.preMoveLen + MIN_P1LENGTH_PRE >= this$static.length1) {
1232
+ return 1;
1233
+ }
1234
+ skipMoves = getSkipMoves(fromInt(ssym));
1235
+ (maxl == 1 || this$static.preMoveLen + 1 + MIN_P1LENGTH_PRE >= this$static.length1) && (skipMoves |= 225207);
1236
+ lm = ~~(lm / 3) * 3;
1237
+ for (m = 0; m < 18; m++) {
1238
+ if (m == lm || m == lm - 9 || m == lm + 9) {
1239
+ m += 2;
1240
+ continue;
1241
+ }
1242
+ if (this$static.isRec && m != this$static.preMoves[this$static.maxPreMoves - maxl] || (skipMoves & 1 << m) != 0) {
1243
+ continue;
1244
+ }
1245
+ CornMult(($clinit_CubieCube(), moveCube)[m], cc, this$static.preMoveCubes[maxl]);
1246
+ EdgeMult(moveCube[m], cc, this$static.preMoveCubes[maxl]);
1247
+ this$static.preMoves[this$static.maxPreMoves - maxl] = m;
1248
+ ret = $phase1PreMoves(this$static, maxl - 1, m, this$static.preMoveCubes[maxl], ssym & toInt(moveCubeSym[m]));
1249
+ if (ret == 0) {
1250
+ return 0;
1251
+ }
1252
+ }
1253
+ return 1;
1254
+ }
1255
+ function $phase2(this$static, edge, esym, corn, csym, mid, maxl, depth, lm) {
1256
+ var corni, cornx, csymx, edgei, edgex, esymx, m, midx, moveMask, prun, ret;
1257
+ if (edge == 0 && corn == 0 && mid == 0) {
1258
+ return maxl;
1259
+ }
1260
+ moveMask = ($clinit_Util(), ckmv2bit)[lm];
1261
+ for (m = 0; m < 10; m++) {
1262
+ if ((moveMask >> m & 1) != 0) {
1263
+ m += 66 >> m & 3;
1264
+ continue;
1265
+ }
1266
+ midx = ($clinit_CoordCube(), MPermMove)[mid][m];
1267
+ cornx = CPermMove[corn][($clinit_CubieCube(), SymMoveUD)[csym][m]];
1268
+ csymx = SymMult[cornx & 15][csym];
1269
+ cornx >>= 4;
1270
+ edgex = EPermMove[edge][SymMoveUD[esym][m]];
1271
+ esymx = SymMult[edgex & 15][esym];
1272
+ edgex >>= 4;
1273
+ edgei = getPermSymInv(edgex, esymx, false);
1274
+ corni = getPermSymInv(cornx, csymx, true);
1275
+ prun = getPruning(EPermCCombPPrun, (edgei >> 4) * 140 + CCombPConj[Perm2CombP[corni >> 4] & 255][SymMultInv[edgei & 15][corni & 15]]);
1276
+ if (prun > maxl + 1) {
1277
+ return maxl - prun + 1;
1278
+ } else if (prun >= maxl) {
1279
+ m += 66 >> m & 3 & maxl - prun;
1280
+ continue;
1281
+ }
1282
+ prun = max_0(getPruning(MCPermPrun, cornx * 24 + MPermConj[midx][csymx]), getPruning(EPermCCombPPrun, edgex * 140 + CCombPConj[Perm2CombP[cornx] & 255][SymMultInv[esymx][csymx]]));
1283
+ if (prun >= maxl) {
1284
+ m += 66 >> m & 3 & maxl - prun;
1285
+ continue;
1286
+ }
1287
+ ret = $phase2(this$static, edgex, esymx, cornx, csymx, midx, maxl - 1, depth + 1, m);
1288
+ if (ret >= 0) {
1289
+ this$static.move[depth] = ud2std[m];
1290
+ return ret;
1291
+ }
1292
+ if (ret < -2) {
1293
+ break;
1294
+ }
1295
+ ret < -1 && (m += 66 >> m & 3);
1296
+ }
1297
+ return -1;
1298
+ }
1299
+ function $search(this$static) {
1300
+ for (this$static.length1 = this$static.isRec ? this$static.length1 : 0; this$static.length1 < this$static.solLen; this$static.length1++) {
1301
+ this$static.maxDep2 = min_0(MAX_DEPTH2, this$static.solLen - this$static.length1 - 1);
1302
+ for (this$static.urfIdx = this$static.isRec ? this$static.urfIdx : 0; this$static.urfIdx < 6; this$static.urfIdx++) {
1303
+ if ((this$static.conjMask & 1 << this$static.urfIdx) != 0) {
1304
+ continue;
1305
+ }
1306
+ if ($phase1PreMoves(this$static, this$static.maxPreMoves, -30, this$static.urfCubieCube[this$static.urfIdx], toInt(and(this$static.selfSym, { l: $intern_20, m: 0, h: 0 }))) == 0) {
1307
+ return !this$static.solution ? "Error 8" : $toString_2(this$static.solution);
1308
+ }
1309
+ }
1310
+ }
1311
+ return !this$static.solution ? "Error 7" : $toString_2(this$static.solution);
1312
+ }
1313
+ function $solution(this$static, facelets) {
1314
+ var check;
1315
+ check = $verify_0(this$static, facelets);
1316
+ if (check != 0) {
1317
+ return "Error " + (check < 0 ? -check : check);
1318
+ }
1319
+ this$static.solLen = 22;
1320
+ this$static.probe = { l: 0, m: 0, h: 0 };
1321
+ this$static.probeMax = { l: 3531008, m: 23, h: 0 };
1322
+ this$static.probeMin = { l: 0, m: 0, h: 0 };
1323
+ this$static.verbose = 0;
1324
+ this$static.solution = null;
1325
+ this$static.isRec = false;
1326
+ init_0(false);
1327
+ $initSearch(this$static);
1328
+ return $search(this$static);
1329
+ }
1330
+ function $verify_0(this$static, facelets) {
1331
+ var center, count, f, i;
1332
+ count = 0;
1333
+ f = initDim(B_classLit, $intern_30, 0, 54, 7, 1);
1334
+ center = _String(initValues(getClassLiteralForArray(C_classLit, 1), $intern_26, 0, 7, [
1335
+ facelets.charCodeAt(4),
1336
+ facelets.charCodeAt(13),
1337
+ facelets.charCodeAt(22),
1338
+ facelets.charCodeAt(31),
1339
+ facelets.charCodeAt(40),
1340
+ facelets.charCodeAt(49)
1341
+ ]));
1342
+ for (i = 0; i < 54; i++) {
1343
+ f[i] = $indexOf_0(center, fromCodePoint(facelets.charCodeAt(i))) << 24 >> 24;
1344
+ if (f[i] == -1) {
1345
+ return -1;
1346
+ }
1347
+ count += 1 << (f[i] << 2);
1348
+ }
1349
+ if (count != 10066329) {
1350
+ return -1;
1351
+ }
1352
+ toCubieCube(f, this$static.cc);
1353
+ return $verify(this$static.cc);
1354
+ }
1355
+ function Search() {
1356
+ var i, i0, i1;
1357
+ this.move = initDim(I_classLit, $intern_27, 0, 31, 7, 1);
1358
+ this.nodeUD = initDim(Lorg_cubing_min2phase_client_CoordCube_2_classLit, $intern_3, 31, 21, 0, 1);
1359
+ this.nodeRL = initDim(Lorg_cubing_min2phase_client_CoordCube_2_classLit, $intern_3, 31, 21, 0, 1);
1360
+ this.nodeFB = initDim(Lorg_cubing_min2phase_client_CoordCube_2_classLit, $intern_3, 31, 21, 0, 1);
1361
+ this.cc = new CubieCube();
1362
+ this.urfCubieCube = initDim(Lorg_cubing_min2phase_client_CubieCube_2_classLit, $intern_3, 7, 6, 0, 1);
1363
+ this.urfCoordCube = initDim(Lorg_cubing_min2phase_client_CoordCube_2_classLit, $intern_3, 31, 6, 0, 1);
1364
+ this.phase1Cubie = initDim(Lorg_cubing_min2phase_client_CubieCube_2_classLit, $intern_3, 7, 21, 0, 1);
1365
+ this.preMoveCubes = initDim(Lorg_cubing_min2phase_client_CubieCube_2_classLit, $intern_3, 7, 21, 0, 1);
1366
+ this.preMoves = initDim(I_classLit, $intern_27, 0, 20, 7, 1);
1367
+ for (i0 = 0; i0 < 21; i0++) {
1368
+ this.nodeUD[i0] = new CoordCube();
1369
+ this.nodeRL[i0] = new CoordCube();
1370
+ this.nodeFB[i0] = new CoordCube();
1371
+ this.phase1Cubie[i0] = new CubieCube();
1372
+ }
1373
+ for (i1 = 0; i1 < 6; i1++) {
1374
+ this.urfCubieCube[i1] = new CubieCube();
1375
+ this.urfCoordCube[i1] = new CoordCube();
1376
+ }
1377
+ for (i = 0; i < 20; i++) {
1378
+ this.preMoveCubes[i + 1] = new CubieCube();
1379
+ }
1380
+ }
1381
+ defineClass(72, 1, {}, Search);
1382
+ _.allowShorter = false;
1383
+ _.conjMask = 0;
1384
+ _.depth1 = 0;
1385
+ _.isRec = false;
1386
+ _.length1 = 0;
1387
+ _.maxDep2 = 0;
1388
+ _.maxPreMoves = 0;
1389
+ _.preMoveLen = 0;
1390
+ _.probe = { l: 0, m: 0, h: 0 };
1391
+ _.probeMax = { l: 0, m: 0, h: 0 };
1392
+ _.probeMin = { l: 0, m: 0, h: 0 };
1393
+ _.selfSym = { l: 0, m: 0, h: 0 };
1394
+ _.solLen = 0;
1395
+ _.urfIdx = 0;
1396
+ _.valid1 = 0;
1397
+ _.verbose = 0;
1398
+ var MAX_DEPTH2 = 12;
1399
+ var MIN_P1LENGTH_PRE = 7;
1400
+ var $clinit_Util_ran = false;
1401
+ function $clinit_Util() {
1402
+ if ($clinit_Util_ran) {
1403
+ return;
1404
+ }
1405
+ $clinit_Util_ran = true;
1406
+ var i, i0, i1, ix, j, jx;
1407
+ cornerFacelet = initValues(getClassLiteralForArray(B_classLit, 2), $intern_3, 10, 0, [
1408
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [8, 9, 20]),
1409
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [6, 18, 38]),
1410
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [0, 36, 47]),
1411
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [2, 45, 11]),
1412
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [29, 26, 15]),
1413
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [27, 44, 24]),
1414
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [33, 53, 42]),
1415
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [35, 17, 51])
1416
+ ]);
1417
+ edgeFacelet = initValues(getClassLiteralForArray(B_classLit, 2), $intern_3, 10, 0, [
1418
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [5, 10]),
1419
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [7, 19]),
1420
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [3, 37]),
1421
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [1, 46]),
1422
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [32, 16]),
1423
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [28, 25]),
1424
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [30, 43]),
1425
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [34, 52]),
1426
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [23, 12]),
1427
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [21, 41]),
1428
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [50, 39]),
1429
+ initValues(getClassLiteralForArray(B_classLit, 1), $intern_30, 0, 7, [48, 14])
1430
+ ]);
1431
+ Cnk = initDims(I_classLit, [$intern_3, $intern_27], [17, 0], 7, [13, 13], 2);
1432
+ move2str = initValues(getClassLiteralForArray(Ljava_lang_String_2_classLit, 1), $intern_3, 2, 4, [
1433
+ "U ",
1434
+ "U2",
1435
+ "U'",
1436
+ "R ",
1437
+ "R2",
1438
+ "R'",
1439
+ "F ",
1440
+ "F2",
1441
+ "F'",
1442
+ "D ",
1443
+ "D2",
1444
+ "D'",
1445
+ "L ",
1446
+ "L2",
1447
+ "L'",
1448
+ "B ",
1449
+ "B2",
1450
+ "B'"
1451
+ ]);
1452
+ ud2std = initValues(getClassLiteralForArray(I_classLit, 1), $intern_27, 0, 7, [0, 1, 2, 4, 7, 9, 10, 11, 13, 16, 3, 5, 6, 8, 12, 14, 15, 17]);
1453
+ std2ud = initDim(I_classLit, $intern_27, 0, 18, 7, 1);
1454
+ ckmv2bit = initDim(I_classLit, $intern_27, 0, 11, 7, 1);
1455
+ for (i0 = 0; i0 < 18; i0++) {
1456
+ std2ud[ud2std[i0]] = i0;
1457
+ }
1458
+ for (i1 = 0; i1 < 10; i1++) {
1459
+ ix = ~~(ud2std[i1] / 3);
1460
+ ckmv2bit[i1] = 0;
1461
+ for (j = 0; j < 10; j++) {
1462
+ jx = ~~(ud2std[j] / 3);
1463
+ ckmv2bit[i1] |= (ix == jx || ix % 3 == jx % 3 && ix >= jx ? 1 : 0) << j;
1464
+ }
1465
+ }
1466
+ ckmv2bit[10] = 0;
1467
+ for (i = 0; i < 13; i++) {
1468
+ Cnk[i][0] = Cnk[i][i] = 1;
1469
+ for (j = 1; j < i; j++) {
1470
+ Cnk[i][j] = Cnk[i - 1][j - 1] + Cnk[i - 1][j];
1471
+ }
1472
+ }
1473
+ }
1474
+ function getComb(arr, mask, isEdge) {
1475
+ $clinit_Util();
1476
+ var end, i, idxC, perm, r;
1477
+ end = arr.length - 1;
1478
+ idxC = 0;
1479
+ r = 4;
1480
+ for (i = end; i >= 0; i--) {
1481
+ perm = getVal(arr[i], isEdge);
1482
+ (perm & 12) == mask && (idxC += Cnk[i][r--]);
1483
+ }
1484
+ return idxC;
1485
+ }
1486
+ function getNParity(idx, n) {
1487
+ $clinit_Util();
1488
+ var i, p;
1489
+ p = 0;
1490
+ for (i = n - 2; i >= 0; i--) {
1491
+ p ^= idx % (n - i);
1492
+ idx = ~~(idx / (n - i));
1493
+ }
1494
+ return p & 1;
1495
+ }
1496
+ function getNPerm(arr, n, isEdge) {
1497
+ $clinit_Util();
1498
+ var i, idx, v, val;
1499
+ idx = 0;
1500
+ val = { l: 1323536, m: 2777561, h: 1043915 };
1501
+ for (i = 0; i < n - 1; i++) {
1502
+ v = getVal(arr[i], isEdge) << 2;
1503
+ idx = (n - i) * idx + toInt(and(shr(val, v), { l: 15, m: 0, h: 0 }));
1504
+ val = sub_0(val, shl({ l: 1118480, m: 279620, h: 69905 }, v));
1505
+ }
1506
+ return idx;
1507
+ }
1508
+ function getVal(val0, isEdge) {
1509
+ return isEdge ? val0 >> 1 : val0 & 7;
1510
+ }
1511
+ function setComb(arr, idxC, mask, isEdge) {
1512
+ $clinit_Util();
1513
+ var end, fill, i, r;
1514
+ end = arr.length - 1;
1515
+ r = 4;
1516
+ fill = end;
1517
+ for (i = end; i >= 0; i--) {
1518
+ if (idxC >= Cnk[i][r]) {
1519
+ idxC -= Cnk[i][r--];
1520
+ arr[i] = setVal(arr[i], r | mask, isEdge);
1521
+ } else {
1522
+ (fill & 12) == mask && (fill -= 4);
1523
+ arr[i] = setVal(arr[i], fill--, isEdge);
1524
+ }
1525
+ }
1526
+ }
1527
+ function setNPerm(arr, idx, n, isEdge) {
1528
+ $clinit_Util();
1529
+ var extract, i, m, p, v, val;
1530
+ val = { l: 1323536, m: 2777561, h: 1043915 };
1531
+ extract = { l: 0, m: 0, h: 0 };
1532
+ for (p = 2; p <= n; p++) {
1533
+ extract = or(shl(extract, 4), fromInt(idx % p));
1534
+ idx = ~~(idx / p);
1535
+ }
1536
+ for (i = 0; i < n - 1; i++) {
1537
+ v = (toInt(extract) & 15) << 2;
1538
+ extract = shr(extract, 4);
1539
+ arr[i] = setVal(arr[i], toInt(and(shr(val, v), { l: 15, m: 0, h: 0 })), isEdge);
1540
+ m = sub_0(shl({ l: 1, m: 0, h: 0 }, v), { l: 1, m: 0, h: 0 });
1541
+ val = or(and(val, m), and(shr(val, 4), {
1542
+ l: ~m.l & $intern_9,
1543
+ m: ~m.m & $intern_9,
1544
+ h: ~m.h & $intern_10
1545
+ }));
1546
+ }
1547
+ arr[n - 1] = setVal(arr[n - 1], toInt(and(val, { l: 15, m: 0, h: 0 })), isEdge);
1548
+ }
1549
+ function setVal(val0, val, isEdge) {
1550
+ return (isEdge ? val << 1 | val0 & 1 : val | val0 & -8) << 24 >> 24;
1551
+ }
1552
+ function toCubieCube(f, ccRet) {
1553
+ $clinit_Util();
1554
+ var col1, col2, i, i0, i1, i2, j, ori;
1555
+ for (i0 = 0; i0 < 8; i0++) {
1556
+ ccRet.ca[i0] = 0;
1557
+ }
1558
+ for (i1 = 0; i1 < 12; i1++) {
1559
+ ccRet.ea[i1] = 0;
1560
+ }
1561
+ for (i2 = 0; i2 < 8; i2++) {
1562
+ for (ori = 0; ori < 3; ori++) {
1563
+ if (f[cornerFacelet[i2][ori]] == 0 || f[cornerFacelet[i2][ori]] == 3)
1564
+ break;
1565
+ }
1566
+ col1 = f[cornerFacelet[i2][(ori + 1) % 3]];
1567
+ col2 = f[cornerFacelet[i2][(ori + 2) % 3]];
1568
+ for (j = 0; j < 8; j++) {
1569
+ if (col1 == ~~(cornerFacelet[j][1] / 9) && col2 == ~~(cornerFacelet[j][2] / 9)) {
1570
+ ccRet.ca[i2] = narrow_byte(ori % 3 << 3 | j);
1571
+ break;
1572
+ }
1573
+ }
1574
+ }
1575
+ for (i = 0; i < 12; i++) {
1576
+ for (j = 0; j < 12; j++) {
1577
+ if (f[edgeFacelet[i][0]] == ~~(edgeFacelet[j][0] / 9) && f[edgeFacelet[i][1]] == ~~(edgeFacelet[j][1] / 9)) {
1578
+ ccRet.ea[i] = narrow_byte(j << 1);
1579
+ break;
1580
+ }
1581
+ if (f[edgeFacelet[i][0]] == ~~(edgeFacelet[j][1] / 9) && f[edgeFacelet[i][1]] == ~~(edgeFacelet[j][0] / 9)) {
1582
+ ccRet.ea[i] = narrow_byte(j << 1 | 1);
1583
+ break;
1584
+ }
1585
+ }
1586
+ }
1587
+ }
1588
+ var Cnk;
1589
+ var ckmv2bit;
1590
+ var cornerFacelet;
1591
+ var edgeFacelet;
1592
+ var move2str;
1593
+ var std2ud;
1594
+ var ud2std;
1595
+ function $appendSolMove(this$static, curMove) {
1596
+ var axisCur, axisLast, pow_0;
1597
+ if (this$static.length_0 == 0) {
1598
+ this$static.moves[this$static.length_0++] = curMove;
1599
+ return;
1600
+ }
1601
+ axisCur = ~~(curMove / 3);
1602
+ axisLast = ~~(this$static.moves[this$static.length_0 - 1] / 3);
1603
+ if (axisCur == axisLast) {
1604
+ pow_0 = (curMove % 3 + this$static.moves[this$static.length_0 - 1] % 3 + 1) % 4;
1605
+ pow_0 == 3 ? --this$static.length_0 : this$static.moves[this$static.length_0 - 1] = axisCur * 3 + pow_0;
1606
+ return;
1607
+ }
1608
+ if (this$static.length_0 > 1 && axisCur % 3 == axisLast % 3 && axisCur == ~~(this$static.moves[this$static.length_0 - 2] / 3)) {
1609
+ pow_0 = (curMove % 3 + this$static.moves[this$static.length_0 - 2] % 3 + 1) % 4;
1610
+ if (pow_0 == 3) {
1611
+ this$static.moves[this$static.length_0 - 2] = this$static.moves[this$static.length_0 - 1];
1612
+ --this$static.length_0;
1613
+ } else {
1614
+ this$static.moves[this$static.length_0 - 2] = axisCur * 3 + pow_0;
1615
+ }
1616
+ return;
1617
+ }
1618
+ this$static.moves[this$static.length_0++] = curMove;
1619
+ }
1620
+ function $setArgs(this$static, verbose, urfIdx, depth1) {
1621
+ this$static.verbose = verbose;
1622
+ this$static.urfIdx = urfIdx;
1623
+ this$static.depth1 = depth1;
1624
+ }
1625
+ function $toString_2(this$static) {
1626
+ var s, sb, urf;
1627
+ sb = new StringBuffer();
1628
+ urf = (this$static.verbose & 2) != 0 ? (this$static.urfIdx + 3) % 6 : this$static.urfIdx;
1629
+ if (urf < 3) {
1630
+ for (s = 0; s < this$static.length_0; s++) {
1631
+ (this$static.verbose & 1) != 0 && s == this$static.depth1 && (sb.string += ". ", sb);
1632
+ $append($append_1(sb, ($clinit_Util(), move2str)[($clinit_CubieCube(), urfMove)[urf][this$static.moves[s]]]));
1633
+ }
1634
+ } else {
1635
+ for (s = this$static.length_0 - 1; s >= 0; s--) {
1636
+ $append($append_1(sb, ($clinit_Util(), move2str)[($clinit_CubieCube(), urfMove)[urf][this$static.moves[s]]]));
1637
+ (this$static.verbose & 1) != 0 && s == this$static.depth1 && (sb.string += ". ", sb);
1638
+ }
1639
+ }
1640
+ return sb.string;
1641
+ }
1642
+ function Util$Solution() {
1643
+ this.moves = initDim(I_classLit, $intern_27, 0, 31, 7, 1);
1644
+ }
1645
+ defineClass(150, 1, {}, Util$Solution);
1646
+ _.depth1 = 0;
1647
+ _.length_0 = 0;
1648
+ _.urfIdx = 0;
1649
+ _.verbose = 0;
1650
+ var I_classLit = createForPrimitive("int", "I");
1651
+ createForClass("com.google.gwt.lang", "CollapsedPropertyHolder", 252);
1652
+ createForClass("com.google.gwt.lang", "JavaClassHierarchySetupUtil", 254);
1653
+ var Lcom_google_gwt_lang_LongLibBase$LongEmul_2_classLit = createForClass("com.google.gwt.lang", "LongLibBase/LongEmul", null);
1654
+ createForClass("com.google.gwt.lang", "ModuleUtils", 257);
1655
+ var B_classLit = createForPrimitive("byte", "B");
1656
+ var J_classLit = createForPrimitive("long", "J");
1657
+ var C_classLit = createForPrimitive("char", "C");
1658
+ createForClass("com.google.gwt.user.client.rpc", "XsrfToken", null), createForInterface("java.util", "Map/Entry");
1659
+ var initialize = function() {
1660
+ init_0(false);
1661
+ };
1662
+ var solveState = function(s) {
1663
+ return $solution(new Search(), s);
1664
+ };
1665
+ export {
1666
+ initialize,
1667
+ solveState
1668
+ };
1669
+ //# sourceMappingURL=gwt-B7CBESZR.js.map