@nayan-ui/games 1.19.0 → 1.20.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 (1808) hide show
  1. package/README.md +53 -191
  2. package/lib/module/assets/fonts/Inter-SemiBold.ttf +0 -0
  3. package/lib/module/assets/models/explorer/explorer.glb +0 -0
  4. package/lib/module/assets/models/explorer/params.json +51 -0
  5. package/lib/module/assets/models/explorer/source.json +222 -0
  6. package/lib/module/assets/models/play-with-tua/play-with-tua.glb +0 -0
  7. package/lib/module/assets/models/play-with-tua/sources.json +141 -0
  8. package/lib/module/assets/sfx/balloon_pop.wav +0 -0
  9. package/lib/module/assets/sfx/blocked.wav +0 -0
  10. package/lib/module/assets/sfx/boing.wav +0 -0
  11. package/lib/module/assets/sfx/bonus.wav +0 -0
  12. package/lib/module/assets/sfx/boom.wav +0 -0
  13. package/lib/module/assets/sfx/bump.wav +0 -0
  14. package/lib/module/assets/sfx/cannon.wav +0 -0
  15. package/lib/module/assets/sfx/capture.wav +0 -0
  16. package/lib/module/assets/sfx/card_flip.wav +0 -0
  17. package/lib/module/assets/sfx/card_place.wav +0 -0
  18. package/lib/module/assets/sfx/catch.wav +0 -0
  19. package/lib/module/assets/sfx/chime.wav +0 -0
  20. package/lib/module/assets/sfx/chomp.wav +0 -0
  21. package/lib/module/assets/sfx/chomp_alt.wav +0 -0
  22. package/lib/module/assets/sfx/clack.wav +0 -0
  23. package/lib/module/assets/sfx/clang.wav +0 -0
  24. package/lib/module/assets/sfx/clash.wav +0 -0
  25. package/lib/module/assets/sfx/click.wav +0 -0
  26. package/lib/module/assets/sfx/coin.wav +0 -0
  27. package/lib/module/assets/sfx/combo.wav +0 -0
  28. package/lib/module/assets/sfx/crash.wav +0 -0
  29. package/lib/module/assets/sfx/crunch.wav +0 -0
  30. package/lib/module/assets/sfx/dance.wav +0 -0
  31. package/lib/module/assets/sfx/deselect.wav +0 -0
  32. package/lib/module/assets/sfx/dice_roll.wav +0 -0
  33. package/lib/module/assets/sfx/die.wav +0 -0
  34. package/lib/module/assets/sfx/draw.wav +0 -0
  35. package/lib/module/assets/sfx/drop.wav +0 -0
  36. package/lib/module/assets/sfx/eat.wav +0 -0
  37. package/lib/module/assets/sfx/engine.wav +0 -0
  38. package/lib/module/assets/sfx/error.wav +0 -0
  39. package/lib/module/assets/sfx/flag.wav +0 -0
  40. package/lib/module/assets/sfx/flap.wav +0 -0
  41. package/lib/module/assets/sfx/flip_disc.wav +0 -0
  42. package/lib/module/assets/sfx/footstep_run.wav +0 -0
  43. package/lib/module/assets/sfx/footstep_walk.wav +0 -0
  44. package/lib/module/assets/sfx/game_over.wav +0 -0
  45. package/lib/module/assets/sfx/gate.wav +0 -0
  46. package/lib/module/assets/sfx/hit.wav +0 -0
  47. package/lib/module/assets/sfx/hop.wav +0 -0
  48. package/lib/module/assets/sfx/hurt.wav +0 -0
  49. package/lib/module/assets/sfx/invalid.wav +0 -0
  50. package/lib/module/assets/sfx/jump.wav +0 -0
  51. package/lib/module/assets/sfx/ladder.wav +0 -0
  52. package/lib/module/assets/sfx/land.wav +0 -0
  53. package/lib/module/assets/sfx/laugh.wav +0 -0
  54. package/lib/module/assets/sfx/lose.wav +0 -0
  55. package/lib/module/assets/sfx/merge.wav +0 -0
  56. package/lib/module/assets/sfx/miss.wav +0 -0
  57. package/lib/module/assets/sfx/nitro.wav +0 -0
  58. package/lib/module/assets/sfx/pew.wav +0 -0
  59. package/lib/module/assets/sfx/place.wav +0 -0
  60. package/lib/module/assets/sfx/pling.wav +0 -0
  61. package/lib/module/assets/sfx/point.wav +0 -0
  62. package/lib/module/assets/sfx/pop.wav +0 -0
  63. package/lib/module/assets/sfx/pop_soft.wav +0 -0
  64. package/lib/module/assets/sfx/power_up.wav +0 -0
  65. package/lib/module/assets/sfx/reveal.wav +0 -0
  66. package/lib/module/assets/sfx/robot.wav +0 -0
  67. package/lib/module/assets/sfx/rotate.wav +0 -0
  68. package/lib/module/assets/sfx/run_steps.wav +0 -0
  69. package/lib/module/assets/sfx/select.wav +0 -0
  70. package/lib/module/assets/sfx/shuffle.wav +0 -0
  71. package/lib/module/assets/sfx/six.wav +0 -0
  72. package/lib/module/assets/sfx/slice.wav +0 -0
  73. package/lib/module/assets/sfx/slide.wav +0 -0
  74. package/lib/module/assets/sfx/snake.wav +0 -0
  75. package/lib/module/assets/sfx/snap.wav +0 -0
  76. package/lib/module/assets/sfx/splash.wav +0 -0
  77. package/lib/module/assets/sfx/star.wav +0 -0
  78. package/lib/module/assets/sfx/start.wav +0 -0
  79. package/lib/module/assets/sfx/swoosh.wav +0 -0
  80. package/lib/module/assets/sfx/tap.wav +0 -0
  81. package/lib/module/assets/sfx/thud.wav +0 -0
  82. package/lib/module/assets/sfx/thunk.wav +0 -0
  83. package/lib/module/assets/sfx/tick.wav +0 -0
  84. package/lib/module/assets/sfx/time_up.wav +0 -0
  85. package/lib/module/assets/sfx/tock.wav +0 -0
  86. package/lib/module/assets/sfx/walk_steps.wav +0 -0
  87. package/lib/module/assets/sfx/warning.wav +0 -0
  88. package/lib/module/assets/sfx/whack.wav +0 -0
  89. package/lib/module/assets/sfx/whoosh.wav +0 -0
  90. package/lib/module/assets/sfx/win.wav +0 -0
  91. package/lib/module/assets/sfx/zap.wav +0 -0
  92. package/lib/module/assets/textures/ad_bolt.png +0 -0
  93. package/lib/module/assets/textures/ad_bubbles.png +0 -0
  94. package/lib/module/assets/textures/ad_chevrons.png +0 -0
  95. package/lib/module/assets/textures/asphalt.png +0 -0
  96. package/lib/module/assets/textures/bark.jpg +0 -0
  97. package/lib/module/assets/textures/explorer-atlas.png +0 -0
  98. package/lib/module/assets/textures/facade.png +0 -0
  99. package/lib/module/assets/textures/grass.png +0 -0
  100. package/lib/module/assets/textures/leaves.png +0 -0
  101. package/lib/module/assets/textures/limestone.jpg +0 -0
  102. package/lib/module/assets/textures/meadow.jpg +0 -0
  103. package/lib/module/assets/textures/nature-sources.json +87 -0
  104. package/lib/module/assets/textures/pine.png +0 -0
  105. package/lib/module/assets/textures/river.jpg +0 -0
  106. package/lib/module/assets/textures/soft_glow.png +0 -0
  107. package/lib/module/games/arrows/Arrows.js +1 -1
  108. package/lib/module/games/arrows/ArrowsConstants.js +1 -1
  109. package/lib/module/games/arrows/ArrowsGame.js +1 -0
  110. package/lib/module/games/arrows/ArrowsScene.js +1 -0
  111. package/lib/module/games/balloon-blaster/BalloonBlaster.js +1 -1
  112. package/lib/module/games/balloon-blaster/BalloonBlasterConstants.js +1 -1
  113. package/lib/module/games/balloon-blaster/BalloonBlasterGame.js +1 -0
  114. package/lib/module/games/balloon-blaster/BalloonBlasterPhysics.js +1 -0
  115. package/lib/module/games/balloon-blaster/BalloonBlasterScene.js +1 -0
  116. package/lib/module/games/bike-racing/BikeMeshes.js +1 -0
  117. package/lib/module/games/bike-racing/BikeRacing.js +1 -1
  118. package/lib/module/games/bike-racing/BikeRacingConstants.js +1 -1
  119. package/lib/module/games/bike-racing/BikeRacingGame.js +1 -0
  120. package/lib/module/games/bike-racing/BikeRacingScene.js +1 -0
  121. package/lib/module/games/block-blast/BlockBlast.js +1 -1
  122. package/lib/module/games/block-blast/BlockBlastConstants.js +1 -1
  123. package/lib/module/games/block-blast/BlockBlastGame.js +1 -0
  124. package/lib/module/games/block-blast/BlockBlastScene.js +1 -0
  125. package/lib/module/games/block-breaker/BlockBreaker.js +1 -1
  126. package/lib/module/games/block-breaker/BlockBreakerConstants.js +1 -1
  127. package/lib/module/games/block-breaker/BlockBreakerGame.js +1 -0
  128. package/lib/module/games/block-breaker/BlockBreakerScene.js +1 -0
  129. package/lib/module/games/bluk/Bluk.js +1 -1
  130. package/lib/module/games/bluk/BlukConstants.js +1 -1
  131. package/lib/module/games/bluk/BlukGame.js +1 -0
  132. package/lib/module/games/bluk/BlukRules.js +1 -0
  133. package/lib/module/games/bluk/BlukScene.js +1 -0
  134. package/lib/module/games/bubble-shooter/BubbleShooter.js +1 -1
  135. package/lib/module/games/bubble-shooter/BubbleShooterConstants.js +1 -1
  136. package/lib/module/games/bubble-shooter/BubbleShooterGame.js +1 -0
  137. package/lib/module/games/bubble-shooter/BubbleShooterScene.js +1 -0
  138. package/lib/module/games/candy-crush/CandyCrush.js +1 -1
  139. package/lib/module/games/candy-crush/CandyCrushConstants.js +1 -1
  140. package/lib/module/games/candy-crush/CandyCrushGame.js +1 -0
  141. package/lib/module/games/candy-crush/CandyCrushScene.js +1 -0
  142. package/lib/module/games/car-racing/CarMeshes.js +1 -0
  143. package/lib/module/games/car-racing/CarRacing.js +1 -1
  144. package/lib/module/games/car-racing/CarRacingConstants.js +1 -1
  145. package/lib/module/games/car-racing/CarRacingFacade.js +1 -0
  146. package/lib/module/games/car-racing/CarRacingGame.js +1 -0
  147. package/lib/module/games/car-racing/CarRacingScene.js +1 -0
  148. package/lib/module/games/car-racing/CarRacingScenery.js +1 -0
  149. package/lib/module/games/chameleon-run/ChameleonRun.js +1 -1
  150. package/lib/module/games/chameleon-run/ChameleonRunBackdrop.js +1 -0
  151. package/lib/module/games/chameleon-run/ChameleonRunConstants.js +1 -1
  152. package/lib/module/games/chameleon-run/ChameleonRunGame.js +1 -0
  153. package/lib/module/games/chameleon-run/ChameleonRunMeshes.js +1 -0
  154. package/lib/module/games/chameleon-run/ChameleonRunRules.js +1 -0
  155. package/lib/module/games/chameleon-run/ChameleonRunScene.js +1 -0
  156. package/lib/module/games/checkers/Checkers.js +1 -1
  157. package/lib/module/games/checkers/CheckersAI.js +1 -0
  158. package/lib/module/games/checkers/CheckersConstants.js +1 -1
  159. package/lib/module/games/checkers/CheckersGame.js +1 -0
  160. package/lib/module/games/checkers/CheckersRules.js +1 -0
  161. package/lib/module/games/checkers/CheckersScene.js +1 -0
  162. package/lib/module/games/color-switch/ColorSwitch.js +1 -1
  163. package/lib/module/games/color-switch/ColorSwitchConstants.js +1 -1
  164. package/lib/module/games/color-switch/ColorSwitchGame.js +1 -0
  165. package/lib/module/games/color-switch/ColorSwitchScene.js +1 -0
  166. package/lib/module/games/colors-sort/ColorsSort.js +1 -1
  167. package/lib/module/games/colors-sort/ColorsSortConstants.js +1 -1
  168. package/lib/module/games/colors-sort/ColorsSortGame.js +1 -0
  169. package/lib/module/games/colors-sort/ColorsSortScene.js +1 -0
  170. package/lib/module/games/connect-em-all/ConnectEmAll.js +1 -1
  171. package/lib/module/games/connect-em-all/ConnectEmAllConstants.js +1 -1
  172. package/lib/module/games/connect-em-all/ConnectEmAllGame.js +1 -0
  173. package/lib/module/games/connect-em-all/ConnectEmAllScene.js +1 -0
  174. package/lib/module/games/crossy-road/CrossyRoad.js +1 -1
  175. package/lib/module/games/crossy-road/CrossyRoadCamera.js +1 -0
  176. package/lib/module/games/crossy-road/CrossyRoadConstants.js +1 -1
  177. package/lib/module/games/crossy-road/CrossyRoadGame.js +1 -0
  178. package/lib/module/games/crossy-road/CrossyRoadMeshes.js +1 -0
  179. package/lib/module/games/crossy-road/CrossyRoadPerson.js +1 -0
  180. package/lib/module/games/crossy-road/CrossyRoadRules.js +1 -0
  181. package/lib/module/games/crossy-road/CrossyRoadScene.js +1 -0
  182. package/lib/module/games/dino-jump/DinoJump.js +1 -1
  183. package/lib/module/games/dino-jump/DinoJumpConstants.js +1 -1
  184. package/lib/module/games/dino-jump/DinoJumpGame.js +1 -0
  185. package/lib/module/games/dino-jump/DinoJumpScene.js +1 -0
  186. package/lib/module/games/dots-and-boxes/DotsAndBoxes.js +1 -1
  187. package/lib/module/games/dots-and-boxes/DotsAndBoxesConstants.js +1 -1
  188. package/lib/module/games/dots-and-boxes/DotsAndBoxesGame.js +1 -0
  189. package/lib/module/games/dots-and-boxes/DotsAndBoxesScene.js +1 -0
  190. package/lib/module/games/falling-sticks/FallingSticks.js +1 -1
  191. package/lib/module/games/falling-sticks/FallingSticksConstants.js +1 -1
  192. package/lib/module/games/falling-sticks/FallingSticksGame.js +1 -0
  193. package/lib/module/games/falling-sticks/FallingSticksRules.js +1 -0
  194. package/lib/module/games/falling-sticks/FallingSticksScene.js +1 -0
  195. package/lib/module/games/find-different-number/FindDifferentNumber.js +1 -1
  196. package/lib/module/games/find-different-number/FindDifferentNumberConstants.js +1 -1
  197. package/lib/module/games/find-different-number/FindDifferentNumberGame.js +1 -0
  198. package/lib/module/games/find-different-number/FindDifferentNumberRules.js +1 -0
  199. package/lib/module/games/find-different-number/FindDifferentNumberScene.js +1 -0
  200. package/lib/module/games/flappy-bird/FlappyBird.js +1 -1
  201. package/lib/module/games/flappy-bird/FlappyBirdConstants.js +1 -1
  202. package/lib/module/games/flappy-bird/FlappyBirdGame.js +1 -0
  203. package/lib/module/games/flappy-bird/FlappyBirdScene.js +1 -0
  204. package/lib/module/games/fruit-merger/FruitMerger.js +1 -1
  205. package/lib/module/games/fruit-merger/FruitMergerConstants.js +1 -1
  206. package/lib/module/games/fruit-merger/FruitMergerGame.js +1 -0
  207. package/lib/module/games/fruit-merger/FruitMergerRules.js +1 -0
  208. package/lib/module/games/fruit-merger/FruitMergerScene.js +1 -0
  209. package/lib/module/games/fruit-ninja/FruitNinja.js +1 -1
  210. package/lib/module/games/fruit-ninja/FruitNinjaConstants.js +1 -1
  211. package/lib/module/games/fruit-ninja/FruitNinjaGame.js +1 -0
  212. package/lib/module/games/fruit-ninja/FruitNinjaScene.js +1 -0
  213. package/lib/module/games/fruit-ninja/FruitNinjaWorld.js +1 -0
  214. package/lib/module/games/game-2048/Game2048.js +1 -1
  215. package/lib/module/games/game-2048/Game2048Constants.js +1 -1
  216. package/lib/module/games/game-2048/Game2048Game.js +1 -0
  217. package/lib/module/games/game-2048/Game2048Rules.js +1 -0
  218. package/lib/module/games/game-2048/Game2048Scene.js +1 -0
  219. package/lib/module/games/knife-hit/KnifeHit.js +1 -1
  220. package/lib/module/games/knife-hit/KnifeHitConstants.js +1 -1
  221. package/lib/module/games/knife-hit/KnifeHitGame.js +1 -0
  222. package/lib/module/games/knife-hit/KnifeHitScene.js +1 -0
  223. package/lib/module/games/ludo-king/LudoKing.js +1 -1
  224. package/lib/module/games/ludo-king/LudoKingConstants.js +1 -1
  225. package/lib/module/games/ludo-king/LudoKingGame.js +1 -0
  226. package/lib/module/games/ludo-king/LudoKingRules.js +1 -0
  227. package/lib/module/games/ludo-king/LudoKingScene.js +1 -0
  228. package/lib/module/games/maze-runner/MazeRunner.js +1 -1
  229. package/lib/module/games/maze-runner/MazeRunnerConstants.js +1 -1
  230. package/lib/module/games/maze-runner/MazeRunnerGame.js +1 -0
  231. package/lib/module/games/maze-runner/MazeRunnerRules.js +1 -0
  232. package/lib/module/games/maze-runner/MazeRunnerScene.js +1 -0
  233. package/lib/module/games/memory-match/MemoryMatch.js +1 -1
  234. package/lib/module/games/memory-match/MemoryMatchConstants.js +1 -1
  235. package/lib/module/games/memory-match/MemoryMatchGame.js +1 -0
  236. package/lib/module/games/memory-match/MemoryMatchRules.js +1 -0
  237. package/lib/module/games/memory-match/MemoryMatchScene.js +1 -0
  238. package/lib/module/games/mine-sweeper/MineSweeper.js +1 -1
  239. package/lib/module/games/mine-sweeper/MineSweeperConstants.js +1 -1
  240. package/lib/module/games/mine-sweeper/MineSweeperGame.js +1 -0
  241. package/lib/module/games/mine-sweeper/MineSweeperRules.js +1 -0
  242. package/lib/module/games/mine-sweeper/MineSweeperScene.js +1 -0
  243. package/lib/module/games/mob-control/MobControl.js +1 -1
  244. package/lib/module/games/mob-control/MobControlConstants.js +1 -1
  245. package/lib/module/games/mob-control/MobControlGame.js +1 -0
  246. package/lib/module/games/mob-control/MobControlMeshes.js +1 -0
  247. package/lib/module/games/mob-control/MobControlRenderer.js +1 -0
  248. package/lib/module/games/mob-control/MobControlRules.js +1 -0
  249. package/lib/module/games/mob-control/MobControlScene.js +1 -0
  250. package/lib/module/games/number-search/NumberSearch.js +1 -1
  251. package/lib/module/games/number-search/NumberSearchNumbers.js +1 -0
  252. package/lib/module/games/nuts-and-bolts/NutsAndBolts.js +1 -1
  253. package/lib/module/games/nuts-and-bolts/NutsAndBoltsConstants.js +1 -1
  254. package/lib/module/games/nuts-and-bolts/NutsAndBoltsGame.js +1 -0
  255. package/lib/module/games/nuts-and-bolts/NutsAndBoltsRules.js +1 -0
  256. package/lib/module/games/nuts-and-bolts/NutsAndBoltsScene.js +1 -0
  257. package/lib/module/games/pac-man/PacMan.js +1 -1
  258. package/lib/module/games/pac-man/PacManConstants.js +1 -1
  259. package/lib/module/games/pac-man/PacManGame.js +1 -0
  260. package/lib/module/games/pac-man/PacManRules.js +1 -0
  261. package/lib/module/games/pac-man/PacManScene.js +1 -0
  262. package/lib/module/games/paper-io/PaperIo.js +1 -1
  263. package/lib/module/games/paper-io/PaperIoConstants.js +1 -1
  264. package/lib/module/games/paper-io/PaperIoGame.js +1 -0
  265. package/lib/module/games/paper-io/PaperIoMeshes.js +1 -0
  266. package/lib/module/games/paper-io/PaperIoRules.js +1 -0
  267. package/lib/module/games/paper-io/PaperIoScene.js +1 -0
  268. package/lib/module/games/penguin-run/PenguinMeshes.js +1 -0
  269. package/lib/module/games/penguin-run/PenguinModel.js +1 -0
  270. package/lib/module/games/penguin-run/PenguinRun.js +1 -0
  271. package/lib/module/games/penguin-run/PenguinRunConstants.js +1 -0
  272. package/lib/module/games/penguin-run/PenguinRunGame.js +1 -0
  273. package/lib/module/games/penguin-run/PenguinRunScene.js +1 -0
  274. package/lib/module/games/perfect-circle/PerfectCircle.js +1 -1
  275. package/lib/module/games/perfect-circle/PerfectCircleConstants.js +1 -1
  276. package/lib/module/games/perfect-circle/PerfectCircleGame.js +1 -0
  277. package/lib/module/games/perfect-circle/PerfectCircleRules.js +1 -0
  278. package/lib/module/games/perfect-circle/PerfectCircleScene.js +1 -0
  279. package/lib/module/games/pipe-connect/PipeConnect.js +1 -1
  280. package/lib/module/games/pipe-connect/PipeConnectConstants.js +1 -1
  281. package/lib/module/games/pipe-connect/PipeConnectGame.js +1 -0
  282. package/lib/module/games/pipe-connect/PipeConnectRules.js +1 -0
  283. package/lib/module/games/pipe-connect/PipeConnectScene.js +1 -0
  284. package/lib/module/games/play-with-tua/PlayWithTua.js +1 -0
  285. package/lib/module/games/play-with-tua/PlayWithTuaConstants.js +1 -0
  286. package/lib/module/games/play-with-tua/PlayWithTuaGame.js +1 -0
  287. package/lib/module/games/play-with-tua/PlayWithTuaModel.js +1 -0
  288. package/lib/module/games/play-with-tua/PlayWithTuaScene.js +1 -0
  289. package/lib/module/games/popit-fidget/PopitFidget.js +1 -1
  290. package/lib/module/games/popit-fidget/PopitFidgetConstants.js +1 -1
  291. package/lib/module/games/popit-fidget/PopitFidgetGame.js +1 -0
  292. package/lib/module/games/popit-fidget/PopitFidgetScene.js +1 -0
  293. package/lib/module/games/reversi/Reversi.js +1 -1
  294. package/lib/module/games/reversi/ReversiConstants.js +1 -1
  295. package/lib/module/games/reversi/ReversiGame.js +1 -0
  296. package/lib/module/games/reversi/ReversiRules.js +1 -0
  297. package/lib/module/games/reversi/ReversiScene.js +1 -0
  298. package/lib/module/games/search-grid/SearchGrid.js +1 -0
  299. package/lib/module/games/search-grid/SearchGridConstants.js +1 -0
  300. package/lib/module/games/search-grid/SearchGridGame.js +1 -0
  301. package/lib/module/games/search-grid/SearchGridScene.js +1 -0
  302. package/lib/module/games/shared/BackdropCard.js +1 -0
  303. package/lib/module/games/shared/EngineBackdrop.js +1 -0
  304. package/lib/module/games/shared/EngineBlasts.js +1 -0
  305. package/lib/module/games/shared/EngineBlocks.js +1 -0
  306. package/lib/module/games/shared/EngineControlText.js +1 -0
  307. package/lib/module/games/shared/EngineDice.js +1 -0
  308. package/lib/module/games/shared/EngineFootprint.js +1 -0
  309. package/lib/module/games/shared/EngineFruits.js +1 -0
  310. package/lib/module/games/shared/EngineGameLoader.js +1 -0
  311. package/lib/module/games/shared/EngineGameScreen.js +1 -0
  312. package/lib/module/games/shared/EngineGameWidth.js +1 -0
  313. package/lib/module/games/shared/EngineGameWidth.web.js +1 -0
  314. package/lib/module/games/shared/EngineGlyphs.js +1 -0
  315. package/lib/module/games/shared/EngineHud.js +1 -0
  316. package/lib/module/games/shared/EngineLoading.js +1 -0
  317. package/lib/module/games/shared/EngineMeadow.js +1 -0
  318. package/lib/module/games/shared/EngineMeshCache.js +1 -0
  319. package/lib/module/games/shared/EngineMeshes.js +1 -0
  320. package/lib/module/games/shared/EngineRacingChase.js +1 -0
  321. package/lib/module/games/shared/EngineRacingHandling.js +1 -0
  322. package/lib/module/games/shared/EngineReadyContext.js +1 -0
  323. package/lib/module/games/shared/EngineTilt.js +1 -0
  324. package/lib/module/games/shared/EngineTouchSurface.js +1 -0
  325. package/lib/module/games/shared/EngineUtils.js +1 -0
  326. package/lib/module/games/shared/GameActivity.js +1 -0
  327. package/lib/module/games/shared/GameLoading.js +1 -0
  328. package/lib/module/games/shared/GameLoadingTransition.js +1 -0
  329. package/lib/module/games/shared/ProceduralCacheVersion.js +1 -0
  330. package/lib/module/games/shared/useEngineGame.js +1 -0
  331. package/lib/module/games/shared/useGameResource.js +1 -0
  332. package/lib/module/games/shared/useLiveState.js +1 -0
  333. package/lib/module/games/sliding-numbers/SlidingNumbers.js +1 -1
  334. package/lib/module/games/sliding-numbers/SlidingNumbersConstants.js +1 -1
  335. package/lib/module/games/sliding-numbers/SlidingNumbersGame.js +1 -0
  336. package/lib/module/games/sliding-numbers/SlidingNumbersRules.js +1 -0
  337. package/lib/module/games/sliding-numbers/SlidingNumbersScene.js +1 -0
  338. package/lib/module/games/snake-3d/Snake3D.js +1 -1
  339. package/lib/module/games/snake-3d/Snake3DConstants.js +1 -1
  340. package/lib/module/games/snake-3d/Snake3DGame.js +1 -0
  341. package/lib/module/games/snake-3d/Snake3DMotion.js +1 -0
  342. package/lib/module/games/snake-3d/Snake3DRules.js +1 -0
  343. package/lib/module/games/snake-3d/Snake3DScene.js +1 -0
  344. package/lib/module/games/snakes-and-ladders/SnakesAndLadders.js +1 -1
  345. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersConstants.js +1 -1
  346. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersGame.js +1 -0
  347. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersScene.js +1 -0
  348. package/lib/module/games/space-fighter/SpaceFighter.js +1 -1
  349. package/lib/module/games/space-fighter/SpaceFighterConstants.js +1 -1
  350. package/lib/module/games/space-fighter/SpaceFighterGame.js +1 -0
  351. package/lib/module/games/space-fighter/SpaceFighterScene.js +1 -0
  352. package/lib/module/games/spider-solitaire/SpiderSolitaire.js +1 -1
  353. package/lib/module/games/spider-solitaire/SpiderSolitaireConstants.js +1 -1
  354. package/lib/module/games/spider-solitaire/SpiderSolitaireGame.js +1 -0
  355. package/lib/module/games/spider-solitaire/SpiderSolitaireRules.js +1 -0
  356. package/lib/module/games/spider-solitaire/SpiderSolitaireScene.js +1 -0
  357. package/lib/module/games/stack-tower/StackTower.js +1 -1
  358. package/lib/module/games/stack-tower/StackTowerConstants.js +1 -1
  359. package/lib/module/games/stack-tower/StackTowerGame.js +1 -0
  360. package/lib/module/games/stack-tower/StackTowerScene.js +1 -0
  361. package/lib/module/games/sudoku/Sudoku.js +1 -1
  362. package/lib/module/games/sudoku/SudokuConstants.js +1 -1
  363. package/lib/module/games/sudoku/SudokuGame.js +1 -0
  364. package/lib/module/games/sudoku/SudokuRules.js +1 -0
  365. package/lib/module/games/sudoku/SudokuScene.js +1 -0
  366. package/lib/module/games/tangram/Tangram.js +1 -1
  367. package/lib/module/games/tangram/TangramConstants.js +1 -1
  368. package/lib/module/games/tangram/TangramGame.js +1 -0
  369. package/lib/module/games/tangram/TangramRules.js +1 -0
  370. package/lib/module/games/tangram/TangramScene.js +1 -0
  371. package/lib/module/games/tank-1990/Tank1990.js +1 -1
  372. package/lib/module/games/tank-1990/Tank1990Constants.js +1 -1
  373. package/lib/module/games/tank-1990/Tank1990Game.js +1 -0
  374. package/lib/module/games/tank-1990/Tank1990Rules.js +1 -0
  375. package/lib/module/games/tank-1990/Tank1990Scene.js +1 -0
  376. package/lib/module/games/tic-tac-toe/TicTacToe.js +1 -1
  377. package/lib/module/games/tic-tac-toe/TicTacToeConstants.js +1 -1
  378. package/lib/module/games/tic-tac-toe/TicTacToeGame.js +1 -0
  379. package/lib/module/games/tic-tac-toe/TicTacToeRules.js +1 -0
  380. package/lib/module/games/tic-tac-toe/TicTacToeScene.js +1 -0
  381. package/lib/module/games/tile-home/TileHome.js +1 -1
  382. package/lib/module/games/tile-home/TileHomeConstants.js +1 -1
  383. package/lib/module/games/tile-home/TileHomeGame.js +1 -0
  384. package/lib/module/games/tile-home/TileHomeScene.js +1 -0
  385. package/lib/module/games/treasure-hunt/TreasureHunt.js +1 -0
  386. package/lib/module/games/treasure-hunt/TreasureHuntConstants.js +1 -0
  387. package/lib/module/games/treasure-hunt/TreasureHuntControls.js +1 -0
  388. package/lib/module/games/treasure-hunt/TreasureHuntGame.js +1 -0
  389. package/lib/module/games/treasure-hunt/TreasureHuntMeshes.js +1 -0
  390. package/lib/module/games/treasure-hunt/TreasureHuntModel.js +1 -0
  391. package/lib/module/games/treasure-hunt/TreasureHuntRules.js +1 -0
  392. package/lib/module/games/treasure-hunt/TreasureHuntScene.js +1 -0
  393. package/lib/module/games/whack-a-mole/WhackAMole.js +1 -1
  394. package/lib/module/games/whack-a-mole/WhackAMoleConstants.js +1 -1
  395. package/lib/module/games/whack-a-mole/WhackAMoleGame.js +1 -0
  396. package/lib/module/games/whack-a-mole/WhackAMoleScene.js +1 -0
  397. package/lib/module/games/word-search/WordSearch.js +1 -1
  398. package/lib/module/games/word-search/WordSearchWords.js +1 -0
  399. package/lib/module/helpers/GamePatternData.js +1 -0
  400. package/lib/module/helpers/GameSettingsModal.js +1 -1
  401. package/lib/module/helpers/GameTheme.js +1 -0
  402. package/lib/module/helpers/IconPaths.js +1 -0
  403. package/lib/module/helpers/index.js +1 -1
  404. package/lib/module/index.js +1 -1
  405. package/lib/module/services/GameAssetLoader.js +1 -0
  406. package/lib/module/services/GameAssets.js +1 -0
  407. package/lib/module/services/GameLoaders.js +1 -0
  408. package/lib/module/services/GamesConstants.js +1 -1
  409. package/lib/module/services/GamesMetadata.js +1 -1
  410. package/lib/module/services/GamesService.js +1 -1
  411. package/lib/module/services/HapticsService.js +1 -1
  412. package/lib/module/services/ScoringService.js +1 -1
  413. package/lib/module/services/SfxSources.js +1 -0
  414. package/lib/module/services/SoundsService.js +1 -1
  415. package/lib/module/services/ThemeService.js +1 -0
  416. package/lib/module/services/UtilsService.js +1 -1
  417. package/lib/module/services/index.js +1 -1
  418. package/lib/typescript/src/games/arrows/Arrows.d.ts +1 -3
  419. package/lib/typescript/src/games/arrows/ArrowsConstants.d.ts +48 -32
  420. package/lib/typescript/src/games/arrows/ArrowsGame.d.ts +60 -0
  421. package/lib/typescript/src/games/arrows/ArrowsScene.d.ts +67 -0
  422. package/lib/typescript/src/games/balloon-blaster/BalloonBlaster.d.ts +1 -3
  423. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterConstants.d.ts +39 -131
  424. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterGame.d.ts +57 -0
  425. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterPhysics.d.ts +16 -0
  426. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterScene.d.ts +31 -0
  427. package/lib/typescript/src/games/bike-racing/BikeMeshes.d.ts +14 -0
  428. package/lib/typescript/src/games/bike-racing/BikeRacing.d.ts +2 -1
  429. package/lib/typescript/src/games/bike-racing/BikeRacingConstants.d.ts +38 -29
  430. package/lib/typescript/src/games/bike-racing/BikeRacingGame.d.ts +104 -0
  431. package/lib/typescript/src/games/bike-racing/BikeRacingScene.d.ts +25 -0
  432. package/lib/typescript/src/games/block-blast/BlockBlast.d.ts +1 -3
  433. package/lib/typescript/src/games/block-blast/BlockBlastConstants.d.ts +48 -30
  434. package/lib/typescript/src/games/block-blast/BlockBlastGame.d.ts +77 -0
  435. package/lib/typescript/src/games/block-blast/BlockBlastScene.d.ts +36 -0
  436. package/lib/typescript/src/games/block-breaker/BlockBreaker.d.ts +1 -3
  437. package/lib/typescript/src/games/block-breaker/BlockBreakerConstants.d.ts +88 -35
  438. package/lib/typescript/src/games/block-breaker/BlockBreakerGame.d.ts +82 -0
  439. package/lib/typescript/src/games/block-breaker/BlockBreakerScene.d.ts +48 -0
  440. package/lib/typescript/src/games/bluk/Bluk.d.ts +1 -3
  441. package/lib/typescript/src/games/bluk/BlukConstants.d.ts +65 -54
  442. package/lib/typescript/src/games/bluk/BlukGame.d.ts +65 -0
  443. package/lib/typescript/src/games/bluk/BlukRules.d.ts +51 -0
  444. package/lib/typescript/src/games/bluk/BlukScene.d.ts +54 -0
  445. package/lib/typescript/src/games/bubble-shooter/BubbleShooter.d.ts +1 -3
  446. package/lib/typescript/src/games/bubble-shooter/BubbleShooterConstants.d.ts +56 -24
  447. package/lib/typescript/src/games/bubble-shooter/BubbleShooterGame.d.ts +70 -0
  448. package/lib/typescript/src/games/bubble-shooter/BubbleShooterScene.d.ts +26 -0
  449. package/lib/typescript/src/games/candy-crush/CandyCrush.d.ts +1 -3
  450. package/lib/typescript/src/games/candy-crush/CandyCrushConstants.d.ts +63 -32
  451. package/lib/typescript/src/games/candy-crush/CandyCrushGame.d.ts +65 -0
  452. package/lib/typescript/src/games/candy-crush/CandyCrushScene.d.ts +28 -0
  453. package/lib/typescript/src/games/car-racing/CarMeshes.d.ts +44 -0
  454. package/lib/typescript/src/games/car-racing/CarRacing.d.ts +2 -1
  455. package/lib/typescript/src/games/car-racing/CarRacingConstants.d.ts +60 -29
  456. package/lib/typescript/src/games/car-racing/CarRacingFacade.d.ts +5 -0
  457. package/lib/typescript/src/games/car-racing/CarRacingGame.d.ts +96 -0
  458. package/lib/typescript/src/games/car-racing/CarRacingScene.d.ts +97 -0
  459. package/lib/typescript/src/games/car-racing/CarRacingScenery.d.ts +22 -0
  460. package/lib/typescript/src/games/chameleon-run/ChameleonRun.d.ts +1 -3
  461. package/lib/typescript/src/games/chameleon-run/ChameleonRunBackdrop.d.ts +14 -0
  462. package/lib/typescript/src/games/chameleon-run/ChameleonRunConstants.d.ts +44 -42
  463. package/lib/typescript/src/games/chameleon-run/ChameleonRunGame.d.ts +60 -0
  464. package/lib/typescript/src/games/chameleon-run/ChameleonRunMeshes.d.ts +20 -0
  465. package/lib/typescript/src/games/chameleon-run/ChameleonRunRules.d.ts +52 -0
  466. package/lib/typescript/src/games/chameleon-run/ChameleonRunScene.d.ts +44 -0
  467. package/lib/typescript/src/games/checkers/Checkers.d.ts +1 -3
  468. package/lib/typescript/src/games/checkers/CheckersAI.d.ts +11 -0
  469. package/lib/typescript/src/games/checkers/CheckersConstants.d.ts +32 -72
  470. package/lib/typescript/src/games/checkers/CheckersGame.d.ts +56 -0
  471. package/lib/typescript/src/games/checkers/CheckersRules.d.ts +48 -0
  472. package/lib/typescript/src/games/checkers/CheckersScene.d.ts +41 -0
  473. package/lib/typescript/src/games/color-switch/ColorSwitch.d.ts +1 -3
  474. package/lib/typescript/src/games/color-switch/ColorSwitchConstants.d.ts +27 -31
  475. package/lib/typescript/src/games/color-switch/ColorSwitchGame.d.ts +61 -0
  476. package/lib/typescript/src/games/color-switch/ColorSwitchScene.d.ts +43 -0
  477. package/lib/typescript/src/games/colors-sort/ColorsSort.d.ts +1 -3
  478. package/lib/typescript/src/games/colors-sort/ColorsSortConstants.d.ts +37 -44
  479. package/lib/typescript/src/games/colors-sort/ColorsSortGame.d.ts +41 -0
  480. package/lib/typescript/src/games/colors-sort/ColorsSortScene.d.ts +33 -0
  481. package/lib/typescript/src/games/connect-em-all/ConnectEmAll.d.ts +1 -3
  482. package/lib/typescript/src/games/connect-em-all/ConnectEmAllConstants.d.ts +43 -17
  483. package/lib/typescript/src/games/connect-em-all/ConnectEmAllGame.d.ts +54 -0
  484. package/lib/typescript/src/games/connect-em-all/ConnectEmAllScene.d.ts +49 -0
  485. package/lib/typescript/src/games/crossy-road/CrossyRoad.d.ts +1 -3
  486. package/lib/typescript/src/games/crossy-road/CrossyRoadCamera.d.ts +14 -0
  487. package/lib/typescript/src/games/crossy-road/CrossyRoadConstants.d.ts +82 -50
  488. package/lib/typescript/src/games/crossy-road/CrossyRoadGame.d.ts +64 -0
  489. package/lib/typescript/src/games/crossy-road/CrossyRoadMeshes.d.ts +16 -0
  490. package/lib/typescript/src/games/crossy-road/CrossyRoadPerson.d.ts +10 -0
  491. package/lib/typescript/src/games/crossy-road/CrossyRoadRules.d.ts +36 -0
  492. package/lib/typescript/src/games/crossy-road/CrossyRoadScene.d.ts +38 -0
  493. package/lib/typescript/src/games/dino-jump/DinoJump.d.ts +1 -3
  494. package/lib/typescript/src/games/dino-jump/DinoJumpConstants.d.ts +48 -72
  495. package/lib/typescript/src/games/dino-jump/DinoJumpGame.d.ts +60 -0
  496. package/lib/typescript/src/games/dino-jump/DinoJumpScene.d.ts +35 -0
  497. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxes.d.ts +1 -3
  498. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesConstants.d.ts +31 -36
  499. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesGame.d.ts +44 -0
  500. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesScene.d.ts +31 -0
  501. package/lib/typescript/src/games/falling-sticks/FallingSticks.d.ts +1 -3
  502. package/lib/typescript/src/games/falling-sticks/FallingSticksConstants.d.ts +31 -43
  503. package/lib/typescript/src/games/falling-sticks/FallingSticksGame.d.ts +42 -0
  504. package/lib/typescript/src/games/falling-sticks/FallingSticksRules.d.ts +36 -0
  505. package/lib/typescript/src/games/falling-sticks/FallingSticksScene.d.ts +26 -0
  506. package/lib/typescript/src/games/find-different-number/FindDifferentNumber.d.ts +1 -3
  507. package/lib/typescript/src/games/find-different-number/FindDifferentNumberConstants.d.ts +33 -29
  508. package/lib/typescript/src/games/find-different-number/FindDifferentNumberGame.d.ts +43 -0
  509. package/lib/typescript/src/games/find-different-number/FindDifferentNumberRules.d.ts +8 -0
  510. package/lib/typescript/src/games/find-different-number/FindDifferentNumberScene.d.ts +31 -0
  511. package/lib/typescript/src/games/flappy-bird/FlappyBird.d.ts +1 -3
  512. package/lib/typescript/src/games/flappy-bird/FlappyBirdConstants.d.ts +39 -35
  513. package/lib/typescript/src/games/flappy-bird/FlappyBirdGame.d.ts +66 -0
  514. package/lib/typescript/src/games/flappy-bird/FlappyBirdScene.d.ts +41 -0
  515. package/lib/typescript/src/games/fruit-merger/FruitMerger.d.ts +1 -3
  516. package/lib/typescript/src/games/fruit-merger/FruitMergerConstants.d.ts +71 -44
  517. package/lib/typescript/src/games/fruit-merger/FruitMergerGame.d.ts +63 -0
  518. package/lib/typescript/src/games/fruit-merger/FruitMergerRules.d.ts +39 -0
  519. package/lib/typescript/src/games/fruit-merger/FruitMergerScene.d.ts +49 -0
  520. package/lib/typescript/src/games/fruit-ninja/FruitNinja.d.ts +1 -3
  521. package/lib/typescript/src/games/fruit-ninja/FruitNinjaConstants.d.ts +51 -76
  522. package/lib/typescript/src/games/fruit-ninja/FruitNinjaGame.d.ts +76 -0
  523. package/lib/typescript/src/games/fruit-ninja/FruitNinjaScene.d.ts +52 -0
  524. package/lib/typescript/src/games/fruit-ninja/FruitNinjaWorld.d.ts +8 -0
  525. package/lib/typescript/src/games/game-2048/Game2048.d.ts +1 -3
  526. package/lib/typescript/src/games/game-2048/Game2048Constants.d.ts +25 -120
  527. package/lib/typescript/src/games/game-2048/Game2048Game.d.ts +45 -0
  528. package/lib/typescript/src/games/game-2048/Game2048Rules.d.ts +32 -0
  529. package/lib/typescript/src/games/game-2048/Game2048Scene.d.ts +34 -0
  530. package/lib/typescript/src/games/knife-hit/KnifeHit.d.ts +1 -3
  531. package/lib/typescript/src/games/knife-hit/KnifeHitConstants.d.ts +41 -49
  532. package/lib/typescript/src/games/knife-hit/KnifeHitGame.d.ts +49 -0
  533. package/lib/typescript/src/games/knife-hit/KnifeHitScene.d.ts +37 -0
  534. package/lib/typescript/src/games/ludo-king/LudoKing.d.ts +1 -3
  535. package/lib/typescript/src/games/ludo-king/LudoKingConstants.d.ts +50 -28
  536. package/lib/typescript/src/games/ludo-king/LudoKingGame.d.ts +40 -0
  537. package/lib/typescript/src/games/ludo-king/LudoKingRules.d.ts +42 -0
  538. package/lib/typescript/src/games/ludo-king/LudoKingScene.d.ts +53 -0
  539. package/lib/typescript/src/games/maze-runner/MazeRunner.d.ts +1 -3
  540. package/lib/typescript/src/games/maze-runner/MazeRunnerConstants.d.ts +34 -10
  541. package/lib/typescript/src/games/maze-runner/MazeRunnerGame.d.ts +44 -0
  542. package/lib/typescript/src/games/maze-runner/MazeRunnerRules.d.ts +34 -0
  543. package/lib/typescript/src/games/maze-runner/MazeRunnerScene.d.ts +29 -0
  544. package/lib/typescript/src/games/memory-match/MemoryMatch.d.ts +1 -3
  545. package/lib/typescript/src/games/memory-match/MemoryMatchConstants.d.ts +42 -42
  546. package/lib/typescript/src/games/memory-match/MemoryMatchGame.d.ts +53 -0
  547. package/lib/typescript/src/games/memory-match/MemoryMatchRules.d.ts +14 -0
  548. package/lib/typescript/src/games/memory-match/MemoryMatchScene.d.ts +35 -0
  549. package/lib/typescript/src/games/mine-sweeper/MineSweeper.d.ts +1 -3
  550. package/lib/typescript/src/games/mine-sweeper/MineSweeperConstants.d.ts +43 -82
  551. package/lib/typescript/src/games/mine-sweeper/MineSweeperGame.d.ts +59 -0
  552. package/lib/typescript/src/games/mine-sweeper/MineSweeperRules.d.ts +18 -0
  553. package/lib/typescript/src/games/mine-sweeper/MineSweeperScene.d.ts +23 -0
  554. package/lib/typescript/src/games/mob-control/MobControl.d.ts +1 -3
  555. package/lib/typescript/src/games/mob-control/MobControlConstants.d.ts +99 -85
  556. package/lib/typescript/src/games/mob-control/MobControlGame.d.ts +45 -0
  557. package/lib/typescript/src/games/mob-control/MobControlMeshes.d.ts +2 -0
  558. package/lib/typescript/src/games/mob-control/MobControlRenderer.d.ts +20 -0
  559. package/lib/typescript/src/games/mob-control/MobControlRules.d.ts +68 -0
  560. package/lib/typescript/src/games/mob-control/MobControlScene.d.ts +58 -0
  561. package/lib/typescript/src/games/number-search/NumberSearch.d.ts +1 -3
  562. package/lib/typescript/src/games/number-search/NumberSearchNumbers.d.ts +1 -0
  563. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBolts.d.ts +1 -3
  564. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsConstants.d.ts +27 -79
  565. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsGame.d.ts +56 -0
  566. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsRules.d.ts +65 -0
  567. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsScene.d.ts +48 -0
  568. package/lib/typescript/src/games/pac-man/PacMan.d.ts +1 -3
  569. package/lib/typescript/src/games/pac-man/PacManConstants.d.ts +66 -106
  570. package/lib/typescript/src/games/pac-man/PacManGame.d.ts +48 -0
  571. package/lib/typescript/src/games/pac-man/PacManRules.d.ts +52 -0
  572. package/lib/typescript/src/games/pac-man/PacManScene.d.ts +44 -0
  573. package/lib/typescript/src/games/paper-io/PaperIo.d.ts +1 -3
  574. package/lib/typescript/src/games/paper-io/PaperIoConstants.d.ts +60 -40
  575. package/lib/typescript/src/games/paper-io/PaperIoGame.d.ts +49 -0
  576. package/lib/typescript/src/games/paper-io/PaperIoMeshes.d.ts +13 -0
  577. package/lib/typescript/src/games/paper-io/PaperIoRules.d.ts +71 -0
  578. package/lib/typescript/src/games/paper-io/PaperIoScene.d.ts +39 -0
  579. package/lib/typescript/src/games/penguin-run/PenguinMeshes.d.ts +9 -0
  580. package/lib/typescript/src/games/penguin-run/PenguinModel.d.ts +42 -0
  581. package/lib/typescript/src/games/penguin-run/PenguinRun.d.ts +1 -0
  582. package/lib/typescript/src/games/penguin-run/PenguinRunConstants.d.ts +58 -0
  583. package/lib/typescript/src/games/penguin-run/PenguinRunGame.d.ts +64 -0
  584. package/lib/typescript/src/games/penguin-run/PenguinRunScene.d.ts +65 -0
  585. package/lib/typescript/src/games/perfect-circle/PerfectCircle.d.ts +1 -3
  586. package/lib/typescript/src/games/perfect-circle/PerfectCircleConstants.d.ts +23 -45
  587. package/lib/typescript/src/games/perfect-circle/PerfectCircleGame.d.ts +40 -0
  588. package/lib/typescript/src/games/perfect-circle/PerfectCircleRules.d.ts +55 -0
  589. package/lib/typescript/src/games/perfect-circle/PerfectCircleScene.d.ts +32 -0
  590. package/lib/typescript/src/games/pipe-connect/PipeConnect.d.ts +1 -3
  591. package/lib/typescript/src/games/pipe-connect/PipeConnectConstants.d.ts +36 -32
  592. package/lib/typescript/src/games/pipe-connect/PipeConnectGame.d.ts +40 -0
  593. package/lib/typescript/src/games/pipe-connect/PipeConnectRules.d.ts +16 -0
  594. package/lib/typescript/src/games/pipe-connect/PipeConnectScene.d.ts +28 -0
  595. package/lib/typescript/src/games/play-with-tua/PlayWithTua.d.ts +2 -0
  596. package/lib/typescript/src/games/play-with-tua/PlayWithTuaConstants.d.ts +64 -0
  597. package/lib/typescript/src/games/play-with-tua/PlayWithTuaGame.d.ts +34 -0
  598. package/lib/typescript/src/games/play-with-tua/PlayWithTuaModel.d.ts +9 -0
  599. package/lib/typescript/src/games/play-with-tua/PlayWithTuaScene.d.ts +13 -0
  600. package/lib/typescript/src/games/popit-fidget/PopitFidget.d.ts +1 -4
  601. package/lib/typescript/src/games/popit-fidget/PopitFidgetConstants.d.ts +25 -36
  602. package/lib/typescript/src/games/popit-fidget/PopitFidgetGame.d.ts +37 -0
  603. package/lib/typescript/src/games/popit-fidget/PopitFidgetScene.d.ts +19 -0
  604. package/lib/typescript/src/games/reversi/Reversi.d.ts +1 -3
  605. package/lib/typescript/src/games/reversi/ReversiConstants.d.ts +31 -62
  606. package/lib/typescript/src/games/reversi/ReversiGame.d.ts +54 -0
  607. package/lib/typescript/src/games/reversi/ReversiRules.d.ts +22 -0
  608. package/lib/typescript/src/games/reversi/ReversiScene.d.ts +27 -0
  609. package/lib/typescript/src/games/search-grid/SearchGrid.d.ts +20 -0
  610. package/lib/typescript/src/games/search-grid/SearchGridConstants.d.ts +60 -0
  611. package/lib/typescript/src/games/search-grid/SearchGridGame.d.ts +52 -0
  612. package/lib/typescript/src/games/search-grid/SearchGridScene.d.ts +43 -0
  613. package/lib/typescript/src/games/shared/BackdropCard.d.ts +2 -0
  614. package/lib/typescript/src/games/shared/EngineBackdrop.d.ts +19 -0
  615. package/lib/typescript/src/games/shared/EngineBlasts.d.ts +26 -0
  616. package/lib/typescript/src/games/shared/EngineBlocks.d.ts +19 -0
  617. package/lib/typescript/src/games/shared/EngineControlText.d.ts +2 -0
  618. package/lib/typescript/src/games/shared/EngineDice.d.ts +24 -0
  619. package/lib/typescript/src/games/shared/EngineFootprint.d.ts +17 -0
  620. package/lib/typescript/src/games/shared/EngineFruits.d.ts +27 -0
  621. package/lib/typescript/src/games/shared/EngineGameLoader.d.ts +4 -0
  622. package/lib/typescript/src/games/shared/EngineGameScreen.d.ts +48 -0
  623. package/lib/typescript/src/games/shared/EngineGameWidth.d.ts +3 -0
  624. package/lib/typescript/src/games/shared/EngineGameWidth.web.d.ts +3 -0
  625. package/lib/typescript/src/games/shared/EngineGlyphs.d.ts +15 -0
  626. package/lib/typescript/src/games/shared/EngineHud.d.ts +138 -0
  627. package/lib/typescript/src/games/shared/EngineLoading.d.ts +77 -0
  628. package/lib/typescript/src/games/shared/EngineMeadow.d.ts +90 -0
  629. package/lib/typescript/src/games/shared/EngineMeshCache.d.ts +3 -0
  630. package/lib/typescript/src/games/shared/EngineMeshes.d.ts +3 -0
  631. package/lib/typescript/src/games/shared/EngineRacingChase.d.ts +11 -0
  632. package/lib/typescript/src/games/shared/EngineRacingHandling.d.ts +15 -0
  633. package/lib/typescript/src/games/shared/EngineReadyContext.d.ts +2 -0
  634. package/lib/typescript/src/games/shared/EngineTilt.d.ts +19 -0
  635. package/lib/typescript/src/games/shared/EngineTouchSurface.d.ts +20 -0
  636. package/lib/typescript/src/games/shared/EngineUtils.d.ts +18 -0
  637. package/lib/typescript/src/games/shared/GameActivity.d.ts +3 -0
  638. package/lib/typescript/src/games/shared/GameLoading.d.ts +14 -0
  639. package/lib/typescript/src/games/shared/GameLoadingTransition.d.ts +9 -0
  640. package/lib/typescript/src/games/shared/ProceduralCacheVersion.d.ts +1 -0
  641. package/lib/typescript/src/games/shared/useEngineGame.d.ts +69 -0
  642. package/lib/typescript/src/games/shared/useGameResource.d.ts +2 -0
  643. package/lib/typescript/src/games/shared/useLiveState.d.ts +4 -0
  644. package/lib/typescript/src/games/sliding-numbers/SlidingNumbers.d.ts +1 -3
  645. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersConstants.d.ts +32 -40
  646. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersGame.d.ts +48 -0
  647. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersRules.d.ts +22 -0
  648. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersScene.d.ts +30 -0
  649. package/lib/typescript/src/games/snake-3d/Snake3D.d.ts +1 -3
  650. package/lib/typescript/src/games/snake-3d/Snake3DConstants.d.ts +31 -68
  651. package/lib/typescript/src/games/snake-3d/Snake3DGame.d.ts +42 -0
  652. package/lib/typescript/src/games/snake-3d/Snake3DMotion.d.ts +3 -0
  653. package/lib/typescript/src/games/snake-3d/Snake3DRules.d.ts +42 -0
  654. package/lib/typescript/src/games/snake-3d/Snake3DScene.d.ts +35 -0
  655. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLadders.d.ts +1 -3
  656. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersConstants.d.ts +58 -50
  657. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersGame.d.ts +45 -0
  658. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersScene.d.ts +50 -0
  659. package/lib/typescript/src/games/space-fighter/SpaceFighter.d.ts +1 -3
  660. package/lib/typescript/src/games/space-fighter/SpaceFighterConstants.d.ts +33 -23
  661. package/lib/typescript/src/games/space-fighter/SpaceFighterGame.d.ts +58 -0
  662. package/lib/typescript/src/games/space-fighter/SpaceFighterScene.d.ts +51 -0
  663. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaire.d.ts +1 -3
  664. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireConstants.d.ts +52 -35
  665. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireGame.d.ts +67 -0
  666. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireRules.d.ts +39 -0
  667. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireScene.d.ts +60 -0
  668. package/lib/typescript/src/games/stack-tower/StackTower.d.ts +1 -3
  669. package/lib/typescript/src/games/stack-tower/StackTowerConstants.d.ts +31 -23
  670. package/lib/typescript/src/games/stack-tower/StackTowerGame.d.ts +58 -0
  671. package/lib/typescript/src/games/stack-tower/StackTowerScene.d.ts +27 -0
  672. package/lib/typescript/src/games/sudoku/Sudoku.d.ts +1 -3
  673. package/lib/typescript/src/games/sudoku/SudokuConstants.d.ts +50 -55
  674. package/lib/typescript/src/games/sudoku/SudokuGame.d.ts +56 -0
  675. package/lib/typescript/src/games/sudoku/SudokuRules.d.ts +23 -0
  676. package/lib/typescript/src/games/sudoku/SudokuScene.d.ts +44 -0
  677. package/lib/typescript/src/games/tangram/Tangram.d.ts +1 -3
  678. package/lib/typescript/src/games/tangram/TangramConstants.d.ts +33 -52
  679. package/lib/typescript/src/games/tangram/TangramGame.d.ts +68 -0
  680. package/lib/typescript/src/games/tangram/TangramRules.d.ts +61 -0
  681. package/lib/typescript/src/games/tangram/TangramScene.d.ts +42 -0
  682. package/lib/typescript/src/games/tank-1990/Tank1990.d.ts +1 -3
  683. package/lib/typescript/src/games/tank-1990/Tank1990Constants.d.ts +44 -127
  684. package/lib/typescript/src/games/tank-1990/Tank1990Game.d.ts +50 -0
  685. package/lib/typescript/src/games/tank-1990/Tank1990Rules.d.ts +67 -0
  686. package/lib/typescript/src/games/tank-1990/Tank1990Scene.d.ts +38 -0
  687. package/lib/typescript/src/games/tic-tac-toe/TicTacToe.d.ts +1 -3
  688. package/lib/typescript/src/games/tic-tac-toe/TicTacToeConstants.d.ts +35 -72
  689. package/lib/typescript/src/games/tic-tac-toe/TicTacToeGame.d.ts +54 -0
  690. package/lib/typescript/src/games/tic-tac-toe/TicTacToeRules.d.ts +10 -0
  691. package/lib/typescript/src/games/tic-tac-toe/TicTacToeScene.d.ts +26 -0
  692. package/lib/typescript/src/games/tile-home/TileHome.d.ts +1 -3
  693. package/lib/typescript/src/games/tile-home/TileHomeConstants.d.ts +72 -70
  694. package/lib/typescript/src/games/tile-home/TileHomeGame.d.ts +72 -0
  695. package/lib/typescript/src/games/tile-home/TileHomeScene.d.ts +28 -0
  696. package/lib/typescript/src/games/treasure-hunt/TreasureHunt.d.ts +3 -0
  697. package/lib/typescript/src/games/treasure-hunt/TreasureHuntConstants.d.ts +144 -0
  698. package/lib/typescript/src/games/treasure-hunt/TreasureHuntControls.d.ts +75 -0
  699. package/lib/typescript/src/games/treasure-hunt/TreasureHuntGame.d.ts +41 -0
  700. package/lib/typescript/src/games/treasure-hunt/TreasureHuntMeshes.d.ts +26 -0
  701. package/lib/typescript/src/games/treasure-hunt/TreasureHuntModel.d.ts +57 -0
  702. package/lib/typescript/src/games/treasure-hunt/TreasureHuntRules.d.ts +198 -0
  703. package/lib/typescript/src/games/treasure-hunt/TreasureHuntScene.d.ts +40 -0
  704. package/lib/typescript/src/games/whack-a-mole/WhackAMole.d.ts +1 -3
  705. package/lib/typescript/src/games/whack-a-mole/WhackAMoleConstants.d.ts +35 -45
  706. package/lib/typescript/src/games/whack-a-mole/WhackAMoleGame.d.ts +51 -0
  707. package/lib/typescript/src/games/whack-a-mole/WhackAMoleScene.d.ts +31 -0
  708. package/lib/typescript/src/games/word-search/WordSearch.d.ts +1 -3
  709. package/lib/typescript/src/games/word-search/WordSearchWords.d.ts +1 -0
  710. package/lib/typescript/src/helpers/GamePatternData.d.ts +46 -0
  711. package/lib/typescript/src/helpers/GameSettingsModal.d.ts +1 -1
  712. package/lib/typescript/src/helpers/GameTheme.d.ts +18 -0
  713. package/lib/typescript/src/helpers/IconPaths.d.ts +4 -0
  714. package/lib/typescript/src/helpers/index.d.ts +1 -19
  715. package/lib/typescript/src/index.d.ts +3 -0
  716. package/lib/typescript/src/services/GameAssetLoader.d.ts +32 -0
  717. package/lib/typescript/src/services/GameAssets.d.ts +11 -0
  718. package/lib/typescript/src/services/GameLoaders.d.ts +18 -0
  719. package/lib/typescript/src/services/GamesConstants.d.ts +11 -0
  720. package/lib/typescript/src/services/GamesMetadata.d.ts +2 -0
  721. package/lib/typescript/src/services/HapticsService.d.ts +1 -1
  722. package/lib/typescript/src/services/SfxSources.d.ts +79 -0
  723. package/lib/typescript/src/services/SoundsService.d.ts +487 -1566
  724. package/lib/typescript/src/services/ThemeService.d.ts +117 -0
  725. package/lib/typescript/src/services/UtilsService.d.ts +20 -2
  726. package/lib/typescript/src/services/index.d.ts +3 -0
  727. package/lib/web/assets/005ea2045b17-explorer.glb +0 -0
  728. package/lib/web/assets/01e2f0a0bbf6-hurt.wav +0 -0
  729. package/lib/web/assets/01fc0ecf658c-explorer-atlas.png +0 -0
  730. package/lib/web/assets/029329b2c7c0-asphalt.png +0 -0
  731. package/lib/web/assets/0376bda32be3-robot.wav +0 -0
  732. package/lib/web/assets/0719fb0bb38e-soft_glow.png +0 -0
  733. package/lib/web/assets/0b21278bffba-boing.wav +0 -0
  734. package/lib/web/assets/1333c9d1273c-flip_disc.wav +0 -0
  735. package/lib/web/assets/15785f62ee5f-time_up.wav +0 -0
  736. package/lib/web/assets/177f00502e08-bonus.wav +0 -0
  737. package/lib/web/assets/19e47dcfda1f-pling.wav +0 -0
  738. package/lib/web/assets/1a677e0f7f6c-laugh.wav +0 -0
  739. package/lib/web/assets/1ad2914478b1-eat.wav +0 -0
  740. package/lib/web/assets/1b0d703ddd1a-dance.wav +0 -0
  741. package/lib/web/assets/1e4330fddd74-chime.wav +0 -0
  742. package/lib/web/assets/2432a97b0af1-cannon.wav +0 -0
  743. package/lib/web/assets/2574370d6aa0-blocked.wav +0 -0
  744. package/lib/web/assets/2699065037ad-select.wav +0 -0
  745. package/lib/web/assets/28d30f53ad73-ladder.wav +0 -0
  746. package/lib/web/assets/2c1ec05270b2-point.wav +0 -0
  747. package/lib/web/assets/2e1dd99a0213-tick.wav +0 -0
  748. package/lib/web/assets/3084575cecdb-card_flip.wav +0 -0
  749. package/lib/web/assets/308bc31b6af5-engine.wav +0 -0
  750. package/lib/web/assets/336d63b739b5-combo.wav +0 -0
  751. package/lib/web/assets/3a369e2596e4-clash.wav +0 -0
  752. package/lib/web/assets/3a816e20212f-capture.wav +0 -0
  753. package/lib/web/assets/40240217810a-nitro.wav +0 -0
  754. package/lib/web/assets/46edaa54d1ea-crunch.wav +0 -0
  755. package/lib/web/assets/501994226995-coin.wav +0 -0
  756. package/lib/web/assets/5525d7f6a4b8-rotate.wav +0 -0
  757. package/lib/web/assets/5e816e1f0929-dice_roll.wav +0 -0
  758. package/lib/web/assets/60e2dec3cf41-deselect.wav +0 -0
  759. package/lib/web/assets/6ab86ea29e5c-six.wav +0 -0
  760. package/lib/web/assets/6da3b101926d-merge.wav +0 -0
  761. package/lib/web/assets/6e686dea513c-bark.jpg +0 -0
  762. package/lib/web/assets/6ff9a6a13714-limestone.jpg +0 -0
  763. package/lib/web/assets/735c4a1cd22e-invalid.wav +0 -0
  764. package/lib/web/assets/73f75c35ff5d-snake.wav +0 -0
  765. package/lib/web/assets/7506e3efe264-catch.wav +0 -0
  766. package/lib/web/assets/76493a2ada2d-ad_bolt.png +0 -0
  767. package/lib/web/assets/793abe620201-card_place.wav +0 -0
  768. package/lib/web/assets/7da09c57f52d-facade.png +0 -0
  769. package/lib/web/assets/7e1a902176f6-pine.png +0 -0
  770. package/lib/web/assets/7eb943b85c21-play-with-tua.glb +0 -0
  771. package/lib/web/assets/837d43c06dba-ad_bubbles.png +0 -0
  772. package/lib/web/assets/84f1a7dfa368-game_over.wav +0 -0
  773. package/lib/web/assets/850e26ce3b0a-flap.wav +0 -0
  774. package/lib/web/assets/854b31683cb2-draw.wav +0 -0
  775. package/lib/web/assets/8616150393b7-error.wav +0 -0
  776. package/lib/web/assets/87cc6d503ec6-river.jpg +0 -0
  777. package/lib/web/assets/88755845922c-hop.wav +0 -0
  778. package/lib/web/assets/8ec8f469492d-chomp_alt.wav +0 -0
  779. package/lib/web/assets/8f17f89b138c-pew.wav +0 -0
  780. package/lib/web/assets/9210a24472d1-place.wav +0 -0
  781. package/lib/web/assets/930d833ebf89-splash.wav +0 -0
  782. package/lib/web/assets/970f7c59265d-swoosh.wav +0 -0
  783. package/lib/web/assets/9900b8d1b6ad-flag.wav +0 -0
  784. package/lib/web/assets/9ab04403898b-clang.wav +0 -0
  785. package/lib/web/assets/9d8b97a10d45-drop.wav +0 -0
  786. package/lib/web/assets/9d9c02ddc7ed-boom.wav +0 -0
  787. package/lib/web/assets/9e1b5114d56d-pop_soft.wav +0 -0
  788. package/lib/web/assets/a01f22d6dbb3-thud.wav +0 -0
  789. package/lib/web/assets/a44a1cf1a1a8-bump.wav +0 -0
  790. package/lib/web/assets/a76940a48c68-hit.wav +0 -0
  791. package/lib/web/assets/a98ddb724460-leaves.png +0 -0
  792. package/lib/web/assets/aa0960e8bee6-footstep_run.wav +0 -0
  793. package/lib/web/assets/aa570c9d3e15-star.wav +0 -0
  794. package/lib/web/assets/aacb999f3c49-tock.wav +0 -0
  795. package/lib/web/assets/aae0c16c5e89-reveal.wav +0 -0
  796. package/lib/web/assets/ab37cd128509-click.wav +0 -0
  797. package/lib/web/assets/b0bc66f49005-warning.wav +0 -0
  798. package/lib/web/assets/b1edd756ac43-zap.wav +0 -0
  799. package/lib/web/assets/b3894545cf71-slice.wav +0 -0
  800. package/lib/web/assets/b3c6225d055a-meadow.jpg +0 -0
  801. package/lib/web/assets/b60ca65cdfcb-gate.wav +0 -0
  802. package/lib/web/assets/b8900bb2c5c7-win.wav +0 -0
  803. package/lib/web/assets/baff6feda846-lose.wav +0 -0
  804. package/lib/web/assets/bed31305d60d-ad_chevrons.png +0 -0
  805. package/lib/web/assets/c26f4a624e7d-shuffle.wav +0 -0
  806. package/lib/web/assets/c3a9edfad195-die.wav +0 -0
  807. package/lib/web/assets/c4aa9d773f2a-footstep_walk.wav +0 -0
  808. package/lib/web/assets/c5ab3ff0003f-crash.wav +0 -0
  809. package/lib/web/assets/c5eb07deddd4-start.wav +0 -0
  810. package/lib/web/assets/c6c58d9ae452-pop.wav +0 -0
  811. package/lib/web/assets/cea48c3cd9c7-balloon_pop.wav +0 -0
  812. package/lib/web/assets/d15591767778-tap.wav +0 -0
  813. package/lib/web/assets/d1781a52234f-slide.wav +0 -0
  814. package/lib/web/assets/d3bf2d9f793b-snap.wav +0 -0
  815. package/lib/web/assets/d8f59ebd3537-jump.wav +0 -0
  816. package/lib/web/assets/dafea2f28854-power_up.wav +0 -0
  817. package/lib/web/assets/e2e7f5ae2d1b-whoosh.wav +0 -0
  818. package/lib/web/assets/e2f90a23e1bd-chomp.wav +0 -0
  819. package/lib/web/assets/e454e56df89a-clack.wav +0 -0
  820. package/lib/web/assets/e8cbc2b88bc4-Inter-SemiBold.ttf +0 -0
  821. package/lib/web/assets/ed6496b891fc-land.wav +0 -0
  822. package/lib/web/assets/f21920200a81-thunk.wav +0 -0
  823. package/lib/web/assets/f753b43be89d-whack.wav +0 -0
  824. package/lib/web/assets/f798c4b5cf4d-miss.wav +0 -0
  825. package/lib/web/assets/fbe299716916-grass.png +0 -0
  826. package/lib/web/chunk-52ez2s9z.js +15 -0
  827. package/lib/web/chunk-8675t224.js +1 -0
  828. package/lib/web/index.js +2 -0
  829. package/lib/web/package.json +1 -0
  830. package/lib/web/services.js +2 -0
  831. package/package.json +94 -73
  832. package/src/assets/fonts/Inter-SemiBold.ttf +0 -0
  833. package/src/assets/models/explorer/explorer.glb +0 -0
  834. package/src/assets/models/explorer/params.json +51 -0
  835. package/src/assets/models/explorer/source.json +222 -0
  836. package/src/assets/models/play-with-tua/play-with-tua.glb +0 -0
  837. package/src/assets/models/play-with-tua/sources.json +141 -0
  838. package/src/assets/sfx/balloon_pop.wav +0 -0
  839. package/src/assets/sfx/blocked.wav +0 -0
  840. package/src/assets/sfx/boing.wav +0 -0
  841. package/src/assets/sfx/bonus.wav +0 -0
  842. package/src/assets/sfx/boom.wav +0 -0
  843. package/src/assets/sfx/bump.wav +0 -0
  844. package/src/assets/sfx/cannon.wav +0 -0
  845. package/src/assets/sfx/capture.wav +0 -0
  846. package/src/assets/sfx/card_flip.wav +0 -0
  847. package/src/assets/sfx/card_place.wav +0 -0
  848. package/src/assets/sfx/catch.wav +0 -0
  849. package/src/assets/sfx/chime.wav +0 -0
  850. package/src/assets/sfx/chomp.wav +0 -0
  851. package/src/assets/sfx/chomp_alt.wav +0 -0
  852. package/src/assets/sfx/clack.wav +0 -0
  853. package/src/assets/sfx/clang.wav +0 -0
  854. package/src/assets/sfx/clash.wav +0 -0
  855. package/src/assets/sfx/click.wav +0 -0
  856. package/src/assets/sfx/coin.wav +0 -0
  857. package/src/assets/sfx/combo.wav +0 -0
  858. package/src/assets/sfx/crash.wav +0 -0
  859. package/src/assets/sfx/crunch.wav +0 -0
  860. package/src/assets/sfx/dance.wav +0 -0
  861. package/src/assets/sfx/deselect.wav +0 -0
  862. package/src/assets/sfx/dice_roll.wav +0 -0
  863. package/src/assets/sfx/die.wav +0 -0
  864. package/src/assets/sfx/draw.wav +0 -0
  865. package/src/assets/sfx/drop.wav +0 -0
  866. package/src/assets/sfx/eat.wav +0 -0
  867. package/src/assets/sfx/engine.wav +0 -0
  868. package/src/assets/sfx/error.wav +0 -0
  869. package/src/assets/sfx/flag.wav +0 -0
  870. package/src/assets/sfx/flap.wav +0 -0
  871. package/src/assets/sfx/flip_disc.wav +0 -0
  872. package/src/assets/sfx/footstep_run.wav +0 -0
  873. package/src/assets/sfx/footstep_walk.wav +0 -0
  874. package/src/assets/sfx/game_over.wav +0 -0
  875. package/src/assets/sfx/gate.wav +0 -0
  876. package/src/assets/sfx/hit.wav +0 -0
  877. package/src/assets/sfx/hop.wav +0 -0
  878. package/src/assets/sfx/hurt.wav +0 -0
  879. package/src/assets/sfx/invalid.wav +0 -0
  880. package/src/assets/sfx/jump.wav +0 -0
  881. package/src/assets/sfx/ladder.wav +0 -0
  882. package/src/assets/sfx/land.wav +0 -0
  883. package/src/assets/sfx/laugh.wav +0 -0
  884. package/src/assets/sfx/lose.wav +0 -0
  885. package/src/assets/sfx/merge.wav +0 -0
  886. package/src/assets/sfx/miss.wav +0 -0
  887. package/src/assets/sfx/nitro.wav +0 -0
  888. package/src/assets/sfx/pew.wav +0 -0
  889. package/src/assets/sfx/place.wav +0 -0
  890. package/src/assets/sfx/pling.wav +0 -0
  891. package/src/assets/sfx/point.wav +0 -0
  892. package/src/assets/sfx/pop.wav +0 -0
  893. package/src/assets/sfx/pop_soft.wav +0 -0
  894. package/src/assets/sfx/power_up.wav +0 -0
  895. package/src/assets/sfx/reveal.wav +0 -0
  896. package/src/assets/sfx/robot.wav +0 -0
  897. package/src/assets/sfx/rotate.wav +0 -0
  898. package/src/assets/sfx/run_steps.wav +0 -0
  899. package/src/assets/sfx/select.wav +0 -0
  900. package/src/assets/sfx/shuffle.wav +0 -0
  901. package/src/assets/sfx/six.wav +0 -0
  902. package/src/assets/sfx/slice.wav +0 -0
  903. package/src/assets/sfx/slide.wav +0 -0
  904. package/src/assets/sfx/snake.wav +0 -0
  905. package/src/assets/sfx/snap.wav +0 -0
  906. package/src/assets/sfx/splash.wav +0 -0
  907. package/src/assets/sfx/star.wav +0 -0
  908. package/src/assets/sfx/start.wav +0 -0
  909. package/src/assets/sfx/swoosh.wav +0 -0
  910. package/src/assets/sfx/tap.wav +0 -0
  911. package/src/assets/sfx/thud.wav +0 -0
  912. package/src/assets/sfx/thunk.wav +0 -0
  913. package/src/assets/sfx/tick.wav +0 -0
  914. package/src/assets/sfx/time_up.wav +0 -0
  915. package/src/assets/sfx/tock.wav +0 -0
  916. package/src/assets/sfx/walk_steps.wav +0 -0
  917. package/src/assets/sfx/warning.wav +0 -0
  918. package/src/assets/sfx/whack.wav +0 -0
  919. package/src/assets/sfx/whoosh.wav +0 -0
  920. package/src/assets/sfx/win.wav +0 -0
  921. package/src/assets/sfx/zap.wav +0 -0
  922. package/src/assets/textures/ad_bolt.png +0 -0
  923. package/src/assets/textures/ad_bubbles.png +0 -0
  924. package/src/assets/textures/ad_chevrons.png +0 -0
  925. package/src/assets/textures/asphalt.png +0 -0
  926. package/src/assets/textures/bark.jpg +0 -0
  927. package/src/assets/textures/explorer-atlas.png +0 -0
  928. package/src/assets/textures/facade.png +0 -0
  929. package/src/assets/textures/grass.png +0 -0
  930. package/src/assets/textures/leaves.png +0 -0
  931. package/src/assets/textures/limestone.jpg +0 -0
  932. package/src/assets/textures/meadow.jpg +0 -0
  933. package/src/assets/textures/nature-sources.json +87 -0
  934. package/src/assets/textures/pine.png +0 -0
  935. package/src/assets/textures/river.jpg +0 -0
  936. package/src/assets/textures/soft_glow.png +0 -0
  937. package/src/games/arrows/Arrows.tsx +69 -0
  938. package/src/games/arrows/ArrowsConstants.ts +107 -0
  939. package/src/games/arrows/ArrowsGame.ts +735 -0
  940. package/src/games/arrows/ArrowsScene.ts +395 -0
  941. package/src/games/balloon-blaster/BalloonBlaster.tsx +75 -0
  942. package/src/games/balloon-blaster/BalloonBlasterConstants.ts +79 -0
  943. package/src/games/balloon-blaster/BalloonBlasterGame.ts +287 -0
  944. package/src/games/balloon-blaster/BalloonBlasterPhysics.ts +95 -0
  945. package/src/games/balloon-blaster/BalloonBlasterScene.ts +225 -0
  946. package/src/games/bike-racing/BikeMeshes.ts +273 -0
  947. package/src/games/bike-racing/BikeRacing.tsx +211 -0
  948. package/src/games/bike-racing/BikeRacingConstants.ts +103 -0
  949. package/src/games/bike-racing/BikeRacingGame.ts +557 -0
  950. package/src/games/bike-racing/BikeRacingScene.ts +119 -0
  951. package/src/games/block-blast/BlockBlast.tsx +73 -0
  952. package/src/games/block-blast/BlockBlastConstants.ts +179 -0
  953. package/src/games/block-blast/BlockBlastGame.ts +471 -0
  954. package/src/games/block-blast/BlockBlastScene.ts +156 -0
  955. package/src/games/block-breaker/BlockBreaker.tsx +79 -0
  956. package/src/games/block-breaker/BlockBreakerConstants.ts +139 -0
  957. package/src/games/block-breaker/BlockBreakerGame.ts +459 -0
  958. package/src/games/block-breaker/BlockBreakerScene.ts +257 -0
  959. package/src/games/bluk/Bluk.tsx +82 -0
  960. package/src/games/bluk/BlukConstants.ts +121 -0
  961. package/src/games/bluk/BlukGame.ts +323 -0
  962. package/src/games/bluk/BlukRules.ts +154 -0
  963. package/src/games/bluk/BlukScene.ts +514 -0
  964. package/src/games/bubble-shooter/BubbleShooter.tsx +76 -0
  965. package/src/games/bubble-shooter/BubbleShooterConstants.ts +103 -0
  966. package/src/games/bubble-shooter/BubbleShooterGame.ts +459 -0
  967. package/src/games/bubble-shooter/BubbleShooterScene.ts +158 -0
  968. package/src/games/candy-crush/CandyCrush.tsx +77 -0
  969. package/src/games/candy-crush/CandyCrushConstants.ts +94 -0
  970. package/src/games/candy-crush/CandyCrushGame.ts +477 -0
  971. package/src/games/candy-crush/CandyCrushScene.ts +209 -0
  972. package/src/games/car-racing/CarMeshes.ts +440 -0
  973. package/src/games/car-racing/CarRacing.tsx +211 -0
  974. package/src/games/car-racing/CarRacingConstants.ts +167 -0
  975. package/src/games/car-racing/CarRacingFacade.ts +40 -0
  976. package/src/games/car-racing/CarRacingGame.ts +539 -0
  977. package/src/games/car-racing/CarRacingScene.ts +1026 -0
  978. package/src/games/car-racing/CarRacingScenery.ts +265 -0
  979. package/src/games/chameleon-run/ChameleonRun.tsx +96 -0
  980. package/src/games/chameleon-run/ChameleonRunBackdrop.ts +186 -0
  981. package/src/games/chameleon-run/ChameleonRunConstants.ts +47 -0
  982. package/src/games/chameleon-run/ChameleonRunGame.ts +309 -0
  983. package/src/games/chameleon-run/ChameleonRunMeshes.ts +305 -0
  984. package/src/games/chameleon-run/ChameleonRunRules.ts +252 -0
  985. package/src/games/chameleon-run/ChameleonRunScene.ts +310 -0
  986. package/src/games/checkers/Checkers.tsx +83 -0
  987. package/src/games/checkers/CheckersAI.ts +255 -0
  988. package/src/games/checkers/CheckersConstants.ts +68 -0
  989. package/src/games/checkers/CheckersGame.ts +322 -0
  990. package/src/games/checkers/CheckersRules.ts +167 -0
  991. package/src/games/checkers/CheckersScene.ts +308 -0
  992. package/src/games/color-switch/ColorSwitch.tsx +75 -0
  993. package/src/games/color-switch/ColorSwitchConstants.ts +61 -0
  994. package/src/games/color-switch/ColorSwitchGame.ts +329 -0
  995. package/src/games/color-switch/ColorSwitchScene.ts +220 -0
  996. package/src/games/colors-sort/ColorsSort.tsx +82 -0
  997. package/src/games/colors-sort/ColorsSortConstants.ts +119 -0
  998. package/src/games/colors-sort/ColorsSortGame.ts +246 -0
  999. package/src/games/colors-sort/ColorsSortScene.ts +315 -0
  1000. package/src/games/connect-em-all/ConnectEmAll.tsx +70 -0
  1001. package/src/games/connect-em-all/ConnectEmAllConstants.ts +77 -0
  1002. package/src/games/connect-em-all/ConnectEmAllGame.ts +401 -0
  1003. package/src/games/connect-em-all/ConnectEmAllScene.ts +235 -0
  1004. package/src/games/crossy-road/CrossyRoad.tsx +74 -0
  1005. package/src/games/crossy-road/CrossyRoadCamera.ts +59 -0
  1006. package/src/games/crossy-road/CrossyRoadConstants.ts +132 -0
  1007. package/src/games/crossy-road/CrossyRoadGame.ts +293 -0
  1008. package/src/games/crossy-road/CrossyRoadMeshes.ts +195 -0
  1009. package/src/games/crossy-road/CrossyRoadPerson.ts +198 -0
  1010. package/src/games/crossy-road/CrossyRoadRules.ts +99 -0
  1011. package/src/games/crossy-road/CrossyRoadScene.ts +355 -0
  1012. package/src/games/dino-jump/DinoJump.tsx +77 -0
  1013. package/src/games/dino-jump/DinoJumpConstants.ts +80 -0
  1014. package/src/games/dino-jump/DinoJumpGame.ts +344 -0
  1015. package/src/games/dino-jump/DinoJumpScene.ts +686 -0
  1016. package/src/games/dots-and-boxes/DotsAndBoxes.tsx +83 -0
  1017. package/src/games/dots-and-boxes/DotsAndBoxesConstants.ts +77 -0
  1018. package/src/games/dots-and-boxes/DotsAndBoxesGame.ts +271 -0
  1019. package/src/games/dots-and-boxes/DotsAndBoxesScene.ts +249 -0
  1020. package/src/games/falling-sticks/FallingSticks.tsx +72 -0
  1021. package/src/games/falling-sticks/FallingSticksConstants.ts +62 -0
  1022. package/src/games/falling-sticks/FallingSticksGame.ts +220 -0
  1023. package/src/games/falling-sticks/FallingSticksRules.ts +145 -0
  1024. package/src/games/falling-sticks/FallingSticksScene.ts +245 -0
  1025. package/src/games/find-different-number/FindDifferentNumber.tsx +74 -0
  1026. package/src/games/find-different-number/FindDifferentNumberConstants.ts +74 -0
  1027. package/src/games/find-different-number/FindDifferentNumberGame.ts +174 -0
  1028. package/src/games/find-different-number/FindDifferentNumberRules.ts +43 -0
  1029. package/src/games/find-different-number/FindDifferentNumberScene.ts +193 -0
  1030. package/src/games/flappy-bird/FlappyBird.tsx +73 -0
  1031. package/src/games/flappy-bird/FlappyBirdConstants.ts +95 -0
  1032. package/src/games/flappy-bird/FlappyBirdGame.ts +375 -0
  1033. package/src/games/flappy-bird/FlappyBirdScene.ts +630 -0
  1034. package/src/games/fruit-merger/FruitMerger.tsx +73 -0
  1035. package/src/games/fruit-merger/FruitMergerConstants.ts +102 -0
  1036. package/src/games/fruit-merger/FruitMergerGame.ts +285 -0
  1037. package/src/games/fruit-merger/FruitMergerRules.ts +286 -0
  1038. package/src/games/fruit-merger/FruitMergerScene.ts +498 -0
  1039. package/src/games/fruit-ninja/FruitNinja.tsx +129 -0
  1040. package/src/games/fruit-ninja/FruitNinjaConstants.ts +107 -0
  1041. package/src/games/fruit-ninja/FruitNinjaGame.ts +391 -0
  1042. package/src/games/fruit-ninja/FruitNinjaScene.ts +319 -0
  1043. package/src/games/fruit-ninja/FruitNinjaWorld.ts +17 -0
  1044. package/src/games/game-2048/Game2048.tsx +84 -0
  1045. package/src/games/game-2048/Game2048Constants.ts +68 -0
  1046. package/src/games/game-2048/Game2048Game.ts +181 -0
  1047. package/src/games/game-2048/Game2048Rules.ts +101 -0
  1048. package/src/games/game-2048/Game2048Scene.ts +206 -0
  1049. package/src/games/knife-hit/KnifeHit.tsx +78 -0
  1050. package/src/games/knife-hit/KnifeHitConstants.ts +89 -0
  1051. package/src/games/knife-hit/KnifeHitGame.ts +264 -0
  1052. package/src/games/knife-hit/KnifeHitScene.ts +360 -0
  1053. package/src/games/ludo-king/LudoKing.tsx +86 -0
  1054. package/src/games/ludo-king/LudoKingConstants.ts +212 -0
  1055. package/src/games/ludo-king/LudoKingGame.ts +326 -0
  1056. package/src/games/ludo-king/LudoKingRules.ts +143 -0
  1057. package/src/games/ludo-king/LudoKingScene.ts +397 -0
  1058. package/src/games/maze-runner/MazeRunner.tsx +88 -0
  1059. package/src/games/maze-runner/MazeRunnerConstants.ts +65 -0
  1060. package/src/games/maze-runner/MazeRunnerGame.ts +176 -0
  1061. package/src/games/maze-runner/MazeRunnerRules.ts +161 -0
  1062. package/src/games/maze-runner/MazeRunnerScene.ts +245 -0
  1063. package/src/games/memory-match/MemoryMatch.tsx +77 -0
  1064. package/src/games/memory-match/MemoryMatchConstants.ts +105 -0
  1065. package/src/games/memory-match/MemoryMatchGame.ts +222 -0
  1066. package/src/games/memory-match/MemoryMatchRules.ts +38 -0
  1067. package/src/games/memory-match/MemoryMatchScene.ts +268 -0
  1068. package/src/games/mine-sweeper/MineSweeper.tsx +77 -0
  1069. package/src/games/mine-sweeper/MineSweeperConstants.ts +94 -0
  1070. package/src/games/mine-sweeper/MineSweeperGame.ts +234 -0
  1071. package/src/games/mine-sweeper/MineSweeperRules.ts +67 -0
  1072. package/src/games/mine-sweeper/MineSweeperScene.ts +262 -0
  1073. package/src/games/mob-control/MobControl.tsx +73 -0
  1074. package/src/games/mob-control/MobControlConstants.ts +106 -0
  1075. package/src/games/mob-control/MobControlGame.ts +176 -0
  1076. package/src/games/mob-control/MobControlMeshes.ts +85 -0
  1077. package/src/games/mob-control/MobControlRenderer.ts +108 -0
  1078. package/src/games/mob-control/MobControlRules.ts +522 -0
  1079. package/src/games/mob-control/MobControlScene.ts +399 -0
  1080. package/src/games/number-search/NumberSearch.tsx +18 -0
  1081. package/src/games/number-search/NumberSearchNumbers.ts +623 -0
  1082. package/src/games/nuts-and-bolts/NutsAndBolts.tsx +85 -0
  1083. package/src/games/nuts-and-bolts/NutsAndBoltsConstants.ts +75 -0
  1084. package/src/games/nuts-and-bolts/NutsAndBoltsGame.ts +298 -0
  1085. package/src/games/nuts-and-bolts/NutsAndBoltsRules.ts +474 -0
  1086. package/src/games/nuts-and-bolts/NutsAndBoltsScene.ts +498 -0
  1087. package/src/games/pac-man/PacMan.tsx +86 -0
  1088. package/src/games/pac-man/PacManConstants.ts +169 -0
  1089. package/src/games/pac-man/PacManGame.ts +406 -0
  1090. package/src/games/pac-man/PacManRules.ts +255 -0
  1091. package/src/games/pac-man/PacManScene.ts +387 -0
  1092. package/src/games/paper-io/PaperIo.tsx +91 -0
  1093. package/src/games/paper-io/PaperIoConstants.ts +86 -0
  1094. package/src/games/paper-io/PaperIoGame.ts +193 -0
  1095. package/src/games/paper-io/PaperIoMeshes.ts +233 -0
  1096. package/src/games/paper-io/PaperIoRules.ts +315 -0
  1097. package/src/games/paper-io/PaperIoScene.ts +310 -0
  1098. package/src/games/penguin-run/PenguinMeshes.ts +269 -0
  1099. package/src/games/penguin-run/PenguinModel.ts +712 -0
  1100. package/src/games/penguin-run/PenguinRun.tsx +77 -0
  1101. package/src/games/penguin-run/PenguinRunConstants.ts +69 -0
  1102. package/src/games/penguin-run/PenguinRunGame.ts +406 -0
  1103. package/src/games/penguin-run/PenguinRunScene.ts +949 -0
  1104. package/src/games/perfect-circle/PerfectCircle.tsx +74 -0
  1105. package/src/games/perfect-circle/PerfectCircleConstants.ts +52 -0
  1106. package/src/games/perfect-circle/PerfectCircleGame.ts +153 -0
  1107. package/src/games/perfect-circle/PerfectCircleRules.ts +111 -0
  1108. package/src/games/perfect-circle/PerfectCircleScene.ts +176 -0
  1109. package/src/games/pipe-connect/PipeConnect.tsx +69 -0
  1110. package/src/games/pipe-connect/PipeConnectConstants.ts +101 -0
  1111. package/src/games/pipe-connect/PipeConnectGame.ts +179 -0
  1112. package/src/games/pipe-connect/PipeConnectRules.ts +326 -0
  1113. package/src/games/pipe-connect/PipeConnectScene.ts +271 -0
  1114. package/src/games/play-with-tua/PlayWithTua.tsx +123 -0
  1115. package/src/games/play-with-tua/PlayWithTuaConstants.ts +70 -0
  1116. package/src/games/play-with-tua/PlayWithTuaGame.ts +167 -0
  1117. package/src/games/play-with-tua/PlayWithTuaModel.ts +42 -0
  1118. package/src/games/play-with-tua/PlayWithTuaScene.ts +36 -0
  1119. package/src/games/popit-fidget/PopitFidget.tsx +72 -0
  1120. package/src/games/popit-fidget/PopitFidgetConstants.ts +71 -0
  1121. package/src/games/popit-fidget/PopitFidgetGame.ts +148 -0
  1122. package/src/games/popit-fidget/PopitFidgetScene.ts +242 -0
  1123. package/src/games/reversi/Reversi.tsx +94 -0
  1124. package/src/games/reversi/ReversiConstants.ts +67 -0
  1125. package/src/games/reversi/ReversiGame.ts +266 -0
  1126. package/src/games/reversi/ReversiRules.ts +176 -0
  1127. package/src/games/reversi/ReversiScene.ts +240 -0
  1128. package/src/games/search-grid/SearchGrid.tsx +92 -0
  1129. package/src/games/search-grid/SearchGridConstants.ts +178 -0
  1130. package/src/games/search-grid/SearchGridGame.ts +209 -0
  1131. package/src/games/search-grid/SearchGridScene.ts +301 -0
  1132. package/src/games/shared/BackdropCard.tsx +54 -0
  1133. package/src/games/shared/EngineBackdrop.ts +300 -0
  1134. package/src/games/shared/EngineBlasts.ts +136 -0
  1135. package/src/games/shared/EngineBlocks.ts +91 -0
  1136. package/src/games/shared/EngineControlText.ts +17 -0
  1137. package/src/games/shared/EngineDice.ts +250 -0
  1138. package/src/games/shared/EngineFootprint.ts +35 -0
  1139. package/src/games/shared/EngineFruits.ts +1435 -0
  1140. package/src/games/shared/EngineGameLoader.tsx +88 -0
  1141. package/src/games/shared/EngineGameScreen.tsx +325 -0
  1142. package/src/games/shared/EngineGameWidth.ts +3 -0
  1143. package/src/games/shared/EngineGameWidth.web.ts +3 -0
  1144. package/src/games/shared/EngineGlyphs.ts +178 -0
  1145. package/src/games/shared/EngineHud.ts +815 -0
  1146. package/src/games/shared/EngineLoading.ts +477 -0
  1147. package/src/games/shared/EngineMeadow.ts +725 -0
  1148. package/src/games/shared/EngineMeshCache.ts +15 -0
  1149. package/src/games/shared/EngineMeshes.ts +10 -0
  1150. package/src/games/shared/EngineRacingChase.ts +21 -0
  1151. package/src/games/shared/EngineRacingHandling.ts +48 -0
  1152. package/src/games/shared/EngineReadyContext.ts +4 -0
  1153. package/src/games/shared/EngineTilt.ts +44 -0
  1154. package/src/games/shared/EngineTouchSurface.tsx +103 -0
  1155. package/src/games/shared/EngineUtils.ts +52 -0
  1156. package/src/games/shared/GameActivity.ts +13 -0
  1157. package/src/games/shared/GameLoading.tsx +202 -0
  1158. package/src/games/shared/GameLoadingTransition.tsx +61 -0
  1159. package/src/games/shared/ProceduralCacheVersion.ts +2 -0
  1160. package/src/games/shared/useEngineGame.ts +240 -0
  1161. package/src/games/shared/useGameResource.ts +21 -0
  1162. package/src/games/shared/useLiveState.ts +58 -0
  1163. package/src/games/sliding-numbers/SlidingNumbers.tsx +71 -0
  1164. package/src/games/sliding-numbers/SlidingNumbersConstants.ts +65 -0
  1165. package/src/games/sliding-numbers/SlidingNumbersGame.ts +192 -0
  1166. package/src/games/sliding-numbers/SlidingNumbersRules.ts +79 -0
  1167. package/src/games/sliding-numbers/SlidingNumbersScene.ts +193 -0
  1168. package/src/games/snake-3d/Snake3D.tsx +76 -0
  1169. package/src/games/snake-3d/Snake3DConstants.ts +61 -0
  1170. package/src/games/snake-3d/Snake3DGame.ts +192 -0
  1171. package/src/games/snake-3d/Snake3DMotion.ts +22 -0
  1172. package/src/games/snake-3d/Snake3DRules.ts +116 -0
  1173. package/src/games/snake-3d/Snake3DScene.ts +322 -0
  1174. package/src/games/snakes-and-ladders/SnakesAndLadders.tsx +87 -0
  1175. package/src/games/snakes-and-ladders/SnakesAndLaddersConstants.ts +136 -0
  1176. package/src/games/snakes-and-ladders/SnakesAndLaddersGame.ts +310 -0
  1177. package/src/games/snakes-and-ladders/SnakesAndLaddersScene.ts +515 -0
  1178. package/src/games/space-fighter/SpaceFighter.tsx +74 -0
  1179. package/src/games/space-fighter/SpaceFighterConstants.ts +86 -0
  1180. package/src/games/space-fighter/SpaceFighterGame.ts +292 -0
  1181. package/src/games/space-fighter/SpaceFighterScene.ts +550 -0
  1182. package/src/games/spider-solitaire/SpiderSolitaire.tsx +80 -0
  1183. package/src/games/spider-solitaire/SpiderSolitaireConstants.ts +107 -0
  1184. package/src/games/spider-solitaire/SpiderSolitaireGame.ts +387 -0
  1185. package/src/games/spider-solitaire/SpiderSolitaireRules.ts +123 -0
  1186. package/src/games/spider-solitaire/SpiderSolitaireScene.ts +352 -0
  1187. package/src/games/stack-tower/StackTower.tsx +76 -0
  1188. package/src/games/stack-tower/StackTowerConstants.ts +74 -0
  1189. package/src/games/stack-tower/StackTowerGame.ts +236 -0
  1190. package/src/games/stack-tower/StackTowerScene.ts +186 -0
  1191. package/src/games/sudoku/Sudoku.tsx +73 -0
  1192. package/src/games/sudoku/SudokuConstants.ts +127 -0
  1193. package/src/games/sudoku/SudokuGame.ts +250 -0
  1194. package/src/games/sudoku/SudokuRules.ts +125 -0
  1195. package/src/games/sudoku/SudokuScene.ts +304 -0
  1196. package/src/games/tangram/Tangram.tsx +79 -0
  1197. package/src/games/tangram/TangramConstants.ts +64 -0
  1198. package/src/games/tangram/TangramGame.ts +356 -0
  1199. package/src/games/tangram/TangramRules.ts +409 -0
  1200. package/src/games/tangram/TangramScene.ts +203 -0
  1201. package/src/games/tank-1990/Tank1990.tsx +78 -0
  1202. package/src/games/tank-1990/Tank1990Constants.ts +81 -0
  1203. package/src/games/tank-1990/Tank1990Game.ts +331 -0
  1204. package/src/games/tank-1990/Tank1990Rules.ts +390 -0
  1205. package/src/games/tank-1990/Tank1990Scene.ts +434 -0
  1206. package/src/games/tic-tac-toe/TicTacToe.tsx +98 -0
  1207. package/src/games/tic-tac-toe/TicTacToeConstants.ts +69 -0
  1208. package/src/games/tic-tac-toe/TicTacToeGame.ts +200 -0
  1209. package/src/games/tic-tac-toe/TicTacToeRules.ts +103 -0
  1210. package/src/games/tic-tac-toe/TicTacToeScene.ts +245 -0
  1211. package/src/games/tile-home/TileHome.tsx +92 -0
  1212. package/src/games/tile-home/TileHomeConstants.ts +139 -0
  1213. package/src/games/tile-home/TileHomeGame.ts +435 -0
  1214. package/src/games/tile-home/TileHomeScene.ts +154 -0
  1215. package/src/games/treasure-hunt/TreasureHunt.tsx +206 -0
  1216. package/src/games/treasure-hunt/TreasureHuntConstants.ts +266 -0
  1217. package/src/games/treasure-hunt/TreasureHuntControls.ts +280 -0
  1218. package/src/games/treasure-hunt/TreasureHuntGame.ts +402 -0
  1219. package/src/games/treasure-hunt/TreasureHuntMeshes.ts +422 -0
  1220. package/src/games/treasure-hunt/TreasureHuntModel.ts +506 -0
  1221. package/src/games/treasure-hunt/TreasureHuntRules.ts +1210 -0
  1222. package/src/games/treasure-hunt/TreasureHuntScene.ts +586 -0
  1223. package/src/games/whack-a-mole/WhackAMole.tsx +79 -0
  1224. package/src/games/whack-a-mole/WhackAMoleConstants.ts +94 -0
  1225. package/src/games/whack-a-mole/WhackAMoleGame.ts +233 -0
  1226. package/src/games/whack-a-mole/WhackAMoleScene.ts +349 -0
  1227. package/src/games/word-search/WordSearch.tsx +18 -0
  1228. package/src/games/word-search/WordSearchWords.ts +1642 -0
  1229. package/src/helpers/GamePatternData.ts +120 -0
  1230. package/src/helpers/GameSettingsModal.tsx +384 -0
  1231. package/src/helpers/GameTheme.tsx +37 -0
  1232. package/src/helpers/IconPaths.ts +6 -0
  1233. package/src/helpers/index.ts +2 -0
  1234. package/src/index.tsx +60 -0
  1235. package/src/services/GameAssetLoader.ts +111 -0
  1236. package/src/services/GameAssets.ts +149 -0
  1237. package/src/services/GameLoaders.ts +93 -0
  1238. package/src/services/GamesConstants.ts +193 -0
  1239. package/src/services/GamesMetadata.ts +711 -0
  1240. package/src/services/GamesService.ts +116 -0
  1241. package/src/services/HapticsService.ts +48 -0
  1242. package/src/services/ScoringService.ts +19 -0
  1243. package/src/services/SfxSources.ts +81 -0
  1244. package/src/services/SoundsService.ts +582 -0
  1245. package/src/services/ThemeService.ts +281 -0
  1246. package/src/services/UtilsService.ts +134 -0
  1247. package/src/services/index.ts +6 -0
  1248. package/lib/module/games/arrows/ArrowsService.js +0 -1
  1249. package/lib/module/games/arrows/ArrowsStore.js +0 -1
  1250. package/lib/module/games/arrows/components/ArrowsGrid.js +0 -1
  1251. package/lib/module/games/arrows/components/ScoreBoard.js +0 -1
  1252. package/lib/module/games/balloon-blaster/BalloonBlasterService.js +0 -1
  1253. package/lib/module/games/balloon-blaster/BalloonBlasterStore.js +0 -1
  1254. package/lib/module/games/balloon-blaster/components/BalloonComponent.js +0 -1
  1255. package/lib/module/games/balloon-blaster/components/GameArea.js +0 -1
  1256. package/lib/module/games/balloon-blaster/components/GameBackground.js +0 -1
  1257. package/lib/module/games/balloon-blaster/components/ScoreBoard.js +0 -1
  1258. package/lib/module/games/bike-racing/BikeRacingService.js +0 -1
  1259. package/lib/module/games/bike-racing/BikeRacingStore.js +0 -1
  1260. package/lib/module/games/bike-racing/components/BikeComponent.js +0 -1
  1261. package/lib/module/games/bike-racing/components/GameBackground.js +0 -1
  1262. package/lib/module/games/bike-racing/components/ScoreBoard.js +0 -1
  1263. package/lib/module/games/block-blast/BlockBlastService.js +0 -1
  1264. package/lib/module/games/block-blast/BlockBlastStore.js +0 -1
  1265. package/lib/module/games/block-blast/components/BlockPieceComponent.js +0 -1
  1266. package/lib/module/games/block-blast/components/GameArea.js +0 -1
  1267. package/lib/module/games/block-blast/components/GridComponent.js +0 -1
  1268. package/lib/module/games/block-blast/components/ScoreBoard.js +0 -1
  1269. package/lib/module/games/block-breaker/BlockBreakerService.js +0 -1
  1270. package/lib/module/games/block-breaker/BlockBreakerStore.js +0 -1
  1271. package/lib/module/games/block-breaker/components/BlastAnimation.js +0 -1
  1272. package/lib/module/games/block-breaker/components/GameArea.js +0 -1
  1273. package/lib/module/games/block-breaker/components/ScoreBoard.js +0 -1
  1274. package/lib/module/games/bluk/BlukService.js +0 -1
  1275. package/lib/module/games/bluk/BlukStore.js +0 -1
  1276. package/lib/module/games/bluk/components/GameArea.js +0 -1
  1277. package/lib/module/games/bluk/components/GameBackground.js +0 -1
  1278. package/lib/module/games/bluk/components/ScoreBoard.js +0 -1
  1279. package/lib/module/games/bubble-shooter/BubbleShooterService.js +0 -1
  1280. package/lib/module/games/bubble-shooter/BubbleShooterStore.js +0 -1
  1281. package/lib/module/games/bubble-shooter/components/GameArea.js +0 -1
  1282. package/lib/module/games/bubble-shooter/components/ScoreBoard.js +0 -1
  1283. package/lib/module/games/candy-crush/CandyCrushService.js +0 -1
  1284. package/lib/module/games/candy-crush/CandyCrushStore.js +0 -1
  1285. package/lib/module/games/candy-crush/components/CandyItem.js +0 -1
  1286. package/lib/module/games/candy-crush/components/GameGrid.js +0 -1
  1287. package/lib/module/games/candy-crush/components/ScoreBoard.js +0 -1
  1288. package/lib/module/games/car-racing/CarRacingService.js +0 -1
  1289. package/lib/module/games/car-racing/CarRacingStore.js +0 -1
  1290. package/lib/module/games/car-racing/components/CarComponent.js +0 -1
  1291. package/lib/module/games/car-racing/components/GameBackground.js +0 -1
  1292. package/lib/module/games/car-racing/components/ScoreBoard.js +0 -1
  1293. package/lib/module/games/chameleon-run/ChameleonRunService.js +0 -1
  1294. package/lib/module/games/chameleon-run/ChameleonRunStore.js +0 -1
  1295. package/lib/module/games/chameleon-run/components/GameArea.js +0 -1
  1296. package/lib/module/games/chameleon-run/components/GameBackground.js +0 -1
  1297. package/lib/module/games/chameleon-run/components/ScoreBoard.js +0 -1
  1298. package/lib/module/games/checkers/CheckersService.js +0 -1
  1299. package/lib/module/games/checkers/CheckersStore.js +0 -1
  1300. package/lib/module/games/checkers/components/GameBoard.js +0 -1
  1301. package/lib/module/games/checkers/components/ScoreBoard.js +0 -1
  1302. package/lib/module/games/color-switch/ColorSwitchService.js +0 -1
  1303. package/lib/module/games/color-switch/ColorSwitchStore.js +0 -1
  1304. package/lib/module/games/color-switch/components/GameArea.js +0 -1
  1305. package/lib/module/games/color-switch/components/ScoreBoard.js +0 -1
  1306. package/lib/module/games/colors-sort/ColorsSortService.js +0 -1
  1307. package/lib/module/games/colors-sort/ColorsSortStore.js +0 -1
  1308. package/lib/module/games/colors-sort/components/ColorContainer.js +0 -1
  1309. package/lib/module/games/colors-sort/components/ScoreBoard.js +0 -1
  1310. package/lib/module/games/connect-em-all/ConnectEmAllService.js +0 -1
  1311. package/lib/module/games/connect-em-all/ConnectEmAllStore.js +0 -1
  1312. package/lib/module/games/connect-em-all/components/GameBoard.js +0 -1
  1313. package/lib/module/games/connect-em-all/components/ScoreBoard.js +0 -1
  1314. package/lib/module/games/crossy-road/CrossyRoadService.js +0 -1
  1315. package/lib/module/games/crossy-road/CrossyRoadStore.js +0 -1
  1316. package/lib/module/games/crossy-road/components/GameArea.js +0 -1
  1317. package/lib/module/games/crossy-road/components/ScoreBoard.js +0 -1
  1318. package/lib/module/games/dino-jump/DinoJumpService.js +0 -1
  1319. package/lib/module/games/dino-jump/DinoJumpStore.js +0 -1
  1320. package/lib/module/games/dino-jump/components/DinoSprite.js +0 -1
  1321. package/lib/module/games/dino-jump/components/GameArea.js +0 -1
  1322. package/lib/module/games/dino-jump/components/GameBackground.js +0 -1
  1323. package/lib/module/games/dino-jump/components/ObstacleSprite.js +0 -1
  1324. package/lib/module/games/dino-jump/components/ScoreBoard.js +0 -1
  1325. package/lib/module/games/dino-jump/components/StarSprite.js +0 -1
  1326. package/lib/module/games/dots-and-boxes/DotsAndBoxesService.js +0 -1
  1327. package/lib/module/games/dots-and-boxes/DotsAndBoxesStore.js +0 -1
  1328. package/lib/module/games/dots-and-boxes/components/GameBoard.js +0 -1
  1329. package/lib/module/games/dots-and-boxes/components/ScoreBoard.js +0 -1
  1330. package/lib/module/games/falling-sticks/FallingSticksService.js +0 -1
  1331. package/lib/module/games/falling-sticks/FallingSticksStore.js +0 -1
  1332. package/lib/module/games/falling-sticks/components/GameArea.js +0 -1
  1333. package/lib/module/games/falling-sticks/components/GameBackground.js +0 -1
  1334. package/lib/module/games/falling-sticks/components/ScoreBoard.js +0 -1
  1335. package/lib/module/games/find-different-number/FindDifferentNumberService.js +0 -1
  1336. package/lib/module/games/find-different-number/FindDifferentNumberStore.js +0 -1
  1337. package/lib/module/games/find-different-number/components/GameGrid.js +0 -1
  1338. package/lib/module/games/find-different-number/components/ScoreBoard.js +0 -1
  1339. package/lib/module/games/flappy-bird/FlappyBirdStore.js +0 -1
  1340. package/lib/module/games/flappy-bird/components/Bird.js +0 -1
  1341. package/lib/module/games/flappy-bird/components/GameArea.js +0 -1
  1342. package/lib/module/games/flappy-bird/components/GameBackground.js +0 -1
  1343. package/lib/module/games/flappy-bird/components/Pipes.js +0 -1
  1344. package/lib/module/games/flappy-bird/components/ScoreBoard.js +0 -1
  1345. package/lib/module/games/fruit-merger/FruitMergerService.js +0 -1
  1346. package/lib/module/games/fruit-merger/FruitMergerStore.js +0 -1
  1347. package/lib/module/games/fruit-merger/components/FruitItem.js +0 -1
  1348. package/lib/module/games/fruit-merger/components/GameArea.js +0 -1
  1349. package/lib/module/games/fruit-merger/components/ScoreBoard.js +0 -1
  1350. package/lib/module/games/fruit-ninja/FruitNinjaService.js +0 -1
  1351. package/lib/module/games/fruit-ninja/FruitNinjaStore.js +0 -1
  1352. package/lib/module/games/fruit-ninja/components/FruitComponent.js +0 -1
  1353. package/lib/module/games/fruit-ninja/components/GameArea.js +0 -1
  1354. package/lib/module/games/fruit-ninja/components/GameBackground.js +0 -1
  1355. package/lib/module/games/fruit-ninja/components/ScoreBoard.js +0 -1
  1356. package/lib/module/games/game-2048/Game2048Service.js +0 -1
  1357. package/lib/module/games/game-2048/Game2048Store.js +0 -1
  1358. package/lib/module/games/game-2048/components/GameGrid.js +0 -1
  1359. package/lib/module/games/game-2048/components/ScoreBoard.js +0 -1
  1360. package/lib/module/games/knife-hit/KnifeHitService.js +0 -1
  1361. package/lib/module/games/knife-hit/KnifeHitStore.js +0 -1
  1362. package/lib/module/games/knife-hit/components/GameArea.js +0 -1
  1363. package/lib/module/games/knife-hit/components/ScoreBoard.js +0 -1
  1364. package/lib/module/games/ludo-king/LudoKingService.js +0 -1
  1365. package/lib/module/games/ludo-king/LudoKingStore.js +0 -1
  1366. package/lib/module/games/ludo-king/components/Dice.js +0 -1
  1367. package/lib/module/games/ludo-king/components/GameBoard.js +0 -1
  1368. package/lib/module/games/ludo-king/components/ScoreBoard.js +0 -1
  1369. package/lib/module/games/maze-runner/MazeRunnerStore.js +0 -1
  1370. package/lib/module/games/maze-runner/components/EnhancedBallComponent.js +0 -1
  1371. package/lib/module/games/maze-runner/components/EnhancedGameArea.js +0 -1
  1372. package/lib/module/games/maze-runner/components/ScoreBoard.js +0 -1
  1373. package/lib/module/games/maze-runner/components/SkiaPipeComponent.js +0 -1
  1374. package/lib/module/games/maze-runner/components/WallComponent.js +0 -1
  1375. package/lib/module/games/memory-match/MemoryMatchService.js +0 -1
  1376. package/lib/module/games/memory-match/MemoryMatchStore.js +0 -1
  1377. package/lib/module/games/memory-match/components/Card.js +0 -1
  1378. package/lib/module/games/memory-match/components/GameBoard.js +0 -1
  1379. package/lib/module/games/memory-match/components/ScoreBoard.js +0 -1
  1380. package/lib/module/games/mine-sweeper/MineSweeperService.js +0 -1
  1381. package/lib/module/games/mine-sweeper/MineSweeperStore.js +0 -1
  1382. package/lib/module/games/mine-sweeper/components/GameArea.js +0 -1
  1383. package/lib/module/games/mine-sweeper/components/ScoreBoard.js +0 -1
  1384. package/lib/module/games/mob-control/MobControlService.js +0 -1
  1385. package/lib/module/games/mob-control/MobControlStore.js +0 -1
  1386. package/lib/module/games/mob-control/components/GameArea.js +0 -1
  1387. package/lib/module/games/mob-control/components/ScoreBoard.js +0 -1
  1388. package/lib/module/games/number-search/NumberSearchConstants.js +0 -1
  1389. package/lib/module/games/number-search/NumberSearchService.js +0 -1
  1390. package/lib/module/games/number-search/NumberSearchStore.js +0 -1
  1391. package/lib/module/games/number-search/components/GameBoard.js +0 -1
  1392. package/lib/module/games/number-search/components/NumberList.js +0 -1
  1393. package/lib/module/games/number-search/components/ScoreBoard.js +0 -1
  1394. package/lib/module/games/nuts-and-bolts/NutsAndBoltsService.js +0 -1
  1395. package/lib/module/games/nuts-and-bolts/NutsAndBoltsStore.js +0 -1
  1396. package/lib/module/games/nuts-and-bolts/components/GameBoard.js +0 -1
  1397. package/lib/module/games/nuts-and-bolts/components/ScoreBoard.js +0 -1
  1398. package/lib/module/games/pac-man/PacManService.js +0 -1
  1399. package/lib/module/games/pac-man/PacManStore.js +0 -1
  1400. package/lib/module/games/pac-man/components/GameCanvas.js +0 -1
  1401. package/lib/module/games/pac-man/components/ScoreBoard.js +0 -1
  1402. package/lib/module/games/paper-io/PaperIoService.js +0 -1
  1403. package/lib/module/games/paper-io/PaperIoStore.js +0 -1
  1404. package/lib/module/games/paper-io/components/GameArea.js +0 -1
  1405. package/lib/module/games/paper-io/components/ScoreBoard.js +0 -1
  1406. package/lib/module/games/perfect-circle/PerfectCircleService.js +0 -1
  1407. package/lib/module/games/perfect-circle/PerfectCircleStore.js +0 -1
  1408. package/lib/module/games/perfect-circle/components/DrawingCanvas.js +0 -1
  1409. package/lib/module/games/perfect-circle/components/ScoreBoard.js +0 -1
  1410. package/lib/module/games/pipe-connect/PipeConnectService.js +0 -1
  1411. package/lib/module/games/pipe-connect/PipeConnectStore.js +0 -1
  1412. package/lib/module/games/pipe-connect/components/GameArea.js +0 -1
  1413. package/lib/module/games/pipe-connect/components/ScoreBoard.js +0 -1
  1414. package/lib/module/games/popit-fidget/PopitFidgetService.js +0 -1
  1415. package/lib/module/games/popit-fidget/PopitFidgetStore.js +0 -1
  1416. package/lib/module/games/popit-fidget/components/BubbleComponent.js +0 -1
  1417. package/lib/module/games/popit-fidget/components/FidgetGrid.js +0 -1
  1418. package/lib/module/games/popit-fidget/components/ScoreBoard.js +0 -1
  1419. package/lib/module/games/reversi/ReversiStore.js +0 -1
  1420. package/lib/module/games/reversi/components/GameBoard.js +0 -1
  1421. package/lib/module/games/reversi/components/ScoreBoard.js +0 -1
  1422. package/lib/module/games/sliding-numbers/SlidingNumbersService.js +0 -1
  1423. package/lib/module/games/sliding-numbers/SlidingNumbersStore.js +0 -1
  1424. package/lib/module/games/sliding-numbers/components/NumbersGrid.js +0 -1
  1425. package/lib/module/games/sliding-numbers/components/ScoreBoard.js +0 -1
  1426. package/lib/module/games/snake-3d/Snake3DService.js +0 -1
  1427. package/lib/module/games/snake-3d/Snake3DStore.js +0 -1
  1428. package/lib/module/games/snake-3d/components/GameGrid.js +0 -1
  1429. package/lib/module/games/snake-3d/components/ScoreBoard.js +0 -1
  1430. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersService.js +0 -1
  1431. package/lib/module/games/snakes-and-ladders/SnakesAndLaddersStore.js +0 -1
  1432. package/lib/module/games/snakes-and-ladders/components/Dice.js +0 -1
  1433. package/lib/module/games/snakes-and-ladders/components/GameBoard.js +0 -1
  1434. package/lib/module/games/snakes-and-ladders/components/ScoreBoard.js +0 -1
  1435. package/lib/module/games/space-fighter/SpaceFighterService.js +0 -1
  1436. package/lib/module/games/space-fighter/SpaceFighterStore.js +0 -1
  1437. package/lib/module/games/space-fighter/components/AsteroidComponent.js +0 -1
  1438. package/lib/module/games/space-fighter/components/GameArea.js +0 -1
  1439. package/lib/module/games/space-fighter/components/GameBackground.js +0 -1
  1440. package/lib/module/games/space-fighter/components/ScoreBoard.js +0 -1
  1441. package/lib/module/games/space-fighter/components/Spacecraft3D.js +0 -1
  1442. package/lib/module/games/space-fighter/components/SpacecraftPath.js +0 -1
  1443. package/lib/module/games/spider-solitaire/SpiderSolitaireService.js +0 -1
  1444. package/lib/module/games/spider-solitaire/SpiderSolitaireStore.js +0 -1
  1445. package/lib/module/games/spider-solitaire/components/Card.js +0 -1
  1446. package/lib/module/games/spider-solitaire/components/CardPile.js +0 -1
  1447. package/lib/module/games/spider-solitaire/components/ScoreBoard.js +0 -1
  1448. package/lib/module/games/stack-tower/StackTowerService.js +0 -1
  1449. package/lib/module/games/stack-tower/StackTowerStore.js +0 -1
  1450. package/lib/module/games/stack-tower/components/GameArea.js +0 -1
  1451. package/lib/module/games/stack-tower/components/ScoreBoard.js +0 -1
  1452. package/lib/module/games/sudoku/SudokuService.js +0 -1
  1453. package/lib/module/games/sudoku/SudokuStore.js +0 -1
  1454. package/lib/module/games/sudoku/components/GameArea.js +0 -1
  1455. package/lib/module/games/sudoku/components/ScoreBoard.js +0 -1
  1456. package/lib/module/games/tangram/TangramService.js +0 -1
  1457. package/lib/module/games/tangram/TangramStore.js +0 -1
  1458. package/lib/module/games/tangram/components/GameBoard.js +0 -1
  1459. package/lib/module/games/tangram/components/ScoreBoard.js +0 -1
  1460. package/lib/module/games/tank-1990/Tank1990Service.js +0 -1
  1461. package/lib/module/games/tank-1990/Tank1990Store.js +0 -1
  1462. package/lib/module/games/tank-1990/components/Controls.js +0 -1
  1463. package/lib/module/games/tank-1990/components/GameBoard.js +0 -1
  1464. package/lib/module/games/tank-1990/components/ScoreBoard.js +0 -1
  1465. package/lib/module/games/tic-tac-toe/TicTacToeService.js +0 -1
  1466. package/lib/module/games/tic-tac-toe/TicTacToeStore.js +0 -1
  1467. package/lib/module/games/tic-tac-toe/components/GameBoard.js +0 -1
  1468. package/lib/module/games/tic-tac-toe/components/ScoreBoard.js +0 -1
  1469. package/lib/module/games/tile-home/TileHomeService.js +0 -1
  1470. package/lib/module/games/tile-home/TileHomeStore.js +0 -1
  1471. package/lib/module/games/tile-home/components/AnimatingTile.js +0 -1
  1472. package/lib/module/games/tile-home/components/FlyingTile.js +0 -1
  1473. package/lib/module/games/tile-home/components/GameBoard.js +0 -1
  1474. package/lib/module/games/tile-home/components/ScoreBoard.js +0 -1
  1475. package/lib/module/games/tile-home/components/TileItem.js +0 -1
  1476. package/lib/module/games/tile-home/components/TileSlot.js +0 -1
  1477. package/lib/module/games/whack-a-mole/WhackAMoleService.js +0 -1
  1478. package/lib/module/games/whack-a-mole/WhackAMoleStore.js +0 -1
  1479. package/lib/module/games/whack-a-mole/components/GameBackground.js +0 -1
  1480. package/lib/module/games/whack-a-mole/components/GameGrid.js +0 -1
  1481. package/lib/module/games/whack-a-mole/components/GameHole.js +0 -1
  1482. package/lib/module/games/whack-a-mole/components/MoleCharacter.js +0 -1
  1483. package/lib/module/games/whack-a-mole/components/ScoreBoard.js +0 -1
  1484. package/lib/module/games/word-search/WordSearchConstants.js +0 -1
  1485. package/lib/module/games/word-search/WordSearchService.js +0 -1
  1486. package/lib/module/games/word-search/WordSearchStore.js +0 -1
  1487. package/lib/module/games/word-search/components/GameBoard.js +0 -1
  1488. package/lib/module/games/word-search/components/ScoreBoard.js +0 -1
  1489. package/lib/module/games/word-search/components/WordList.js +0 -1
  1490. package/lib/module/helpers/AnimatedScore.js +0 -1
  1491. package/lib/module/helpers/AnimationFrame.js +0 -1
  1492. package/lib/module/helpers/AnimationTracker.js +0 -1
  1493. package/lib/module/helpers/BlastAnimation.js +0 -1
  1494. package/lib/module/helpers/ErrorHandler.js +0 -1
  1495. package/lib/module/helpers/GameBackgroundPattern.js +0 -1
  1496. package/lib/module/helpers/GameControlButton.js +0 -1
  1497. package/lib/module/helpers/GameOverModal.js +0 -1
  1498. package/lib/module/helpers/GameTimer.js +0 -1
  1499. package/lib/module/helpers/Icons.js +0 -1
  1500. package/lib/module/helpers/ParticleBlast.js +0 -1
  1501. package/lib/module/helpers/ScoreBoardContainer.js +0 -1
  1502. package/lib/module/helpers/assets/apple-fruit.js +0 -1
  1503. package/lib/module/helpers/assets/avocado-item.js +0 -1
  1504. package/lib/module/helpers/assets/banana-fruit.js +0 -1
  1505. package/lib/module/helpers/assets/bomb-item.js +0 -1
  1506. package/lib/module/helpers/assets/broccoli-item.js +0 -1
  1507. package/lib/module/helpers/assets/cherries-fruit.js +0 -1
  1508. package/lib/module/helpers/assets/donut-item.js +0 -1
  1509. package/lib/module/helpers/assets/dragonfruit-item.js +0 -1
  1510. package/lib/module/helpers/assets/fries-item.js +0 -1
  1511. package/lib/module/helpers/assets/fruit-helpers.js +0 -1
  1512. package/lib/module/helpers/assets/grapes-fruit.js +0 -1
  1513. package/lib/module/helpers/assets/icecream-item.js +0 -1
  1514. package/lib/module/helpers/assets/index.js +0 -1
  1515. package/lib/module/helpers/assets/kiwi-fruit.js +0 -1
  1516. package/lib/module/helpers/assets/mango-fruit.js +0 -1
  1517. package/lib/module/helpers/assets/orange-fruit.js +0 -1
  1518. package/lib/module/helpers/assets/papaya-fruit.js +0 -1
  1519. package/lib/module/helpers/assets/papaya-full-fruit.js +0 -1
  1520. package/lib/module/helpers/assets/peach-fruit.js +0 -1
  1521. package/lib/module/helpers/assets/pineapple-fruit.js +0 -1
  1522. package/lib/module/helpers/assets/pomegranate-fruit.js +0 -1
  1523. package/lib/module/helpers/assets/pumpkin-fruit.js +0 -1
  1524. package/lib/module/helpers/assets/raspberry-item.js +0 -1
  1525. package/lib/module/helpers/assets/star-item.js +0 -1
  1526. package/lib/module/helpers/assets/strawberry-fruit.js +0 -1
  1527. package/lib/module/helpers/assets/watermelon-fruit.js +0 -1
  1528. package/lib/module/types.d.js +0 -1
  1529. package/lib/typescript/src/games/arrows/ArrowsService.d.ts +0 -6
  1530. package/lib/typescript/src/games/arrows/ArrowsStore.d.ts +0 -51
  1531. package/lib/typescript/src/games/arrows/components/ArrowsGrid.d.ts +0 -13
  1532. package/lib/typescript/src/games/arrows/components/ScoreBoard.d.ts +0 -6
  1533. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterService.d.ts +0 -80
  1534. package/lib/typescript/src/games/balloon-blaster/BalloonBlasterStore.d.ts +0 -30
  1535. package/lib/typescript/src/games/balloon-blaster/components/BalloonComponent.d.ts +0 -9
  1536. package/lib/typescript/src/games/balloon-blaster/components/GameArea.d.ts +0 -9
  1537. package/lib/typescript/src/games/balloon-blaster/components/GameBackground.d.ts +0 -7
  1538. package/lib/typescript/src/games/balloon-blaster/components/ScoreBoard.d.ts +0 -6
  1539. package/lib/typescript/src/games/bike-racing/BikeRacingService.d.ts +0 -44
  1540. package/lib/typescript/src/games/bike-racing/BikeRacingStore.d.ts +0 -68
  1541. package/lib/typescript/src/games/bike-racing/components/BikeComponent.d.ts +0 -12
  1542. package/lib/typescript/src/games/bike-racing/components/GameBackground.d.ts +0 -7
  1543. package/lib/typescript/src/games/bike-racing/components/ScoreBoard.d.ts +0 -6
  1544. package/lib/typescript/src/games/block-blast/BlockBlastService.d.ts +0 -16
  1545. package/lib/typescript/src/games/block-blast/BlockBlastStore.d.ts +0 -70
  1546. package/lib/typescript/src/games/block-blast/components/BlockPieceComponent.d.ts +0 -11
  1547. package/lib/typescript/src/games/block-blast/components/GameArea.d.ts +0 -11
  1548. package/lib/typescript/src/games/block-blast/components/GridComponent.d.ts +0 -8
  1549. package/lib/typescript/src/games/block-blast/components/ScoreBoard.d.ts +0 -6
  1550. package/lib/typescript/src/games/block-breaker/BlockBreakerService.d.ts +0 -88
  1551. package/lib/typescript/src/games/block-breaker/BlockBreakerStore.d.ts +0 -47
  1552. package/lib/typescript/src/games/block-breaker/components/BlastAnimation.d.ts +0 -15
  1553. package/lib/typescript/src/games/block-breaker/components/GameArea.d.ts +0 -8
  1554. package/lib/typescript/src/games/block-breaker/components/ScoreBoard.d.ts +0 -6
  1555. package/lib/typescript/src/games/bluk/BlukService.d.ts +0 -71
  1556. package/lib/typescript/src/games/bluk/BlukStore.d.ts +0 -52
  1557. package/lib/typescript/src/games/bluk/components/GameArea.d.ts +0 -17
  1558. package/lib/typescript/src/games/bluk/components/GameBackground.d.ts +0 -9
  1559. package/lib/typescript/src/games/bluk/components/ScoreBoard.d.ts +0 -6
  1560. package/lib/typescript/src/games/bubble-shooter/BubbleShooterService.d.ts +0 -35
  1561. package/lib/typescript/src/games/bubble-shooter/BubbleShooterStore.d.ts +0 -63
  1562. package/lib/typescript/src/games/bubble-shooter/components/GameArea.d.ts +0 -8
  1563. package/lib/typescript/src/games/bubble-shooter/components/ScoreBoard.d.ts +0 -6
  1564. package/lib/typescript/src/games/candy-crush/CandyCrushService.d.ts +0 -37
  1565. package/lib/typescript/src/games/candy-crush/CandyCrushStore.d.ts +0 -53
  1566. package/lib/typescript/src/games/candy-crush/components/CandyItem.d.ts +0 -11
  1567. package/lib/typescript/src/games/candy-crush/components/GameGrid.d.ts +0 -2
  1568. package/lib/typescript/src/games/candy-crush/components/ScoreBoard.d.ts +0 -5
  1569. package/lib/typescript/src/games/car-racing/CarRacingService.d.ts +0 -44
  1570. package/lib/typescript/src/games/car-racing/CarRacingStore.d.ts +0 -68
  1571. package/lib/typescript/src/games/car-racing/components/CarComponent.d.ts +0 -12
  1572. package/lib/typescript/src/games/car-racing/components/GameBackground.d.ts +0 -7
  1573. package/lib/typescript/src/games/car-racing/components/ScoreBoard.d.ts +0 -6
  1574. package/lib/typescript/src/games/chameleon-run/ChameleonRunService.d.ts +0 -76
  1575. package/lib/typescript/src/games/chameleon-run/ChameleonRunStore.d.ts +0 -48
  1576. package/lib/typescript/src/games/chameleon-run/components/GameArea.d.ts +0 -8
  1577. package/lib/typescript/src/games/chameleon-run/components/GameBackground.d.ts +0 -7
  1578. package/lib/typescript/src/games/chameleon-run/components/ScoreBoard.d.ts +0 -6
  1579. package/lib/typescript/src/games/checkers/CheckersService.d.ts +0 -6
  1580. package/lib/typescript/src/games/checkers/CheckersStore.d.ts +0 -48
  1581. package/lib/typescript/src/games/checkers/components/GameBoard.d.ts +0 -6
  1582. package/lib/typescript/src/games/checkers/components/ScoreBoard.d.ts +0 -6
  1583. package/lib/typescript/src/games/color-switch/ColorSwitchService.d.ts +0 -63
  1584. package/lib/typescript/src/games/color-switch/ColorSwitchStore.d.ts +0 -43
  1585. package/lib/typescript/src/games/color-switch/components/GameArea.d.ts +0 -8
  1586. package/lib/typescript/src/games/color-switch/components/ScoreBoard.d.ts +0 -6
  1587. package/lib/typescript/src/games/colors-sort/ColorsSortService.d.ts +0 -61
  1588. package/lib/typescript/src/games/colors-sort/ColorsSortStore.d.ts +0 -56
  1589. package/lib/typescript/src/games/colors-sort/components/ColorContainer.d.ts +0 -7
  1590. package/lib/typescript/src/games/colors-sort/components/ScoreBoard.d.ts +0 -6
  1591. package/lib/typescript/src/games/connect-em-all/ConnectEmAllService.d.ts +0 -20
  1592. package/lib/typescript/src/games/connect-em-all/ConnectEmAllStore.d.ts +0 -48
  1593. package/lib/typescript/src/games/connect-em-all/components/GameBoard.d.ts +0 -7
  1594. package/lib/typescript/src/games/connect-em-all/components/ScoreBoard.d.ts +0 -6
  1595. package/lib/typescript/src/games/crossy-road/CrossyRoadService.d.ts +0 -89
  1596. package/lib/typescript/src/games/crossy-road/CrossyRoadStore.d.ts +0 -39
  1597. package/lib/typescript/src/games/crossy-road/components/GameArea.d.ts +0 -8
  1598. package/lib/typescript/src/games/crossy-road/components/ScoreBoard.d.ts +0 -6
  1599. package/lib/typescript/src/games/dino-jump/DinoJumpService.d.ts +0 -39
  1600. package/lib/typescript/src/games/dino-jump/DinoJumpStore.d.ts +0 -97
  1601. package/lib/typescript/src/games/dino-jump/components/DinoSprite.d.ts +0 -2
  1602. package/lib/typescript/src/games/dino-jump/components/GameArea.d.ts +0 -7
  1603. package/lib/typescript/src/games/dino-jump/components/GameBackground.d.ts +0 -7
  1604. package/lib/typescript/src/games/dino-jump/components/ObstacleSprite.d.ts +0 -8
  1605. package/lib/typescript/src/games/dino-jump/components/ScoreBoard.d.ts +0 -6
  1606. package/lib/typescript/src/games/dino-jump/components/StarSprite.d.ts +0 -2
  1607. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesService.d.ts +0 -45
  1608. package/lib/typescript/src/games/dots-and-boxes/DotsAndBoxesStore.d.ts +0 -37
  1609. package/lib/typescript/src/games/dots-and-boxes/components/GameBoard.d.ts +0 -7
  1610. package/lib/typescript/src/games/dots-and-boxes/components/ScoreBoard.d.ts +0 -6
  1611. package/lib/typescript/src/games/falling-sticks/FallingSticksService.d.ts +0 -40
  1612. package/lib/typescript/src/games/falling-sticks/FallingSticksStore.d.ts +0 -31
  1613. package/lib/typescript/src/games/falling-sticks/components/GameArea.d.ts +0 -7
  1614. package/lib/typescript/src/games/falling-sticks/components/GameBackground.d.ts +0 -6
  1615. package/lib/typescript/src/games/falling-sticks/components/ScoreBoard.d.ts +0 -6
  1616. package/lib/typescript/src/games/find-different-number/FindDifferentNumberService.d.ts +0 -6
  1617. package/lib/typescript/src/games/find-different-number/FindDifferentNumberStore.d.ts +0 -36
  1618. package/lib/typescript/src/games/find-different-number/components/GameGrid.d.ts +0 -7
  1619. package/lib/typescript/src/games/find-different-number/components/ScoreBoard.d.ts +0 -6
  1620. package/lib/typescript/src/games/flappy-bird/FlappyBirdStore.d.ts +0 -68
  1621. package/lib/typescript/src/games/flappy-bird/components/Bird.d.ts +0 -2
  1622. package/lib/typescript/src/games/flappy-bird/components/GameArea.d.ts +0 -7
  1623. package/lib/typescript/src/games/flappy-bird/components/GameBackground.d.ts +0 -7
  1624. package/lib/typescript/src/games/flappy-bird/components/Pipes.d.ts +0 -8
  1625. package/lib/typescript/src/games/flappy-bird/components/ScoreBoard.d.ts +0 -6
  1626. package/lib/typescript/src/games/fruit-merger/FruitMergerService.d.ts +0 -3
  1627. package/lib/typescript/src/games/fruit-merger/FruitMergerStore.d.ts +0 -66
  1628. package/lib/typescript/src/games/fruit-merger/components/FruitItem.d.ts +0 -8
  1629. package/lib/typescript/src/games/fruit-merger/components/GameArea.d.ts +0 -8
  1630. package/lib/typescript/src/games/fruit-merger/components/ScoreBoard.d.ts +0 -6
  1631. package/lib/typescript/src/games/fruit-ninja/FruitNinjaService.d.ts +0 -73
  1632. package/lib/typescript/src/games/fruit-ninja/FruitNinjaStore.d.ts +0 -38
  1633. package/lib/typescript/src/games/fruit-ninja/components/FruitComponent.d.ts +0 -8
  1634. package/lib/typescript/src/games/fruit-ninja/components/GameArea.d.ts +0 -7
  1635. package/lib/typescript/src/games/fruit-ninja/components/GameBackground.d.ts +0 -7
  1636. package/lib/typescript/src/games/fruit-ninja/components/ScoreBoard.d.ts +0 -6
  1637. package/lib/typescript/src/games/game-2048/Game2048Service.d.ts +0 -102
  1638. package/lib/typescript/src/games/game-2048/Game2048Store.d.ts +0 -44
  1639. package/lib/typescript/src/games/game-2048/components/GameGrid.d.ts +0 -2
  1640. package/lib/typescript/src/games/game-2048/components/ScoreBoard.d.ts +0 -6
  1641. package/lib/typescript/src/games/knife-hit/KnifeHitService.d.ts +0 -48
  1642. package/lib/typescript/src/games/knife-hit/KnifeHitStore.d.ts +0 -41
  1643. package/lib/typescript/src/games/knife-hit/components/GameArea.d.ts +0 -8
  1644. package/lib/typescript/src/games/knife-hit/components/ScoreBoard.d.ts +0 -6
  1645. package/lib/typescript/src/games/ludo-king/LudoKingService.d.ts +0 -33
  1646. package/lib/typescript/src/games/ludo-king/LudoKingStore.d.ts +0 -34
  1647. package/lib/typescript/src/games/ludo-king/components/Dice.d.ts +0 -7
  1648. package/lib/typescript/src/games/ludo-king/components/GameBoard.d.ts +0 -7
  1649. package/lib/typescript/src/games/ludo-king/components/ScoreBoard.d.ts +0 -6
  1650. package/lib/typescript/src/games/maze-runner/MazeRunnerStore.d.ts +0 -62
  1651. package/lib/typescript/src/games/maze-runner/components/EnhancedBallComponent.d.ts +0 -10
  1652. package/lib/typescript/src/games/maze-runner/components/EnhancedGameArea.d.ts +0 -33
  1653. package/lib/typescript/src/games/maze-runner/components/ScoreBoard.d.ts +0 -24
  1654. package/lib/typescript/src/games/maze-runner/components/SkiaPipeComponent.d.ts +0 -24
  1655. package/lib/typescript/src/games/maze-runner/components/WallComponent.d.ts +0 -9
  1656. package/lib/typescript/src/games/memory-match/MemoryMatchService.d.ts +0 -6
  1657. package/lib/typescript/src/games/memory-match/MemoryMatchStore.d.ts +0 -42
  1658. package/lib/typescript/src/games/memory-match/components/Card.d.ts +0 -6
  1659. package/lib/typescript/src/games/memory-match/components/GameBoard.d.ts +0 -6
  1660. package/lib/typescript/src/games/memory-match/components/ScoreBoard.d.ts +0 -6
  1661. package/lib/typescript/src/games/mine-sweeper/MineSweeperService.d.ts +0 -22
  1662. package/lib/typescript/src/games/mine-sweeper/MineSweeperStore.d.ts +0 -73
  1663. package/lib/typescript/src/games/mine-sweeper/components/GameArea.d.ts +0 -8
  1664. package/lib/typescript/src/games/mine-sweeper/components/ScoreBoard.d.ts +0 -6
  1665. package/lib/typescript/src/games/mob-control/MobControlService.d.ts +0 -74
  1666. package/lib/typescript/src/games/mob-control/MobControlStore.d.ts +0 -66
  1667. package/lib/typescript/src/games/mob-control/components/GameArea.d.ts +0 -11
  1668. package/lib/typescript/src/games/mob-control/components/ScoreBoard.d.ts +0 -6
  1669. package/lib/typescript/src/games/number-search/NumberSearchConstants.d.ts +0 -63
  1670. package/lib/typescript/src/games/number-search/NumberSearchService.d.ts +0 -34
  1671. package/lib/typescript/src/games/number-search/NumberSearchStore.d.ts +0 -70
  1672. package/lib/typescript/src/games/number-search/components/GameBoard.d.ts +0 -7
  1673. package/lib/typescript/src/games/number-search/components/NumberList.d.ts +0 -2
  1674. package/lib/typescript/src/games/number-search/components/ScoreBoard.d.ts +0 -6
  1675. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsService.d.ts +0 -67
  1676. package/lib/typescript/src/games/nuts-and-bolts/NutsAndBoltsStore.d.ts +0 -45
  1677. package/lib/typescript/src/games/nuts-and-bolts/components/GameBoard.d.ts +0 -7
  1678. package/lib/typescript/src/games/nuts-and-bolts/components/ScoreBoard.d.ts +0 -6
  1679. package/lib/typescript/src/games/pac-man/PacManService.d.ts +0 -73
  1680. package/lib/typescript/src/games/pac-man/PacManStore.d.ts +0 -89
  1681. package/lib/typescript/src/games/pac-man/components/GameCanvas.d.ts +0 -2
  1682. package/lib/typescript/src/games/pac-man/components/ScoreBoard.d.ts +0 -6
  1683. package/lib/typescript/src/games/paper-io/PaperIoService.d.ts +0 -70
  1684. package/lib/typescript/src/games/paper-io/PaperIoStore.d.ts +0 -51
  1685. package/lib/typescript/src/games/paper-io/components/GameArea.d.ts +0 -8
  1686. package/lib/typescript/src/games/paper-io/components/ScoreBoard.d.ts +0 -6
  1687. package/lib/typescript/src/games/perfect-circle/PerfectCircleService.d.ts +0 -15
  1688. package/lib/typescript/src/games/perfect-circle/PerfectCircleStore.d.ts +0 -55
  1689. package/lib/typescript/src/games/perfect-circle/components/DrawingCanvas.d.ts +0 -8
  1690. package/lib/typescript/src/games/perfect-circle/components/ScoreBoard.d.ts +0 -6
  1691. package/lib/typescript/src/games/pipe-connect/PipeConnectService.d.ts +0 -17
  1692. package/lib/typescript/src/games/pipe-connect/PipeConnectStore.d.ts +0 -31
  1693. package/lib/typescript/src/games/pipe-connect/components/GameArea.d.ts +0 -7
  1694. package/lib/typescript/src/games/pipe-connect/components/ScoreBoard.d.ts +0 -6
  1695. package/lib/typescript/src/games/popit-fidget/PopitFidgetService.d.ts +0 -30
  1696. package/lib/typescript/src/games/popit-fidget/PopitFidgetStore.d.ts +0 -33
  1697. package/lib/typescript/src/games/popit-fidget/components/BubbleComponent.d.ts +0 -10
  1698. package/lib/typescript/src/games/popit-fidget/components/FidgetGrid.d.ts +0 -10
  1699. package/lib/typescript/src/games/popit-fidget/components/ScoreBoard.d.ts +0 -6
  1700. package/lib/typescript/src/games/reversi/ReversiStore.d.ts +0 -46
  1701. package/lib/typescript/src/games/reversi/components/GameBoard.d.ts +0 -6
  1702. package/lib/typescript/src/games/reversi/components/ScoreBoard.d.ts +0 -6
  1703. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersService.d.ts +0 -6
  1704. package/lib/typescript/src/games/sliding-numbers/SlidingNumbersStore.d.ts +0 -38
  1705. package/lib/typescript/src/games/sliding-numbers/components/NumbersGrid.d.ts +0 -7
  1706. package/lib/typescript/src/games/sliding-numbers/components/ScoreBoard.d.ts +0 -6
  1707. package/lib/typescript/src/games/snake-3d/Snake3DService.d.ts +0 -29
  1708. package/lib/typescript/src/games/snake-3d/Snake3DStore.d.ts +0 -49
  1709. package/lib/typescript/src/games/snake-3d/components/GameGrid.d.ts +0 -2
  1710. package/lib/typescript/src/games/snake-3d/components/ScoreBoard.d.ts +0 -6
  1711. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersService.d.ts +0 -22
  1712. package/lib/typescript/src/games/snakes-and-ladders/SnakesAndLaddersStore.d.ts +0 -40
  1713. package/lib/typescript/src/games/snakes-and-ladders/components/Dice.d.ts +0 -7
  1714. package/lib/typescript/src/games/snakes-and-ladders/components/GameBoard.d.ts +0 -2
  1715. package/lib/typescript/src/games/snakes-and-ladders/components/ScoreBoard.d.ts +0 -6
  1716. package/lib/typescript/src/games/space-fighter/SpaceFighterService.d.ts +0 -117
  1717. package/lib/typescript/src/games/space-fighter/SpaceFighterStore.d.ts +0 -54
  1718. package/lib/typescript/src/games/space-fighter/components/AsteroidComponent.d.ts +0 -9
  1719. package/lib/typescript/src/games/space-fighter/components/GameArea.d.ts +0 -9
  1720. package/lib/typescript/src/games/space-fighter/components/GameBackground.d.ts +0 -6
  1721. package/lib/typescript/src/games/space-fighter/components/ScoreBoard.d.ts +0 -6
  1722. package/lib/typescript/src/games/space-fighter/components/Spacecraft3D.d.ts +0 -11
  1723. package/lib/typescript/src/games/space-fighter/components/SpacecraftPath.d.ts +0 -9
  1724. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireService.d.ts +0 -23
  1725. package/lib/typescript/src/games/spider-solitaire/SpiderSolitaireStore.d.ts +0 -71
  1726. package/lib/typescript/src/games/spider-solitaire/components/Card.d.ts +0 -10
  1727. package/lib/typescript/src/games/spider-solitaire/components/CardPile.d.ts +0 -12
  1728. package/lib/typescript/src/games/spider-solitaire/components/ScoreBoard.d.ts +0 -6
  1729. package/lib/typescript/src/games/stack-tower/StackTowerService.d.ts +0 -51
  1730. package/lib/typescript/src/games/stack-tower/StackTowerStore.d.ts +0 -52
  1731. package/lib/typescript/src/games/stack-tower/components/GameArea.d.ts +0 -8
  1732. package/lib/typescript/src/games/stack-tower/components/ScoreBoard.d.ts +0 -6
  1733. package/lib/typescript/src/games/sudoku/SudokuService.d.ts +0 -24
  1734. package/lib/typescript/src/games/sudoku/SudokuStore.d.ts +0 -65
  1735. package/lib/typescript/src/games/sudoku/components/GameArea.d.ts +0 -8
  1736. package/lib/typescript/src/games/sudoku/components/ScoreBoard.d.ts +0 -6
  1737. package/lib/typescript/src/games/tangram/TangramService.d.ts +0 -6
  1738. package/lib/typescript/src/games/tangram/TangramStore.d.ts +0 -34
  1739. package/lib/typescript/src/games/tangram/components/GameBoard.d.ts +0 -7
  1740. package/lib/typescript/src/games/tangram/components/ScoreBoard.d.ts +0 -6
  1741. package/lib/typescript/src/games/tank-1990/Tank1990Service.d.ts +0 -80
  1742. package/lib/typescript/src/games/tank-1990/Tank1990Store.d.ts +0 -48
  1743. package/lib/typescript/src/games/tank-1990/components/Controls.d.ts +0 -2
  1744. package/lib/typescript/src/games/tank-1990/components/GameBoard.d.ts +0 -2
  1745. package/lib/typescript/src/games/tank-1990/components/ScoreBoard.d.ts +0 -6
  1746. package/lib/typescript/src/games/tic-tac-toe/TicTacToeService.d.ts +0 -0
  1747. package/lib/typescript/src/games/tic-tac-toe/TicTacToeStore.d.ts +0 -51
  1748. package/lib/typescript/src/games/tic-tac-toe/components/GameBoard.d.ts +0 -6
  1749. package/lib/typescript/src/games/tic-tac-toe/components/ScoreBoard.d.ts +0 -6
  1750. package/lib/typescript/src/games/tile-home/TileHomeService.d.ts +0 -1
  1751. package/lib/typescript/src/games/tile-home/TileHomeStore.d.ts +0 -57
  1752. package/lib/typescript/src/games/tile-home/components/AnimatingTile.d.ts +0 -9
  1753. package/lib/typescript/src/games/tile-home/components/FlyingTile.d.ts +0 -16
  1754. package/lib/typescript/src/games/tile-home/components/GameBoard.d.ts +0 -7
  1755. package/lib/typescript/src/games/tile-home/components/ScoreBoard.d.ts +0 -6
  1756. package/lib/typescript/src/games/tile-home/components/TileItem.d.ts +0 -11
  1757. package/lib/typescript/src/games/tile-home/components/TileSlot.d.ts +0 -7
  1758. package/lib/typescript/src/games/whack-a-mole/WhackAMoleService.d.ts +0 -32
  1759. package/lib/typescript/src/games/whack-a-mole/WhackAMoleStore.d.ts +0 -39
  1760. package/lib/typescript/src/games/whack-a-mole/components/GameBackground.d.ts +0 -7
  1761. package/lib/typescript/src/games/whack-a-mole/components/GameGrid.d.ts +0 -10
  1762. package/lib/typescript/src/games/whack-a-mole/components/GameHole.d.ts +0 -11
  1763. package/lib/typescript/src/games/whack-a-mole/components/MoleCharacter.d.ts +0 -6
  1764. package/lib/typescript/src/games/whack-a-mole/components/ScoreBoard.d.ts +0 -6
  1765. package/lib/typescript/src/games/word-search/WordSearchConstants.d.ts +0 -63
  1766. package/lib/typescript/src/games/word-search/WordSearchService.d.ts +0 -34
  1767. package/lib/typescript/src/games/word-search/WordSearchStore.d.ts +0 -70
  1768. package/lib/typescript/src/games/word-search/components/GameBoard.d.ts +0 -7
  1769. package/lib/typescript/src/games/word-search/components/ScoreBoard.d.ts +0 -6
  1770. package/lib/typescript/src/games/word-search/components/WordList.d.ts +0 -2
  1771. package/lib/typescript/src/helpers/AnimatedScore.d.ts +0 -36
  1772. package/lib/typescript/src/helpers/AnimationFrame.d.ts +0 -40
  1773. package/lib/typescript/src/helpers/AnimationTracker.d.ts +0 -44
  1774. package/lib/typescript/src/helpers/BlastAnimation.d.ts +0 -16
  1775. package/lib/typescript/src/helpers/ErrorHandler.d.ts +0 -123
  1776. package/lib/typescript/src/helpers/GameBackgroundPattern.d.ts +0 -7
  1777. package/lib/typescript/src/helpers/GameControlButton.d.ts +0 -11
  1778. package/lib/typescript/src/helpers/GameOverModal.d.ts +0 -15
  1779. package/lib/typescript/src/helpers/GameTimer.d.ts +0 -26
  1780. package/lib/typescript/src/helpers/Icons.d.ts +0 -12
  1781. package/lib/typescript/src/helpers/ParticleBlast.d.ts +0 -11
  1782. package/lib/typescript/src/helpers/ScoreBoardContainer.d.ts +0 -85
  1783. package/lib/typescript/src/helpers/assets/apple-fruit.d.ts +0 -4
  1784. package/lib/typescript/src/helpers/assets/avocado-item.d.ts +0 -4
  1785. package/lib/typescript/src/helpers/assets/banana-fruit.d.ts +0 -4
  1786. package/lib/typescript/src/helpers/assets/bomb-item.d.ts +0 -4
  1787. package/lib/typescript/src/helpers/assets/broccoli-item.d.ts +0 -4
  1788. package/lib/typescript/src/helpers/assets/cherries-fruit.d.ts +0 -4
  1789. package/lib/typescript/src/helpers/assets/donut-item.d.ts +0 -4
  1790. package/lib/typescript/src/helpers/assets/dragonfruit-item.d.ts +0 -4
  1791. package/lib/typescript/src/helpers/assets/fries-item.d.ts +0 -4
  1792. package/lib/typescript/src/helpers/assets/fruit-helpers.d.ts +0 -154
  1793. package/lib/typescript/src/helpers/assets/grapes-fruit.d.ts +0 -4
  1794. package/lib/typescript/src/helpers/assets/icecream-item.d.ts +0 -4
  1795. package/lib/typescript/src/helpers/assets/index.d.ts +0 -31
  1796. package/lib/typescript/src/helpers/assets/kiwi-fruit.d.ts +0 -4
  1797. package/lib/typescript/src/helpers/assets/mango-fruit.d.ts +0 -4
  1798. package/lib/typescript/src/helpers/assets/orange-fruit.d.ts +0 -4
  1799. package/lib/typescript/src/helpers/assets/papaya-fruit.d.ts +0 -4
  1800. package/lib/typescript/src/helpers/assets/papaya-full-fruit.d.ts +0 -4
  1801. package/lib/typescript/src/helpers/assets/peach-fruit.d.ts +0 -4
  1802. package/lib/typescript/src/helpers/assets/pineapple-fruit.d.ts +0 -4
  1803. package/lib/typescript/src/helpers/assets/pomegranate-fruit.d.ts +0 -4
  1804. package/lib/typescript/src/helpers/assets/pumpkin-fruit.d.ts +0 -4
  1805. package/lib/typescript/src/helpers/assets/raspberry-item.d.ts +0 -4
  1806. package/lib/typescript/src/helpers/assets/star-item.d.ts +0 -4
  1807. package/lib/typescript/src/helpers/assets/strawberry-fruit.d.ts +0 -4
  1808. package/lib/typescript/src/helpers/assets/watermelon-fruit.d.ts +0 -4
@@ -1 +0,0 @@
1
- "use strict";const _0x2ec3d7=_0x4e64;!function(){const e=_0x4e64,d=_0xb159();for(;;)try{if(112191==-parseInt(e(320,"2Qe9"))/1*(-parseInt(e(412,"Sbeo"))/2)+parseInt(e(290,"JF!v"))/3*(parseInt(e(358,"dic6"))/4)+-parseInt(e(415,"SyUx"))/5*(-parseInt(e(446,"HM4N"))/6)+-parseInt(e(339,"keJB"))/7+parseInt(e(310,"1y3@"))/8*(-parseInt(e(401,"qjv*"))/9)+-parseInt(e(447,"2Qe9"))/10*(-parseInt(e(430,"LO9g"))/11)+-parseInt(e(354,"qjv*"))/12)break;d.push(d.shift())}catch(e){d.push(d.shift())}}();import _0x29011c from"react";import{View,StyleSheet}from"react-native";import{Gesture,GestureDetector}from"react-native-gesture-handler";import _0x5e93a8,{useSharedValue,useAnimatedStyle,runOnJS,withTiming,Easing}from"react-native-reanimated";import{Canvas,Rect,RoundedRect,Circle,LinearGradient,vec}from"@shopify/react-native-skia";import{usePaperIoStore}from"../PaperIoStore.js";import{PAPER_CONFIG,PAPER_COLORS,PLAYER_COLORS}from"../PaperIoConstants.js";function _0xb159(){const e=["EMJdKCkYiq","W75AtayzW7tcMmkS","hSodz8kAlW","WR8eW4/dKuVdTCo1","bSkfuLRdRq0Z","CLdcPSoZWRTjyeS","W4ZcLcBcTJ8","W6afA8oYi1T4zG","jCortSkneG","W4hcPXxcNGddUG","sWpcLqjo","hSkWltpcU8k9WQJcGMO4","W63dVmkrWPu","rCoUF3FcRCkDWPu","sCkQW5tdUSks","WPpdHuRcJtW","lb/cRv8c","W5X3scGA","WRZcSmk7","W6BcISoBw8kqC8oIWQvllCodWRC","wSkKqcpcHq","gHNcJmo8EMVdVSk+W5NdRSkf","yYFdMSoHWQryW44MW7xdH8oysa","kSoGySkiea","WQpcImk1W4pdUmknbmkt","wehdKmk+kG","yetcUmoNWQO","wmktktxcQW","W4xcV8kVWO4","omooASkwl8kUWPfrWRJdUq","WRf8odtdNG","fWVdRcSeW6JcPwW","W4XSvIC6","W6m+WOmUWRn7sJddOZjjra","pYlcQuGMW5WY","W71qsYSeW6/cKSkHWQFdVmkSWPm","WP8LW6JdSNFdISopASkP","WP9+fGRdNq","W7bnkSoH","W64jtCoTk094zG","W75rWPfot8o9xYxdGCo/WRW2WPC","W7Oyw8ohivXPyby","W4hcV8kGWP3dMSo6","W5/cOmo3WQldMmkrBLGvoG","WQ0CFmkIW6pdNc3cRIZdISo0W5tdQG","rd/dHW","EuVcGCoIWQTbE0a","ACkrWQddJZOp","W5NcTW/cKq","W5VcPr7cMedcVI8gWRZcV1RdRmktW7uWga","uh7cHxVdUW","W6lcHSolA8kr","WQCaW4GEhSkX","wIBdHSklWQ0","rSoBW4L7jCklAaW","W6uZfSo6WPddSq5HCcddJGe","BH/dT8oezCoEvbGy","vKhcUu9fW6/cGwhcHmkNWO8","WOa1W6ZdTq","W5SSWQj0rmobxtjYWOBcUKO","ec/cMh5+","W7/dN8oTW4ldPmktj8kQoG","vSosyX7dH1PI","eY3cSe4Ek8k7W7xdQSo2W5aMW7ddNtrtfmofW5JdTM4","e0BcNmk1W5S","yLFcTCo8WRXmBLfOxr9/","WP/dJe7cLa","k8kMtSo1W7ZdLSoe","W6GFW7hcT1y","W4LVnCkEWONdOSk+W4/dQZWh","WPbLntu","aq3dUWOvW6FcPq","W6FdUSkmWObeWQNcUGxcKJ7cSq","ArZcPGjFgIiPgwzdfSoBAab6","WRKeW40meW","Amopuw48Ch9kW7q","xCkTbZlcMCoh","ACoFW415dmkn","W7qJWOW0WQf+rshdUa","rCoUF3FcRCkiWOdcQ3m","W7TgwJWzW7ZcG8kN","AqxdPq","d8ohF8k/jSk9WQbrWQVdLt3cTSooqhRcPxZcSG","W4dcISohWRZdSa","WR8utCo7W70","WQWnvCobW6a","W6Cox8oMa1T+Aa","Er3dPCkGdmoaW5lcRvfV","WOj+W6G","AbNdSmo0z8oaurGCWQLf","tCkMW4ldUmktWPddRW","WRNcGSkHW4NdIW","DSotxvK2CwjjW7/dNSoL","rdtcPbjW","W6BcM8okB8kVzmo1WRvwk8oc","W7SUW67dSmkQ","aSkjrfJdRa","W4VcTCkOWOJdLSonW5NcUMisnG","DmkkWRZdHq","kstcVNCMW58P","W63cNmoYWQpdMq","WOOnW40Pgq","W6WXeCo7W4BcQtXcuGS","fmoEWPxcGfrYF2C","mmkUBexdVG","W7q5WPaYWQv5xW","BuNcPSk6W7GuW4e","W71Vau8","W6dcNmokxmkyBCoRWQrEj8oh","W4NdSIhcOmkt","g8k+BG","gSkMCuVdIq","tmoeo07cRq","W6NcTSkGW6ldMmkQW5C","WQTIDSkbW78","oCkWx8oOW7xdMSosFcyzkmkGW4ddLMBcRvxdMW","WOBcSH1YWRC8W7FcOSoVW6Sw","W6uDW4NdImkP","B3RdSmk+ia","rCkLEZBcPW","AXJcUavt","c8oBWOZcRmkn","rSkzDd/cGW","WQxcO8kIW6xdPmkaW4mUW7uQW7hdOG","W69CkCoLWOZcGwJcUdtdR8o9","mmoCWPZcUG","WQFcHmk6W4ldJSkn","qmk7aWq","WPddHKlcIt3dQmo8pmkL","WPW5F8ogW5xdLmkDW4m","aCoIWPZcUSkc","uSkhW4dcQmk8tvdcI2i","FwpdRSkocKpdSCkbW5pdUmk/sW","W4JdUINcOCkE","amolB8kll8kY","WQrgaWldRgVcRIeZW6m","c8oqWPtcOG","zXFdRCk4Ba","W55hcX8O","Emopqw86Bgi","w1pdMCkgkMddGq","W4e4W6ZdPCkbh8oOWORcTW","W63dJWdcHmkKWR0o","Dw/cO0/dSW","W6ldSCkm","yYxdTCkBWP4","wdZdHCkawa","W6jWkbddRgpcSa","gHtcHCo8F07dUCk/W5hdHCkj","j8oVWRxcUmky","iuFcGmkfW4q","WPS3ACor","EKdcSSoM","W5RcV8oZWP7dM8kfq14a","WPKJW6/dJhhdLCoj","WRDUW7OUgSk5EJf7WR/cIMDgWQPi","nNRcGSkvW7qDW6moW4VdJmo8","WQ/cHmkNW5FdG8kEhmkTf8ozWR8","AbNdSmoLy8ok","WRpcSmkGW6ddSmkEW40VW7iHW5ZdLmooWOz/","W6m+WOmUWRn7sJddRWu","WOq1W6pdPNZdJa","W549ASopW5/dH8kp","ftJcS0ffDCoVWRtcO8kD","yCoUx0Kg","AmouW4b7ha","nSkWsSoC","cmoAWPFcQa","f8otWOFcNvXeAMWegZy","W41+fCo9WOm","W79DpSoNWR/cIM4","tmomlehdOxZdGv/dKmkLggXHWPZcQwtcGYRdQ1PG","WQ1Vt8kgW44","FKhdKG","pKxcTSkEW4O","DHRdUCkPWP4","W6aLWOy0WQG","eG3dUHa","W5OKWPqvWPy","W71Nfa","WR/cVSkTW64","ssBdMCknWQSNWRH7","oCkby0pdIq","aCksquldTWi3W67dRmkQWQJdMW","EaVdPSoEAmol","CaVdRq","wcVdMq","lJdcUvTRWOjQWQtcMCo0WPNcLaJdMJu","gCkjtKNdPrW","W40RW67cR3C","xuxdJSk9jM7dIW","CtldQq","WR7dRgxcRW","d1VcGCkOW7m","ggJcMmohcG","WP3dVspcSSkDWPy7","ASoJi1NcPW","W5ddTcVcSq","FdVdImkiFmoQi8k2","l3ZcNa","W4RcQmkSWPVdHSoR","mb7dPq","ndlcSL0RW4y","kZ7cV04R","fbNdPq0v","W40+W6NcV38","pJJcUKGN","WQDtW4Wj","WQxcMCkGW7FdVq","esxcOuzcCmoHWQ4","FGxdU8odz8ofuX8p","zSoFW5bre8kxAb/cNG","EdJdN8koqa","W53cO8oJWRxdMq","WPryW4eYlG","eblcNw4","WRWjW4GAeW","WQ/cO8ofANDUW4WGo0xcRSoV","W6NdOCo6WRJcPCoCW6a4W7e/W47dUa","W5VcVSo3WRxdJSkpr0KDmtfR","oNhcNW","lCkGsColW7RdICocEZe","e8kwwutdQW","W5ZcQCoKWQ3dLmkaqW","WR/cImkMW5xdHSklcSkrd8oIWR/dLmkwa8kvnW","WR8kW5iqaSkSbY4","lJdcPN57","WR/cUmoxDgHJW5qAm0FcPq","j8o+WPhcQe8","WRLUu8k6W4xcPI5MqsxdQG","DCoiW4vWf8kvBbNcHmoajWi","lINcMt55prK","WO9PW5K+mq","nNlcLa","WRBcTmk3W5VdU8knW5S/W642","WRpcVSkIW7NdSW","WPr1W78ZhG","W53dTcNcU8kj","WQDFaaJdQMVcJYy3","xmkStW"];return(_0xb159=function(){return e})()}import{jsx as _0x3d7d73,jsxs as _0x2d978a}from"react/jsx-runtime";const C=PAPER_CONFIG,{COLS:COLS,ROWS:ROWS,CELL:CELL,GRID_W:GRID_W,GRID_H:GRID_H,GRID_LEFT:GRID_LEFT}=C,HR=.62*CELL,HEAD_DEPTH=Math[_0x2ec3d7(317,"Sbeo")](3,Math[_0x2ec3d7(411,"$WpO")](.55*HR)),cellIndex=(e,d)=>d*COLS+e,lighten=(e,d)=>{const t=_0x2ec3d7,W={nttPR:function(e,d){return e>>d}};W[t(394,"Lm%e")]=function(e,d){return e*d},W[t(421,"0P1m")]=function(e,d){return e-d};const o=W,r=parseInt(e[t(275,"keJB")](1),16),n=Math[t(272,"]oqf")]((255&o[t(267,"7ar*")](r,16))+o.YylaJ(255-(r>>16&255),d)),x=Math.round((r>>8&255)+o[t(315,"!Chw")](255,r>>8&255)*d),_=Math[t(390,"7ar*")]((255&r)+(255-(255&r))*d);return t(406,"ioWR")+n+","+x+","+_+")"},renderHead=(e,d,t,W,o)=>{const r="rdOb",n=_0x2ec3d7,x={EhlPo:function(e,d){return e-d},QVYhY:function(e,d){return e*d},THmyn:function(e,d,t,W){return e(d,t,W)},bVhFh:function(e,d,t){return e(d,t)},lfvbk:function(e,d){return e+d},OztQM:function(e,d){return e*d},QZohy:function(e,d){return e*d}},_=x[n(400,"keJB")](d,HR),a=t-HR,s=x[n(384,"wVI3")](HR,2),i=Math[n(292,"8FYm")](4,.4*HR),k=lighten(W,.3),R={};R.x=_+1.5,R.y=a+HEAD_DEPTH+2,R[n(262,"!Chw")]=s,R[n(261,"!Chw")]=s,R.r=i,R[n(296,r)]=n(348,"#Jqw");const S={};return S.x=_,S.y=a,S[n(408,"rdOb")]=s,S[n(341,"xGwt")]=s+HEAD_DEPTH,S.r=i,S[n(352,"@jRu")]=o,[x[n(299,"2Qe9")](_0x3d7d73,RoundedRect,R,e+"-sh"),x[n(252,"8FYm")](_0x3d7d73,RoundedRect,S,e+"-fr"),_0x3d7d73(RoundedRect,{x:_,y:a,width:s,height:s,r:i,children:_0x3d7d73(LinearGradient,{start:x[n(444,"Cw)g")](vec,_,a),end:vec(_,a+s),colors:[k,W]})},e+n(260,"D4qR")),_0x3d7d73(RoundedRect,{x:_,y:a,width:s,height:s+HEAD_DEPTH,r:i,style:n(346,"]ib3"),strokeWidth:Math[n(484,"D4qR")](1.2,.14*HR),color:n(486,"!Chw")},e+n(409,"0P1m")),_0x3d7d73(Circle,{cx:_+x.QVYhY(s,.3),cy:x.lfvbk(a,.28*s),r:.12*s,color:"rgba(255,255,255,0.45)"},e+"-hl"),_0x3d7d73(Circle,{cx:x.lfvbk(_,.36*s),cy:a+x[n(285,"3dvL")](s,.42),r:.1*s,color:n(254,r)},e+"-e1"),x[n(255,"$WpO")](_0x3d7d73,Circle,{cx:_+.64*s,cy:x[n(271,"[e*&")](a,x[n(468,")UsZ")](s,.42)),r:.1*s,color:n(461,"wVI3")},e+n(250,"!Chw")),_0x3d7d73(Circle,{cx:_+.36*s,cy:a+.44*s,r:.05*s,color:"#2C2C44"},e+"-p1"),_0x3d7d73(Circle,{cx:x.lfvbk(_,.64*s),cy:a+.44*s,r:x[n(248,"m(UN")](s,.05),color:n(361,"D[8A")},e+"-p2")]},PLAYER_HEAD_ELEMENTS=renderHead("me",HR,HR,PLAYER_COLORS[0][_0x2ec3d7(426,"XWfp")],PLAYER_COLORS[0].headDark),_0x2d0ef5={};_0x2d0ef5[_0x2ec3d7(295,"dic6")]=2*HR,_0x2d0ef5[_0x2ec3d7(308,"#Jqw")]=2*HR+HEAD_DEPTH;const PLAYER_HEAD_CANVAS_STYLE=_0x2d0ef5,TerritoryCanvas=_0x29011c[_0x2ec3d7(435,"LO9g")](({service:e})=>{const d=_0x2ec3d7,t={wDZuX:function(e,d){return e<d},QOhxq:function(e,d,t){return e(d,t)},fvyho:function(e,d){return e-d},tnppX:d(362,"3dvL"),mnuaz:function(e,d,t,W){return e(d,t,W)},Lblls:function(e,d){return e*d},pMKUW:d(466,"LO9g")},[W,o]=_0x29011c[d(330,"bFS@")](0);_0x29011c.useEffect(()=>{const e=d;return usePaperIoStore[e(297,"HM4N")](d=>d[e(372,"JF!v")],()=>o(e=>e+1))},[]);const r=_0x29011c[d(398,"!Chw")](()=>{const W=d,o=e[W(270,"kHXi")](),r=[];for(let e=0;e<ROWS;e++){let d=0;for(;t[W(273,"dic6")](d,COLS);){const n=o[cellIndex(d,e)]??0;if(0===n){d++;continue}const x=d;for(;d<COLS&&o[t[W(437,"ioWR")](cellIndex,d,e)]===n;)d++;const _=PLAYER_COLORS[t[W(281,"D[8A")](n,1)]?.territory??t[W(367,"m(UN")];r[W(347,"#Jqw")](t[W(420,"LO9g")](_0x3d7d73,Rect,{x:x*CELL,y:e*CELL,width:t[W(445,"[e*&")](t.fvyho(d,x),CELL),height:CELL,color:_},"t-"+e+"-"+x))}}return r},[W,e]);return t[d(264,"m(UN")](_0x3d7d73,View,{style:styles.board,pointerEvents:t[d(326,"XWfp")],children:_0x3d7d73(Canvas,{style:styles.boardCanvas,children:r})})});TerritoryCanvas[_0x2ec3d7(456,"7ar*")]="TerritoryCanvas";const TrailHeadCanvas=_0x29011c.memo(({service:e})=>{const d="Rwnr",t="]oqf",W=_0x2ec3d7,o={SsuMs:"RIGHT",qeJQH:W(251,"bm!i"),eVZOW:function(e,d,t){return e(d,t)},VzArx:"none",MhvUV:function(e,d){return e<d},zTlTY:function(e,d){return e-d},BPdxd:W(470,"$WpO"),AQUHn:function(e,d){return e*d},sIDTG:W(253,"cMCm"),luByG:function(e,d){return e+d},oFQgM:function(e,d){return e/d}},[r,n]=_0x29011c[W(379,"HPsG")](0);_0x29011c[W(452,"]oqf")](()=>{const e=W;return usePaperIoStore[e(374,"!NMX")](d=>d[e(393,"jx#]")],()=>n(e=>e+1))},[]);const x=_0x29011c[W(453,"h&&d")](()=>{const r=W,n=e.getTrailOwners(),x=e[r(293,"Sbeo")](),_=[];for(let e=0;e<ROWS;e++){let W=0;for(;o[r(477,"Y66$")](W,COLS);){const x=n[cellIndex(W,e)]??0;if(0===x){if("mvPdW"!==r(416,"Lm%e")){W++;continue}{const e={_0xee1201:334,_0x23e6ec:"HPsG"},t={NgvdI:function(e,d){return e<d},LaCoM:o.SsuMs,wHVtV:o[r(359,"3dvL")],veVKV:function(e,d){return e(d)}},W=_0x460e22(_0x53c3e2/2),n=_0x3ac725(_0x5eb24a/2),x=_0x13d9ad.useRef(_0x94aa6d);x[r(438,"!NMX")]=_0x53b91a;const _=_0x273ab7[r(375,"XWfp")](d=>{const t=r;x[t(370,"bFS@")][t(e._0xee1201,e._0x23e6ec)](d)}),a=_0x2fa36b[r(407,"jx#]")](e=>{_.current(e)},[]),s=_0x581aaf[r(366,d)](()=>_0x746a86[r(472,"2Qe9")]()[r(455,"8FYm")](8)[r(306,"#IOb")](e=>{const d=r,W=_0x156363[d(387,"dic6")](e[d(482,"D[8A")]),o=_0x3a739c[d(443,"e4*^")](e[d(364,"CzOA")]);if(W<10&&t[d(349,"Pl2D")](o,10))return;let n;n=W>=o?e.translationX>0?t[d(481,"D[8A")]:t.wHVtV:e[d(332,"Y66$")]>0?d(369,"HM4N"):"UP",t[d(413,"qjv*")](_0x5d9139,a)(n)}),[]),i={};i.service=_0x5727ad;const k={};k[r(303,"D[8A")]=_0x131908;const R={};return R[r(303,"D[8A")]=_0x3af730,R.hx=W,R.hy=n,_0x4e8c60(_0x497b5d,{gesture:s,children:_0x52fa9b(_0x44d23c,{style:_0x3bffb1[r(440,"Lm%e")],children:o[r(473,"8FYm")](_0x545237,_0x47c1a1,{style:_0x106566[r(378,"1y3@")],children:[_0x271821(_0x5195a1,{style:_0x599c17[r(312,"1y3@")],pointerEvents:o[r(309,"JF!v")]}),_0x4fdc6f(_0x226428,i),_0x1a6aa6(_0x7a00bd,k),_0x591b01(_0x46b1e9,{style:_0x1146b4[r(323,"7ar*")],pointerEvents:"none",children:o[r(305,"#Jqw")](_0x5a8f6d,_0x46caea,R)})]})})})}}const a=W;for(;W<COLS&&n[o[r(329,"HM4N")](cellIndex,W,e)]===x;)W++;const s=PLAYER_COLORS[o[r(449,"8FYm")](x,1)]?.trail??o[r(399,t)];_[r(476,"bFS@")](_0x3d7d73(RoundedRect,{x:a*CELL+1,y:e*CELL+1,width:o.AQUHn(o[r(463,"!NMX")](W,a),CELL)-2,height:CELL-2,r:3,color:s},r(298,"XWfp")+e+"-"+a))}}for(const e of x){if(r(471,"qjv*")===o[r(436,"[e*&")])return _0x2bc971[r(280,d)](e=>e[r(423,")UsZ")],()=>_0x457bf1(e=>e+1));{if(!e[r(314,"bm!i")]||0===e[r(464,"kHXi")])continue;const d=PLAYER_COLORS[e.id-1],W=o[r(291,"dic6")](e.col*CELL,o[r(410,"D[8A")](CELL,2)),n=o[r(319,"0P1m")](e[r(478,"ioWR")]*CELL,o[r(382,t)](CELL,2));_.push(...renderHead("h-"+e.id,W,n,d[r(465,"Rwnr")],d[r(385,"#IOb")]))}}return _},[r,e]);return _0x3d7d73(View,{style:styles[W(265,"!Chw")],pointerEvents:W(397,"]ib3"),children:_0x3d7d73(Canvas,{style:styles[W(396,"xGwt")],children:x})})});TrailHeadCanvas[_0x2ec3d7(286,"lz55")]=_0x2ec3d7(454,"dic6");const PlayerHead=_0x29011c[_0x2ec3d7(365,"bm!i")](({service:e,hx:d,hy:t})=>{const W=_0x2ec3d7,o={gWewu:function(e,d){return e(d)},KmmMY:function(e,d,t){return e(d,t)},lKPqO:W(311,"e4*^")};_0x29011c[W(340,"#IOb")](()=>{const o=W,{x:r,y:n}=e[o(414,"Rwnr")]();d[o(373,"keJB")]=r,t[o(263,"bFS@")]=n;const x=usePaperIoStore[o(355,"D4qR")](e=>e.stepVersion,()=>{const W=_0x4e64,{x:o,y:r}=e.getPlayerHeadPixel(),n={};n[W(304,"CzOA")]=C[W(302,"h&&d")],n[W(483,"D4qR")]=Easing[W(487,"D[8A")],d[W(432,"rdOb")]=withTiming(o,n);const x={};x.duration=C[W(441,"rdOb")],x.easing=Easing[W(425,"7ar*")],t[W(301,"D]#(")]=withTiming(r,x)}),_=usePaperIoStore[o(335,"h&&d")](e=>e[o(283,"7ar*")],()=>{const W=o,r=e[W(381,"D]#(")]();d[W(419,"JF!v")]=r.x,t[W(324,"2Qe9")]=r.y});return()=>{const e=o;e(363,"8FYm")!==e(322,"D]#(")?(x(),_()):_0x4eb838.current.setDirection(_0x2063fc)}},[e,d,t]);const r={};r[W(459,"Y66$")]=d[W(325,"CzOA")]-HR;const n={};n[W(462,"3dvL")]=t.value-HR;const x=o[W(429,"LO9g")](useAnimatedStyle,()=>({transform:[r,n]})),_={};return _[W(418,"0P1m")]=PLAYER_HEAD_CANVAS_STYLE,_.children=PLAYER_HEAD_ELEMENTS,o.KmmMY(_0x3d7d73,_0x5e93a8[W(424,"LO9g")],{style:[styles[W(342,"]oqf")],x],pointerEvents:o.lKPqO,children:_0x3d7d73(Canvas,_)})});PlayerHead[_0x2ec3d7(288,"qjv*")]=_0x2ec3d7(328,"D]#(");const GameAreaComponent=({gameService:e})=>{const d="2Qe9",t=_0x2ec3d7,W={BYiHW:function(e,d){return e<d},YMpbF:function(e,d){return e>=d},AZLuo:function(e,d){return e(d)},MsEbX:function(e,d){return e/d},RBwGw:function(e,d,t){return e(d,t)},kvPPA:function(e,d,t){return e(d,t)},KTtqT:t(479,"Sbeo"),ENLiz:function(e,d,t){return e(d,t)}},o=W[t(417,d)](useSharedValue,GRID_W/2),r=W[t(448,"LO9g")](useSharedValue,W[t(307,"D]#(")](GRID_H,2)),n=_0x29011c[t(457,"D4qR")](e);n[t(404,"Y66$")]=e;const x=_0x29011c.useRef(e=>{const d=t;n[d(333,"!Chw")][d(318,"jx#]")](e)}),_=_0x29011c[t(388,"D4qR")](e=>{x[t(469,")UsZ")](e)},[]),a=_0x29011c[t(439,d)](()=>Gesture[t(344,"[e*&")]()[t(391,"!NMX")](8)[t(345,"CzOA")](e=>{const d=t,o=Math[d(485,"@jRu")](e[d(278,"]oqf")]),r=Math[d(279,"8FYm")](e[d(276,"lz55")]);if(W[d(331,"HPsG")](o,10)&&r<10)return;let n;n=W[d(392,"JF!v")](o,r)?e[d(289,"kHXi")]>0?"RIGHT":d(274,"!Chw"):e[d(422,"Sbeo")]>0?d(266,"dic6"):"UP",runOnJS(_)(n)}),[]),s={};s[t(282,"]oqf")]=e;const i={};i[t(249,d)]=e;const k={};return k[t(389,"3kr[")]=e,k.hx=o,k.hy=r,W[t(316,"HPsG")](_0x3d7d73,GestureDetector,{gesture:a,children:_0x3d7d73(View,{style:styles[t(377,"Y66$")],children:W[t(442,"Pl2D")](_0x2d978a,View,{style:styles.boardWrap,children:[_0x3d7d73(View,{style:styles.boardBg,pointerEvents:W[t(336,"HM4N")]}),_0x3d7d73(TerritoryCanvas,s),W[t(287,"!UG5")](_0x3d7d73,TrailHeadCanvas,i),W[t(403,"D[8A")](_0x3d7d73,View,{style:styles.headWrap,pointerEvents:t(256,"rdOb"),children:_0x3d7d73(PlayerHead,k)})]})})})},_0x1d7f10={};_0x1d7f10[_0x2ec3d7(450,"wVI3")]=1;const _0x25766e={flex:1};_0x25766e[_0x2ec3d7(474,"Cw)g")]=C[_0x2ec3d7(431,"2Qe9")],_0x25766e.overflow=_0x2ec3d7(433,"D]#(");const _0x2c95a0={};_0x2c95a0[_0x2ec3d7(300,"HPsG")]="absolute",_0x2c95a0[_0x2ec3d7(337,")UsZ")]=GRID_LEFT,_0x2c95a0.top=0,_0x2c95a0[_0x2ec3d7(313,"3kr[")]=GRID_W,_0x2c95a0[_0x2ec3d7(376,"kHXi")]=GRID_H,_0x2c95a0[_0x2ec3d7(458,"Sbeo")]=PAPER_COLORS[_0x2ec3d7(383,"wVI3")];const _0x4680a7={};_0x4680a7[_0x2ec3d7(480,"@jRu")]=_0x2ec3d7(338,"#IOb"),_0x4680a7[_0x2ec3d7(327,"xGwt")]=GRID_LEFT,_0x4680a7[_0x2ec3d7(380,"D4qR")]=0,_0x4680a7.width=GRID_W,_0x4680a7[_0x2ec3d7(460,"h&&d")]=GRID_H;const _0x4f04e2={};_0x4f04e2[_0x2ec3d7(350,"jx#]")]=GRID_W,_0x4f04e2[_0x2ec3d7(351,"keJB")]=GRID_H;const _0x2b44b7={};_0x2b44b7[_0x2ec3d7(284,"keJB")]=_0x2ec3d7(428,"wVI3"),_0x2b44b7[_0x2ec3d7(451,"CzOA")]=GRID_LEFT,_0x2b44b7.top=0,_0x2b44b7[_0x2ec3d7(475,"Y66$")]=GRID_W,_0x2b44b7.height=GRID_H;const _0x547140={};_0x547140[_0x2ec3d7(268,"3dvL")]=_0x2ec3d7(402,"!UG5"),_0x547140[_0x2ec3d7(357,"h&&d")]=0,_0x547140[_0x2ec3d7(258,"8FYm")]=0,_0x547140[_0x2ec3d7(395,"D[8A")]=2*HR,_0x547140.height=2*HR+HEAD_DEPTH;const _0x349429={};function _0x4e64(e,d){e-=248;const t=_0xb159();let W=t[e];if(void 0===_0x4e64.KSqgDC){const e=function(e,d){let t,W,o=[],r=0,n="";for(e=function(e){let d="",t="";for(let t,W,o=0,r=0;W=e.charAt(r++);~W&&(t=o%4?64*t+W:W,o++%4)?d+=String.fromCharCode(255&t>>(-2*o&6)):0)W="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(W);for(let e=0,W=d.length;e<W;e++)t+="%"+("00"+d.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(t)}(e),W=0;W<256;W++)o[W]=W;for(W=0;W<256;W++)r=(r+o[W]+d.charCodeAt(W%d.length))%256,t=o[W],o[W]=o[r],o[r]=t;W=0,r=0;for(let d=0;d<e.length;d++)W=(W+1)%256,r=(r+o[W])%256,t=o[W],o[W]=o[r],o[r]=t,n+=String.fromCharCode(e.charCodeAt(d)^o[(o[W]+o[r])%256]);return n};_0x4e64.QPSfIJ=e,_0x4e64.GAyhaD={},_0x4e64.KSqgDC=!0}const o=t[0];_0x4e64.ibmpws!==o&&(_0x4e64.GAyhaD={},_0x4e64.ibmpws=o);const r=_0x4e64.GAyhaD[e];return void 0===r?(void 0===_0x4e64.fSGqQU&&(_0x4e64.fSGqQU=!0),W=_0x4e64.QPSfIJ(W,d),_0x4e64.GAyhaD[e]=W):W=r,W}_0x349429[_0x2ec3d7(269,"D4qR")]=_0x1d7f10,_0x349429[_0x2ec3d7(427,"bm!i")]=_0x25766e,_0x349429.boardBg=_0x2c95a0,_0x349429[_0x2ec3d7(294,"Sbeo")]=_0x4680a7,_0x349429[_0x2ec3d7(467,"!UG5")]=_0x4f04e2,_0x349429[_0x2ec3d7(257,"[e*&")]=_0x2b44b7,_0x349429[_0x2ec3d7(434,"HM4N")]=_0x547140;const styles=StyleSheet[_0x2ec3d7(259,"xGwt")](_0x349429);export const GameArea=_0x29011c.memo(GameAreaComponent);GameArea[_0x2ec3d7(371,"e4*^")]=_0x2ec3d7(353,"kHXi");
@@ -1 +0,0 @@
1
- "use strict";const _0x17f7ed=_0x5b84;function _0x5b84(r,e){r-=331;const o=_0x245d();let t=o[r];if(void 0===_0x5b84.xwiQkl){const r=function(r,e){let o,t,n=[],W=0,s="";for(r=function(r){let e="",o="";for(let o,t,n=0,W=0;t=r.charAt(W++);~t&&(o=n%4?64*o+t:t,n++%4)?e+=String.fromCharCode(255&o>>(-2*n&6)):0)t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(t);for(let r=0,t=e.length;r<t;r++)o+="%"+("00"+e.charCodeAt(r).toString(16)).slice(-2);return decodeURIComponent(o)}(r),t=0;t<256;t++)n[t]=t;for(t=0;t<256;t++)W=(W+n[t]+e.charCodeAt(t%e.length))%256,o=n[t],n[t]=n[W],n[W]=o;t=0,W=0;for(let e=0;e<r.length;e++)t=(t+1)%256,W=(W+n[t])%256,o=n[t],n[t]=n[W],n[W]=o,s+=String.fromCharCode(r.charCodeAt(e)^n[(n[t]+n[W])%256]);return s};_0x5b84.NjflDM=r,_0x5b84.NrUrJx={},_0x5b84.xwiQkl=!0}const n=o[0];_0x5b84.ONNnBG!==n&&(_0x5b84.NrUrJx={},_0x5b84.ONNnBG=n);const W=_0x5b84.NrUrJx[r];return void 0===W?(void 0===_0x5b84.pySUoz&&(_0x5b84.pySUoz=!0),t=_0x5b84.NjflDM(t,e),_0x5b84.NrUrJx[r]=t):t=W,t}!function(){const r="jgF6",e="XJmO",o=_0x5b84,t=_0x245d();for(;;)try{if(586488==parseInt(o(365,"GjW9"))/1*(-parseInt(o(344,r))/2)+parseInt(o(335,"rUyt"))/3*(parseInt(o(350,"l7oe"))/4)+parseInt(o(331,"jgF6"))/5*(-parseInt(o(357,e))/6)+-parseInt(o(345,"M%[7"))/7+parseInt(o(358,"Ig0T"))/8+-parseInt(o(338,"t*T5"))/9*(parseInt(o(349,r))/10)+-parseInt(o(339,"Oa#%"))/11*(-parseInt(o(340,e))/12))break;t.push(t.shift())}catch(r){t.push(t.shift())}}();import{c as _0x1347a5}from"react/compiler-runtime";import _0x254c9a from"react";import{View}from"react-native";function _0x245d(){const r=["WPDcW6NdTL7dK8oRosy","WQpdLSkolIjHW6tdKJXk","WRyKfaOBnSkA","W7fWtLyajmkNWO3cGti","eb7cUCopCG","eCk6qmogrmkAqatdUSkWhW","q3pdMSowvmomWPycWRK","W4LvDupcNCkgmCk2dmkieW","WQZdTLxcVCoUWRlcKv4zWQKepLC","WOX3W5KcW5FdUH7cKG","WRldLqPNAq","xrSboSoq","WQDNwGmx","W4FcPaZdUmk+W4xdJgKhWOS","deRcMfFcLG","W4OWW5b9WRisWObWiby","ySoCfmkjW6KZEJxcLNeDdmkmW5m","W73cG8orBqXx","ae8SzmoSWPZdTx0Gz1i","WORcKgDPFG","srOowsykaSkB","bCkwW7idWQ8Dw8kOW5O","W5VcJSkzWO0","WOyZdWSE","jmktW6NcS38IEh3cOSk2WPe","fCkHWPZcUrfuW58uW4awxa","WOXUWP4","W71Wqvjaz8oBWQhcLtOnEZy","W5ZcNLZcU8kbW4NdPSoZv3RdKa","CSobb8kqWP46W6JcLW0RDColW5/cTG","W45raspdKCkJjSkp","WOdcJCklWPC0","imkBW6pcU3WAxeBcPCk7WPS","a8kYx8odtq","b8kuW7yJWOWzC8ktW70","asBcJ8ksWRjTW6/cMSkOmmowv2G","WPmclXpdIq","ymoAfCkkW605EM/cPvSOdSkm","WO1PW4TJWOFcQ8kJ","bCktW7TLWPeWxmkMW4RdUq"];return(_0x245d=function(){return r})()}import{ScoreBoardContainer,ScoreTimer,ScoreColumn,scoreBoardStyles as _0x4f7b02}from"../../../helpers/index.js";import{useTerritoryPct,useAiPct,useTimeLeft}from"../PaperIoStore.js";import{jsx as _0x28936f,jsxs as _0x517ce4}from"react/jsx-runtime";export const ScoreBoard=_0x254c9a[_0x17f7ed(332,"rlEJ")](r=>{const e="XJmO",o=_0x17f7ed,t={HfaMo:function(r,e){return r(e)},bUWXs:o(348,"wsGZ"),QRBnI:function(r,e){return r!==e},YguMR:"#FF6B6B",ojUrb:function(r,e){return r!==e},cJViC:function(r,e,o){return r(e,o)},Crxnk:function(r,e,o){return r(e,o)}},n=t[o(362,"Q$&0")](_0x1347a5,13),{offset:W}=r,s=void 0===W?0:W,i=useTerritoryPct(),f=useAiPct(),x=useTimeLeft(),a=i+"%";let d,m;if(n[0]!==a){const r={};r[o(346,e)]="YOU",r[o(364,"T8yU")]=a,r[o(341,"^^XG")]=t[o(354,"zwrU")],d=_0x28936f(ScoreColumn,r),n[0]=a,n[1]=d}else d=n[1];if(n[2]!==x){const r={};r[o(352,"ls%]")]=x,r.lowThreshold=10,m=_0x28936f(ScoreTimer,r),n[2]=x,n[3]=m}else m=n[3];const u=f+"%";let k,l,S;if(t[o(361,"@q0L")](n[4],u)){const r={};r[o(346,e)]="AI",r[o(343,"Nu^$")]=u,r[o(360,"pCe1")]=t.YguMR,k=_0x28936f(ScoreColumn,r),n[4]=u,n[5]=k}else k=n[5];if(n[6]!==d||n[7]!==m||t.ojUrb(n[8],k)){const r={};r.style=_0x4f7b02[o(336,"GjW9")],r[o(359,"3yLE")]=[d,m,k],l=t[o(369,"aT)[")](_0x517ce4,View,r),n[6]=d,n[7]=m,n[8]=k,n[9]=l}else l=n[9];if(n[10]!==s||n[11]!==l){const r={};r[o(367,"#0t3")]=s,r[o(370,"9ylB")]=l,S=t[o(333,"ls%]")](_0x28936f,ScoreBoardContainer,r),n[10]=s,n[11]=l,n[12]=S}else S=n[12];return S});ScoreBoard[_0x17f7ed(355,"Nu^$")]=_0x17f7ed(363,"Ig0T");
@@ -1 +0,0 @@
1
- "use strict";const _0x2e7925=_0x28c4;function _0x28c4(t,o){t-=154;const e=_0x201f();let W=e[t];if(void 0===_0x28c4.aeBMCI){const t=function(t,o){let e,W,n=[],r=0,d="";for(t=function(t){let o="",e="";for(let e,W,n=0,r=0;W=t.charAt(r++);~W&&(e=n%4?64*e+W:W,n++%4)?o+=String.fromCharCode(255&e>>(-2*n&6)):0)W="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(W);for(let t=0,W=o.length;t<W;t++)e+="%"+("00"+o.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(e)}(t),W=0;W<256;W++)n[W]=W;for(W=0;W<256;W++)r=(r+n[W]+o.charCodeAt(W%o.length))%256,e=n[W],n[W]=n[r],n[r]=e;W=0,r=0;for(let o=0;o<t.length;o++)W=(W+1)%256,r=(r+n[W])%256,e=n[W],n[W]=n[r],n[r]=e,d+=String.fromCharCode(t.charCodeAt(o)^n[(n[W]+n[r])%256]);return d};_0x28c4.zyyOBW=t,_0x28c4.wztDqG={},_0x28c4.aeBMCI=!0}const n=e[0];_0x28c4.WSZwno!==n&&(_0x28c4.wztDqG={},_0x28c4.WSZwno=n);const r=_0x28c4.wztDqG[t];return void 0===r?(void 0===_0x28c4.toTuFK&&(_0x28c4.toTuFK=!0),W=_0x28c4.zyyOBW(W,o),_0x28c4.wztDqG[t]=W):W=r,W}!function(){const t=_0x28c4,o=_0x201f();for(;;)try{if(856822==parseInt(t(189,"4V!7"))/1+parseInt(t(256,"oe7P"))/2*(-parseInt(t(183,"%bjH"))/3)+parseInt(t(160,"#QX4"))/4*(parseInt(t(190,"y4bd"))/5)+-parseInt(t(225,"@LUd"))/6+-parseInt(t(177,"mq(k"))/7*(parseInt(t(176,"QkVz"))/8)+-parseInt(t(167,"YKJf"))/9*(-parseInt(t(207,"#QX4"))/10)+parseInt(t(166,"oe7P"))/11)break;o.push(o.shift())}catch(t){o.push(o.shift())}}();import{usePerfectCircleStore}from"./PerfectCircleStore.js";import{PERFECT_CIRCLE_GAME_CONFIG}from"./PerfectCircleConstants.js";import{getGameDimensions}from"../../services/UtilsService.js";const{width:screenWidth,height:screenHeight}=getGameDimensions(),GUIDE_CIRCLE_RADIUS=screenWidth/2-PERFECT_CIRCLE_GAME_CONFIG[_0x2e7925(218,"QkVz")];function _0x201f(){const t=["q3j5yqK","WQqgW6BdGCkd","W5RdIWLErq","W5VcKCkFeSkJ","ESo6W6qtmLbgceZdPfhdPcrwmGHadLVdJ8o2q8oun2JcSq","zmo2CSkHaL/dRa","qCk/WRS","jmkICmk+W44","eKr9umoetttdLs7dMq","W4xdUqRcP8o+","WPBcK8oPEG0","z8kPd8ofFY7dNePXz8oCWPS","W7xcISk0W5Xc","W5RdTLOBWRC","W5jZg8o3WQG","wSokW5Kea25Xja","wmo2m17cKq","W43dJYzOWPa","WO/cT8kyWQFcJSkkWQu","Dv5HWRyi","W7ZcVSoAtSoz","WOX+y8o4xSkhBZK+W43dS8ksWOa","W4ldUv8JFCoxWPJdQSoXn8oP","WPWkWQRcJCoO","p8onW5xcHcG","W4HLk8o2WRbGWPZdNGGapsW","kCo4W78qoCoNWQBdHNPQEvBdNq","kmoCW4xcJX0","WRTEdIhdGq","CSo/W4ZdTfe","pfKXWQZdSf5nWRJdI2tdU8oxW7WdWRKQW7vSmau","W5dcPSkpimkc","i8oUw8khoLVdIMzZ","W7VdSvGKxq","W63dU8o1FqhdQSoXW64","i8ksWPxdU8oVW57cTCkFr8ozrYNdHCkItuiZWRCFwmojaCobW4y","W4hcH8kVeCk5WPSxFCoUEr4","W4ZdQZnNCW","W5hcQCkDiCkS","nfuYWOJdLW","W4xdNmkmWQRcLf/cRa","umo8W4FcSJRdOrdcSW","hSkxWOBdL8kyW6i4","BCoVjmkdW6a","s8otW6FdSehcVafMxSkWCxtcVvtdPX/dV8k2W5NdISoKWP8y","WPqlW4ZdJ8kurJegW6xcU8oMW6Hw","W5ZdVvm","mCo4sq","W7ZcOSkFW4xdVW","ESk0W7PdWQi","WPehW4ZdKSkcxc0","kmoeWPNcL8k0ca","W5ZcP1e","qCoNWOlcMuRdS8oA","WQFcRXfUWPRcQ8okmJdcSa","W5BdRqpcN8oV","W64HomkXpa","W6FcLSkuW5v1","WQCYW7ldISkl","W5DLmCosWQvK","WOqgWQVcP8oH","a8kQWR3dNSo/","W4JcPCkGW6ZdKG","W4FdGtZcVmoE","WOy7W4FdKuJdJX1Jsau0CNbLWR4","dSo7W5FdRSoi","qSkvW7XuWQO","W6FdISokoW","W6H2gmopWOG","W7pcHCkLBHO","lmoeW5tdUW","pLyi","tSk8WPBdOmkL","lmkwWPFdV8oUW5O","W4pdR0WnWQC","WP16pZ/dMvyWWPRcNW","AJ0koCoHBJtdRJhdMW","W73dJMezWQm","tmkSW4LRWRO","hCohi8kGW5HWW6a","W4NdIv4WWO4","W6FcK1TjWOq","iCkDWPxdGSom","W5BcU8k0W4bl","nSoaWPpcMCk1eW","hCoNW6hcLSojWOzzWReKkMvpoG","FmkqWQ/cSCkPkM3cUW","W6lcG8k4W7hdR8okarO","twnuWPui","W4xdSSkKWQ/cHW","WPupW5ZdIhK","W53dVvWLWRe","WPePW6tdL8kr","v2fIWQm","xCkDWQFdKh/dQmovDt9hW5BdGSo1","cmkFWPrHaMnmnfxdTG","kSo0W7uxySkyW5xdQef9","EtxdICkVwa","i3TeWRxcLW","W53dO8oaW6RdNConW43dMdNdGKNcHsa","rmo8W4FcPI/dRqhcHcHmpWe3","hvDlvSo8","W5D1WPtcIqJcN19fwq4VvLG","WQCVWQlcHmo7","r8keW6VcUmkb","W7BcRmkt","r8obW4FcMce","pMf0WOhcNW","WRdcJLWOW4VdKSodevJcSqjHWOG","A8kbWPdcVmkcuCkMn8okqSk8CZy","xSkzWOLIAq","v3vKWPaqCgVcHYj0WQm8sq","W6CcemkNaW","W7/dTwG+WPFcKmo9pJ3cP8k7WP0xlCoPt8oWW6WIWQW","WOewW43dLSkGtXGr","WQC+WQa","s8krWQ/dOCkd","t8oFW5dcSdW","W6pdHgFdQCok","W53cTCogwSo3W43dNbNcOG","kCo3rZpdNG","W53cGmobtSoP","m0fZWORcQq","W5/cG8kJ","W5aUlW","bttcVwZdGG","gmkzwCoaWQucWPFcRxtcOmoODSo+","jmk8WRBdJ8oi","W7dcQ8kuW79UB8kpFq","k8k7WPJdRmol","WOaHW4pdNfpdMXK","W7aggCkFnSo4eq8VW5q","dCkvWOZdOmoF"];return(_0x201f=function(){return t})()}export class PerfectCircleService{constructor(){}[_0x2e7925(239,"DYGk")](t){this[_0x2e7925(194,"(euV")]=t}[_0x2e7925(246,"@LUd")](){const t=_0x2e7925;usePerfectCircleStore.getState()[t(156,"300P")]()}[_0x2e7925(168,"j0bI")](){const t=_0x2e7925;usePerfectCircleStore[t(209,"IAc)")]()[t(195,"8LIa")]()}[_0x2e7925(200,"Slo&")](){usePerfectCircleStore[_0x2e7925(255,"1F8@")]().resetGame()}[_0x2e7925(211,"%bjH")](){}fitCircle(t){const o=_0x2e7925,e={};e[o(159,"ap))")]=function(t,o){return t*o},e[o(275,"sQ3K")]=function(t,o){return t*o},e[o(182,"U0Fu")]=function(t,o){return t-o},e[o(245,"5kzD")]=function(t,o){return t*o},e[o(228,"DYGk")]=function(t,o){return t-o},e[o(193,"Zcz8")]=function(t,o){return t+o},e[o(184,"W&5x")]=function(t,o){return t*o},e[o(179,"JV@i")]=function(t,o){return t-o},e[o(272,"8LIa")]=function(t,o){return t<o},e[o(198,"1F8@")]=function(t,o){return t-o},e[o(286,"oe7P")]=function(t,o){return t/o},e[o(187,"1F8@")]=function(t,o){return t-o},e.nhBZr=function(t,o){return t/o};const W=e,n=t.length;let r=0,d=0,u=0,i=0,f=0,s=0,k=0,a=0,C=0;for(const e of t){const t=e.x,n=e.y,x=t*t,S=n*n;r+=t,d+=n,u+=x,i+=S,f+=W[o(221,"JJio")](t,n),s+=x*t,k+=S*n,a+=x*n,C+=W[o(191,"mq(k")](t,S)}const x=n*u-r*r,S=W[o(274,"W&5x")](n*f,W[o(226,"IAc)")](r,d)),h=W[o(217,"5kzD")](n*i,d*d),P=.5*W[o(169,"]R]e")](n*s+n*C-W[o(188,"JV@i")](r,u),r*i),I=.5*(W[o(243,"QRoh")](n*a,n*k)-d*u-W[o(280,"ap))")](d,i)),m=W[o(202,"Slo&")](x*h,W[o(224,"KrW5")](S,S));if(W[o(242,"300P")](Math[o(261,"@LUd")](m),1e-10)){const e=r/n,u=d/n;let i=0;for(const o of t)i+=Math.sqrt((o.x-e)**2+W.xFcQr(o.y,u)**2);const f={};return f[o(232,"7z)B")]=e,f[o(254,"[vx4")]=u,f[o(165,"YKJf")]=i/n,f}const R=W[o(203,"JV@i")](W[o(178,"FasC")](P*h,S*I),m),_=W.bjCNT(W[o(269,"&eH&")](x*I,S*P),m);let l=0;for(const e of t)l+=Math.sqrt(W[o(193,"Zcz8")](W[o(271,"IAc)")](e.x,R)**2,(e.y-_)**2));const G=W.nhBZr(l,n),Q={};return Q[o(264,"8LIa")]=R,Q[o(254,"[vx4")]=_,Q.radius=G,Q}[_0x2e7925(249,"sQ3K")](t,o,e){const W=_0x2e7925,n={};n[W(283,"l[lf")]=function(t,o){return t<o},n[W(252,"5kzD")]=function(t,o){return t===o},n.DDOwt=function(t,o){return t*o},n.NVZrs=function(t,o){return t/o};const r=n;if(r.gbBGD(t[W(265,"YKJf")],2))return 0;const d=t.map(t=>Math.atan2(t.y-e,t.x-o));let u=0;for(let t=1;r[W(253,"mo]!")](t,d[W(154,"sQ3K")]);t++){const o=d[t-1],e=d[t];if(r[W(173,"8LIa")](o,void 0)||r[W(170,"[vx4")](e,void 0))continue;let n=e-o;for(;n>Math.PI;)n-=r[W(257,"#QX4")](2,Math.PI);for(;n<-Math.PI;)n+=2*Math.PI;u+=Math.abs(n)}return Math.min(r.NVZrs(u,2*Math.PI),1)}calculateCircleAccuracy(t,o){const e="sQ3K",W=_0x2e7925,n={};n[W(251,"fZ06")]=function(t,o){return t+o},n.UsffM=function(t,o){return t**o},n.MfuxE=function(t,o){return t-o},n[W(263,"ap))")]=function(t,o){return t+o},n[W(215,"8LIa")]=function(t,o){return t**o},n.ZVysa=function(t,o){return t*o},n[W(277,"&eH&")]=function(t,o){return t>o},n[W(227,"(euV")]=function(t,o){return t<o},n[W(234,"Slo&")]=function(t,o){return t-o},n[W(158,"(euV")]=function(t,o){return t/o},n[W(197,"oe7P")]=function(t,o){return t===o},n[W(241,"Pcb&")]="anlZV",n.LpLym=function(t,o){return t+o},n[W(223,"&eH&")]=function(t,o){return t/o},n[W(185,"RjWK")]=function(t,o){return t*o},n[W(171,"%bjH")]=function(t,o){return t+o},n[W(155,"(euV")]=function(t,o){return t*o};const r=n;if(t.length<PERFECT_CIRCLE_GAME_CONFIG[W(222,"U0Fu")])return 0;const d=screenWidth/2,u=o,{centerX:i,centerY:f,radius:s}=this.fitCircle(t);if(s<30)return 0;const k=t[0],a=t[t[W(273,"DYGk")]-1];if(!k||!a)return 0;const C=Math.sqrt(r[W(161,"(euV")](r[W(238,"Pcb&")](a.x-k.x,2),r[W(199,"f#Xx")](a.y,k.y)**2)),x=r[W(237,"W&5x")](GUIDE_CIRCLE_RADIUS,.15);if(r[W(282,"DYGk")](C,x))return 0;const S=this.calculateAngularCoverage(t,i,f);if(r[W(247,"(hXv")](S,.85))return 0;const h=Math[W(266,"p[sZ")](s-GUIDE_CIRCLE_RADIUS)/GUIDE_CIRCLE_RADIUS,P=Math[W(260,"(hXv")](0,100*r.SnoqZ(1,h)),I=Math[W(284,"y4bd")](r[W(208,e)](r[W(270,"Zcz8")](i,d)**2,(f-u)**2)),m=r[W(262,"j0bI")](I,GUIDE_CIRCLE_RADIUS),R=Math[W(285,"mo]!")](0,100*r[W(213,"sQ3K")](1,m));let _=0;for(const o of t)if(r[W(206,"2KoL")](W(163,"sQ3K"),r[W(164,"IAc)")])){const t=Math[W(281,"EjBq")](r[W(231,"4V!7")]((o.x-i)**2,(o.y-f)**2));_+=Math[W(186,"IAc)")](t-s)/s}else{const t=_0x1e3023[W(174,"]R]e")](r.dOOWR(r.UsffM(_0x2c6174.x-_0x2cef4e,2),(_0x4010e7.y-_0x296dd1)**2)),o=_0x33e3ba[W(196,"W&5x")](r[W(172,"(euV")](t,_0x308c6c))/_0x14d2f0;_0x2f4972+=o}const l=r[W(279,"y4bd")](_,t.length),G=Math[W(204,"5kzD")](0,100*(1-r[W(210,e)](l,2))),Q=r[W(162,"p[sZ")](100,r[W(214,"Ape0")](1,r[W(233,"]R]e")](C,x))),F=r[W(230,"@3%F")](r[W(276,"j0bI")](r.StePS(G,.6),.15*P),.15*R)+.1*Q;return Math[W(216,"fZ06")](Math[W(220,"oe7P")](100,Math[W(205,"Zcz8")](0,F)))}[_0x2e7925(278,"%bjH")](t=0){const o=_0x2e7925,e={TdnbB:function(t,o){return t>=o}},W=usePerfectCircleStore[o(229,"QkVz")](),n=W.drawnPoints;if(n.length<PERFECT_CIRCLE_GAME_CONFIG[o(212,"Zcz8")])return W[o(250,"5kzD")](0),void W[o(192,"]R]e")](!1);const r=(screenHeight-t+100-350)/2,d=this[o(258,"QRoh")](n,r);W[o(236,"(hXv")](d),this[o(244,"mo]!")]?.(d);const u=e[o(201,"X6Mi")](d,80);W[o(181,"1F8@")](u)}[_0x2e7925(259,"8LIa")](t=0){this.evaluateDrawing(t)}}
@@ -1 +0,0 @@
1
- "use strict";!function(){const t=_0x165c,e=_0x1b37();for(;;)try{if(423226==parseInt(t(521,"JM[N"))/1*(parseInt(t(509,"uz&w"))/2)+parseInt(t(555,"y*l$"))/3*(parseInt(t(518,"S@^$"))/4)+-parseInt(t(491,"&&A5"))/5*(parseInt(t(487,"FZdn"))/6)+-parseInt(t(550,"NJdg"))/7*(parseInt(t(531,"(dZ]"))/8)+parseInt(t(544,"2FIw"))/9+parseInt(t(500,"GYiW"))/10*(parseInt(t(534,"t%Kx"))/11)+parseInt(t(558,")c8k"))/12*(-parseInt(t(496,"Id%u"))/13))break;e.push(e.shift())}catch(t){e.push(e.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{useShallow}from"zustand/react/shallow";import{immerMiddleware}from"../../services/UtilsService.js";export const usePerfectCircleStore=create()(subscribeWithSelector(immerMiddleware(t=>({isPlaying:!1,isDrawing:!1,gameOver:!1,gameWon:!1,accuracy:0,drawnPoints:[],startPoint:null,startGame:()=>{t(t=>{const e=_0x165c;t[e(526,"^YB8")]=!0,t.isDrawing=!1,t[e(548,"%LUe")]=!1,t[e(495,"@]Ue")]=!1,t[e(510,"GYiW")]=0,t[e(508,"K[$k")]=[],t[e(505,"xwwD")]=null})},stopGame:()=>{t(t=>{const e=_0x165c;t.isPlaying=!1,t[e(543,"t%Kx")]=!1})},resetGame:()=>{t(t=>{const e=_0x165c;t[e(497,"t!3H")]=!1,t.isDrawing=!1,t[e(489,"ZN3Q")]=!1,t[e(493,"Id%u")]=!1,t[e(522,"J#EB")]=0,t[e(490,"nB0A")]=[],t.startPoint=null})},startDrawing:e=>{const r=_0x165c;({TuLzA:function(t,e){return t(e)}})[r(507,"&&A5")](t,t=>{const o=r;t[o(561,"JM[N")]=!0,t[o(554,"GYiW")]=e,t[o(559,"y*l$")]=[e]})},addPoint:e=>{const r=_0x165c;({kzkCs:function(t,e){return t(e)}})[r(499,"kD1^")](t,t=>{const o=r;t[o(525,"NJdg")][o(529,"BJ6z")](e)})},finishDrawing:()=>{t(t=>{const e=_0x165c;if(e(484,"G[E5")!==e(539,"ize0"))return _0x48a1e6(_0x4ff2a5);t[e(516,"Sz0e")]=!1})},setAccuracy:e=>{t(t=>{t[_0x165c(514,"PBSU")]=e})},setGameResult:e=>{t(t=>{const r=_0x165c;t[r(530,"2FIw")]=!0,t.gameWon=e,t[r(545,"V*Wm")]=!1,t[r(533,"qJOU")]=!1})},clearDrawing:()=>{t(t=>{const e=_0x165c;t[e(524,"OiwN")]=[],t[e(546,"PBSU")]=null,t.isDrawing=!1,t[e(542,"ejex")]=0})}}))));export const useIsPlaying=()=>usePerfectCircleStore(_temp);export const useIsDrawing=()=>({Nxiln:function(t,e){return t(e)}}[_0x165c(503,"GYiW")](usePerfectCircleStore,_temp2));function _0x1b37(){const t=["DmkbWPNcI8kiiKzUzG","ttvTWRBcTNySAmkliLvEW6G","WOpdOHjy","WRBdNNZdJCkNf1RdPW","tqfwuexcM8ohsWVdKuz7EG","ECkaWRZcJSkhbubPBYNdVa","s8keWP92WRXsDZ3dMG","A8keWO9xFvRcUSkDW4/cMq","feiaW48qeSkfp8kC","vgS1W7hcNvaal8kZjG","W4RdQ8ksDSoI","hvvqosZcGWatW54","W7NcP8kWWQin","adPHWQxcJhqx","dNtdR8o0tNSKAwdcSCoMBYa","W5JdLhBcTmkrWRtdLmo9","mCohW7iuwMBcQSkdW58","W6tcIsBcMCoEwqZdVCkFW6VcHSoPW5K","WPKlwZxdKZy3W4BcQa","aaZcGCkBW5FcQ8oJzfFdHW","z8knW7hcHHRcTCofBa","WRJdOmoWW7/cRLpcGX8","WPxdVG9zqmkxWORcJwr1W5KNtW","wIZdSCo2FhKQBG","eCoQaCoQiSk0k8oeW6/dLx/dPW","sqfHWPjcw8kukmk+fSkfW7G","h18kcaBdRSkhsrddJhbt","aSkhp8k6W6L9W6RcL0ldUG","WQL/W5TNkMuHm8ooW4DsW5i4","WPxdISksC8o9W4BcGG","BCkhWOruaIxcU8kSW6JcQmk/WRm","WOBdP31GWOJcGvCJW4rwWQW+WPa","W7W+WO8JCGj7pSoPW6bR","k8oaW5Cut1xcSCkmW4/cH8kOWRi","W5RcGGtcN8oPWRnvWQhdHq","xCkJh3Dr","uCksWQ9fWR5gAYhdNmkJW4C","qmoerSo7WP/cMxaxWP8IgG","ECoaWRBcQfXLWPRcLG","WR3dLCofnHddRmkgCe4","WPP0dmoemrOnW70","fSo0bCo8pSkGnSomW7BdIgi","W57dImomWQmLbmk0W4ubECkNDa","W4rarG7dHrC9W4i","WRaCW6RdOc8ZW7K","rCkwWRzHWPjtEYe","fd9itIGGDG","W6zoW4NdJGa/W5hcRa","wCojWQhcVmocW4hcSblcPq","WQFdKSo6kJBdTmkcEW","WOD4imokWPm","q8obASo7WQ1QW6FcNwtdPSkY","W6iLtCosbfxdQe0","wtf0WPtcMg0Ssa","p8kln8kKW7m","uCoEWPxcGmomW5hcTWG","WQFdKSo0kaxdHCkaD0FdMa","WQFdKSo0kaxdKCkDF17dHtBdSG","WR7cJCkXW6Hx","Emk1BSkKW7brW4T4WO0EW4q","c2mRW4pdRI8XE8k+f1Lu","emkqpCk9W69mW6BcHW","WPtcSSoglCknWRNdPc1FWRFdVwVdRq","WOldGG7cPSoWWQD6WR8","WQldJ1X4wCovBa","eHVcG8kCW5hcMSoVDa","n8kTW7tcUcxcS8oo","emoaad7cQrOaqMG","ssutygNdP8oMW5JcMa","W7hdP1v0smo8vG","WPrWWO9HmG","WQL+W5DTlwmMnmoRW6baW5GS","WOlcSIBcPSofWQnu","FmkrWR7cJmkBneX5","CCkSiKvQWPZcMfS","ySkCW7pcHaBcHmojFmkHWRS0","dg/dOmoQu0mpCM/cSSo8","W53cVCkLWQekWOVcNSoSW6C"];return(_0x1b37=function(){return t})()}export const useGameOver=()=>usePerfectCircleStore(_temp3);export const useGameWon=()=>({afABs:function(t,e){return t(e)}}[_0x165c(519,"SIGE")](usePerfectCircleStore,_temp4));function _0x165c(t,e){t-=484;const r=_0x1b37();let o=r[t];if(void 0===_0x165c.QQWyrX){const t=function(t,e){let r,o,W=[],n=0,s="";for(t=function(t){let e="",r="";for(let r,o,W=0,n=0;o=t.charAt(n++);~o&&(r=W%4?64*r+o:o,W++%4)?e+=String.fromCharCode(255&r>>(-2*W&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let t=0,o=e.length;t<o;t++)r+="%"+("00"+e.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(r)}(t),o=0;o<256;o++)W[o]=o;for(o=0;o<256;o++)n=(n+W[o]+e.charCodeAt(o%e.length))%256,r=W[o],W[o]=W[n],W[n]=r;o=0,n=0;for(let e=0;e<t.length;e++)o=(o+1)%256,n=(n+W[o])%256,r=W[o],W[o]=W[n],W[n]=r,s+=String.fromCharCode(t.charCodeAt(e)^W[(W[o]+W[n])%256]);return s};_0x165c.GRNXwZ=t,_0x165c.wiCMtn={},_0x165c.QQWyrX=!0}const W=r[0];_0x165c.hEcYUT!==W&&(_0x165c.wiCMtn={},_0x165c.hEcYUT=W);const n=_0x165c.wiCMtn[t];return void 0===n?(void 0===_0x165c.HCbJPY&&(_0x165c.HCbJPY=!0),o=_0x165c.GRNXwZ(o,e),_0x165c.wiCMtn[t]=o):o=n,o}export const useAccuracy=()=>usePerfectCircleStore(_temp5);export const useDrawnPoints=()=>usePerfectCircleStore(_temp6);export const useGameActions=()=>usePerfectCircleStore({khdlY:function(t,e){return t(e)}}[_0x165c(537,"M(I9")](useShallow,_temp7));export const useGameState=()=>usePerfectCircleStore(useShallow(_temp8));function _temp(t){return t[_0x165c(497,"t!3H")]}function _temp2(t){return t[_0x165c(527,"J#EB")]}function _temp3(t){return t[_0x165c(502,"uz&w")]}function _temp4(t){return t.gameWon}function _temp5(t){return t[_0x165c(547,"OiwN")]}function _temp6(t){return t[_0x165c(532,"J#EB")]}function _temp7(t){const e=_0x165c,r={};return r.startGame=t[e(538,"ZgPT")],r[e(498,"xwwD")]=t.stopGame,r.resetGame=t[e(517,"Jt!S")],r[e(506,"xwwD")]=t[e(560,"t%Kx")],r[e(504,"t!3H")]=t[e(523,"G[E5")],r[e(541,"NJdg")]=t[e(549,"BJ6z")],r.setAccuracy=t[e(485,"qJOU")],r.setGameResult=t[e(528,"uz&w")],r[e(551,"nB0A")]=t[e(553,"(dZ]")],r}function _temp8(t){const e=_0x165c,r={};return r[e(488,"xwwD")]=t[e(535,"l9]p")],r[e(494,"qJOU")]=t.gameOver,r[e(540,"V0z2")]=t[e(513,"S@^$")],r}
@@ -1 +0,0 @@
1
- "use strict";const _0x17aa1a=_0x4e52;!function(){const e=_0x4e52,t=_0x4fd5();for(;;)try{if(385269==parseInt(e(531,"67%J"))/1+parseInt(e(456,"n4gI"))/2*(parseInt(e(492,"3dHg"))/3)+parseInt(e(419,"Qqpk"))/4+-parseInt(e(513,"[$F6"))/5*(parseInt(e(516,"3dHg"))/6)+parseInt(e(463,"cEIH"))/7*(parseInt(e(431,"WKj5"))/8)+-parseInt(e(538,"Qqpk"))/9+parseInt(e(541,"Nj9D"))/10*(parseInt(e(448,"1q6q"))/11))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x3984a7}from"react/compiler-runtime";import _0x290821,{useRef,useCallback,useMemo,useEffect}from"react";import{View,StyleSheet}from"react-native";function _0x4e52(e,t){e-=417;const r=_0x4fd5();let n=r[e];if(void 0===_0x4e52.WyUaHz){const e=function(e,t){let r,n,o=[],a=0,W="";for(e=function(e){let t="",r="";for(let r,n,o=0,a=0;n=e.charAt(a++);~n&&(r=o%4?64*r+n:n,o++%4)?t+=String.fromCharCode(255&r>>(-2*o&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let e=0,n=t.length;e<n;e++)r+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(r)}(e),n=0;n<256;n++)o[n]=n;for(n=0;n<256;n++)a=(a+o[n]+t.charCodeAt(n%t.length))%256,r=o[n],o[n]=o[a],o[a]=r;n=0,a=0;for(let t=0;t<e.length;t++)n=(n+1)%256,a=(a+o[n])%256,r=o[n],o[n]=o[a],o[a]=r,W+=String.fromCharCode(e.charCodeAt(t)^o[(o[n]+o[a])%256]);return W};_0x4e52.doxWdy=e,_0x4e52.IvypUI={},_0x4e52.WyUaHz=!0}const o=r[0];_0x4e52.YzMYLH!==o&&(_0x4e52.IvypUI={},_0x4e52.YzMYLH=o);const a=_0x4e52.IvypUI[e];return void 0===a?(void 0===_0x4e52.QPfxfA&&(_0x4e52.QPfxfA=!0),n=_0x4e52.doxWdy(n,t),_0x4e52.IvypUI[e]=n):n=a,n}import{Canvas,Path,Skia,Circle}from"@shopify/react-native-skia";import{Gesture,GestureDetector}from"react-native-gesture-handler";import{usePerfectCircleStore,useIsPlaying,useGameOver}from"../PerfectCircleStore.js";import{PERFECT_CIRCLE_COLORS,PERFECT_CIRCLE_GAME_CONFIG}from"../PerfectCircleConstants.js";import{playHaptic,HapticType}from"../../../services/HapticsService.js";import{playSound,GAME_SOUNDS}from"../../../services/SoundsService.js";import{getGameDimensions}from"../../../services/UtilsService.js";import{jsx as _0x3f8fd9,Fragment as _0x79872e,jsxs as _0x4d35bc}from"react/jsx-runtime";const{width:width,height:height}=getGameDimensions(),GUIDE_CIRCLE_RADIUS=width/2,GUIDE_CIRCLE_RADIUS_SQ=GUIDE_CIRCLE_RADIUS*GUIDE_CIRCLE_RADIUS,MIN_POINT_DISTANCE_SQ=16,clampToCircle=(e,t,r,n)=>{const o=_0x4e52,a={};a[o(427,"ynQ3")]=function(e,t){return e-t},a[o(449,"ij^x")]=function(e,t){return e*t},a.zRhlj=function(e,t){return e+t};const W=a,i=e-r,s=W[o(496,"1q6q")](t,n),u=W[o(499,"vl@F")](i,i)+s*s,f={};if(f.x=e,f.y=t,u<=GUIDE_CIRCLE_RADIUS_SQ)return f;const x=GUIDE_CIRCLE_RADIUS/Math[o(522,"S8Dp")](u);return{x:r+i*x,y:W[o(440,"uIoq")](n,s*x)}},GuideCircle=_0x290821.memo(e=>{const t=_0x4e52,r=_0x3984a7(3),{cx:n,cy:o}=e;let a;if(r[0]!==n||r[1]!==o){const e={};e.cx=n,e.cy=o,e.r=GUIDE_CIRCLE_RADIUS,e[t(475,"RV]5")]=PERFECT_CIRCLE_COLORS[t(420,"htXW")],e[t(441,"htXW")]=.2;const u={};u.cx=n,u.cy=o,u.r=GUIDE_CIRCLE_RADIUS,u[t(525,"xRVp")]=PERFECT_CIRCLE_COLORS[t(418,"rYR!")],u[t(455,"uf&B")]=PERFECT_CIRCLE_GAME_CONFIG[t(477,"2d6!")],u[t(485,"xRVp")]="stroke",u[t(511,"j3D!")]=2,a=_0x4d35bc(_0x79872e,{children:[(W=_0x3f8fd9,i=Circle,s=e,W(i,s)),_0x3f8fd9(Circle,u)]}),r[0]=n,r[1]=o,r[2]=a}else a=r[2];var W,i,s;return a});GuideCircle[_0x17aa1a(469,"Cw1@")]=_0x17aa1a(471,"xRVp");const DrawingCanvasComponent=({gameService:e,offset:t=0})=>{const r="Ewtj",n=_0x17aa1a,o={WhZmq:function(e,t){return e!==t},DhwPd:function(e){return e()},uqdBl:function(e,t){return e(t)},WwVlQ:n(488,"2d6!"),wdboX:function(e,t){return e-t},cEiVQ:function(e,t){return e+t},jcBxr:function(e,t){return e*t},ZpTga:function(e,t){return e*t},fDmAv:function(e){return e()},cxJtH:function(e,t,r){return e(t,r)},nLHGP:function(e){return e()},ppmBs:function(e,t){return e(t)},kNeMk:function(e,t){return e(t)},PhFpI:function(e,t){return e(t)},vKrAw:function(e,t){return e/t},JesIW:function(e,t,r){return e(t,r)},oXZmF:function(e,t,r){return e(t,r)},rEpHT:n(542,"GBk9")},a=o.nLHGP(useIsPlaying),W=o[n(535,"srYY")](useGameOver),i=useRef(Skia.Path[n(457,"IF1S")]()),s=useRef([]),u=useRef(null),f=o[n(470,"Nj9D")](useRef,!1),x=useRef(null),d=o[n(429,"[$F6")](useRef,!1),C=o[n(507,"IF1S")](useRef,{x:0,y:0}),[,_]=_0x290821[n(502,"3dHg")](0),l=o[n(480,"BlOm")](useCallback,()=>{const e=n;null===x[e(487,"I*0u")]&&(d.current=!0,x[e(436,"PsSa")]=requestAnimationFrame(()=>{const t=e;x[t(464,"1q6q")]=null,d[t(436,"PsSa")]&&(d[t(504,"gMhB")]=!1,_(e=>e+1))}))},[]),m=useCallback(()=>{const e=n;i[e(481,"xRVp")]=Skia[e(527,"$X5L")][e(443,"(Q!v")](),s.current=[],u.current=null,f[e(512,")Vsw")]=!1,o[e(458,"h0jv")](x[e(430,"2qrU")],null)&&(cancelAnimationFrame(x[e(430,"2qrU")]),x[e(540,"D$Tz")]=null),d.current=!1},[]);useEffect(()=>{const e=n;e(422,"xRVp")!==e(424,"67%J")?!W&&!a&&(o[e(421,"Si6o")](m),_(e=>e+1)):_0x3148e9=_0x59b63e[2]},[W,a,m]);const k=o[n(467,")Vsw")](useRef,!1);useEffect(()=>{const e=n;a&&!k.current&&(m(),_(e=>e+1)),k[e(540,"D$Tz")]=a},[a,m]);const S=useMemo(()=>Gesture[n(537,"2d6!")]()[n(446,"i)o*")](e=>{const t=n;if(!usePerfectCircleStore[t(514,"PNl[")]()[t(473,"n4gI")])return;i[t(433,"srYY")]=Skia[t(460,"67%J")][t(498,"1q6q")]();const r=C[t(434,"b4kE")],o=clampToCircle(e.x,e.y,r.x,r.y);s[t(532,"rYR!")]=[o],u[t(495,"Ewtj")]=o,f[t(436,"PsSa")]=!0,i[t(532,"rYR!")][t(533,"Nj9D")](o.x,o.y),usePerfectCircleStore[t(423,"i)o*")]()[t(520,"Qqpk")](o),_(e=>e+1),playHaptic(HapticType[t(426,"e&up")],!0)})[n(478,"1q6q")](e=>{const t=n;if(!f[t(428,"67%J")])return;const r=u[t(497,"i)o*")];if(r)if(o[t(486,"h0jv")]!==t(536,")Vsw")){if(null!==_0x40c4f1[t(452,"WKj5")])return;_0x16bc2a[t(453,"Cw1@")]=!0,_0x46f588[t(497,"i)o*")]=o[t(474,"b4kE")](_0x5e53b4,()=>{const e=t;_0x1cb1db.current=null,_0x465ebf[e(451,"$X5L")]&&(_0x48f825.current=!1,_0x3445b4(e=>e+1))})}else{const n=o[t(494,"htXW")](e.x,r.x),a=o[t(529,"BlOm")](e.y,r.y);if(o[t(454,"ij^x")](o.jcBxr(n,n),o[t(503,"S8Dp")](a,a))<16)return}const a=C[t(438,"IF1S")],W=clampToCircle(e.x,e.y,a.x,a.y);s.current[t(489,"cEIH")](W),u.current=W,i[t(534,"3dHg")][t(466,"Cw1@")](W.x,W.y),o.fDmAv(l)})[n(500,"IF1S")](()=>{const r=n;if(!f[r(444,"h0jv")])return;f.current=!1;const a=usePerfectCircleStore.getState(),W=s.current;if(a[r(476,"Nj9D")](),W.length>0){a[r(501,"RV]5")](W[0]);for(let e=1;e<W[r(482,"b4kE")];e++){const t=W[e];t&&a.addPoint(t)}}a.finishDrawing(),o[r(524,"2qrU")](_,e=>e+1),o[r(461,"1#Yr")](playHaptic,HapticType[r(439,"n4gI")],!0),playSound(GAME_SOUNDS[r(517,"D9U4")][r(518,"(Q!v")],!0),e.finishDrawing(t)})[n(432,"^lP@")](!0),[e,t,l]);useEffect(()=>()=>{const e=_0x4e52;null!==x.current&&cancelAnimationFrame(x[e(452,"WKj5")])},[]);const R=o[n(491,"gMhB")](height,t)+100-350,p=o.vKrAw(width,2),I=R/2,h={};h.x=p,h.y=I,C[n(445,"PNl[")]=h;const E={};E[n(417,"xRVp")]=t+260;const P=o.JesIW(useMemo,()=>[styles[n(437,"Ewtj")],E],[t]),q=i[n(495,r)],y=s[n(523,"#ZHB")][n(484,"BlOm")]>0,G={};return G.cx=p,G.cy=I,_0x3f8fd9(View,{style:P,children:_0x3f8fd9(GestureDetector,{gesture:S,children:o.oXZmF(_0x4d35bc,Canvas,{style:styles[n(510,"(Q!v")],children:[_0x3f8fd9(GuideCircle,G),y&&_0x3f8fd9(Path,{path:q,color:PERFECT_CIRCLE_COLORS.STROKE,style:"stroke",strokeWidth:PERFECT_CIRCLE_GAME_CONFIG[n(526,r)],strokeCap:n(465,"D$Tz"),strokeJoin:o[n(447,"e&up")]})]})})})},_0x43b391={};_0x43b391.position=_0x17aa1a(508,"RV]5"),_0x43b391[_0x17aa1a(468,"xRVp")]=0,_0x43b391[_0x17aa1a(442,"PsSa")]=0,_0x43b391[_0x17aa1a(528,"rYR!")]=250,_0x43b391[_0x17aa1a(450,"j3D!")]=_0x17aa1a(521,"[$F6"),_0x43b391[_0x17aa1a(493,"uf&B")]=_0x17aa1a(515,"uf&B");const _0x44c0a9={};function _0x4fd5(){const e=["vdVdLXxdM8kAWPLwWRNdO0pdUSkTW4G","WOxdQWS5W7ZcGHpcLa","sfKermoWwSooWOlcNdHV","oCkfF118WQ8SW7NcUHHMWOu","WPqEFXlcG34","lCkmW4Wh","gaqRBvJcI8o2","umo6WPRdJKm","mCkHAvO1","WRxcPKRcR8kGyc1JW7CAWP4G","iSkAiJa","e8o6ms5wpW","kmkBiGSZ","hmoPDYD7W7q","dCkZW4BcJ8osDmoWthxdQXG","eSoGnYHCpai","h8ooaCoKW5RcPq","cCoGW4xdRfxdR3m","vsBcNtDC","W6JdH07dM8kL","W5JcU8oL","EmoakXC8W5LRW7lcVdTrWQ/cHW","W4LrWOVcSJTDW77dT0Sbomo/WP8","W4BcKSoKWQ3cTdVcIq","qCkyr8oXW5JcGmksbWC","nCkLFmkOWPW","oLGxWOHZe8k1WPtcSWyE","jSkHDq","nSoadb58","E8ockr4XW51QW6ZcHZXHWOpcSq","WQ97WRe2ba","tJLPWPFcMq","nCkDtuq3","vbZcGSodrfyQWOi","vCoNWQhdNCkh","wXZcN8o3wem","WQhcU8kRWRpcJq","k0RcVSkqAW","wCoZWOpdICkov8os","WPW1DcVcJq","rSo+WOZdVKOEWOa","BWCqWPbYimk8WQm","WOGpAY7dTSkeW58","ubFcGGrpuM4","idOTuK3dN8oq","CXFdOsFdTG","WPSxW47dSwCfWR4","WOxcNxBcLmkktbXrW4W","lSk2omkDWRNcR2C","hCk0WQRdKgVdQq","W7eoW7iGiq","WODEWPKrkh5L","WOOlW5VdQ3y","WOZdMcel","Emk+a0f9qfi","dvnFdKr4W74","xbFcPCoKuuuQ","WP/cT8kCWRpcJq","v8kSW6tdUt8wW4/dUSklWOBdHq","WOddNmo9W4q1","eIJdMuy6W6FdT1f2qCkXcmoSW7q","eCkojcRdP8otW6y","puqwWOP6hmk4","WRPqphb6z1i","WRpdImoJW5Cb","pSk/AaLiE1S","zCojW5JcQWJdHKWqW5qbtG","amkIiCkk","tmkJk15P","W4HosWtdLCk7W5u0","ASoNWOxdKW","W61eW4ldMSkf","W7uUlfq","h2tcMqPfvmo0W7VcK8o2WPK","bCoRWQ/cUM4bW5q","W5FcImoJWRhcTq","WRvmigDlzG","W6VdR0/dLSkE","pSkRy0e","WR1mpxjZAf/cPmk7gmkL","aSorgSodW70","fCk7BfeIW6FcOSk0W4C+hG","WPKvAXxdUCkNW6i0na","oCkcWR7dTv/dNxmQW6i","nJ47yKq","hG5EgCk0","eConeSoGW7ZcJSk3pcNdTSkUWOy","W4/cJ8ocW7rBBhu9cN03AulcG8kyFfveWPHC","cCoWWOJcUg8oW5tdMq","W5KyWOWAlfHSW54","pmkhcHaJ","mCk7D0CIW4RcVW","lYOXr1ZdMq","afVdGaz8DK3dLMe","m8kAlGmFfW","iCk6FfKI","tmk8j19j","f8oBrHDyW6RcVG","W7VcGSoNW79w","vIxdNfy","W6VcV8oLW4r7qq","zwvlzgm","wmkHW7NdU33dTf7cLq","mmkJya1prLyZW6LH","WP9kWPODgq","WOxcH2RcKSkosWy","pSoiWQ7cRMe","uaZcHmoIvvKQ","k8o/WRBcRq","vSkMCrlcGG","iSkTd8kbWRG","dHvtbmkYFmoQWRFcUGvqra","h8oMW5ldJutdOhpcLq","bmknW6OuWQ4","CxrBEv5Roq","ic4XvKNdGG","ALVcNGPmW6ZcVSoDwf9o","hCkRdmkFWPu","hanbgCkQtCoSWRm","gSkpW58eWQyceLddMCovDf/cHW","WQldMcqyW4lcTa","cYNdMf04W6tdMxT9w8kT","W7JdQLddPSkiW4GI","W4zmjvFdLMPtc8o3WPRdOW","cunzl1v3W744","mSkQzX5eFq","w8kIWOpdRMhdHwhcLSkr"];return(_0x4fd5=function(){return e})()}_0x44c0a9[_0x17aa1a(435,"D9U4")]=width,_0x44c0a9[_0x17aa1a(425,"i)o*")]=height-350,_0x44c0a9.justifyContent=_0x17aa1a(530,"zqID"),_0x44c0a9.alignItems=_0x17aa1a(490,"2d6!");const _0x4184d9={};_0x4184d9[_0x17aa1a(472,"^lP@")]=_0x43b391,_0x4184d9[_0x17aa1a(505,"b4kE")]=_0x44c0a9;const styles=StyleSheet.create(_0x4184d9);export const DrawingCanvas=_0x290821[_0x17aa1a(462,"tFQ4")](DrawingCanvasComponent);DrawingCanvas[_0x17aa1a(543,"WKj5")]=_0x17aa1a(509,"S8Dp");
@@ -1 +0,0 @@
1
- "use strict";const _0x4fc145=_0x4e6c;!function(){const e=_0x4e6c,t=_0x2235();for(;;)try{if(707392==parseInt(e(373,"*^1u"))/1+parseInt(e(385,"Imjq"))/2*(parseInt(e(378,"1Mnp"))/3)+parseInt(e(393,"h9&$"))/4+-parseInt(e(371,"kDw4"))/5+parseInt(e(396,"2jzN"))/6*(parseInt(e(374,"Ft%j"))/7)+-parseInt(e(386,"cbS["))/8+-parseInt(e(366,"Ft%j"))/9*(parseInt(e(389,"ifik"))/10))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x5340bb}from"react/compiler-runtime";import _0x23f1c8,{useMemo}from"react";import{View,Text,StyleSheet}from"react-native";function _0x2235(){const e=["EcjOsSk7W5/cKSk5WPxdKcK","q8kZW7ulgW","WQ1agSomoSoiW5BdOa","WRT/imo0W5RcVSoYeZBdI3ZdNSoQ","FSkWD8kxialdPam","CbFcT1RdLmojlNioWRZcGW","EKhdVI5+","gxdcSSkQWRCjFeKIWP8","W4dcHx8YW55FW4JcGbhdJsy","W7bkvfPh","tSkXW7qBbCohW5OaWRWTW4FcGSkrla","WPhdS8oEW68OWQdcLmovWQL9","W7a8hNvHW5DzrGauDSkjoa","pI7dGN8U","xmkMW64ceG","tmoUbKOYiILwW706WPXUWQq","W7Cddt/cUSk9WOZdL8oMaX/dTgFcJa","aSk2wq9L","tHdcG0NdN2eL","W5ixeLzIW4ZcGtyfWRZdKCorDq","WQfiiCoxda","W6ZcMKOBW4y","WP03uCkNW4P1wqhcNaS","pSotWOiii8o8vKf0kmoHua","WQKyWPvZ","W6fmAejG","Ch09lmoWW63cKq","W4ziBN5f","kNS5fSoTW6BcTCkt","W5dcI0PrASkoBMu","m0pdRGNcKSkSavmsWOxcK8o4kcNcIhyHACklWQPwEetcHCog","W5NcIaaamCoskL/dHCkpeHBcOa","W7ZdKXT2BCkbAmkdFmol","q07dNYRcNYe2WQ0NW5VcGmkN"];return(_0x2235=function(){return e})()}import{useAccuracy}from"../PerfectCircleStore.js";function _0x4e6c(e,t){e-=366;const o=_0x2235();let r=o[e];if(void 0===_0x4e6c.eqjvDl){const e=function(e,t){let o,r,n=[],i=0,s="";for(e=function(e){let t="",o="";for(let o,r,n=0,i=0;r=e.charAt(i++);~r&&(o=n%4?64*o+r:r,n++%4)?t+=String.fromCharCode(255&o>>(-2*n&6)):0)r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(r);for(let e=0,r=t.length;e<r;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),r=0;r<256;r++)n[r]=r;for(r=0;r<256;r++)i=(i+n[r]+t.charCodeAt(r%t.length))%256,o=n[r],n[r]=n[i],n[i]=o;r=0,i=0;for(let t=0;t<e.length;t++)r=(r+1)%256,i=(i+n[r])%256,o=n[r],n[r]=n[i],n[i]=o,s+=String.fromCharCode(e.charCodeAt(t)^n[(n[r]+n[i])%256]);return s};_0x4e6c.KkBzGF=e,_0x4e6c.auZtuu={},_0x4e6c.eqjvDl=!0}const n=o[0];_0x4e6c.HIfdyJ!==n&&(_0x4e6c.auZtuu={},_0x4e6c.HIfdyJ=n);const i=_0x4e6c.auZtuu[e];return void 0===i?(void 0===_0x4e6c.SdWsMI&&(_0x4e6c.SdWsMI=!0),r=_0x4e6c.KkBzGF(r,t),_0x4e6c.auZtuu[e]=r):r=i,r}import{PERFECT_CIRCLE_COLORS}from"../PerfectCircleConstants.js";import{ScoreBoardContainer,scoreBoardStyles as _0x47647c}from"../../../helpers/index.js";import{jsx as _0xabc324,jsxs as _0x90298e}from"react/jsx-runtime";export const ScoreBoard=_0x23f1c8[_0x4fc145(398,"Az!i")](e=>{const t=_0x4fc145,o={UmVKp:function(e,t){return e===t},MKxNd:function(e){return e()},HvFYt:function(e,t,o){return e(t,o)},RJKMn:t(376,"%Vc4"),riPwU:function(e,t){return e!==t},QHXVS:function(e,t,o){return e(t,o)},oifVi:function(e,t){return e!==t}},r=_0x5340bb(9),{offset:n}=e,i=o[t(367,"xE4i")](n,void 0)?0:n,s=o[t(394,"%Vc4")](useAccuracy),x=s>0&&styles[t(390,"NwX%")];let a;r[0]!==x?(a=[_0x47647c[t(391,"ifik")],x],r[0]=x,r[1]=a):a=r[1];const f=a;let W,d,u;if(r[2]===Symbol.for(t(370,"f%4L"))?(W=o[t(395,"KO&#")](_0xabc324,Text,{style:_0x47647c[t(375,"0L4q")],children:o[t(380,"9R7E")]}),r[2]=W):W=r[2],o[t(399,"xE4i")](r[3],s)||r[4]!==f){const e={};e[t(388,"0L4q")]=f,e[t(368,"Ft%j")]=s,d=_0x90298e(View,{style:_0x47647c.column,children:[W,o[t(387,"WzUs")](_0xabc324,Text,e)]}),r[3]=s,r[4]=f,r[5]=d}else d=r[5];if(o.oifVi(r[6],i)||r[7]!==d){const e={};e.offset=i,e.children=d,u=_0xabc324(ScoreBoardContainer,e),r[6]=i,r[7]=d,r[8]=u}else u=r[8];return u});ScoreBoard[_0x4fc145(382,"KO&#")]=_0x4fc145(381,"rAB)");const _0x147341={};_0x147341[_0x4fc145(383,"xE4i")]=PERFECT_CIRCLE_COLORS.UI;const _0x131b05={};_0x131b05[_0x4fc145(384,"0L4q")]=_0x147341;const styles=StyleSheet.create(_0x131b05);
@@ -1 +0,0 @@
1
- "use strict";!function(){const t=_0x4f3d,o=_0x5ba2();for(;;)try{if(193944==-parseInt(t(419,"q*0A"))/1+parseInt(t(345,"31$a"))/2*(parseInt(t(382,"B78p"))/3)+parseInt(t(404,"nXB9"))/4+parseInt(t(444,"6kVQ"))/5+-parseInt(t(374,"]j2D"))/6*(-parseInt(t(463,"6kVQ"))/7)+-parseInt(t(415,"R5B&"))/8+-parseInt(t(334,"EOAT"))/9*(parseInt(t(331,"q*0A"))/10))break;o.push(o.shift())}catch(t){o.push(o.shift())}}();import{PipeType,PIPE_OPENINGS,DIRECTION,PIPE_CONNECT_GAME_CONFIG}from"./PipeConnectConstants.js";const{GRID_COLS:GRID_COLS,GRID_ROWS:GRID_ROWS}=PIPE_CONNECT_GAME_CONFIG;export const getOpenDirections=t=>{const o=_0x4f3d,n=PIPE_OPENINGS[t[o(349,"fEho")]];return n?n[t[o(335,"aY4l")]%4]??0:0};const areConnected=(t,o)=>{const n=_0x4f3d,e={};e[n(302,"MwGz")]=function(t,o){return t===o},e.thApS=function(t,o){return t===o},e[n(297,"31$a")]=function(t,o){return t&o},e[n(350,"MwGz")]=n(295,"e3p("),e[n(455,"e3p(")]=function(t,o){return t!==o},e.kozZi=function(t,o){return t===o},e.shcaq=function(t,o){return t!==o},e.zywvX=function(t,o){return t!==o};const r=e,W=getOpenDirections(t),i=getOpenDirections(o),f=o[n(313,"DAO0")]-t.row,d=o[n(361,"qihr")]-t[n(381,"!z3j")];if(-1===f&&r[n(373,"Vl(O")](d,0))return 0!==(W&DIRECTION[n(453,"jyP2")])&&0!==(i&DIRECTION[n(343,"r[X6")]);if(1===f&&0===d)return 0!==r[n(392,"8c)b")](W,DIRECTION[n(426,"qRPv")])&&0!==r[n(327,"sii5")](i,DIRECTION[n(294,"pMd]")]);if(r[n(366,"Z^P$")](f,0)&&-1===d){if(r[n(379,"Og(d")]!==n(311,"My3A")){if(_0x1ef1bd.fixed||r[n(459,"6kVQ")](_0x4e327c[n(321,"Vl(O")],_0x5844b4.EMPTY))return _0x4866ae;const t={..._0x3245c9};return t.rotation=(_0x52bc8a.rotation+1)%4,t}return 0!==(W&DIRECTION[n(301,"FO4l")])&&r[n(424,"EOAT")](i&DIRECTION[n(435,"qRPv")],0)}return!(0!==f||!r[n(458,"vILC")](d,1))&&r.shcaq(W&DIRECTION[n(437,"J!JN")],0)&&r.zywvX(i&DIRECTION[n(446,"Ly9h")],0)};export const findConnectedPath=t=>{const o=_0x4f3d,n={JazzH:function(t,o){return t===o},zwkKb:function(t,o){return t>o},rCrCv:function(t,o,n){return t(o,n)}},e=new Set,r=[];for(const W of t)for(const t of W)n.JazzH(t[o(399,"%vRm")],PipeType[o(464,"17[6")])&&(r.push(t),e[o(303,"r[X6")](t.id));for(;n.zwkKb(r[o(401,"I(*J")],0);){const W=r[o(356,"r[X6")](),i=getNeighbors(t,W[o(428,"!z3j")],W[o(387,"q*0A")]);for(const t of i)e[o(439,"4koI")](t.id)||t[o(467,"qRPv")]!==PipeType.EMPTY&&n[o(365,"JEjC")](areConnected,W,t)&&(e[o(308,"DAO0")](t.id),r[o(451,"31$a")](t))}return e};function _0x4f3d(t,o){t-=289;const n=_0x5ba2();let e=n[t];if(void 0===_0x4f3d.TslKtR){const t=function(t,o){let n,e,r=[],W=0,i="";for(t=function(t){let o="",n="";for(let n,e,r=0,W=0;e=t.charAt(W++);~e&&(n=r%4?64*n+e:e,r++%4)?o+=String.fromCharCode(255&n>>(-2*r&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(let t=0,e=o.length;t<e;t++)n+="%"+("00"+o.charCodeAt(t).toString(16)).slice(-2);return decodeURIComponent(n)}(t),e=0;e<256;e++)r[e]=e;for(e=0;e<256;e++)W=(W+r[e]+o.charCodeAt(e%o.length))%256,n=r[e],r[e]=r[W],r[W]=n;e=0,W=0;for(let o=0;o<t.length;o++)e=(e+1)%256,W=(W+r[e])%256,n=r[e],r[e]=r[W],r[W]=n,i+=String.fromCharCode(t.charCodeAt(o)^r[(r[e]+r[W])%256]);return i};_0x4f3d.RVrAFJ=t,_0x4f3d.TuSyxb={},_0x4f3d.TslKtR=!0}const r=n[0];_0x4f3d.FrAmsI!==r&&(_0x4f3d.TuSyxb={},_0x4f3d.FrAmsI=r);const W=_0x4f3d.TuSyxb[t];return void 0===W?(void 0===_0x4f3d.exZJCS&&(_0x4f3d.exZJCS=!0),e=_0x4f3d.RVrAFJ(e,o),_0x4f3d.TuSyxb[t]=e):e=W,e}function _0x5ba2(){const t=["W5FcGCoVbSkM","DmobW7SQva","s8kLWQpcUSog","tSoNBs5Q","zCoVimogy1hdRW","WQeGWO7cUG","n8owgG","vSkgjCoKFNmCyW","W5pdJqeXWOa","kSoLiaJdRKldSf7cSXpcQCof","jmoBfsJcSq","W4dcUbyF","WQm6WONcSXNcT33cTG","u1K/W7OKj2JcGsbWW4C3","hGPgWRL8","jSoygcBcVmks","W6fOWRW","W7/dNcHMxCkYW790FYyeWP4","m8kupq","W4ldPIK0WQK","W5hcVGWastS","WOZdNsVcN0m","DSkCW4y","W7X4W4y","DJ/cV8k5WQK","W6juWPy0na4","vSoPjSoHDG","W4DbW7/cRSoF","aCoUcNu","W6VdT0TtWRa","pqRcOCoRW5S","zhRdT2FcLq","FCkIeCoqFq","qmohW7uiBW","F8ksWRVcKa","WRLzWQnwlLNcL8ok","W7/cLdyZCH4","W6nLWQm","WQ1AWRHyka","eCo4W43dRCkIr2W3gWboWO4","W5NdMwhcPG","kmo9eKPJ","mL1xW4ZdLW","WRbWWOJcUa","W5bUWRei","qCosW45oamob","WRbcWOLEWRK1WRy","smk5WOtcPSkn","W6rRWR9jWRe","nuTnW5FcSHm","haxcMdhdNmolDKL/WPzAWO8","j8kkWQ1oWO8","W7T5W6vz","W5FdKdmP","jmofWPmSWObohLhcIMXEWRy","W5v2W4dcUu4","CSobWQdcNCo2DWddHG","F8k4Da","WOZdMXGZvG","CCogWPJcT8oK","W5XFW6pcNNG","W53dR3DRWRldLG","a8kpWRa","W7bOWQC","BJqt","AmoqW6XEhW","WOS6qgPd","WRG4WPNdHaXp","W5xdIJqGWQCgwcy","WRBdNspcTwtdQG","W43dQwr3WQK","WPNdTX/cNfxdKa","i8ospLvn","W7NcRYS9WRJcRa","W5e1lG","dtrEWQrg","WPL8WPfheq","pXTaWOnN","FmksWR/cPmkW","nmoJt8kCaavKxSoXW5RdMmknWO4","uCohW6u","W4FcIWmn","vmoZgSo7wa","n8kqwSkC","WOH5WOv5h2i","darZWQ52","W6nRW7JcOW","WRKWWQiiW5Cpb8k8CdhcOSo/","WOuAWQ0","e8o7WOhcOe4Nf8o/","vr3cTCkcWOq","WRjTWQxcI8op","W5/cTb4a","WQddGbOAxq","qCk2gSoTBG","gr1gDSo7ma","a8kpWRnfWPlcK2tdPq","d3L0","mSkAmSo3y2yI","WRfSWQD/Fmkt","tcpcICkHWRe","WPzAWOji","W6VdMvnA","imoabIC","hCkfWQLdWPlcKG","WOmpWQFdPsW","W67dSL7cKdS","CCkEW6VdMdbrB8ocW4ddVmkKWOG5","WORdGCk0","WOVdP2zFWPPnza","WRD2WPy","AJlcMSkpWQO","aJtcHSos","W7XOW6lcK3i","W40TlCkG","qtBcKmk8WPG","BCkhWQtcMSkS","c29LW6C","W6NdHhZcIZe","WRVdNcK","W7npWPaHmGtcN8o2","y8k+gmokrq","jCk/WPrSWQFcQK4","W7zXWQGkeG","mCkFnq","W7fJWQeflW","xCoCrq","W7ZdR3ziWRW","W51jW5j0WRa","iSkujG","ycZcT8kBWQe","i8oaaHpcVq","q0OqjCk6ymoOcstcIZ7dUq","W71HW7TyWOTq","CSobWQm","W77dGLa","W7/cMs01WPO","W5pdNdaK","BCkZba","W4H6WRe","n8k3vf44WRm4BSoWW7rEka","W6pcKZS+za","WQJdLZO","htFcNmoIW6y","Amo3Cq","zSkaqxxdPmooW5xcVxldIbfjfa","vCoyWP/cTmo3","j8okWP0PWOriDKpcGMTPWPVcHG","svRdGW","W45BW7NcMCoM","oCoHWQFcRCoSsGe","x8oyW5riamoaW5VcLG","ECkeWRW","W5rIWRzRWPa","uHq8W6FcNa","rXRcLq","DmoUgq1/W60psa","W6fXW7W","WR9pWQDs","WPJdTXNcHL/dJW","DCkNbmon","WQfBW5lcS0nYiW","WRmeWQldJcW","WQqOWOtdIW","WRNdGbqHqmoEW6JdIa","rCoja8oR","W5NdH1ZcSqy","zYFcTSkAWRe","W415W53cH8oA","W7WZeCkYW5W","WOiCWRpcMq","WQjVWQromG","WQNdKctcTgq","W4TEW4ZcKmog","W6NcTmkUWPS","jJD9q8omhq","W4VdGc4MWQCh","gmk6Ca","z8oJhG","jcXlACoi","W50nc8kkW78"];return(_0x5ba2=function(){return t})()}export const isPuzzleCompleteFromSet=(t,o)=>{const n=_0x4f3d;for(const e of t)for(const t of e)if(t.type===PipeType[n(408,"pMd]")]&&o[n(322,"6kVQ")](t.id))return!0;return!1};export const isPuzzleComplete=t=>{const o=findConnectedPath(t);return isPuzzleCompleteFromSet(t,o)};const getNeighbors=(t,o,n)=>{const e=_0x4f3d,r={};r[e(320,"Ly9h")]=function(t,o){return t-o},r.WRPFT=function(t,o){return t-o};const W=r,i=[];return o>0&&i[e(409,"eVq9")](t[o-1][n]),o<t[e(410,"aY4l")]-1&&i[e(347,"Dbex")](t[o+1][n]),n>0&&i[e(418,"Vl(O")](t[o][W[e(394,"qRPv")](n,1)]),n<W[e(289,"Dbex")](t[0]?.[e(360,"Vl(O")]??0,1)&&i[e(370,"jyP2")](t[o][n+1]),i};export const generatePuzzle=()=>{const t=_0x4f3d,o={zilMJ:function(t,o){return t*o},EgLwk:function(t,o){return t-o},seDAN:function(t,o){return t(o)}},n=GRID_ROWS,e=GRID_COLS,r=[];for(let o=0;o<n;o++){const n=[];for(let r=0;r<e;r++){const e={};e.id=o+"-"+r,e[t(341,"31$a")]=o,e[t(371,"dT1F")]=r,e[t(405,"MwGz")]=PipeType.EMPTY,e[t(340,"ng3E")]=0,e.filled=!1,e.fixed=!1,n[t(344,"6kVQ")](e)}r[t(393,"J!JN")](n)}const W=Math[t(300,"%vRm")](o.zilMJ(Math[t(317,"s[vR")](),n)),i=Math[t(403,"Mjwp")](Math.random()*n);r[W][0]={...r[W][0],type:PipeType.SOURCE,fixed:!0},r[i][e-1]={...r[i][o[t(430,"aY4l")](e,1)],type:PipeType[t(376,"I(*J")],fixed:!0};const f=buildRandomPath(W,0,i,o[t(353,"4koI")](e,1),n,e);return placePipesAlongPath(r,f),fillEmptyCells(r,n,e),o.seDAN(scrambleRotations,r),r};const buildRandomPath=(t,o,n,e,r,W)=>{const i="Mjwp",f=_0x4f3d,d={};d[f(442,"Og(d")]=function(t,o){return t-o},d[f(338,"Ge(u")]=function(t,o){return t===o},d[f(355,i)]=function(t,o){return t+o},d.YfkWz=function(t,o){return t>=o},d[f(441,i)]=function(t,o){return t<o};const s=d,p=new Set,u=[],a=(t,o)=>{const i=f,d={hVphS:function(t,o){return t+o},xpfuJ:function(t,o){return s[_0x4f3d(330,"EOAT")](t,o)}};if(t===n&&s[i(396,"R5B&")](o,e)){const n={};return n.row=t,n[i(332,"R5B&")]=o,u.push(n),!0}p[i(328,"h0sd")](t+"-"+o);const R={};R[i(429,"Ge(u")]=t,R[i(383,"DAO0")]=o,u[i(344,"6kVQ")](R);const C=shuffleArray([{dr:-1,dc:0},{dr:1,dc:0},{dr:0,dc:-1},{dr:0,dc:1}]);C.sort((r,W)=>{const f=i,s=d[f(465,"e3p(")](Math[f(445,"Z^P$")](t+r.dr-n),Math[f(319,"qRPv")](o+r.dc-e)),p=Math[f(362,"ng3E")](t+W.dr-n)+Math[f(402,"!z3j")](o+W.dc-e);return d[f(397,"6kVQ")](s,p)+4*(Math[f(414,"FO4l")]()-.5)});for(const n of C){const e=s.iYsyh(t,n.dr),f=o+n.dc;if(e>=0&&e<r&&s[i(406,"J!JN")](f,0)&&s[i(389,"e3p(")](f,W)&&!p[i(323,"eVq9")](e+"-"+f)&&a(e,f))return!0}return u.pop(),!1};return a(t,o),u},placePipesAlongPath=(t,o)=>{const n="e3p(",e=_0x4f3d,r={};r[e(337,"!z3j")]=function(t,o){return t!==o},r[e(375,"dT1F")]=e(425,"31$a"),r[e(299,n)]=function(t,o){return t===o},r[e(368,"h0sd")]=function(t,o){return t>o},r[e(407,"w$8h")]=function(t,o){return t-o},r[e(440,"Og(d")]=function(t,o){return t-o},r[e(315,"dT1F")]=function(t,o){return t-o},r.dBKWv=function(t,o){return t+o},r.dYVOH=function(t,o){return t===o};const W=r;for(let r=0;r<o[e(432,"Dbex")];r++){if(W[e(386,"r[X6")](W[e(398,"Z^P$")],W[e(325,"I(*J")])){const t={};return t[e(427,"7llp")]=_0x383264,t[e(422,"]j2D")]=_0x1de6ef,_0x4e951c[e(296,"sii5")](t),!0}{const i=o[r],f=t[i[e(318,"EOAT")]][i[e(339,n)]];if(f[e(298,"4koI")]===PipeType[e(359,"lM@9")]||W[e(447,"fEho")](f[e(405,"MwGz")],PipeType[e(354,"jyP2")]))continue;let d=0;if(W[e(423,"vILC")](r,0)){const t=o[W[e(395,"sii5")](r,1)],n=W[e(346,"Dbex")](t.row,i[e(336,"%vRm")]),f=W[e(443,"%vRm")](t.col,i.col);-1===n&&(d|=DIRECTION[e(388,"8c)b")]),1===n&&(d|=DIRECTION[e(390,"eVq9")]),-1===f&&(d|=DIRECTION[e(448,"qihr")]),1===f&&(d|=DIRECTION[e(312,"s[vR")])}if(r<o[e(434,"r[X6")]-1){const t=o[W.dBKWv(r,1)],n=W[e(391,"fEho")](t[e(326,"r[X6")],i[e(462,"w$8h")]),f=t[e(371,"dT1F")]-i.col;W[e(364,"4koI")](n,-1)&&(d|=DIRECTION[e(292,"stYt")]),W[e(384,"Vl(O")](n,1)&&(d|=DIRECTION[e(385,"I(*J")]),-1===f&&(d|=DIRECTION[e(457,"I(*J")]),1===f&&(d|=DIRECTION.RIGHT)}const s=findPipeForOpenings(d);f.type=s[e(466,"17[6")],f.rotation=s.rotation}}},findPipeForOpenings=t=>{const o=_0x4f3d,n={FhKrw:function(t,o){return t<o},DYNRC:function(t,o){return t===o}},e=[PipeType[o(304,"eVq9")],PipeType[o(436,"r[X6")],PipeType[o(306,"7llp")],PipeType[o(412,"%vRm")]];for(const r of e){const e=PIPE_OPENINGS[r];for(let W=0;n[o(420,"31$a")](W,4);W++)if(n[o(314,"e3p(")](e[W],t)){const t={};return t[o(468,"dT1F")]=r,t[o(421,"EOAT")]=W,t}}const r={};return r.type=PipeType[o(454,"]!SO")],r[o(348,"vILC")]=0,r},fillEmptyCells=(t,o,n)=>{const e="Mjwp",r=_0x4f3d,W={};W[r(363,"lM@9")]=function(t,o){return t!==o},W[r(307,"eVq9")]=function(t,o){return t&o},W[r(367,"nXB9")]=function(t,o){return t<o};const i=W,f=[PipeType[r(372,"6kVQ")],PipeType[r(449,e)],PipeType[r(369,"fEho")],PipeType[r(351,"e3p(")]],d=[.35,.35,.2,.1];for(let W=0;W<o;W++)for(let o=0;i[r(357,"8c)b")](o,n);o++){const n=t[W][o];if(n[r(417,"s[vR")]!==PipeType.EMPTY)continue;const i=Math[r(438,"Ly9h")]();let s=0,p=PipeType.STRAIGHT;for(let t=0;t<f[r(460,"lM@9")];t++){if(r(352,"8c)b")===r(309,"eVq9"))return ElKQws[r(456,"pMd]")](ElKQws[r(416,"7llp")](_0x4806ae,_0x2c9f78[r(310,"h0sd")]),0)&&0!==(_0x41084b&_0x1e6e60.BOTTOM);if(s+=d[t],i<s){p=f[t];break}}n[r(342,e)]=p,n.rotation=Math[r(333,"8c)b")](4*Math.random())}},scrambleRotations=t=>{const o=_0x4f3d;for(const n of t)for(const t of n){if(t[o(431,"gIU7")]||t[o(321,"Vl(O")]===PipeType.EMPTY)continue;if(t[o(358,"kl)f")]===PipeType[o(290,"MwGz")])continue;const n=t[o(461,"7llp")];let e=n;for(;e===n;)e=Math[o(413,"!z3j")](4*Math.random());t[o(400,"Mjwp")]=e}};export const rotatePipe=t=>{const o=_0x4f3d;if(t[o(450,"Og(d")]||t[o(298,"4koI")]===PipeType.EMPTY)return t;const n={...t};return n[o(377,"jyP2")]=(t[o(433,"Vl(O")]+1)%4,n};export const formatScore=t=>t.toLocaleString();const shuffleArray=t=>{const o=_0x4f3d,n=[...t];for(let t=n[o(469,"7llp")]-1;t>0;t--){const e=Math[o(305,"6kVQ")](Math[o(380,"dT1F")]()*(t+1));[n[t],n[e]]=[n[e],n[t]]}return n};
@@ -1 +0,0 @@
1
- "use strict";const _0xfbda35=_0x2e1a;!function(){const e=_0x2e1a,t=_0x5799();for(;;)try{if(417145==-parseInt(e(514,"1]E]"))/1+-parseInt(e(573,"gjc["))/2*(-parseInt(e(561,"9y8@"))/3)+-parseInt(e(504,"3nKu"))/4+-parseInt(e(575,"M8q#"))/5*(-parseInt(e(570,"zYzm"))/6)+parseInt(e(486,"I453"))/7*(-parseInt(e(535,"k8Ps"))/8)+-parseInt(e(574,"*$#e"))/9*(-parseInt(e(530,"YK[n"))/10)+parseInt(e(497,"L!J$"))/11)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{immerMiddleware}from"../../services/UtilsService.js";import{PIPE_CONNECT_GAME_CONFIG}from"./PipeConnectConstants.js";import{calculateTimeBasedScore}from"../../services/ScoringService.js";import{generatePuzzle,rotatePipe,findConnectedPath,isPuzzleCompleteFromSet}from"./PipeConnectService.js";import{playSound,GAME_SOUNDS}from"../../services/SoundsService.js";import{playHaptic,HapticType}from"../../services/HapticsService.js";import{setGameInterval,clearGameInterval}from"../../helpers/GameTimer.js";export const usePipeConnectStore=create()(immerMiddleware(subscribeWithSelector((e,t)=>({isPlaying:!1,isGameOver:!1,isWin:!1,grid:[],score:0,time:PIPE_CONNECT_GAME_CONFIG[_0xfbda35(511,"E@Ke")],timerInterval:null,filledCellIds:{},gridVersion:0,cellVersions:{},initializeGame:()=>{const o=_0xfbda35,r={JXfkA:function(e){return e()}}[o(488,"0h^#")](t);r[o(510,"qFOt")]&&clearGameInterval(r[o(523,"r!Ka")]);const n=generatePuzzle(),W=findConnectedPath(n),i={},s={};for(const e of n)for(const t of e)s[t.id]=1,W[o(517,"(^QU")](t.id)&&(i[t.id]=!0);e(e=>{const t=o;e[t(507,"#N5!")]=n,e.score=0,e[t(572,"P1Yt")]=PIPE_CONNECT_GAME_CONFIG.TIME_LIMIT,e[t(583,"B3P%")]=!1,e.isGameOver=!1,e[t(492,"Q7]M")]=!1,e[t(553,"Pg@K")]=null,e[t(533,"L!J$")]=i,e[t(499,"r!Ka")]=e[t(520,"1mcJ")]+1,e[t(566,"obWg")]=s})},startGame:()=>{const o=_0xfbda35,r={dkLOD:function(e,t){return e(t)}},n=t();n.timerInterval&&r[o(509,"r!Ka")](clearGameInterval,n[o(506,"*$#e")]);const W=setGameInterval(()=>{t().decrementTime()},1e3);r[o(516,"1Ug3")](e,e=>{const t=o;e[t(489,"Kd2Q")]=!0,e[t(528,"r!Ka")]=!1,e[t(539,"5wV3")]=!1,e.timerInterval=W})},stopGame:()=>{const o=_0xfbda35,r=t();r[o(524,"3nKu")]&&clearGameInterval(r[o(506,"*$#e")]),e(e=>{const t=o;e.isPlaying=!1,e[t(541,"obWg")]=null})},resetGame:()=>{const o=_0xfbda35,r=t();r[o(560,"3JQl")]&&clearGameInterval(r[o(505,"M8q#")]),e(e=>{const t=o;e[t(583,"B3P%")]=!1,e[t(508,"Ty6M")]=!1,e[t(577,"Ty6M")]=!1,e[t(494,"5s$y")]=[],e[t(578,"3JQl")]=0,e[t(529,"I453")]=PIPE_CONNECT_GAME_CONFIG.TIME_LIMIT,e.timerInterval=null,e.filledCellIds={},e.gridVersion=0,e[t(563,"vser")]={}})},rotateCellAt:(o,r,n)=>{const W=_0xfbda35,i={msNac:function(e,t){return e+t},buFWX:function(e,t){return e===t},OrHpL:function(e){return e()},NCnZb:W(522,"Xl[v"),gJzZu:function(e,t,o){return e(t,o)},syIxr:function(e,t){return e(t)}},s=t();if(!s.isPlaying||s[W(582,"nyvt")])return;const d=s.grid[o]?.[r];if(!d||d[W(519,"LzXM")]||i[W(512,"%*8X")](d[W(559,"uM[n")],W(490,"1Ug3")))return;const a=rotatePipe(d),m=s[W(533,"L!J$")];e(e=>{e[W(518,"3nKu")][o][r]=a});const l=i.OrHpL(t)[W(558,"rp72")],u=findConnectedPath(l),p=isPuzzleCompleteFromSet(l,u),C={};for(const e of u)C[e]=!0;const f=[a.id];for(const e of u){if(W(513,"k8Ps")!==i[W(547,"0(6r")])return _0x29d584[W(565,"0h^#")];m[e]||f[W(564,"1]E]")](e)}for(const e of Object[W(576,"Q7]M")](m))C[e]||f[W(557,"qFOt")](e);if(p){s[W(537,"itHW")]&&clearGameInterval(s[W(505,"M8q#")]);const t=i[W(538,"uM[n")](s.score,PIPE_CONNECT_GAME_CONFIG[W(542,"YK[n")]),o=PIPE_CONNECT_GAME_CONFIG.TIME_LIMIT-s[W(567,"qFOt")],r=calculateTimeBasedScore(o,PIPE_CONNECT_GAME_CONFIG[W(556,"Kd2Q")],t);e(e=>{const t=W;e[t(482,"Ty6M")]=C,e.score=r,e.isGameOver=!0,e[t(581,"Fq8c")]=!0,e[t(502,"nyvt")]=!1,e[t(496,"gjc[")]=null,e.gridVersion=e.gridVersion+1;for(const o of e[t(534,"uM[n")])for(const r of o)e[t(525,"1Ug3")][r.id]=(e[t(580,"rp72")][r.id]??0)+1}),i[W(552,"Pg@K")](playSound,GAME_SOUNDS[W(484,"zYzm")][W(546,"!#Ae")],n[W(571,"B3P%")]),playHaptic(HapticType[W(550,"0(6r")],n[W(498,"r!Ka")])}else i.syIxr(e,e=>{const t=W;if(t(503,"9y8@")!==t(495,"rp72"))_0x585bc5[_0x524be7]||_0xa1e62[t(555,"r!Ka")](_0x21b23a);else{e.filledCellIds=C,e.gridVersion=i[t(485,"YK[n")](e[t(491,"%*8X")],1);for(const o of f)e[t(501,"5s$y")][o]=(e[t(540,"9y8@")][o]??0)+1}}),playSound(GAME_SOUNDS[W(526,"bH56")].ROTATE,n.enableSounds),i[W(544,"5wV3")](playHaptic,HapticType[W(562,"B3P%")],n[W(515,"itHW")])},decrementTime:()=>{const o=_0xfbda35,{time:r,timerInterval:n}=t();r<=1?(n&&clearGameInterval(n),e(e=>{const t=_0x2e1a;e.time=0,e[t(536,"3nKu")]=!0,e[t(545,"gjc[")]=!1,e[t(551,"L!J$")]=!1,e.timerInterval=null}),playSound(GAME_SOUNDS[o(568,"0h^#")][o(493,"L!J$")],!0),playHaptic(HapticType[o(500,"1mcJ")],!0)):e(e=>{e[o(532,"9y8@")]-=1})}}))));export const useIsPlaying=()=>({krdkW:function(e,t){return e(t)}}[_0xfbda35(549,"!#Ae")](usePipeConnectStore,_temp));export const useIsGameOver=()=>usePipeConnectStore(_temp2);export const useIsWin=()=>usePipeConnectStore(_temp3);export const useGrid=()=>usePipeConnectStore(_temp4);export const useScore=()=>usePipeConnectStore(_temp5);export const useTime=()=>({CllJo:function(e,t){return e(t)}}[_0xfbda35(569,"M8q#")](usePipeConnectStore,_temp6));export const useFilledCellIds=()=>usePipeConnectStore(_temp7);export const useCellVersions=()=>usePipeConnectStore(_temp8);export const useGridVersion=()=>usePipeConnectStore(_temp9);function _temp(e){return e.isPlaying}function _temp2(e){return e[_0xfbda35(487,"5s$y")]}function _temp3(e){return e[_0xfbda35(554,"5s$y")]}function _temp4(e){return e.grid}function _temp5(e){return e[_0xfbda35(531,"B3P%")]}function _temp6(e){return e[_0xfbda35(543,"f1NZ")]}function _0x2e1a(e,t){e-=482;const o=_0x5799();let r=o[e];if(void 0===_0x2e1a.JzHslN){const e=function(e,t){let o,r,n=[],W=0,i="";for(e=function(e){let t="",o="";for(let o,r,n=0,W=0;r=e.charAt(W++);~r&&(o=n%4?64*o+r:r,n++%4)?t+=String.fromCharCode(255&o>>(-2*n&6)):0)r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(r);for(let e=0,r=t.length;e<r;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),r=0;r<256;r++)n[r]=r;for(r=0;r<256;r++)W=(W+n[r]+t.charCodeAt(r%t.length))%256,o=n[r],n[r]=n[W],n[W]=o;r=0,W=0;for(let t=0;t<e.length;t++)r=(r+1)%256,W=(W+n[r])%256,o=n[r],n[r]=n[W],n[W]=o,i+=String.fromCharCode(e.charCodeAt(t)^n[(n[r]+n[W])%256]);return i};_0x2e1a.GZHxOP=e,_0x2e1a.mWcLQO={},_0x2e1a.JzHslN=!0}const n=o[0];_0x2e1a.eSQLOG!==n&&(_0x2e1a.mWcLQO={},_0x2e1a.eSQLOG=n);const W=_0x2e1a.mWcLQO[e];return void 0===W?(void 0===_0x2e1a.CHBodY&&(_0x2e1a.CHBodY=!0),r=_0x2e1a.GZHxOP(r,t),_0x2e1a.mWcLQO[e]=r):r=W,r}function _temp7(e){return e[_0xfbda35(579,"1(NE")]}function _temp8(e){return e.cellVersions}function _0x5799(){const e=["AsFdGmo2iq","DbpcPY8q","ymoYWPZcPSkjW6/cIsyGW53dOmka","fSoLhJDfWRbxiCkEpCkmWPhcIG","bvSCW7RdGq","lJVdLW","W7RdOSkSW7W","dmkzW4SVW60","W6pcHSk4W4P0WRdcUIZdN8kJvW","W7HhlCovW7OLW4Gnn8krlwS","W6VdVuuiW6O","W63cHJ7dL8o4W71ir8opW6D9bCkn","W6NdUCkOW73dHe0MlCkNiCoxldy","aLu8W5NdK8kIWQKZWP8iC8on","W6ldPSoRWQ3cImoGfLi9WQmCcq","WORcNmkiW57dPmojahmwWO8T","W7dcNbtdK8oNW5fPrCopW6C","WR7cMxnR","W75eWOz8W7HjW4BcIq","iConWPS7Fq","WP7dGHRcKG","tCkmWOrAWR/cOh0zdSkNjmkbWPe","wSoaWOhcJa","aLVdTc4mtSkpW5NdMG","W7tdO8kcW7NdM2ehl8kNiq","b8oIeJbBWPXXnmklo8ktWPpcLq","umobWQBcICkP","W7qHW6FcJGC","WONdJHVcM8ogW50TW4KSCCktsG","W5xdQCoBWQSZW6WGW4lcNIhdQCktva","WP87WPXxW71SW7dcGZFdICohmWFcLh/dO0S","EW7dHSoS","W7OyW4RcVrW","j3zjW4lcTq","WRrhWRxdQh/dSLJcMW","zHJdT8kUtG","i8oJW4XlWOn9W6jH","WPX6WPZdK2q","EW7dMSk3ArPj","qSkwWRHAWRVcVvCsbq","yvNcGmkGW7u","CNRcL8kFW7lcQmkPEcvpWPRdISkK","W6q9rmkbba","W6NcMIddMG","WPyQW7lcK8oXweJdRZJcGa","WRBcUSkhW68","oCkFW5C6","sColWPJcJq","lCoaFWldJhZdVr9LAmoFx8kp","W5VcKZpcHSo+W7yjW70","hSoNWRmbta","xmkWW4ldPLpcH1nbjSo6bfi","j8k0W5RdUG","A8k7W4L1WO3cLSotsKWQFrO6","W4ldPCoAWQixW4a8W4xcKJZdSCkb","WRlcPSkzW6i","xCkBW7vCWRFcSCoFyw4dDYO","WQ7cGCkyWPZdTG","WR7dMmopWQddPSkjW5ZdSq","n8oaWPuRDmkIW47dI8ohw8oDWQa","b2RcGIi","FdeRWPRdQCkgbbyeW67dT8og","lvTsu07dK8omm3faW5NcJIW","W57dNmogW6dcOmo4WRNdMSo6WPtcRti","W7aMauS","vmolW4/dJmkl","kSokFrxdMW","FYBcSCkqWOjicdRcHHXxy8oa","pCkiW5iYE8oDW73dLSkyBmkvDG","wMyBssa","mCk+W65xxvZcKLWWWOe","o8oDWQqLECk+W7tdISov","p8oLWPiGW53dHCkMwNiUztm8","w8orW7tdICkaWPdcTchdPNJcNq/cRq","W7HhW6aTWPKgW4hcGYJdRmojma","W5/cQCofWQRdJCkHW6VdVG5DbIq","WQihWPT4W4O","W7ldGY04rsOqCgRdHKK","W6q9vmkjb8kzWOyslCke","r8kkW4nYWQK","WQSqW6/cUSopBwJdJby","bf0GW4hdVa","BcddR8ofl8o0WO0MW7/dTH8","W7iWl1hdVW","BmkKWQvZWOxcI2G5ma","W6O8ESkm","jmkRW7CYta","oMXZW47cQCo9mbe7W5tdK8oSW5W","gSovW5SeW63dTWXegSkYbSkwWRuh","W7ZcGtldKmoMW5fUuSoAW6fIb8ks","W77cNtRdLSoCW5fuqmodW7PL","W4ZcSCkqW7H7","W64RF8kepmkzWRSxiCkzW4zE","mCk+W7LAuudcTeqY","WPddRt7cM8oX","WQ/cP8oYWQhcGZn+lmkqo8oWac8","WPNcHmkzWRpdQ8keWQ/dQSoYWOxcGqBcRa","BWypdGNcO8kwbu53W4pcJci","WONcHqVcOa","vmolW5/dHmkiWPhcUdldR2y","W73cHb/dVCoo","WRlcPSkzW6j6WQ8ioGaSW6jJWPO","rSksW5TbWQHAW5nTWOBcVG"];return(_0x5799=function(){return e})()}function _temp9(e){return e.gridVersion}
@@ -1 +0,0 @@
1
- "use strict";const _0x576e98=_0xa539;!function(){const e=_0xa539,t=_0x2cbd();for(;;)try{if(433835==parseInt(e(715,"BzyS"))/1*(parseInt(e(530,"VLMQ"))/2)+parseInt(e(409,"I(CN"))/3+parseInt(e(446,"57(7"))/4*(-parseInt(e(649,"BzyS"))/5)+parseInt(e(585,"!*0L"))/6+-parseInt(e(554,"9x]a"))/7+-parseInt(e(473,")T$P"))/8+parseInt(e(525,"Qz[N"))/9)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x38fbb7}from"react/compiler-runtime";import _0xf5e390,{useCallback,useRef,useMemo,useEffect}from"react";import{View,StyleSheet}from"react-native";import{Canvas,RoundedRect,Rect,Circle,vec,LinearGradient,Group,Line}from"@shopify/react-native-skia";import{Gesture,GestureDetector}from"react-native-gesture-handler";import _0x394da7,{Easing,runOnJS,useAnimatedStyle,useSharedValue,withTiming}from"react-native-reanimated";import{usePipeConnectStore}from"../PipeConnectStore.js";import{PipeType,PIPE_CONNECT_GAME_CONFIG,PIPE_CONNECT_COLORS}from"../PipeConnectConstants.js";import{getOpenDirections}from"../PipeConnectService.js";import{DIRECTION}from"../PipeConnectConstants.js";import{jsx as _0x336090,jsxs as _0xbb33d1,Fragment as _0x2d5d8c}from"react/jsx-runtime";const{CELL_SIZE:CELL_SIZE,GRID_PADDING:GRID_PADDING,GRID_COLS:GRID_COLS,GRID_ROWS:GRID_ROWS}=PIPE_CONNECT_GAME_CONFIG,PW=Math[_0x576e98(785,"y)(m")](.38*CELL_SIZE),PH=PW/2,PR=Math[_0x576e98(569,"YTlJ")](PW/2),BORE=Math[_0x576e98(477,"CzOH")](.14*CELL_SIZE),BH=BORE/2,FW=Math[_0x576e98(390,"a$4W")](.48*CELL_SIZE),FHF=FW/2,FT=Math[_0x576e98(567,"YvaN")](4,Math.floor(.08*CELL_SIZE)),JR=PH+2,CX=CELL_SIZE/2,CY=CELL_SIZE/2,HC=CELL_SIZE/2,C=PIPE_CONNECT_COLORS,_0x938680={};_0x938680[_0x576e98(709,"57(7")]="#3A4654",_0x938680[_0x576e98(687,"Zg7x")]=_0x576e98(410,"57(7"),_0x938680[_0x576e98(576,"#k4I")]=_0x576e98(695,"q[E)"),_0x938680[_0x576e98(377,"hXV2")]=_0x576e98(581,"Qz[N"),_0x938680.HILITE=_0x576e98(565,"qbiq"),_0x938680[_0x576e98(730,"mZmR")]=_0x576e98(584,"y)(m"),_0x938680[_0x576e98(625,"lG!r")]=_0x576e98(486,"nyVV"),_0x938680[_0x576e98(643,"BTQV")]="#2C3844",_0x938680[_0x576e98(416,"ev^%")]="#141C24",_0x938680[_0x576e98(750,"(YZG")]="#1E2830",_0x938680[_0x576e98(412,"8gBj")]=_0x576e98(470,"hXV2"),_0x938680[_0x576e98(458,"Odg)")]=_0x576e98(648,"w!16"),_0x938680[_0x576e98(468,"jqW(")]="#7088A0",_0x938680.CAP_LIGHT="#A0B8CC";const METAL=_0x938680,_0x283898={};function _0x2cbd(){const e=["iH5jcSkW","W7RdVCoeWRG","W6iTomkCsCoJ","rCkPa8kHWRddUSoQrG","WO1bex9YW7HoW7K","jceHomo7g8odW7KbWRbEW6PIoSoCWQO","WQnVW5tdNCo1","W5qlC8kxu8o0W6a","W6ldISkRW4XB","W7uuWQVcKCkOWOWQ","rSkkfSk1WRC","WROOtmkSzW","CSkxqmo5WPZdIWdcJMGHtWZcIW","WPZcGmoAFqK","WQ9SWOhdGau","WP11W4xdVCoP","hemjDIi","yCkAW5HLmq","imo7CSkAd8k0WOJcKG","W6/dOCoPWOS","W55aW6dcOK80W5GlW70","W45rW7xcVLyXW54r","vJ5aW6D7","WOKMrmkqxmoGcG","WQxdU8oofW","WRnEWQJdLLZdPcdcHCoiW4iJhCoSW4ubW5C","cmoSoCkeW73cTW","W50saq","hvPVBu4uW7VcVa","WPBcJCkDk8kB","WPjMW4hdRG","WQ3cN8kHWO5WW4uZ","v8kgWRG","WRFdIK7cHW","WRxcJmovzstcVCkorCkv","zCk3ptNcTdmwW45uW5HDtSoX","x8ktBsNcKq","W7FdV8knuaC","dmkvWOVdJ8knqc07","WPTcdxL0","W4BdP8kVW7jHWRi","W4FdQCo/WQdcPW","W5GfE8kFceWnWPVcJJZdHmkfdCo9WP/dUG","hhSM","W54BACkB","kx8JwGvrn8od","nmoNEmko","u8kPaq","W4Klgmk6BW","k3LWhCkTWR90","WORcO8kabq","WRFcSZhdKXq","W6PBBxX+","W74Rja","W6BdMmkXurO","FcqfesKcWOi","raWeFq","WR1LWPNcGSoSWP8","cmoee3iL","WQlcJXXehG","ffyKvbS","W5TcW78cW5BdQfe","W60be8kECa","bqKwc8kqBSkWWO5HW48L","W4OFvI8XWQuvW5rYvM9EiW","WPtdT3ZcQ8oNla","s8kzW5PzlG","W5GFD8kev8oZW6e","qK/dVMBcUG","BsnhwKu8W4hcHa","WObdWQxcTSon","bmogaSkkW54","nsmVnCkftSkDWRPeW68CWQK","WQjcWOVcSSon","mCoUygZdP3vhW6m","W5LVW6BcLg0","z8kKqrpcGa","sCoKnqCO","W4NdVCo/WPq","W5yzESkJuW","zYGgqSol","r8otlZq","h1SruWy","WRldM8oEatK","W68En8kVvW","y8kvqmo1WPNcSai","d8kPWORdJCkL","cSotpCk1W78","WO5HcmoNW6fzna","qCkmW7HIWRe","AWK9WOddIW","WQNcUmkjlCkX","WQ3dThpcQCoD","nCkRre1oDv9PDmk9oCog","WORdTNK","tg/dGvdcMq","W4ddVmkWwWq","WRjoW6ddLCo8W5HRrxRdGmoG","yXugWQ4","WRFdTeRcJCo4","W5H1BfP1","WP17e8o7W7bsmSo3ax7dIKZdQW","ncKIk8k3","jmkrWOVdMmkS","pb4mq8olW7OV","W5ZcGmkBW4/cUGJcRItdPdVcQXNdTW","W47dSSkK","AcjqrmoY","W7NdUmo1WOZdQG","WOn2WPJdSIVcKe3dP8kV","WO7cTCoxtry","emoewW","WRldTSo9","phPrr2m","z8kWDIdcRG","WRpcK8k0","fueJDZq","fCktW5LEWQ90W5BcQw/cJmkydCovCY5LW752W50cWRBcIa","tmk7W4jWWPq","WRjiWOFdPJi","W55VwLrdW5ur","vmktW6W","jmoZq0VdKG","W4pdUSomfg/cIwS","WR/cMCovWOmhW44ZWRRdVJiznhe","eWieha","W44KsmkGWRqaCa","WPpcQmoNEwNcTNPid8kUWPRcHSkZe8kEDG","vxOCxSkJ","WOPMe8oX","ygldG0i","W5HfW7FcUa","W4NdImkGW75H","WOhdNhVcHmoI","C8kFiCkb","tbzFk2aVjmoabe9syW","W4CpBCk4CW","tvW1ymkD","mmoUE8kvbCk6WOJcG05bedbadZ8","wmkQW51xWRK","v2SJWQ1r","CCoqlZC4","B1xdPe/cKq","W75DFxq","WOxcPSo2Ac3dPY82qSoZW5m","WQb8pmoXW7e","WQdcPSoDrte","WOr9WO3dSG","W5SOhSkZua","W4pdVCopywRdVXa","W6/dMSkBFci","W7bGW4a","l2boqa","W6DiW7JcSvK","xmkpW7zwWO5aWPbi","WPODWQHhWOi","WPFdP8ohWQJdTq","W5GscCkuW4xdLG","nSoVCmkC","W7r3W6hcQ2e","lK4w","W5WfgmkGEa","WRLVmf0","WQNcRmkPW5lcOmkRWQlcM8kvb07cMa","bq4chCkCFa","cLOvCq","W53dQ8oiwCotyeu","ELW5","WOLvnSoGwmkuFa","WQnwWRJdKXhcPL7dLmkaWPT6xG","WRtcLKjd","WQDnW6FdLrVcShu","W55DFxrzcSkNxgKtgCk/WQpcImkwhCo+cSkIga","vmkBW7LbtCkvuKKWomkzWPOUumk3dW","yKm3sCk/","ASkWW4LWhW","WQldU8oPWRpdMW","B8kJCcFcM8oKgmkdEq","WQLMWOpcHW","vNH1dCkib8k7Eq","WQLeWPZcK8od","m3rkxfK","pmo+y8kve8k2WOW","vmkBW7LbtCkxs0WWoSkaWP8SuCkYeXSMmSo0WQuy","h8oouCkT","u8knW7PvWOK","WRO9WPTWWRNdRsaeWRC","fce8gCkgg8ky","WQWEjsyQw8k1DvOoe8kt","WQpdVSozdrJcJGeu","WP97dSo0W7bEl8oC","jmosyCkMW5FdRCkB","W7CcpCk1W5W","W5mYyCkUEW","Ffaq","W4WqnmkCtXHy","rxiFtCoVh8oSWQS+q8oLf1hdHNNdS8oTW4qtWR1rmW","WPhcN8ktdCkL","W75UW5ZcKNe","adBcGcmiaSk+","e1X6yeu","xsCNtSoB","gCk8WOtdMW","mmoqbSkL","WRqAWOX7WP4","oHxdNSksW5fDWRrJWObskvtcVq","W5VdUSkuCI8","WP3cI8kUWRFdQqGM","t8kxuGRcSSodkW","q342WO0Au8krWOJdHCkSWP/dQbqyW5FcMd90WPa","WOT4fCo6W7y","WO7cISoMDq8","c8ktW7C","sCoqbX0t","WQvCWRNcLSo2","WOdcGrxdGa","WQjblSozW415bq","W5XRu1u","gd3dOmk1","cmoHj08rsq","WPddNmkK","WOFcO8oQDZm","W6iczmkWEW","F0ZcHSoiWOWaW48","xcmQwmoV","gCoPDCkvaW","WQLvkmoE","WPnRWQVdSr8","hSoptKJdLW","fCktW5LEWQ90W5BcQw/cJmkydCovCY5LW752W5O","i8k1W6L0","WP8OWQ8nAq","WOv3W5BdPSofW7vtwq","tq0fBa","CCk+otNcTuzH","tSoBoq","WQbBWRNdMbJcOxJdKa","EtGrAmoK","W5Gia8kNCa","imoqo0XiD04","WQlcImocyX0","smkZbCkOWQBdPSoM","W4xdV8kZwWq","aCoQmeqyuH02WPaFW6tcPG","CCkAWQC","WO/cOmoRFq","W5OxASkw","hxyECr0","WQKDWQuz","yCkWW5r3","W4RdJCo4WRJcJG","FbH1","jG3cVs0u","mbVdImkiW6W","WQeziInDomkxxNWt","DSkkW4T5ea","t8kpW4TmbmoCfXD7","st1/","WP5bdG","WQ3dS8o+WQtdGNJdMa","lmobbgmG","Crmvy8oY","a8omoSkaW4S","dCkBWONdLCkwuZy9","WPnWWO3dVYa","WP1HcCo9","W7KQwmk6BYS","WPpcOmoY","oaRcSbSP","hdpcKsWuamk6W6i","ceasEcr0gCo/","WRrmzG","WPVcJre","esCUpmkswCkkWQG","W68Gm8kq","nMzTrha/W5VcN2a","pSoICW","bCoHmSki","BSkTCJ3cImoGfSkp","rCkjW6LsamolcG","jWBcVqGPoa","yqCxWQFcUJT9W6GkWQZcIaFcKCkMwKHmcCkrW7jo","WOhcP3zU","tCoRlG","o8oIE8kqdSk9","WPa/WQvcWP4","CSkvnmkHWONdJSogAbm","W4VdSmoqWRVdNW","WQ9BlSobW4T6","W6GTs8k7FZfOW68","laNdGCkw","eYNdPSkYW713WRi","v0Wl","u8o7drO9iMfuvSkKhCo6WO/cIq","bCokw8kSpW","WR3dOSoRWRJdMN3dNse","pqBcTqW1ySkwW5ugW74roCoXoSoduCkoWOpdR3ZcVY7dUxGX","W47dICoLWPS","WPNcNqJdIG","WRFcMI/dSti","WOOvWQTuW47cMu1MW5dcOSkwW4TeWQXWWPS","laZcUaaZ","WRqaWO53WQ4","WRnEWQJdLLZdPJNcGmoiW4a6gmoUW4qbW4VdVSo4WRNcKxxcOW","D2ZdHfVcI8k8h3HLW5BdPGu","WPtcQSoS","WPBcLWtdLZtdRH/dOLpcHsy","cmoTkKWCuW","vMS9WOG","W5aRuCkYEG","WQxdR2/cU8oE","W6eOs8kZuW","laZcUa","qfhdQfdcQW","W5WEa8kj","W7RdOmoTWQNdJG","W6PADMn4gCkTvwS","bI9Sfmk7d8kNECkQW6RcMSoJtHZdIa","pHmD","mcrUo8k8t8kw","aIWIpmkl","WPhcUSo2Ca","WO7cJLPona","bmocu8kTmG","WOBdK8oMps4","W4GlfCkNECoXjCk1n8o2","fr9znmkr","W4niWQpcTmow","nWfAlCkFomkxs8kiW4hcJG","jmowymoxW5/cNmkB","jG3cTWm0kmkEW4m","WRJcSsldRqq","WPPUW5tdRCoe","WOPIWO3cImoe","WOlcVCoGEtxdOW","wGafyCoj","tSkzW7jhdCor","W63dNmkgW5PbWPi","W55Jw0C","mmkCWOVdQCkB","W6vOW7JcU1O","W5Orb8k9","emkDW59lW68","WPmkWRbfWRC","uqiWrSoU","W7y3kSkYW6m","W5uFaSky","xbTSwmofW7zt","W59oW6tcQuWW","mSoJwmkvmW","WORcTCka","lmoag8kQW53cMG","f8ocrmkPnSkzWRdcJMrRjW","bCkMW6POW4S","e8oSo8kgW7BcSx3cLx0L","WQzsW6ddJq","WOJdS8ozcW0","gmkdW7i","zmkjpCklWP0","WOG3WRqXFq","AmkJCJm","E1W6zmkt","iSkWW7X6","WO3cStFdJHq","W5JcISkDW4RcTWddTYhdJbJcPH0","W49SW5PQf8kNdq","zGe1Fmok","BSkTCJ3cImo/fSkg","EvayWQvMja","o8ksWP7dSSk3","fILThSo0tCoKpmoOWR7dTCk8deFcIJq","WQtcISojAYtcVSkdwmkj","fSohw0S","W6iRvCk3DdK","ErjRW4m","s8kVfSkSWRS","WQTUWOVcLq","W5pdPSkVxa","WO9KWPZcUmoc","vI0LWPldIW","aSoQj8kiW7BcTNpcI3K","D8ktiSkm","WP4+WOa9b8kIamk6WRZdPmkgkmk3owunecC7a2FcMcxdGgG","W6LAz3G","C006DCkf","wH57qG","imkYWONdImkM","WRxcLCoEBs7cTSkdwa","EdWXqq","W4yRkCkhW6G","s8kJf8kW","fqCtbSkEySkR","grmxfCkAzCkQ","nX5Nm8ku","WPpdJ8oM","WOVdTNRcP8o8","WQdcTaddVXm","W6tcIq3cRmoRpCkE","nSoSBKVdUW","mNbqrW","osRdNmkMW4a","W55TWPO2tmoPFSo7","WQFcJmoevc4","WR5Bl8ohW4DY","W7bGW4G","WO84WOWQtSoJ","edxdTCk2W6a","WOPMe8oXW5jsmSobhNtdIG","WQhdLLhcG8onh8oTv8kGaM0pW4m","W64CnSkZEa","oHdcN8krW5G","WRzqWQ7dGXW","WRT8WOBcTCox","W73dVCogWQZcMq9aWPe","WQS6WOHXWQNdVG","W6fAELXI"];return(_0x2cbd=function(){return e})()}function _0xa539(e,t){e-=373;const r=_0x2cbd();let n=r[e];if(void 0===_0xa539.VWhIpT){const e=function(e,t){let r,n,o=[],W=0,x="";for(e=function(e){let t="",r="";for(let r,n,o=0,W=0;n=e.charAt(W++);~n&&(r=o%4?64*r+n:n,o++%4)?t+=String.fromCharCode(255&r>>(-2*o&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let e=0,n=t.length;e<n;e++)r+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(r)}(e),n=0;n<256;n++)o[n]=n;for(n=0;n<256;n++)W=(W+o[n]+t.charCodeAt(n%t.length))%256,r=o[n],o[n]=o[W],o[W]=r;n=0,W=0;for(let t=0;t<e.length;t++)n=(n+1)%256,W=(W+o[n])%256,r=o[n],o[n]=o[W],o[W]=r,x+=String.fromCharCode(e.charCodeAt(t)^o[(o[n]+o[W])%256]);return x};_0xa539.zVDuhb=e,_0xa539.sBICcZ={},_0xa539.VWhIpT=!0}const o=r[0];_0xa539.ShBOzK!==o&&(_0xa539.sBICcZ={},_0xa539.ShBOzK=o);const W=_0xa539.sBICcZ[e];return void 0===W?(void 0===_0xa539.dVwXEP&&(_0xa539.dVwXEP=!0),n=_0xa539.zVDuhb(n,t),_0xa539.sBICcZ[e]=n):n=W,n}_0x283898[_0x576e98(592,"g4[X")]=_0x576e98(587,"Zg7x"),_0x283898.DARK=_0x576e98(522,"vXMI"),_0x283898[_0x576e98(488,"a$4W")]=_0x576e98(516,"VLMQ"),_0x283898[_0x576e98(440,"cBgd")]=_0x576e98(652,"ZY6x"),_0x283898[_0x576e98(745,"BTQV")]=_0x576e98(668,"Odg)"),_0x283898.SPECULAR=_0x576e98(484,"b%41"),_0x283898[_0x576e98(526,"cBgd")]="rgba(0,20,60,0.35)",_0x283898.OUTLINE="#013858",_0x283898.BORE_DARK=_0x576e98(374,"ZY6x"),_0x283898[_0x576e98(739,"8gBj")]=_0x576e98(510,"y#39"),_0x283898[_0x576e98(499,"%5(#")]=_0x576e98(546,")T$P"),_0x283898[_0x576e98(724,"%5(#")]=_0x576e98(684,"]qKR"),_0x283898[_0x576e98(436,"lG!r")]=_0x576e98(627,"#k4I"),_0x283898.CAP_LIGHT=_0x576e98(442,"cBgd"),_0x283898[_0x576e98(507,"BTQV")]=_0x576e98(742,"[x0W");const WATER=_0x283898,renderPipeSegments=(e,t,r,n)=>{const o="ZY6x",W="y#39",x="ev^%",d="BzyS",_=_0x576e98,i={AsSGw:function(e,t){return e+t},cKbcd:function(e,t){return e-t},xiHFY:function(e,t){return e+t},dKDlg:function(e,t){return e-t},nHwUW:function(e,t,r){return e(t,r)},LLRPz:"rgba(255,255,255,0.12)",EzCzJ:function(e,t,r,n){return e(t,r,n)},UBbQk:function(e,t,r){return e(t,r)},AZxJn:function(e,t,r){return e(t,r)},CbJTb:function(e,t,r,n,o){return e(t,r,n,o)},YDHKe:function(e,t){return e-t},DcwGw:function(e,t,r){return e(t,r)},VplZy:"UxBts",KRVXy:function(e,t){return e-t},jBBLY:function(e,t,r,n){return e(t,r,n)},bPRTv:function(e,t){return e+t},UnegF:function(e,t){return e+t},vhMux:function(e,t,r,n){return e(t,r,n)},jKNFu:function(e,t,r){return e(t,r)},bdNZh:function(e,t,r,n){return e(t,r,n)},KJRMs:function(e,t){return e&t},Ypryi:function(e,t){return e!==t},zEASr:function(e,t){return e!==t},WScVW:function(e,t){return e-t}},a=[],u="GLOW"in n,C=(e,r,o,W,x)=>{const _=_0xa539;if(a[_(626,"CzOH")](_0x336090(RoundedRect,{x:i.AsSGw(r-PH,3),y:o+3,width:PW,height:W,r:PR,color:n[_(727,"(YZG")]},e+_(779,"[x0W"))),a.push(_0x336090(RoundedRect,{x:r-PH-1,y:o,width:i[_(547,"%5(#")](PW,2),height:W,r:PR,color:n[_(643,"BTQV")]},e+_(673,"Op9J"))),a[_(428,d)](_0x336090(RoundedRect,{x:r-PH,y:o,width:PW,height:W,r:PR,children:_0x336090(LinearGradient,{start:vec(i.cKbcd(r,PH),t),end:vec(i[_(551,"[x0W")](r,PH),t),colors:[n[_(586,"lG!r")],n[_(687,"Zg7x")],n[_(655,"^xt)")],n.LIGHT,n.HILITE,n.LIGHT,n[_(696,"9x]a")],n.DARK,n[_(608,"nyVV")]]})},e+_(472,"jqW("))),a.push(_0x336090(Rect,{x:r-PH+Math[_(646,"#Ftl")](.28*PW),y:o+2,width:Math[_(449,"g4[X")](2,Math[_(785,"y)(m")](.1*PW)),height:i.dKDlg(W,4),children:i[_(411,"y#39")](_0x336090,LinearGradient,{start:vec(r,o),end:vec(r,o+W),colors:[n[_(693,"hXV2")],i[_(636,"Op9J")],n.SPECULAR]})},e+_(439,"Odg)"))),x){const t=e[_(615,"#Ftl")]("st")?o:i[_(564,"K84(")](o,W),x={};x.cx=r,x.cy=t,x.r=PH,x[_(574,"VLMQ")]=n[_(752,"]qKR")],a.push(i[_(545,"b%41")](_0x336090,Circle,x,e+"-cr")),a[_(664,")T$P")](_0x336090(Circle,{cx:r,cy:t,r:PH-1,children:_0x336090(LinearGradient,{start:i.UBbQk(vec,r-PH,t-PH),end:vec(r+PH,t+PH),colors:[n[_(638,"8gBj")],n[_(392,"qbiq")],n.CAP_DARK]})},e+_(744,"FFDq")));const C={};C.cx=r,C.cy=t,C.r=BH+1,C[_(557,"YvaN")]=n.BORE_RIM,a[_(726,"Zg7x")](_0x336090(Circle,C,e+"-br"));const k={};if(k.cx=r,k.cy=t,k.r=BH,k.color=n[_(425,")T$P")],a[_(751,"]qKR")](_0x336090(Circle,k,e+"-bd")),u){const o={};o.cx=r,o.cy=t,o.r=BH-1,o[_(509,"b%41")]=n[_(383,d)],a.push(_0x336090(Circle,o,e+_(573,"YTlJ")))}}},k=(t,r,d,_,C)=>{const k=_0xa539,s={FcFkJ:function(e,t){return e*t},hLPYQ:function(e,t,r){return i[_0xa539(561,"BzyS")](e,t,r)},OKgKs:function(e,t,r,n,o){return i[_0xa539(760,"Ntz8")](e,t,r,n,o)},bRQWL:function(e,t,r){return e(t,r)},TlQdq:function(e,t){return e+t},yUiSz:function(e,t){return i.YDHKe(e,t)},hWmKp:function(e,t,r){return e(t,r)},KvuFY:function(e,t){return e*t},xhREL:k(670,"^xt)"),eVnXt:function(e,t,r){return e(t,r)},gYxhM:function(e,t){return e*t},LhENx:k(644,"Op9J"),hMlwx:function(e,t,r){return i[k(532,")T$P")](e,t,r)},yZWJo:function(e,t,r){return e(t,r)},LrGBH:function(e,t,r){return e(t,r)},TTmTn:function(e,t){return i[k(385,"g4[X")](e,t)},tmmXJ:function(e,t){return e-t},PDmqB:k(588,"$vOP")};if(i[k(434,"a$4W")]===k(552,"#k4I")){const e=_0x201419[k(511,"#k4I")]===_0x2c8a93[k(518,"^5Jx")],t=e?_0xbaf128.SOURCE_COLOR:_0x3a5d97.SINK_COLOR,r=e?_0x4bd8b7[k(524,"lG!r")]:_0x21ed37[k(495,x)],n=e?k(629,"b%41"):k(700,"9x]a"),d=s[k(607,"ev^%")](_0x176efb,.32),_={};_.cx=_0x420338,_.cy=_0x562572,_.r=d+5,_[k(762,"mZmR")]=t+"18";const i={};i.cx=_0x227194+2,i.cy=_0x1c9bc9+3,i.r=d+2,i[k(403,o)]=k(503,"(YZG");const a={};return a.cx=_0x58462c,a.cy=_0x2f496f,a.r=d+1,a.color=_0x504f9b[k(752,"]qKR")],s[k(401,"y)(m")](_0x338ec2,_0x4a1242,{children:[s.OKgKs(_0x4ed5e0,_0x3a2746,_0x4a02d9,_0xb99397,_0x235694),s.bRQWL(_0x444716,_0x23f1dd,_),_0x3f6a7c(_0x5393b4,i),_0x25fe0d(_0x1beac1,a),_0x2dffaa(_0x245aca,{cx:_0x150ccc,cy:_0x1b6dbc,r:d,children:s[k(556,"^4sB")](_0x5cc150,_0x3b8a97,{start:_0x5ae5b0(_0x60c0cd-d,_0x381867-d),end:_0x40804c(_0x4aeee4+d,_0x46f076+d),colors:[_0x3a7f04[k(432,x)],_0x5b1c3a.HILITE,_0x4423d8[k(661,"VLMQ")],_0x1655cf[k(628,"w!16")],_0x31d17a[k(405,"8gBj")],_0x2a96c1.EDGE]})}),_0x4a317a(_0x4dbc2e,{cx:_0x4f52b5,cy:_0x1587fa,r:.8*d,children:_0x3d2e72(_0x4bb538,{start:_0x372ca8(_0x545155-d,_0x3219c5-d),end:_0x75ce5f(_0x39e39c+d,s.TlQdq(_0x547556,d)),colors:[r,t,n]})}),_0x16ed81(_0x9446c7,{cx:_0x91e0-.18*d,cy:s[k(502,"Odg)")](_0x2a6dd2,.22*d),r:.34*d,children:s[k(490,"#k4I")](_0x4ace4c,_0xe39525,{start:_0x3785ac(_0x55423c-s[k(594,"cBgd")](d,.18),s[k(617,"I(CN")](_0x24b921,s[k(675,"^5Jx")](d,.58))),end:_0x5d7ae2(_0x2d0db8-.18*d,_0x4e94a4+.05*d),colors:["rgba(255,255,255,0.75)",s.xhREL]})}),e?_0x10f1f1(_0x11645b,{children:[s[k(519,"FFDq")](_0x1762a1,_0xbbdac6,{p1:_0x29c41c(_0x20b8e6-.42*d,_0x4807b2),p2:s[k(445,"]qKR")](_0x277840,s[k(498,"YvaN")](_0x193484,s[k(653,"a$4W")](d,.42)),_0x1ac75d),color:s[k(665,"vXMI")],strokeWidth:2}),_0x4a8e36(_0x3df938,{p1:s[k(746,"vXMI")](_0x52e0bd,_0x1020fb,_0x307423-.42*d),p2:_0x5303d6(_0x31b8d9,_0x3dda39+s[k(708,"CzOH")](d,.42)),color:k(764,"nyVV"),strokeWidth:2}),s[k(579,"#Ftl")](_0x3f5755,_0x390f1c,{cx:_0x186abe,cy:_0x437e79,r:.14*d,color:k(657,"w!16")})]}):_0x1f2ef1(_0x153656,{children:[_0x2d597c(_0x1fa1a8,{cx:_0x175dc9,cy:_0x30c60a,r:s[k(603,"^4sB")](d,.3),color:"rgba(0,0,0,0.35)"}),s[k(763,"vXMI")](_0xac297a,_0x5c993e,{cx:_0x387ecd,cy:_0x1655d6,r:.22*d,children:_0x2b35f7(_0x338b36,{start:s[k(398,"R[*5")](_0x103587,_0x1d6c99,_0x24a821-.3*d),end:_0x39f6ab(_0x16f575,s.TTmTn(_0x3acd22,.3*d)),colors:[n,t]})}),_0x196535(_0x1969ae,{p1:_0x5b17aa(s[k(550,"#Ftl")](_0x36112a,.16*d),_0x19d681),p2:s[k(722,W)](_0x123a38,_0x3ae9cd+.16*d,_0x2dbe7e),color:k(634,"Op9J"),strokeWidth:1.5}),_0x2ae2a2(_0x5381d2,{p1:_0x4fed01(_0xa4016b,s.tmmXJ(_0x195b81,.16*d)),p2:s.yZWJo(_0x29ddc2,_0x1df220,_0x1b6043+.16*d),color:s.PDmqB,strokeWidth:1.5})]})]})}if(a[k(426,"ZY6x")](_0x336090(RoundedRect,{x:r+3,y:i[k(564,"K84(")](i[k(476,"hXV2")](d,PH),3),width:_,height:PW,r:PR,color:n.SHADOW},t+"-sh")),a.push(_0x336090(RoundedRect,{x:r,y:d-PH-1,width:_,height:i[k(667,"YvaN")](PW,2),r:PR,color:n[k(528,"jqW(")]},t+"-ol")),a.push(_0x336090(RoundedRect,{x:r,y:i.YDHKe(d,PH),width:_,height:PW,r:PR,children:_0x336090(LinearGradient,{start:vec(e,d-PH),end:vec(e,d+PH),colors:[n[k(738,")T$P")],n[k(691,"R[*5")],n[k(555,"cBgd")],n[k(420,o)],n[k(487,")T$P")],n[k(376,"Ntz8")],n.MID,n[k(691,"R[*5")],n[k(430,"qbiq")]]})},t+k(788,"^5Jx"))),a[k(494,"cBgd")](i[k(686,"BTQV")](_0x336090,Rect,{x:r+2,y:i[k(575,"8gBj")](d,PH)+Math[k(682,"$vOP")](.28*PW),width:_-4,height:Math[k(567,"YvaN")](2,Math[k(703,"YvaN")](.1*PW)),children:_0x336090(LinearGradient,{start:vec(r,d),end:vec(i[k(771,"cBgd")](r,_),d),colors:[n[k(756,"I(CN")],"rgba(255,255,255,0.12)",n[k(479,"BTQV")]]})},t+k(718,"P518"))),C){const e=t[k(375,"mZmR")]("sl")?r:i[k(662,W)](r,_),o={};o.cx=e,o.cy=d,o.r=PH,o[k(659,"g4[X")]=n[k(437,"lG!r")],a[k(631,"6#X9")](_0x336090(Circle,o,t+k(732,"BzyS"))),a[k(631,"6#X9")](i.vhMux(_0x336090,Circle,{cx:e,cy:d,r:PH-1,children:_0x336090(LinearGradient,{start:vec(e-PH,d-PH),end:i[k(553,"cBgd")](vec,e+PH,d+PH),colors:[n[k(481,"g4[X")],n[k(720,"I(CN")],n[k(650,"y)(m")]]})},t+k(753,"CzOH")));const x={};x.cx=e,x.cy=d,x.r=BH+1,x.color=n[k(464,"ZY6x")],a[k(433,"y#39")](_0x336090(Circle,x,t+k(504,"^xt)")));const C={};if(C.cx=e,C.cy=d,C.r=BH,C[k(762,"mZmR")]=n[k(647,"vXMI")],a[k(400,"hXV2")](i.bdNZh(_0x336090,Circle,C,t+k(705,"K84("))),u){const r={};r.cx=e,r.cy=d,r.r=BH-1,r.color=n[k(710,"Op9J")],a[k(559,"[x0W")](_0x336090(Circle,r,t+k(402,"#Ftl")))}}},s=0!==i[_(772,"(YZG")](r,DIRECTION[_(514,"b%41")]),f=i.Ypryi(r&DIRECTION.BOTTOM,0),l=i[_(474,"ev^%")](r&DIRECTION[_(775,"a$4W")],0),m=i.Ypryi(r&DIRECTION.RIGHT,0);return s&&C("st",e,i.WScVW(t,HC),HC,!f&&!l&&!m),f&&C("sb",e,t,HC,!s&&!l&&!m),l&&k("sl",e-HC,t,HC,!m&&!s&&!f),m&&k("sr",e,t,HC,!l&&!s&&!f),a},renderFlanges=(e,t,r,n)=>{const o=_0x576e98,W={YKros:function(e,t){return e-t},JBzbm:function(e,t){return e-t},DxBfe:function(e,t){return e-t},etwJV:function(e,t){return e+t},CKTvD:o(632,"nyVV"),kxypQ:function(e,t,r,n){return e(t,r,n)},RdWSe:function(e,t){return e-t},siglW:function(e,t){return e-t},KFakW:o(698,"qbiq"),nhPBt:function(e,t,r){return e(t,r)},TLeZC:function(e,t){return e&t},zIHLZ:function(e,t){return e-t},JOFsR:function(e,t,r){return e(t,r)},Tjhqr:function(e,t){return e&t},ASYkM:function(e,t){return e-t},GegKm:function(e,t){return e+t},RRaFk:"fr-ol",wxlCz:function(e,t,r,n){return e(t,r,n)},dnVmR:function(e,t,r){return e(t,r)}},x=[],d=Math[o(671,"Zg7x")](FT/2);if(r&DIRECTION[o(508,"ZY6x")]){const r=W.YKros(t,HC);x.push(_0x336090(RoundedRect,{x:e-FHF-1,y:W[o(674,"9x]a")](r,1),width:FW+2,height:FT+2,r:d,color:n[o(660,"mZmR")]},"ft-ol")),x[o(386,"b%41")](_0x336090(RoundedRect,{x:W[o(454,"b%41")](e,FHF),y:r,width:FW,height:FT,r:d,children:_0x336090(LinearGradient,{start:vec(e-FHF,r),end:vec(W[o(776,"YTlJ")](e,FHF),r),colors:[n[o(694,"y#39")],n.DARK,n[o(483,"aNq8")],n[o(618,"a$4W")],n[o(406,"w!16")],n[o(462,"Odg)")],n[o(619,"BTQV")]]})},W[o(512,"Ntz8")]))}if(r&DIRECTION[o(749,"Zg7x")]){const r=t+HC-FT;x.push(W[o(388,"vXMI")](_0x336090,RoundedRect,{x:W[o(544,"y)(m")](W.siglW(e,FHF),1),y:r-1,width:FW+2,height:FT+2,r:d,color:n.OUTLINE},W[o(537,"8gBj")])),x.push(_0x336090(RoundedRect,{x:W[o(654,"jqW(")](e,FHF),y:r,width:FW,height:FT,r:d,children:W[o(431,"%5(#")](_0x336090,LinearGradient,{start:vec(e-FHF,r),end:vec(e+FHF,r),colors:[n[o(485,"y)(m")],n.DARK,n[o(721,"FFDq")],n[o(413,"^xt)")],n[o(637,"I(CN")],n[o(542,"9x]a")],n[o(430,"qbiq")]]})},o(780,"lG!r")))}if(W[o(441,"Ntz8")](r,DIRECTION[o(435,"ZY6x")])){const r=e-HC;x[o(480,"YTlJ")](_0x336090(RoundedRect,{x:r-1,y:t-FHF-1,width:W[o(543,"CzOH")](FT,2),height:FW+2,r:d,color:n[o(702,"ZY6x")]},o(455,"]qKR"))),x[o(707,"(YZG")](_0x336090(RoundedRect,{x:r,y:t-FHF,width:FT,height:FW,r:d,children:_0x336090(LinearGradient,{start:vec(r,W[o(614,"g4[X")](t,FHF)),end:W.JOFsR(vec,r,t+FHF),colors:[n[o(735,"b%41")],n[o(491,"hXV2")],n[o(420,"ZY6x")],n[o(463,"b%41")],n[o(377,"hXV2")],n.DARK,n[o(391,"a$4W")]]})},"fl-body"))}if(W[o(685,"y#39")](r,DIRECTION[o(725,"nyVV")])){const r=W[o(540,"jqW(")](e+HC,FT);x[o(782,"$vOP")](W[o(388,"vXMI")](_0x336090,RoundedRect,{x:r-1,y:W[o(598,"w!16")](t,FHF)-1,width:W.GegKm(FT,2),height:W[o(523,"b%41")](FW,2),r:d,color:n.OUTLINE},W[o(688,"nyVV")])),x[o(613,"VLMQ")](W[o(568,"qbiq")](_0x336090,RoundedRect,{x:r,y:W[o(389,"y#39")](t,FHF),width:FT,height:FW,r:d,children:_0x336090(LinearGradient,{start:vec(r,W[o(770,"(YZG")](t,FHF)),end:W[o(404,"57(7")](vec,r,t+FHF),colors:[n[o(678,"BzyS")],n[o(623,"Qz[N")],n.LIGHT,n.HILITE,n.LIGHT,n.DARK,n[o(421,"^5Jx")]]})},o(656,"(YZG")))}return x},renderJoint=(e,t,r,n)=>{const o="nyVV",W=_0x576e98,x={SPhLH:function(e,t){return e in t},mmtFS:"GLOW",UVJex:function(e,t){return e+t},TdJXG:function(e,t,r){return e(t,r)},DXGYB:function(e,t,r){return e(t,r)},nUKwq:function(e,t){return e-t},FPFul:function(e,t,r){return e(t,r)},frwAc:function(e,t,r){return e(t,r)},nyBMK:function(e,t){return e*t},FRzMp:function(e,t,r){return e(t,r)},JvHxV:function(e,t){return e-t},niifb:function(e,t,r){return e(t,r)},AtMUg:function(e,t){return e+t},ivQVb:"rgba(255,255,255,0)"};if([DIRECTION.TOP,DIRECTION[W(380,"y#39")],DIRECTION[W(393,"g4[X")],DIRECTION[W(517,"y#39")]].filter(e=>0!==(r&e))[W(396,")T$P")]<2)return null;const d=JR,_=x[W(438,"P518")](x[W(597,"(YZG")],n);return _0xbb33d1(Group,{children:[_0x336090(Circle,{cx:e+2,cy:x[W(635,"w!16")](t,3),r:x[W(457,"^5Jx")](d,1),color:n[W(459,"vXMI")]}),x[W(748,"YTlJ")](_0x336090,Circle,{cx:e,cy:t,r:d+1,color:n.OUTLINE}),x[W(429,"w!16")](_0x336090,Circle,{cx:e,cy:t,r:d,children:_0x336090(LinearGradient,{start:vec(x[W(475,o)](e,d),t-d),end:x[W(461,"P518")](vec,e+d,t+d),colors:[n[W(482,"g4[X")],n[W(418,"(YZG")],n.LIGHT,n.MID,n[W(591,"^4sB")],n.EDGE]})}),_0x336090(Circle,{cx:e,cy:t,r:BH+1,color:n[W(489,"VLMQ")]}),_0x336090(Circle,{cx:e,cy:t,r:BH,color:n[W(570,o)]}),x[W(601,"^xt)")](_0x336090,Circle,{cx:e-x[W(521,"CzOH")](d,.25),cy:t-.25*d,r:.32*d,children:_0x336090(LinearGradient,{start:x.FRzMp(vec,e-.25*d,x[W(548,")T$P")](t,.6*d)),end:x[W(531,"^5Jx")](vec,e-.25*d,x.AtMUg(t,.1*d)),colors:["rgba(255,255,255,0.70)",x[W(620,"g4[X")]]})}),_&&_0x336090(Circle,{cx:e,cy:t,r:x[W(538,"9x]a")](BH,1),color:n[W(639,"^5Jx")]})]},"joint")},renderSourceSink=(e,t,r,n,o)=>{const W="ZY6x",x="^5Jx",d=")T$P",_="!*0L",i=_0x576e98,a={gMFAA:i(610,"y)(m"),lawtH:function(e,t,r){return e(t,r)},CiOMb:function(e,t){return e+t},rlwrm:function(e,t){return e+t},GfCET:function(e,t){return e-t},uHGxe:function(e,t,r){return e(t,r)},AlGQX:function(e,t){return e*t},oEcmN:function(e,t,r){return e(t,r)},JmkeF:function(e,t){return e*t},EKmel:i(690,"R[*5"),PvPYu:function(e,t){return e+t},pKwbP:function(e,t){return e*t},ldHwn:function(e,t,r){return e(t,r)},wCsJe:function(e,t){return e*t},vuJKQ:function(e,t){return e*t},TcoAy:function(e,t,r){return e(t,r)},xunLy:function(e,t){return e*t},rBRHF:function(e,t,r){return e(t,r)},dHAXk:function(e,t){return e-t}},u=e[i(595,W)]===PipeType[i(518,x)],k=u?C[i(765,"^4sB")]:C[i(399,d)],s=u?C[i(373,"P518")]:C.SINK_GLOW,f=u?i(492,_):a.gMFAA,l=.32*CELL_SIZE;return _0xbb33d1(Group,{children:[renderPipeSegments(t,r,n,o),a[i(642,"VLMQ")](_0x336090,Circle,{cx:t,cy:r,r:a[i(723,d)](l,5),color:k+"18"}),a.lawtH(_0x336090,Circle,{cx:t+2,cy:r+3,r:l+2,color:i(415,"P518")}),_0x336090(Circle,{cx:t,cy:r,r:a[i(699,"b%41")](l,1),color:METAL[i(677,"Zg7x")]}),_0x336090(Circle,{cx:t,cy:r,r:l,children:_0x336090(LinearGradient,{start:vec(t-l,a[i(593,"!*0L")](r,l)),end:a.lawtH(vec,t+l,r+l),colors:[METAL[i(506,"CzOH")],METAL[i(501,"!*0L")],METAL[i(611,"YvaN")],METAL[i(737,"BTQV")],METAL.DARK,METAL[i(663,"K84(")]]})}),_0x336090(Circle,{cx:t,cy:r,r:.8*l,children:_0x336090(LinearGradient,{start:vec(t-l,r-l),end:a.uHGxe(vec,t+l,r+l),colors:[s,k,f]})}),_0x336090(Circle,{cx:t-.18*l,cy:r-.22*l,r:a[i(471,W)](l,.34),children:_0x336090(LinearGradient,{start:a[i(672,"$vOP")](vec,a[i(478,"Op9J")](t,.18*l),r-a[i(783,"6#X9")](l,.58)),end:vec(t-.18*l,r+a.JmkeF(l,.05)),colors:["rgba(255,255,255,0.75)",a[i(515,"YvaN")]]})}),u?a[i(414,"%5(#")](_0xbb33d1,_0x2d5d8c,{children:[a[i(467,"hXV2")](_0x336090,Line,{p1:vec(a.GfCET(t,.42*l),r),p2:vec(a.PvPYu(t,a[i(560,"cBgd")](l,.42)),r),color:"rgba(255,255,255,0.40)",strokeWidth:2}),a[i(384,"K84(")](_0x336090,Line,{p1:vec(t,r-a.wCsJe(l,.42)),p2:a[i(658,"#k4I")](vec,t,r+a[i(583,"q[E)")](l,.42)),color:"rgba(255,255,255,0.40)",strokeWidth:2}),a.TcoAy(_0x336090,Circle,{cx:t,cy:r,r:.14*l,color:i(578,"R[*5")})]}):_0xbb33d1(_0x2d5d8c,{children:[_0x336090(Circle,{cx:t,cy:r,r:.3*l,color:i(466,"lG!r")}),a[i(469,_)](_0x336090,Circle,{cx:t,cy:r,r:.22*l,children:a[i(683,"jqW(")](_0x336090,LinearGradient,{start:vec(t,r-a[i(460,"BzyS")](l,.3)),end:vec(t,r+.3*l),colors:[f,k]})}),_0x336090(Line,{p1:a[i(602,"9x]a")](vec,a[i(378,x)](t,.16*l),r),p2:vec(t+.16*l,r),color:"rgba(0,0,0,0.30)",strokeWidth:1.5}),_0x336090(Line,{p1:vec(t,r-a.pKwbP(l,.16)),p2:a.uHGxe(vec,t,a[i(716,"Op9J")](r,.16*l)),color:i(761,"vXMI"),strokeWidth:1.5})]})]})},useCellSig=(e,t)=>{const r=_0x38fbb7(3);let n;return r[0]!==t||r[1]!==e?(n=r=>{const n=_0xa539,o=r[n(604,"BzyS")][e]?.[t];if(!o)return"";const W=r[n(666,"]qKR")][o.id]?"1":"0",x=r[n(533,"lG!r")][o.id]??0;return o[n(511,"#k4I")]+":"+o[n(731,"CzOH")]+":"+W+":"+x},r[0]=t,r[1]=e,r[2]=n):n=r[2],usePipeConnectStore(n)},useCellRotation=(e,t)=>{const r=_0x38fbb7(3);let n;return r[0]!==t||r[1]!==e?(n=r=>r.grid[e]?.[t]?.rotation??0,r[0]=t,r[1]=e,r[2]=n):n=r[2],usePipeConnectStore(n)},PipeCellCanvas=_0xf5e390.memo(({row:e,col:t})=>{const r=_0x576e98,n={TjaeX:function(e,t){return e===t},djgKx:function(e,t,r){return e(t,r)},bxqlD:function(e,t){return e===t},FCALo:function(e,t){return e(t)},mKHmB:function(e,t,r,n,o,W){return e(t,r,n,o,W)},aDKIB:function(e,t,r){return e(t,r)},Vucqo:"none"},o=useCellSig(e,t),W=useCellRotation(e,t),x=useSharedValue(0),d=useRef(null);useEffect(()=>{const e=_0xa539,t=d.current;d[e(740,"Op9J")]=W,n[e(781,"lG!r")](t,null)||t===W||(x[e(622,"b%41")]=-90,x.value=n[e(443,"q[E)")](withTiming,0,{duration:170,easing:Easing[e(733,"Ntz8")](Easing.cubic)}))},[W,x]);const _={};_.rotate=x[r(755,"BTQV")]+"deg";const i=useAnimatedStyle(()=>({transform:[_]})),a=useMemo(()=>{const W=r;if(!o)return null;const x=usePipeConnectStore.getState(),d=x[W(590,"Zg7x")][e]?.[t];if(!d||n.bxqlD(d[W(505,"(YZG")],PipeType[W(424,"[x0W")]))return null;const _=!!x[W(453,"cBgd")][d.id],i=n[W(447,"$vOP")](getOpenDirections,d),a=_?WATER:METAL;return d[W(676,"Ntz8")]===PipeType[W(448,"Zg7x")]||d.type===PipeType.SINK?n[W(600,"#Ftl")](renderSourceSink,d,CX,CY,i,a):n.aDKIB(_0xbb33d1,Group,{children:[renderPipeSegments(CX,CY,i,a),renderJoint(CX,CY,i,a),renderFlanges(CX,CY,i,a)]})},[o,e,t]);if(!a)return null;const u={};return u[r(645,"BTQV")]=GRID_PADDING+t*CELL_SIZE,u[r(395,"#k4I")]=GRID_PADDING+e*CELL_SIZE,_0x336090(_0x394da7[r(539,"YTlJ")],{style:[cellStyles[r(419,"aNq8")],u,i],children:_0x336090(Canvas,{style:cellStyles.canvas,pointerEvents:n.Vucqo,children:a})})},(e,t)=>e[_0x576e98(582,"Op9J")]===t[_0x576e98(766,"ev^%")]&&e[_0x576e98(572,"BTQV")]===t[_0x576e98(719,"Qz[N")]);PipeCellCanvas[_0x576e98(558,"hXV2")]=_0x576e98(754,"9x]a");const _0x157059={};_0x157059[_0x576e98(465,"Qz[N")]=_0x576e98(697,"nyVV"),_0x157059[_0x576e98(387,"R[*5")]=CELL_SIZE,_0x157059[_0x576e98(768,"FFDq")]=CELL_SIZE;const _0x1487e5={};_0x1487e5[_0x576e98(456,"nyVV")]=CELL_SIZE,_0x1487e5[_0x576e98(768,"FFDq")]=CELL_SIZE;const _0x1fbc1f={};_0x1fbc1f.cell=_0x157059,_0x1fbc1f[_0x576e98(450,"57(7")]=_0x1487e5;const cellStyles=StyleSheet[_0x576e98(382,"!*0L")](_0x1fbc1f),CELL_POSITIONS=[];for(let e=0;e<GRID_ROWS;e++)for(let c=0;c<GRID_COLS;c++){const t={};t[_0x576e98(728,"$vOP")]=e,t[_0x576e98(773,"mZmR")]=c,CELL_POSITIONS[_0x576e98(758,"Odg)")](t)}const GridBackgroundCanvas=_0xf5e390[_0x576e98(759,"Ntz8")](e=>{const t="mZmR",r=_0x576e98,n={GCiwy:function(e,t){return e(t)},MhFdu:function(e,t){return e===t},eELgq:function(e,t){return e<t},AHoLi:function(e,t){return e+t},iniBU:function(e,t){return e+t}},o=n.GCiwy(_0x38fbb7,4),{boardWidth:W,boardHeight:x}=e;let d;if(n[r(606,"Zg7x")](o[0],Symbol[r(712,"aNq8")](r(757,t)))){d=[];for(let e=0;e<GRID_ROWS;e++)for(let t=0;n.eELgq(t,GRID_COLS);t++){const o=n[r(394,"BTQV")](GRID_PADDING,t*CELL_SIZE),W=GRID_PADDING+e*CELL_SIZE;d[r(422,"YvaN")](_0x336090(RoundedRect,{x:o+1,y:n[r(713,"mZmR")](W,1),width:CELL_SIZE-2,height:CELL_SIZE-2,r:4,color:C[r(599,"BTQV")]},r(493,"#Ftl")+e+"-"+t))}o[0]=d}else d=o[0];const _=d;let i;if(o[1]!==x||o[2]!==W){const e={};e[r(729,t)]=W,e[r(741,t)]=x;const n={};n.style=[StyleSheet[r(704,"FFDq")],e],n[r(562,"Zg7x")]=r(706,"$vOP"),n[r(535,"q[E)")]=_,i=_0x336090(Canvas,n),o[1]=x,o[2]=W,o[3]=i}else i=o[3];return i});GridBackgroundCanvas[_0x576e98(397,"BTQV")]=_0x576e98(633,"BzyS");const GameAreaComponent=({settings:e})=>{const t=_0x576e98,r={DnVin:function(e,t){return e===t},qLjfM:function(e,t){return e/t},sqMQF:function(e,t){return e-t},meAyK:function(e,t){return e/t},ozRUW:function(e,t){return e-t},dryYc:function(e,t){return e<t},yIRkD:function(e,t,r,n){return e(t,r,n)},DMYMf:function(e,t,r){return e(t,r)},GnPCl:function(e,t,r){return e(t,r)},qQVKM:function(e,t){return e+t},aNPhm:function(e,t){return e(t)},lgzvX:function(e,t,r){return e(t,r)}},n=usePipeConnectStore(e=>e[t(452,"Zg7x")]>0),o=usePipeConnectStore(e=>e.rotateCellAt),W=useRef(usePipeConnectStore.getState()[t(717,"Op9J")]);_0xf5e390[t(747,"ZY6x")](()=>{const e=t,n={tqnKS:function(e,t){return r[_0xa539(536,"g4[X")](e,t)},oaDkV:"WdxsW"};return usePipeConnectStore[e(777,"BzyS")](t=>{const r=e;if(n[r(711,"Odg)")]("mwqKF",n[r(541,"y#39")])){const e=_0x585555(3);let t;return e[0]!==_0x1dc40c||e[1]!==_0x2348ba?(t=e=>e[r(769,"^xt)")][_0xe10613]?.[_0x32d2e7]?.[r(651,"Zg7x")]??0,e[0]=_0x4cc092,e[1]=_0x5ab77d,e[2]=t):t=e[2],EhYqNR.TIlYJ(_0x2261eb,t)}W.current=t[r(736,"VLMQ")]})},[]);const x=r[t(423,"^5Jx")](useRef,e);x[t(669,"8gBj")]=e;const d=2*GRID_PADDING+GRID_COLS*CELL_SIZE,_=2*GRID_PADDING+GRID_ROWS*CELL_SIZE,i=useCallback((e,n)=>{const d=t;if(!W.current)return;const _=Math[d(529,"^4sB")](r[d(609,"b%41")](r[d(497,"8gBj")](e,GRID_PADDING),CELL_SIZE)),i=Math[d(500,"Qz[N")](r[d(527,"Op9J")](r.ozRUW(n,GRID_PADDING),CELL_SIZE));i>=0&&i<GRID_ROWS&&_>=0&&r[d(774,"^4sB")](_,GRID_COLS)&&o(i,_,x[d(549,"Zg7x")])},[o]),a=useCallback((e,t)=>i(e,t),[i]),u=r[t(714,"]qKR")](useMemo,()=>Gesture[t(621,"CzOH")]()[t(577,"CzOH")](e=>{runOnJS(a)(e.x,e.y)}),[a]),C=useMemo(()=>{const e=t;return n?CELL_POSITIONS[e(612,"g4[X")](({row:t,col:r})=>_0x336090(PipeCellCanvas,{row:t,col:r},e(681,"y)(m")+t+"-"+r)):null},[n]);if(!n){if("OCZOB"!==t(534,"^5Jx")){const e={};e[t(784,"BTQV")]=d,e.height=_;const r={};return r[t(513,"BzyS")]=[styles[t(616,"vXMI")],e],_0x336090(View,r)}{const e=_0x148f08-_0x2aea11;_0x42adae[t(480,"YTlJ")](_0x4f8a3c(_0x59b982,{x:e-1,y:zOfQCt[t(571,"$vOP")](zOfQCt[t(580,"nyVV")](_0x5a7cdf,_0x5d088d),1),width:_0x15564e+2,height:_0x146a99+2,r:_0x3764f1,color:_0x4bc339.OUTLINE},t(520,"6#X9"))),_0x3c9edd[t(428,"BzyS")](zOfQCt[t(408,"Ntz8")](_0x574b89,_0x4eb43c,{x:e,y:zOfQCt[t(692,"57(7")](_0x52229f,_0x192e6a),width:_0x39c9cd,height:_0x57f205,r:_0x534f4c,children:zOfQCt[t(701,"ev^%")](_0x19a345,_0x1278f9,{start:zOfQCt[t(641,"^5Jx")](_0x68dffe,e,_0x453049-_0x2a7ead),end:_0xee09d9(e,zOfQCt[t(787,"P518")](_0x3bec2f,_0x144ec6)),colors:[_0x4b2695[t(407,"R[*5")],_0x147f73[t(417,"q[E)")],_0x229e21[t(451,"]qKR")],_0x433f29[t(618,"a$4W")],_0x22a98a[t(689,"q[E)")],_0x3b9720[t(679,"]qKR")],_0x5a1933[t(743,"6#X9")]]})},"fl-body"))}}const k={};k.width=d,k[t(381,"Op9J")]=_;const s={};return s[t(786,"b%41")]=d,s[t(767,"Ntz8")]=_,_0x336090(GestureDetector,{gesture:u,children:_0xbb33d1(View,{style:[styles[t(589,"w!16")],k],children:[_0x336090(GridBackgroundCanvas,s),C]})})},_0xac335b={};_0xac335b[_0x576e98(778,"P518")]=_0x576e98(427,"57(7"),_0xac335b[_0x576e98(630,"nyVV")]=16,_0xac335b.overflow=_0x576e98(680,"FFDq");const _0x1bcdf4={};_0x1bcdf4[_0x576e98(563,"lG!r")]=_0xac335b;const styles=StyleSheet[_0x576e98(379,"$vOP")](_0x1bcdf4);export const GameArea=_0xf5e390[_0x576e98(444,"VLMQ")](GameAreaComponent);GameArea[_0x576e98(605,"$vOP")]=_0x576e98(734,"lG!r");
@@ -1 +0,0 @@
1
- "use strict";const _0x91850f=_0x59bf;!function(){const o=_0x59bf,e=_0x47ac();for(;;)try{if(993434==-parseInt(o(403,"91IP"))/1*(-parseInt(o(394,"v4oe"))/2)+parseInt(o(412,"a%P#"))/3+parseInt(o(409,"%7sf"))/4+parseInt(o(398,"^%[d"))/5*(-parseInt(o(386,"sl0G"))/6)+parseInt(o(388,"j[Mo"))/7*(-parseInt(o(410,"K#Yv"))/8)+-parseInt(o(414,"d[g7"))/9*(-parseInt(o(416,"LJ4h"))/10)+-parseInt(o(406,"s@BF"))/11)break;e.push(e.shift())}catch(o){e.push(e.shift())}}();import{c as _0x2ff25a}from"react/compiler-runtime";import _0x5b21ca from"react";import{View}from"react-native";import{useScore,useTime}from"../PipeConnectStore.js";import{formatScore}from"../PipeConnectService.js";import{ScoreBoardContainer,ScoreValue,ScoreTimer,scoreBoardStyles as _0x557198}from"../../../helpers/index.js";function _0x59bf(o,e){o-=386;const r=_0x47ac();let t=r[o];if(void 0===_0x59bf.aOybah){const o=function(o,e){let r,t,n=[],W=0,f="";for(o=function(o){let e="",r="";for(let r,t,n=0,W=0;t=o.charAt(W++);~t&&(r=n%4?64*r+t:t,n++%4)?e+=String.fromCharCode(255&r>>(-2*n&6)):0)t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(t);for(let o=0,t=e.length;o<t;o++)r+="%"+("00"+e.charCodeAt(o).toString(16)).slice(-2);return decodeURIComponent(r)}(o),t=0;t<256;t++)n[t]=t;for(t=0;t<256;t++)W=(W+n[t]+e.charCodeAt(t%e.length))%256,r=n[t],n[t]=n[W],n[W]=r;t=0,W=0;for(let e=0;e<o.length;e++)t=(t+1)%256,W=(W+n[t])%256,r=n[t],n[t]=n[W],n[W]=r,f+=String.fromCharCode(o.charCodeAt(e)^n[(n[t]+n[W])%256]);return f};_0x59bf.wZUbdH=o,_0x59bf.EVbmxI={},_0x59bf.aOybah=!0}const n=r[0];_0x59bf.didDQA!==n&&(_0x59bf.EVbmxI={},_0x59bf.didDQA=n);const W=_0x59bf.EVbmxI[o];return void 0===W?(void 0===_0x59bf.uRgPpU&&(_0x59bf.uRgPpU=!0),t=_0x59bf.wZUbdH(t,e),_0x59bf.EVbmxI[o]=t):t=W,t}import{jsx as _0x19d39f,jsxs as _0x495f65}from"react/jsx-runtime";export const ScoreBoard=_0x5b21ca.memo(o=>{const e=_0x59bf,r={KobXn:function(o,e){return o===e},UZgxO:function(o,e){return o!==e},paFTq:function(o,e,r){return o(e,r)}},t=_0x2ff25a(10),{offset:n}=o,W=r[e(397,"WEXz")](n,void 0)?0:n,f=useScore(),a=useTime();let s,d,i,x;if(t[0]!==f){const o={};o[e(393,"K#Yv")]=f,o[e(413,"a%P#")]=formatScore,s=_0x19d39f(ScoreValue,o),t[0]=f,t[1]=s}else s=t[1];if(r[e(419,"sl0G")](t[2],a)){const o={};o[e(396,"v4oe")]=a,o.lowThreshold=0,d=_0x19d39f(ScoreTimer,o),t[2]=a,t[3]=d}else d=t[3];if(t[4]!==s||r[e(418,"vZLk")](t[5],d)){const o={};o[e(387,"sl0G")]=_0x557198.row,o[e(408,"a%P#")]=[s,d],i=r[e(390,"h*F6")](_0x495f65,View,o),t[4]=s,t[5]=d,t[6]=i}else i=t[6];if(t[7]!==W||t[8]!==i){const o={};o.offset=W,o[e(417,"Mokx")]=i,x=_0x19d39f(ScoreBoardContainer,o),t[7]=W,t[8]=i,t[9]=x}else x=t[9];return x});function _0x47ac(){const o=["WQ7cLNNcG8kK","W6eQW78XW6i","WOzjWQ9XWP7cQ8k0jCkliZLZWPu","W4CeW6eLW4G","ySoYaCkwgg/dQSon","W6tcTXXCFmkuDZ8","D8kQA8o0Fa","rSobAwZdMxpcHe7dLvm2","W4ZdVhRcI8k4WRayW5C","WRFdSSkCW6tcLa","EKhcRmkuD3ZdPSkCha","WRKJW7uhcb10B17dKSo5Egu","pbFdT8kFyu7dLa","xrtcGJpdMa","WRjAhW/dN0TIW6K","xgFdSCo/WR0PFYaXWR5yxq0","WRBdPmkTjH3dTmkseSk+W5vFWQq0","W4fRomo9tmkKfgmvAMiYW5q","CM7dTCoAlmk6kCoz","F8kCnWNdHmonEsWjcW","WRpdGuZcJmkvjr4jW6iJ","CM7cOCk4ESoPCSkDASoGW7tdSSkqqG","W4fFWQ0cqMNcHCo1mmkgW5ehdSk1","z2dcQZBcLComWQa7WOVcKq","WPj3lSoxWRBcL8oTAa","W6FcNCkfWQi+W7uBWR/cVSkuWQmPFW","W7dcQmoeWQldICoxW4NdKGeDWPTu","zmo0qCkddxhdN8oXWO4","W4iMDCkcW6xdNCk5zmorW4LjFWu","WPDWnCowWRpcKCo8y8oZ","W6xcTLCEkmoLns93WPpdP0RdTW","W4/dTsNdJ8otW6GBW7m2W61AWOq","WPTcWP1aA3aGW64","W6BcVmoWEedcVSodmW"];return(_0x47ac=function(){return o})()}ScoreBoard[_0x91850f(391,"Qp32")]=_0x91850f(407,"]JYz");
@@ -1 +0,0 @@
1
- "use strict";const _0x49deb3=_0x135b;function _0x2ec3(){const e=["W4pdUCo+WONdTq","eefMra","WQhcS8kAdf0pW4HFn8kJj0e","h8oOW5VdUhiFoCoeWOpdRG","tSo5W4L4zSkPWO07W6RdMa","x0FcKH0Q","WOWpF8keWQm","graMuKeCAq","WPaFW6GVtW","WOhcKCkcWOpdVNmEoge","mHmkWOZcNG","WOBcKSobWOjKoCkSiG7cGfxdVa","f1D3qMXQWPtdPCkkd8oLW5e","WRadW44zAvBcOa","W4m3mqVcKq","wCkOWOZcSfOue8oXWPNdVH0isq","WRJcUCouWQbM","W6GSheKf","WPFcTfxcV8oBW7K","W48pdCoHWPtdJYTGW7ldJNBcGSos","D13cQSk5WQa","whpdJc8Nl1hdHMOT","wCkpW7JdNSkt","z8oziIBdOq","WRxdNSo7WOmiWPCAWQf8wmk8W5K","W4PGW7WGaMxdG8kqWO8Mwa","tfL5t25gW7zr","DCk8r8oCWPzNjupcGSouWQ8hFq","e09Aud8","W6bfDJm5W5O7WOnPgCkKW6ieW47dS2xcUSk6W64jx8off8oSW6yl","DCkJhgJdJhVcJmkcW4JcTmo2CSkFBCk2WQbRcG","iCoWsJVcIsJcOSkgW63cMSogya","j8knWQVcRSo6ASoHW4f0","ChZcKbeWWOZdK8o5W5G","ymowW6hcMW","xNhdJcf/D0ZdT0CtW4Dj","WRSfW7WuDupcTSkQ","hSkZW44fga","W499zdJcSv1hsGW9W4eq","d8k5m8kAWOe","teGcsKyiBSoz","t2FcLXvm","h1D2s2fPWP/dSCkVe8otW4e","wNb2WPa","W7LSW7CPiW","sq4SfWe2WR7dSCkom8obW5e","WQxdLvuQW4OiWOzxWRlcTSolW78","DmkiihJdQq","DCkNh2JdQNpcLCkcW7ZcJ8o3CW","tW7dHCoDWPa","bSk5jNFcMW","W65tuG4OW4mWWOu","W6SCkMq","B2NcNYyL","W5TeW4SycW","W7tcGhK2W7CaWPXF","ufjmW4tdQSkkW4/dH8kpamkGWPm","i8o+rttcIIZcTmkcW53cR8oLyW","WR8bWO9ufgpdSCkuWOK5","tCk7wCopWQe","W4HHcgVdLW","e052As0","WRxdGxShW4W","W7pdLdW1WP4","tCk5WPFcKNWCemo2WQldOdmcv8oaWPRdM8o7emohWO1XWQnxW7n0W44","eNfvAJm","vfrlW4/dRmouW6xdJSkkgSkj","drNdRSoRW6y+A8o6WPH4W7NdIa","vgRcPt9JqmoUpmkbW4LQEe8mtxhcKc7cHdtcMW"];return(_0x2ec3=function(){return e})()}!function(){const e=_0x135b,t=_0x2ec3();for(;;)try{if(352881==-parseInt(e(168,"Yb6K"))/1+-parseInt(e(197,"H@cl"))/2+-parseInt(e(222,"3Kfc"))/3*(-parseInt(e(221,"T1IF"))/4)+-parseInt(e(178,"Zoxc"))/5+-parseInt(e(198,"b]m$"))/6*(parseInt(e(163,"3Kfc"))/7)+parseInt(e(187,"&8dW"))/8*(parseInt(e(170,"pASc"))/9)+-parseInt(e(175,"tnD9"))/10*(-parseInt(e(154,"H@cl"))/11))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{setGameInterval,clearGameInterval}from"../../helpers/GameTimer.js";import{POPIT_FIDGET_GAME_CONFIG as _0x31e66e,POPIT_FIDGET_ANIMATION_CONFIG as _0x3b4e38,POPIT_FIDGET_COLORS as _0x2e652e,RAINBOW_COLORS,BUBBLE_COLORS}from"./PopitFidgetConstants.js";function _0x135b(e,t){e-=154;const o=_0x2ec3();let W=o[e];if(void 0===_0x135b.OriEdB){const e=function(e,t){let o,W,n=[],r=0,d="";for(e=function(e){let t="",o="";for(let o,W,n=0,r=0;W=e.charAt(r++);~W&&(o=n%4?64*o+W:W,n++%4)?t+=String.fromCharCode(255&o>>(-2*n&6)):0)W="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(W);for(let e=0,W=t.length;e<W;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),W=0;W<256;W++)n[W]=W;for(W=0;W<256;W++)r=(r+n[W]+t.charCodeAt(W%t.length))%256,o=n[W],n[W]=n[r],n[r]=o;W=0,r=0;for(let t=0;t<e.length;t++)W=(W+1)%256,r=(r+n[W])%256,o=n[W],n[W]=n[r],n[r]=o,d+=String.fromCharCode(e.charCodeAt(t)^n[(n[W]+n[r])%256]);return d};_0x135b.mNNdwS=e,_0x135b.tlJzmb={},_0x135b.OriEdB=!0}const n=o[0];_0x135b.afLWVl!==n&&(_0x135b.tlJzmb={},_0x135b.afLWVl=n);const r=_0x135b.tlJzmb[e];return void 0===r?(void 0===_0x135b.vQJMmr&&(_0x135b.vQJMmr=!0),W=_0x135b.mNNdwS(W,t),_0x135b.tlJzmb[e]=W):W=r,W}export{_0x31e66e as GAME_CONFIG,_0x3b4e38 as ANIMATION_CONFIG,_0x2e652e as COLORS,BUBBLE_COLORS};export class PopitFidgetService{[_0x49deb3(204,"dzRq")]=null;constructor(){}[_0x49deb3(196,"H@cl")](){const e=_0x49deb3,t={};t[e(210,"xc(2")]=function(e,t){return e*t},t.zHihT=function(e,t){return e<t},t.vRTll=function(e,t){return e<t},t.pgFqa=function(e,t){return e+t},t[e(159,"T1IF")]=function(e,t){return e/t};const o=t,W=_0x31e66e[e(199,"@PuX")],n=_0x31e66e[e(191,"xc(2")],r=1.12*n,d=o[e(162,"vIKs")](W-1,r)+n,s=o[e(189,"QrE%")](W-1,r)+n,x=[];for(let t=0;o[e(188,"x1tg")](t,W);t++){x[t]=[];for(let d=0;o[e(172,"Fv!E")](d,W);d++){const s=o[e(210,"xc(2")](d,r)+n/2,f=o[e(194,"vIKs")](t*r,n/2);x[t][d]={id:t+"-"+d,row:t,col:d,x:s,y:f,isPopped:!1,color:this[e(195,"EAAU")](t,W)}}}return{size:W,bubbles:x,centerX:o.wuCHR(d,2),centerY:s/2,width:d,height:s}}getRainbowColorForPosition(e,t){const o=_0x49deb3,W={};return W[o(158,"vIKs")]=function(e,t){return e%t},RAINBOW_COLORS[W.pfjHs(e,RAINBOW_COLORS[o(184,"bGOi")])]||RAINBOW_COLORS[0]}[_0x49deb3(165,"mu1o")](e){const t=_0x49deb3,o={};o[t(166,"tnD9")]=function(e,t){return e+t},o[t(220,"xc(2")]=function(e,t){return e*t},o[t(205,"DBRD")]=t(213,"H@cl");const W=o;for(let o=0;o<e[t(209,"b@4t")];o++)if("fNRuW"===W.MpJNL)for(let W=0;W<e[t(218,"AKw3")];W++){const n=e.bubbles[o]?.[W];if(n&&!n[t(202,"BZl4")])return!1}else{_0x259538[_0x2004fb]=[];for(let e=0;e<_0xc2be09;e++){const o=SzzYAO[t(157,"p3Fd")](SzzYAO[t(176,"3Kfc")](e,_0x4c6466),_0x1885f3/2),W=SzzYAO[t(183,"AKw3")](_0x12da38*_0x4d2521,_0x371dfd/2);_0x2c0087[_0x47122f][e]={id:_0x5bf511+"-"+e,row:_0x3419a3,col:e,x:o,y:W,isPopped:!1,color:this[t(161,"(LrT")](_0x470234,_0x26f01c)}}}return!0}calculateCompletionPercentage(e){const t=_0x49deb3,o={};o[t(215,"zvc!")]=function(e,t){return e<t},o.TTmVT=function(e,t){return e>t},o[t(203,"Db8v")]=function(e,t){return e*t};const W=o;let n=0,r=0;for(let o=0;W[t(180,"bj4f")](o,e[t(167,"vIKs")]);o++)for(let W=0;W<e[t(200,"b]m$")];W++)if("XGFsJ"!==t(219,"@PuX")){const e=_0x1f3981.bubbles[_0x51051f]?.[_0x3f0660];e&&(_0x3be777++,e[t(192,"LM0f")]&&_0x20ee7c++)}else{const d=e[t(179,"BZl4")][o]?.[W];d&&("BiDTJ"!==t(174,"BZl4")?(_0x4e1070++,_0x5a2c5f.isPopped&&_0x419ff0++):(n++,d[t(217,"EAAU")]&&r++))}return W[t(216,"Am[Z")](n,0)?W[t(207,"mu1o")](r/n,100):0}startGameTimer(e,t,o){const W=_0x49deb3,n={};n[W(160,"qeni")]=function(e,t){return e===t},n[W(156,"VlV&")]=W(182,"5d)l");const r=n;this[W(185,"znE1")]();let d=e;this[W(214,"H@cl")]=setGameInterval(()=>{const e=W;d-=1,t(d),d<=0&&(r[e(160,"qeni")](e(171,"@PuX"),r[e(186,"cDnX")])?(_0x43940f(this.gameTimerRef),this[e(211,"Zoxc")]=null):(this[e(181,"(LrT")](),o()))},1e3)}stopGameTimer(){const e=_0x49deb3;this[e(190,"JQEX")]&&(clearGameInterval(this[e(177,"5d)l")]),this[e(212,"T1IF")]=null)}[_0x49deb3(173,"*mvG")](){this[_0x49deb3(193,"VlV&")]()}}
@@ -1 +0,0 @@
1
- "use strict";const _0x5db48c=_0xfc25;!function(){const o=_0xfc25,e=_0x2a49();for(;;)try{if(169332==parseInt(o(289,"fKHq"))/1*(parseInt(o(379,"d6Ir"))/2)+-parseInt(o(334,"4c@f"))/3+-parseInt(o(347,"&QRU"))/4+parseInt(o(363,"rDe0"))/5+parseInt(o(365,"&QRU"))/6+parseInt(o(349,"BUl4"))/7*(parseInt(o(336,"u*Ev"))/8)+parseInt(o(317,"&VsL"))/9)break;e.push(e.shift())}catch(o){e.push(e.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{immerMiddleware}from"../../services/UtilsService.js";import{POPIT_FIDGET_GAME_CONFIG}from"./PopitFidgetConstants.js";import{calculateTimeBasedScore}from"../../services/ScoringService.js";function _0xfc25(o,e){o-=273;const t=_0x2a49();let W=t[o];if(void 0===_0xfc25.akeyHB){const o=function(o,e){let t,W,d=[],n=0,r="";for(o=function(o){let e="",t="";for(let t,W,d=0,n=0;W=o.charAt(n++);~W&&(t=d%4?64*t+W:W,d++%4)?e+=String.fromCharCode(255&t>>(-2*d&6)):0)W="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(W);for(let o=0,W=e.length;o<W;o++)t+="%"+("00"+e.charCodeAt(o).toString(16)).slice(-2);return decodeURIComponent(t)}(o),W=0;W<256;W++)d[W]=W;for(W=0;W<256;W++)n=(n+d[W]+e.charCodeAt(W%e.length))%256,t=d[W],d[W]=d[n],d[n]=t;W=0,n=0;for(let e=0;e<o.length;e++)W=(W+1)%256,n=(n+d[W])%256,t=d[W],d[W]=d[n],d[n]=t,r+=String.fromCharCode(o.charCodeAt(e)^d[(d[W]+d[n])%256]);return r};_0xfc25.Acvjpg=o,_0xfc25.EKLQoT={},_0xfc25.akeyHB=!0}const d=t[0];_0xfc25.FGLMYa!==d&&(_0xfc25.EKLQoT={},_0xfc25.FGLMYa=d);const n=_0xfc25.EKLQoT[o];return void 0===n?(void 0===_0xfc25.pyZbEh&&(_0xfc25.pyZbEh=!0),W=_0xfc25.Acvjpg(W,e),_0xfc25.EKLQoT[o]=W):W=n,W}function _0x2a49(){const o=["ffhdN0xcPZXVW47dM3JcJZGC","cCoVa8kvhCoMWQJcVGKZWP3dPtq","WPGsW5FdJKxdSWC2vJhdUCoFpG","WRxcTmkIW4BdQG","DCkFqmofW4HIWO4wW5/cNfOzda","nHNcPSkvna","WR0RkCoapmk9W5ZcSCkbWONdOmkE","WQhcTSkGW5hdGmk6vCkr","uSojaZ7cLxz7W5zuWPi","qH/dR8ooW5KYm2TP","n8oOW6/dONC","cZhcPSkEf8opbYq","cCoVa8kvhCoMWOJcMGC3WOJdSW","WQ/dO8o3W6jptCoedmk7b8kAW63cMG","D8kHjCkuW6dcUrRcHhSEy8kUcG","dSoYhmo2ca","gSoWhSoHiSooWPyl","x8koW47cTXO","iXVcPSkDw8kEhIhdGW","cCo4hSoHp8oDWP4ygvJcG0uL","ASoyWP5DW4ZcSSkFW644WPBcNW3dOW","dCoZbCkqfmo3WPZcNa8N","oCkCW4KkWPldPCoC","W4TfWObiWQOifmovCCol","k23dTHrG","WO/cJSk1A8oFW4j7pdKnxmk8W60","hmkOW6yTWQhdHmo6W64ZWPVcTWRdPa","vSovbtVcNgDVW5bCWOlcTCoh","nSokkHO","h8oKeCoMaCoDWOaPh0BcMK4M","WP7dLaRcUduyWQ1gWQhdGmo4jW0","W6ZcLspdS8kZu8k7kW","c8klp8oOW40","W7RdVSomh8k3WRyDbraYz8kWW7e","CSk2pCkEzhH1WP8PhmorwG","WQ/cPmkDW5JdRSk1wCknmW","WPeeW6yDWQa8l8opwG","W4aeF8kgbq","WQBcOmkSpeG","WOLVjG8r","WR9HW7xdTdrFWOa3AZqjW7q","W7qnsmohWQS","qXpcIXtdVw9OW7RdHetcSba","WQVcKCk5i23dJSopjSox","tSkNqCkWdSovWROHn3G","xCotnZxcKxTvW4PA","W6i4CXNdVCocugBcNmojWOxdRmkq","CbT7WQJcRmonoCosWO4","u8obcJZcP21s","gv/dRJjEA8kL","WQ/dHdNcVKu","gmo5dSkffa","aSoPmCkBemo6WRlcGae","WP7dKHpcVaS/WRvfWQRdGSo0oG","nmkJa19wq8oZ","c8o/afydrmoTWPFcGu/cLmohvq","CCkxDCoUW7e","jmkqgCknw8kJWOddTSkPWPO","lahcKSkwx8ktmd3dJqm","xmkNuqruaSkAWRFcONi","imkRff8","W6qJWPpcR3CFWRCc","WP40WQ5GASkafSkIhmoRWRrEW68","bspcM8kxoCoacZJdJa","iSoeW4FdSNVdPmkSv8kOWQ4","W5RdNSoSp8k/WP0M","uSouj8o3zW","W6uYCq7dIG","W6ZcLspdS8kRsSkW","cJNcR8kCpConjstdGSkf","gv/dRJjgCSkUpG","WQnDbmogwIxcP2ZcKhdcIJm","oqVcMCkdxW","dmo9aLOjlmkQWQFcNvxcHq","tmkpt2RcVSohW4S","pKtcRCoozmkjW4hdV8kxW4q","omoxkCoEgq","ALNcU8o6zCkzW5C","dIxcQCkznmoCeqBdHmkrWPCSbG","W5VcIvhdPvvpWQj9WQ7dL8oPjG","bK/cUHNcLCkbFsW","WRlcVSkGW5hdNCkPxCkcpvJcNxtdNa","pszmF1ldICkCxCovxCoGW4vk","iWXwwgC","mComjb4GiLHIWRSCo8kp","W5tcQejXvCocdmkZeCk5W6VdNW","WRyTg8oomCkHW6BcQ8kh","WR8KWRhcK2mlWOm","buFdKLxcRG","ox/dJHjwqmkEhSo+q8oIW44U","W4vMCSoVBLyVWRet","WQRdHCo8W6D3","wmkeW4ZcOc3cMmogWO4KzfmqmW","rCkEW7hcQr7cHmocWOeQ","WO42bSowpa","dvFdUti","eCoVkSozdmkjjW","cM3dPr9/","wmk7vWfDe8kUWPxcPgBcHCoQEa","c8kbkSo/","W5GXreL3WP7cHhysW67cU8oqW6i","WOpdJJFcSHCnWQvd","lCoEW7pdUx/dQCkcs8kM","xSkoW5ijAMDQW7u","jCo0ACoppITsWO84jmo7za","W7FdO8o7WOZcVCo+uSk5mK/cJhu","ymo0xa5IqCouWP0NW6y","hSkbnmo9W43dS8odWPLZW6W"];return(_0x2a49=function(){return o})()}export const usePopitFidgetStore=create()(subscribeWithSelector(immerMiddleware((o,e)=>({timeRemaining:POPIT_FIDGET_GAME_CONFIG[_0x5db48c(374,"hk6h")],isPlaying:!1,gameOver:!1,gameWon:!1,fidgetGrid:null,bubblesPopped:0,totalBubbles:0,score:0,bubbleStates:{},startGame:(e=POPIT_FIDGET_GAME_CONFIG.GAME_DURATION)=>{const t=_0x5db48c;({paXNk:function(o,e){return o(e)}})[t(348,"cpy8")](o,o=>{const W=t;o[W(344,"OSpF")]=!0,o[W(362,"M&$M")]=!1,o[W(357,"&VsL")]=!1,o[W(276,"Fa@l")]=e,o[W(282,"&QRU")]=0,o[W(343,"OSpF")]=0})},stopGame:()=>{o(o=>{const e=_0xfc25;o.isPlaying=!1,o[e(303,"@@uR")]=!0})},resetGame:()=>{o(o=>{const e=_0xfc25;o[e(311,"u*Ev")]=POPIT_FIDGET_GAME_CONFIG[e(273,"M&$M")],o[e(301,"g0%E")]=!1,o.gameOver=!1,o.gameWon=!1,o.fidgetGrid=null,o[e(292,"4c@f")]=0,o[e(377,"9sF4")]=0,o[e(309,"Fa@l")]=0,o[e(304,"OSpF")]={}})},setFidgetGrid:e=>{const t="M&$M",W=_0x5db48c,d={YkWbj:function(o,e){return o+e},dBEsD:function(o,e){return o+e},bsaFB:function(o,e,t,W){return o(e,t,W)},tSfHv:function(o,e){return o*e}},n=d[W(281,t)](e[W(279,t)],e[W(320,"MKPC")]);o(o=>{const t=W;if("bioLJ"!==t(342,"87no")){o[t(356,"9r3#")]=e,o.totalBubbles=n,o[t(293,"OSpF")]=0,o.bubbleStates={};for(let W=0;W<e.size;W++)for(let d=0;d<e[t(283,"o]Ki")];d++){const t=e.bubbles[W]?.[d];if(t){const e={isPopped:!1};o.bubbleStates[t.id]=e}}}else{if(!_0x6f217e[t(291,"o]Ki")])return;const o=_0x1d5d73[t(351,"&QRU")].bubbles[_0x5163dd]?.[_0x356b0a];if(!o)return;const e=_0x28d688[t(298,"d9Vs")][o.id];if(e?.[t(353,"d6Ir")])return;const W={isPopped:!0};if(_0x3ce184[t(326,"Hu[)")][o.id]=W,_0x429252[t(321,"u*Ev")]=d[t(375,"hk6h")](_0x261c76[t(370,"@@uR")],1),_0x241b84[t(307,"u*Ev")]=d[t(330,"(lFb")](_0x1ce6d9.score,100),_0x53cbb1[t(337,"eu)%")]&&_0x367a6c[t(305,"8OG#")]>=_0x1254c0[t(376,"MKPC")]){const o=_0x3d8460.GAME_DURATION-_0x2db4b9.timeRemaining;_0x5217f2[t(364,"bQq!")]=d.bsaFB(_0x2fe578,o,_0x3ee2f9.GAME_DURATION,_0x125a85[t(333,"i7qw")]),_0x467c8e[t(328,"cQTE")]=!1,_0x1d907d.gameWon=!0,_0x296f1a[t(323,"uQ]U")]=!0}}})},popBubble:(e,t)=>{const W={coVwQ:function(o,e,t,W){return o(e,t,W)}};o(o=>{const d=_0xfc25;if(!o[d(313,"OSpF")])return;const n=o[d(367,"[1K9")][d(366,"gPo%")][e]?.[t];if(!n)return;const r=o[d(319,"eu)%")][n.id];if(r?.isPopped)return;const i={};if(i[d(285,"Uj%z")]=!0,o.bubbleStates[n.id]=i,o.bubblesPopped=o[d(294,"1yTP")]+1,o[d(295,"fKHq")]=o[d(307,"u*Ev")]+100,o[d(274,"m!F4")]&&o.bubblesPopped>=o[d(345,"Uj%z")]){const e=POPIT_FIDGET_GAME_CONFIG[d(306,"L)*v")]-o[d(296,"cpy8")];o[d(359,"*a@&")]=W[d(331,"e7o(")](calculateTimeBasedScore,e,POPIT_FIDGET_GAME_CONFIG[d(318,"cH&H")],o[d(324,"o]Ki")]),o[d(355,"@@uR")]=!1,o[d(360,"uQ]U")]=!0,o.gameOver=!0}})},decrementTime:()=>{const e=_0x5db48c,t={};t[e(302,"9r3#")]=function(o,e){return o-e},t[e(278,"d9Vs")]="ZUsOC";const W=t;o(o=>{const t=e;o.timeRemaining>0&&(o[t(338,"*a@&")]=W.sELwi(o.timeRemaining,1)),o[t(310,"bQq!")]&&o[t(373,"fKHq")]<=0&&(W[t(329,"rDe0")]!==t(316,"M&$M")?(o.isPlaying=!1,o[t(346,"F6zj")]=!1,o.gameOver=!0):(_0x28e787[t(286,"9r3#")]=!1,_0xbe7bfa[t(280,"H&OR")]=!1,_0x4a6784[t(287,"5U)]")]=!0))})},checkGameLost:()=>{const t=_0x5db48c,W=e();W[t(327,"fKHq")]&&W[t(354,"05fg")]<=0&&{EFZZt:function(o,e){return o(e)}}[t(368,"u*Ev")](o,o=>{const e=t;if("ZImnl"===e(297,"@@uR"))o[e(339,"OQa!")]=!1,o[e(341,"M&$M")]=!1,o[e(299,"fKHq")]=!0;else{const o=_0x2e8ac6.GAME_DURATION-_0x46b244[e(322,"Uj%z")];_0x1aaf9f[e(358,"OV*i")]=_0xa5a69(o,_0x5ed98b[e(325,"&VsL")],_0x102683[e(380,"4c@f")]),_0x3bab83[e(378,"d9Vs")]=!1,_0x160637[e(340,"eu)%")]=!0,_0xfd0f41.gameOver=!0}})},checkGameWon:()=>{const t=_0x5db48c,W={};W[t(275,"8OG#")]=function(o,e){return o<e};const d=W,n=e();if(!n[t(300,"eu)%")])return;let r=!0;for(let o=0;o<n[t(350,"bQq!")][t(352,"F6zj")];o++){for(let e=0;d.gSigT(e,n[t(361,"@@uR")][t(352,"F6zj")]);e++){const W=n.fidgetGrid[t(314,"cH&H")][o]?.[e];if(W){const o=n.bubbleStates[W.id];if(!o?.[t(372,"Zfvr")]){r=!1;break}}}if(!r)break}r&&n[t(335,"(lFb")]&&o(o=>{const e=t;o[e(277,"Fa@l")]=!1,o.gameWon=!0,o[e(308,"u*Ev")]=!0})}}))));
@@ -1 +0,0 @@
1
- "use strict";const _0x5560e5=_0x124d;function _0x124d(e,t){e-=254;const r=_0x1f8d();let W=r[e];if(void 0===_0x124d.pRoYYu){const e=function(e,t){let r,W,o=[],n=0,d="";for(e=function(e){let t="",r="";for(let r,W,o=0,n=0;W=e.charAt(n++);~W&&(r=o%4?64*r+W:W,o++%4)?t+=String.fromCharCode(255&r>>(-2*o&6)):0)W="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(W);for(let e=0,W=t.length;e<W;e++)r+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(r)}(e),W=0;W<256;W++)o[W]=W;for(W=0;W<256;W++)n=(n+o[W]+t.charCodeAt(W%t.length))%256,r=o[W],o[W]=o[n],o[n]=r;W=0,n=0;for(let t=0;t<e.length;t++)W=(W+1)%256,n=(n+o[W])%256,r=o[W],o[W]=o[n],o[n]=r,d+=String.fromCharCode(e.charCodeAt(t)^o[(o[W]+o[n])%256]);return d};_0x124d.lNdsbO=e,_0x124d.aHWFvb={},_0x124d.pRoYYu=!0}const o=r[0];_0x124d.bMWhvB!==o&&(_0x124d.aHWFvb={},_0x124d.bMWhvB=o);const n=_0x124d.aHWFvb[e];return void 0===n?(void 0===_0x124d.aNjHUE&&(_0x124d.aNjHUE=!0),W=_0x124d.lNdsbO(W,t),_0x124d.aHWFvb[e]=W):W=n,W}function _0x1f8d(){const e=["WODAmKOI","zSoEvSkTW5SSW6/cKxvQWP7dT8oRW5hdS8kIxJLHt2HOWPFcKgi","WPiYW6WRFq","W5GpyLFdKW","WR0bW5aCW64","W5ddJ8koW57cK3JdL8odWQ8ZW4/cKG","W4z6qHlcK8o+W6ZdTXRcLsS7fG","WR5bA8kitCktWOaVW7FdT8o1W6j0jMvfW4CYE8oYAKDByfa","W5xcUCkyW7FdGa","W4GUrL7cISoKW4SummompmkaWPldO8o9tSofeSoyCZWA","WQJdOtKYzmo9","WOn9W5KbW7W","z2dcUCkvxa","W5FdHmkmW57cNqBdVmo/WO0sW7W","vN7dOCkkqa","WO8tW7SVq8ktya","WOGJFwVdOCkUWPW","WQ0EzSkq","WRFcNr7cHJ4","WOZcLSomWPVdJcldI8obWO8KW7pcTCoU","W4b6qrlcKCo2WOddTrNcOXCn","W7VdMIGNW6i","cw7cRcddUaWO","s3FdHSkfddOPpxqigqFdOSocWPWDk8o4jsGNEq","W6NcJmk9W5mJ","W4DEntrpW7hdHSobwsvCW6JdLmkbt8kgWQNcSSkN","F2lcPJ8","WR0hW4u","WR5WWPSJWP4","eSovs8oOWOldPa","vYut","aNDuW7fYBmofW7xdLa","W6xcHH1FzW","W7VdOwVcNSoHnmoUWOpdTKhdVNS","WOGAW6W0W6u","WQ/cRCo6W7Wa","y0hcVSk5ya","zmkDW6RdM1WTW5K","agtcLxOskJ5EWRbNWOldOSk3","WOiYW7GZWP8KiKKwWQalBw7cI8kQW4hcPKeVeglcJ8oXW4tcIW","W5BdJ8knW57cKxdcU8obWQWfW7pcPmoA","ACkgW4RdNfCH","WQ7cRq/cNLLvW64ufCkeEh0bwCopWONdUaNcN8kjW65c","wxhcLXBdLXe","WOyLeulcJ8o9W6ZcRhtdTNv6CYdcPGCGvhGuFSkTWO3cJqG","cIdcLCotfJWSudLMywlcTG","WRG1WRWepG","WOxcJmoIpWG","WRZcTtNdJCo+mmkWW5xcRJ/cVdiSW4JcNCk1WRRdNuy","Cc/dSCoFW7LksG","xCkeW73dQ2e","WRbulG","WPZdVt4N","WR/dPZ4cBCo+","wCodW6zcW7O","WPX6kemc","wSoeWPxcH8kjiSoSWPlcTw5pWO4uhxWqW7xcVSos","W5tcU2hdIv10iSkZW6lcJL7dHW","uSonW7PzW6hcU8kBmrviWQSUyG","WRLEWOtdJSo1c8kKsSoeWOC5lCkMcGOQW7T5bmoXgG8","FCksW4tdI14","WRZcTtNdJCo+mSkPW4dcSJpcRJC1W4tcJCkPWRZdNunFf8ovaqBcHW","Ah7cRJVcJmkFW6/cGW","WQvkWP83WQK4W4G","W77dOsegW4aj","WQ9tE8kBamopW4e","bNrsWPS0oSkYW6hdIsNcNgxcGW","xwxdLSkfugfZzG","WQWxW5msW6Cy","WQvqWOeQWR4","W5ldSCkPsmkA","WP8iqCkUca","pCoLBCodWRVdJa","gSkJWR9xWRK","WQLmWOtdJCkXxa","W4j2rHhcKCo7W6NdQINcHXidhG","vgRcSX3dLruMW4lcHSoN","W5tcKmkYW7ddGW","j8kkbmo9W4TzWQJdTdOEW48","WQ/cNSoEW7yDhG","W6BcUmkCW4JdSW","W5ZdGSkjW5ZcKhNcVmoUWRKhW5dcP8oP","W4DEntrpW7hdHSobwsvCW6JdLmkbt8kb","WQylW5yyW6CuCSkNmG","W67dVv7cPWefWPXgvq","xNBdHCkWsW","nmouASo+WPC"];return(_0x1f8d=function(){return e})()}!function(){const e="HHqQ",t=_0x124d,r=_0x1f8d();for(;;)try{if(426639==parseInt(t(336,"HHqQ"))/1+parseInt(t(266,"p!7N"))/2*(-parseInt(t(277,"!%qg"))/3)+parseInt(t(289,"0EiY"))/4+-parseInt(t(337,"^XIJ"))/5+-parseInt(t(257,e))/6*(parseInt(t(328,"ru56"))/7)+-parseInt(t(310,"JZN3"))/8+parseInt(t(325,e))/9)break;r.push(r.shift())}catch(e){r.push(r.shift())}}();import _0x245810,{useMemo}from"react";import{View}from"react-native";import{Canvas,Circle,Group,LinearGradient,RadialGradient,vec}from"@shopify/react-native-skia";import _0x43cfe1,{useSharedValue,useAnimatedStyle,withTiming}from"react-native-reanimated";import{Gesture,GestureDetector}from"react-native-gesture-handler";import{runOnJS}from"react-native-reanimated";import{playHaptic,HapticType}from"../../../services/HapticsService.js";import{lighten,darken}from"../../../services/GamesConstants.js";import{usePopitFidgetStore}from"../PopitFidgetStore.js";import{jsx as _0xc7985c,jsxs as _0x35b340}from"react/jsx-runtime";const BUBBLE_3D_CACHE=new Map,getBubble3DColors=e=>{const t=_0x124d;let r=BUBBLE_3D_CACHE[t(274,"JZN3")](e);return!r&&(r={highlight:lighten(e,.55),dark:darken(e,.45),rim:darken(e,.25),poppedDark:darken(e,.55)},BUBBLE_3D_CACHE[t(271,"Fo[^")](e,r)),r},SPECULAR_COLORS=[_0x5560e5(288,"^XIJ"),_0x5560e5(340,"TUmf")],INNER_HIGHLIGHT_COLORS=[_0x5560e5(338,"0P^r"),_0x5560e5(267,"0EiY")],RIM_LIGHT_COLORS=[_0x5560e5(283,"i6U1"),_0x5560e5(303,"*iaH")],RIM_SHADOW_COLORS=[_0x5560e5(269,"56CN"),_0x5560e5(326,"56CN")],POPPED_CONCAVE_COLORS=[_0x5560e5(292,"!%qg"),_0x5560e5(300,"aChq"),_0x5560e5(332,"DT&a")],POPPED_HIGHLIGHT_COLORS=[_0x5560e5(305,"!%qg"),_0x5560e5(286,"ru56")],BubbleComponentInner=({bubble:e,size:t,onPop:r,hapticEnabled:W=!0})=>{const o="Fo[^",n="][pb",d=_0x5560e5,i={DcEJx:function(e,t){return e||t},bFFhq:function(e,t,r){return e(t,r)},VwUUZ:function(e,t){return e-t},QGBWB:function(e,t){return e-t},tGESE:function(e,t,r){return e(t,r)},xOvfR:function(e,t){return e*t},gNkCN:function(e,t,r){return e(t,r)},kWsyO:function(e,t){return e*t},SykoT:function(e,t){return e-t},joypd:function(e,t){return e*t},DtCty:function(e,t){return e*t},gfaTo:function(e,t){return e*t},XpxUw:function(e,t){return e*t},eYPym:function(e,t){return e+t}},a=usePopitFidgetStore(t=>!!t[d(301,"NBBc")][e.id]?.isPopped),s=usePopitFidgetStore(e=>e.isPlaying),x=useSharedValue(1),u={};u[d(335,o)]=x[d(304,"Cr9o")];const C=useAnimatedStyle(()=>({transform:[u]})),l=_0x245810.useRef(r);l[d(293,"(SGG")]=r;const _=_0x245810[d(297,"iyJ6")](()=>{const e=d;playHaptic(HapticType[e(316,"$wOK")],i.DcEJx(W,!1)),l[e(309,"0P^r")]()})[d(307,n)],S=i[d(334,"TUmf")](useMemo,()=>Gesture[d(295,"%&hR")]()[d(259,"o!Un")](!a&&s)[d(281,"Cr9o")](()=>{const e={};e[d(311,"0EiY")]=50,x.value=withTiming(.95,e)})[d(320,"p!7N")](()=>{const e=d,t={};t[e(306,"EM&H")]=100,x[e(255,"!vlY")]=withTiming(1,t)})[d(258,"0EiY")](()=>{runOnJS(_)()}),[a,s,x,_]),p=useMemo(()=>({position:"absolute",left:e.x-t/2,top:e.y-t/2,width:t,height:t}),[e.x,e.y,t]),m=useMemo(()=>({width:t,height:t}),[t]),O=t/2,f=useMemo(()=>getBubble3DColors(e[d(256,"&fbM")]),[e[d(313,n)]]);return a?i[d(291,"zb8w")](_0xc7985c,View,{style:p,children:_0x35b340(Canvas,{style:m,children:[_0xc7985c(Circle,{cx:O,cy:O,r:i[d(315,")PK!")](O,1),children:_0xc7985c(RadialGradient,{c:vec(O,O),r:O,colors:[f.poppedDark,f[d(261,")PK!")]]})}),_0xc7985c(Circle,{cx:O,cy:O,r:i[d(324,"BpTu")](O,4),children:i[d(314,"]tp[")](_0xc7985c,LinearGradient,{start:i[d(279,"w4tU")](vec,i[d(299,"%&hR")](t,.15),.15*t),end:vec(.85*t,.85*t),colors:POPPED_CONCAVE_COLORS})}),i.tGESE(_0xc7985c,Circle,{cx:.6*t,cy:.62*t,r:i[d(268,"f7a6")](t,.12),children:_0xc7985c(RadialGradient,{c:vec(.6*t,.62*t),r:.12*t,colors:POPPED_HIGHLIGHT_COLORS})})]})}):_0xc7985c(GestureDetector,{gesture:S,children:_0xc7985c(_0x43cfe1[d(296,"iyJ6")],{style:[p,C],children:_0xc7985c(Canvas,{style:m,children:i[d(339,"BpTu")](_0x35b340,Group,{children:[_0xc7985c(Circle,{cx:O,cy:O,r:O-1,children:i[d(265,"DSET")](_0xc7985c,RadialGradient,{c:vec(O-.3*O,i[d(294,"Cr9o")](O,.3*O)),r:i[d(262,"ru56")](O,1.6),colors:[f[d(327,o)],e[d(298,"*VzA")],f.dark]})}),_0xc7985c(Circle,{cx:O-.28*O,cy:O-.3*O,r:i[d(333,"o!Un")](O,.35),children:_0xc7985c(RadialGradient,{c:vec(O-.28*O,i[d(317,"zTLK")](O,.3*O)),r:.35*O,colors:SPECULAR_COLORS})}),_0xc7985c(Circle,{cx:O-.2*O,cy:O-i[d(278,"i6U1")](O,.2),r:i[d(272,n)](O,.55),children:_0xc7985c(RadialGradient,{c:i[d(280,"&fbM")](vec,O-i[d(276,"pdc)")](O,.2),O-i[d(330,"$wOK")](O,.2)),r:i[d(329,"0EiY")](O,.55),colors:INNER_HIGHLIGHT_COLORS})}),_0xc7985c(Circle,{cx:O,cy:O+.15*O,r:i.XpxUw(O,.85),children:_0xc7985c(RadialGradient,{c:vec(O,i[d(290,"DnK1")](O,.8*O)),r:.5*O,colors:RIM_LIGHT_COLORS})}),_0xc7985c(Circle,{cx:O,cy:O+2,r:O,children:_0xc7985c(RadialGradient,{c:vec(O,O+2),r:O,colors:RIM_SHADOW_COLORS})})]})})})})},BubbleComponent=_0x245810.memo(BubbleComponentInner,(e,t)=>{const r=_0x5560e5;return e[r(254,"iyJ6")].id===t[r(285,"Cr9o")].id&&e[r(318,"*iaH")].x===t[r(308,"DSET")].x&&e[r(323,"w4tU")].y===t[r(273,"$wOK")].y&&e[r(287,"p!7N")][r(331,"%&hR")]===t[r(312,"Fo[^")][r(321,"BpTu")]&&e.size===t[r(270,"EM&H")]&&e[r(302,"*VzA")]===t[r(263,"HHqQ")]});export default BubbleComponent;
@@ -1 +0,0 @@
1
- "use strict";const _0x4b2c64=_0x37bb;function _0x27a3(){const e=["E8kwp8ojWR7cNmkHamkCdYBcP8oW","W4xdM2ldOq0","xmopWPtdI8kU","BbWJW5BdMq","WQXMW7ekpa","FNWqe2RdQrFcUSoMWOiVncO","FSoxWQBdOSkqACooW4GToKSPW7bEWOtdHmk5emoiWOeyW6ldPCoIW5W","j8oeWQqN","ExVdOmoiWPtdUSoyW67dLCo+WOe","W7SeWQ/cUZtdLq","W6lcSx/cHW","W7tdHHigW6aYW74WW7HIq8oIW70BjSoqWRy/WRy","WQmCbfVcJa9/WPjOoG","WQtdQwqwyq","r0lcOCkBgXddIG","pqjUqW","yCowWOZdLSor","WPBdGSkJW7u6WPtcISkPeCohWPXaavRcRCkYWRyiW7G","W5hcTmoXW4/cSq","vaXyfbS","W6dcSwT0o3Kcn04IW6iLWPhcGKHLh3xcS04pWRLnW4JdQa","W47cRCkmW4Hk","uu8Pi1ZdJbVcMmol","es1gpmo+xCkEWPJdVNK","x8oJWPxdPSoT","W6NdMLGzW5hdHSozo8kdF1VcVG","WQy/b0pcRa","W6ddHs8sdmoeW7iF","W7xcGK5rya","WO3cVwvTBG","Dximche","yMu9raVcRNzj","WOzuW5f/kJVcRYjQbvfb","WOZdVCoCWO8rWRBcS8ouhSokhmoMma","ASojBaVcSN3cOqO","WRhcMcWzna","qN0wAmkOgSoPWPldUvtdRJ3cNq","WRZcSfeKWQRcQXHclmknWOa","W7JdLM3dPWO","wSo0W5DG","s8oJWQ7dV8kV","lH8g","fePUWR8","baVcTtSG","jY9suddcVaRcPSosWPOhaW","fg9xWQRcSKa6W6hdMmk4tcddHLRcL8kY","tCoFW7HKsq","E2ddRmoh","rxusgCoPrmk7WRRdJW","rX0WW7ldQa","edzlpW","zMGG","WOGaWPBcO00","WRVcGWneWPq","WQX2WPtcLILIaSk2W7W","W4qCqSkMW7/cN8kv","WQldRvubgY7dImoTWPWLW7C8BvNcPCoXWRqQFtPppa","WRxdHNOfAW","aMRcKmkDjq","b0jhWRJdUq","W5PHimkNWOW/","sWmcW7/dKa","y3tdR8oBW4aBF8kyWQ07BSoYWQi","W7tdLu7dKbm","WOVdTmoqWOSvWR3cS8oymSoYomorkq","WRZcJr1a","CN3cUmkuW67dQSoIW4K","vq5jnci","lb52rfhcQmobW73dJ8oA","hI3cJCo5WO8","tCoNWP/dQmovWRpcRGzFW6eggCo0W59eWRujW57cPGzRW7i","W7uAW5xcJI8","WQddPuCqvNJcUCk5W4jU","W6hcO2TMCdLEyaC","W6ddHNa0nmoCW4aaaq","CxBdOCohWPxcP8oIW67dNCoMWQXw","WQRcIW1kW47dG8kCESolms/dHZ0CtaP6cmoZhmkAeCk4lcK","imoazCkEW6/dMa","rr5UmqrCya","W5xcL8oZWQmHWPldVSo7DmkrW7GI","W7tdHHigW6aYW74WW7HIq8oIW70BjSoqWRC6WRy","ecfwcmoVsmkTWO8","greAWOxdPG","WQtdG00rwW","W6OHW7FcTW4","W5uDuSkRW7JcN8kXis3cMwm","DCoKW5HTvmowWPRdKeSkamknrG","jYrwudlcSGlcVmoQWPipkq","W7xdOe/dKtPHjMKhW5FdTW","WPzgW5f8BMZdIwmNuqyhW4HOiCoizSoSymoOuga","W5v2imkK","p1RcMmkqhq","vW/cMSkk","CNKTraO","imomA8krW6VdHCo2l8kn","WOddHmkZW78","tMGvyWu","W5VcRSkno8kQ","jg5/WQpcQG","fNBcHSkBkaVdUq","WQpdR2ixCa","WRBcGWfo","cwzWWQxdVG","m8kGW5TWECoEW4JdOeGRnmkAcW","WR3cHvaLWOm","WRldV1ucx3NcRSkXW4PG","WOXMW6C+mmoWW5DF","W7nDvM7cLtjVWPrK","WR3cHYevl8ofW5S","WPydWOVcGwC","W4/dUGDyW5m","WRiahfW","W4NcQ8kyW4XhW6hdH8onaSoO","kmotWQqKW43dOW","WRNcPZLIWOi","WRdcGIiukSouW5e","w1JdJ8oyW50","mSkmc1BdTtRcTbRdKGuPWO4","Br8wW5ddQHq","W6ZcL8o9oZK","jWbAtNy","CCoDxGxdQJ/dSvVcMKTDW7CaB8oUuwhdOZHEnuT1W77cJG","W7auWRtcRJNdJ1y","WOlcOf9Mqq","rb5+iq1xr8omrmoFWOKU","WOtcGNro","W6/cPCoboYhdQc3dQq"];return(_0x27a3=function(){return e})()}!function(){const e=_0x37bb,r=_0x27a3();for(;;)try{if(504340==-parseInt(e(388,"$g72"))/1*(parseInt(e(334,"v2YT"))/2)+parseInt(e(364,"Wr03"))/3+parseInt(e(374,"DH3%"))/4+-parseInt(e(295,"c0pk"))/5*(parseInt(e(291,"v2YT"))/6)+-parseInt(e(382,"geCf"))/7*(parseInt(e(354,"oKYL"))/8)+parseInt(e(283,"c0pk"))/9+-parseInt(e(311,"WlSQ"))/10*(-parseInt(e(313,"geCf"))/11))break;r.push(r.shift())}catch(e){r.push(r.shift())}}();import _0x30d161,{useMemo,useState,useEffect}from"react";import{View}from"react-native";import{Canvas,Circle,Group,RoundedRect,LinearGradient,RadialGradient,vec}from"@shopify/react-native-skia";import{Gesture,GestureDetector}from"react-native-gesture-handler";function _0x37bb(e,r){e-=264;const t=_0x27a3();let o=t[e];if(void 0===_0x37bb.hDFkSZ){const e=function(e,r){let t,o,n=[],W=0,d="";for(e=function(e){let r="",t="";for(let t,o,n=0,W=0;o=e.charAt(W++);~o&&(t=n%4?64*t+o:o,n++%4)?r+=String.fromCharCode(255&t>>(-2*n&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let e=0,o=r.length;e<o;e++)t+="%"+("00"+r.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(t)}(e),o=0;o<256;o++)n[o]=o;for(o=0;o<256;o++)W=(W+n[o]+r.charCodeAt(o%r.length))%256,t=n[o],n[o]=n[W],n[W]=t;o=0,W=0;for(let r=0;r<e.length;r++)o=(o+1)%256,W=(W+n[o])%256,t=n[o],n[o]=n[W],n[W]=t,d+=String.fromCharCode(e.charCodeAt(r)^n[(n[o]+n[W])%256]);return d};_0x37bb.qSgzLK=e,_0x37bb.kGyAbj={},_0x37bb.hDFkSZ=!0}const n=t[0];_0x37bb.kfHleP!==n&&(_0x37bb.kGyAbj={},_0x37bb.kfHleP=n);const W=_0x37bb.kGyAbj[e];return void 0===W?(void 0===_0x37bb.OgBDtf&&(_0x37bb.OgBDtf=!0),o=_0x37bb.qSgzLK(o,r),_0x37bb.kGyAbj[e]=o):o=W,o}import{runOnJS}from"react-native-reanimated";import{POPIT_FIDGET_COLORS}from"../PopitFidgetConstants.js";import{usePopitFidgetStore}from"../PopitFidgetStore.js";import{lighten,darken}from"../../../services/GamesConstants.js";import{jsx as _0x5e3e9e,jsxs as _0x38d191,Fragment as _0x5a1a08}from"react/jsx-runtime";const PADDING=8,BUBBLE_3D_CACHE=new Map,getBubble3DColors=e=>{const r=_0x37bb;let t=BUBBLE_3D_CACHE[r(298,"$ti[")](e);return!t&&(t={highlight:lighten(e,.55),dark:darken(e,.45),rim:{aPBLy:function(e,r,t){return e(r,t)}}[r(370,")8lY")](darken,e,.25),poppedDark:darken(e,.55)},BUBBLE_3D_CACHE.set(e,t)),t},SPECULAR_COLORS=["rgba(255, 255, 255, 0.50)",_0x4b2c64(317,"pG3!")],INNER_HIGHLIGHT_COLORS=[_0x4b2c64(380,"oTCF"),_0x4b2c64(303,"@RTv")],RIM_LIGHT_COLORS=[_0x4b2c64(323,"ZFuy"),_0x4b2c64(317,"pG3!")],RIM_SHADOW_COLORS=[_0x4b2c64(327,"99C!"),_0x4b2c64(292,"0hG&")],POPPED_CONCAVE_COLORS=[_0x4b2c64(385,"99C!"),_0x4b2c64(264,"M0hq"),_0x4b2c64(368,"Wr03")],POPPED_HIGHLIGHT_COLORS=[_0x4b2c64(267,"j$oI"),_0x4b2c64(336,"obaC")],BubblesCanvas=_0x30d161[_0x4b2c64(286,"^XDd")](({grid:e,bubbleSize:r})=>{const t="pG3!",o=_0x4b2c64,n={VbyUH:function(e,r){return e(r)},nMxGV:function(e,r){return e<r},SSQeU:function(e,r){return e+r},OeAKj:function(e,r){return e(r)},ikNhK:function(e,r,t,o){return e(r,t,o)},JyzHN:function(e,r,t){return e(r,t)},tcSvR:function(e,r){return e*r},FgHEv:function(e,r){return e*r},mfHUi:function(e,r,t){return e(r,t)},cOiBS:function(e,r,t){return e(r,t)},FBFgi:function(e,r,t){return e(r,t)},PMPwt:function(e,r){return e-r},JYlyP:function(e,r){return e-r},aJrsc:function(e,r,t){return e(r,t)}},[W,d]=useState(0);useEffect(()=>usePopitFidgetStore[_0x37bb(320,"j$oI")](e=>e.bubbleStates,()=>{n.VbyUH(d,e=>e+1)}),[]);const i=r/2,x=i-1,a=useMemo(()=>{const o=_0x37bb,W=usePopitFidgetStore[o(328,"c0pk")]()[o(279,"obaC")],d=[];for(let a=0;n[o(276,")8lY")](a,e.size);a++)for(let _=0;_<e.size;_++){const u=e[o(362,"JEOJ")][a]?.[_];if(!u)continue;const s=n[o(271,"oTCF")](8,u.x),b=8+u.y,f=!!W[u.id]?.[o(281,"Wr03")],l=n[o(343,"$ti[")](getBubble3DColors,u[o(290,"UJbP")]),C="b"+a+"-"+_;f?d[o(294,"#m@W")](n[o(367,"G2gt")](_0x38d191,Group,{children:[_0x5e3e9e(Circle,{cx:s,cy:b,r:x,children:_0x5e3e9e(RadialGradient,{c:vec(s,b),r:i,colors:[l[o(359,"WlSQ")],l[o(342,"M0hq")]]})}),_0x5e3e9e(Circle,{cx:s,cy:b,r:i-4,children:n[o(357,"64bJ")](_0x5e3e9e,LinearGradient,{start:vec(s-.7*i,b-n.tcSvR(i,.7)),end:vec(s+.7*i,b+n[o(310,"X5uc")](i,.7)),colors:POPPED_CONCAVE_COLORS})}),n[o(299,"85n)")](_0x5e3e9e,Circle,{cx:s+.1*r,cy:b+.12*r,r:.12*r,children:n[o(308,"g%fv")](_0x5e3e9e,RadialGradient,{c:n[o(376,t)](vec,s+.1*r,b+.12*r),r:.12*r,colors:POPPED_HIGHLIGHT_COLORS})})]},C)):d.push(_0x38d191(Group,{children:[_0x5e3e9e(Circle,{cx:s,cy:b,r:x,children:n.FBFgi(_0x5e3e9e,RadialGradient,{c:vec(s-n[o(331,"$p7n")](i,.3),b-.3*i),r:n[o(296,"g%fv")](i,1.6),colors:[l[o(341,"DH3%")],u[o(277,"v2YT")],l[o(289,"6jf9")]]})}),_0x5e3e9e(Circle,{cx:s-.28*i,cy:b-.3*i,r:n[o(351,"M0f8")](i,.35),children:_0x5e3e9e(RadialGradient,{c:n[o(390,"oTCF")](vec,s-.28*i,b-n[o(387,"@RTv")](i,.3)),r:.35*i,colors:SPECULAR_COLORS})}),_0x5e3e9e(Circle,{cx:n[o(363,"#m@W")](s,.2*i),cy:b-n[o(287,t)](i,.2),r:.55*i,children:_0x5e3e9e(RadialGradient,{c:vec(s-.2*i,n[o(338,"$g72")](b,.2*i)),r:.55*i,colors:INNER_HIGHLIGHT_COLORS})}),_0x5e3e9e(Circle,{cx:s,cy:b+.15*i,r:.85*i,children:_0x5e3e9e(RadialGradient,{c:vec(s,b+.8*i),r:.5*i,colors:RIM_LIGHT_COLORS})}),_0x5e3e9e(Circle,{cx:s,cy:b+2,r:i,children:n[o(306,"0hG&")](_0x5e3e9e,RadialGradient,{c:vec(s,b+2),r:i,colors:RIM_SHADOW_COLORS})})]},C))}return d},[W,e,r,i,x]),_={};return _[o(278,"$ti[")]=a,_0x5e3e9e(_0x5a1a08,_)});BubblesCanvas.displayName=_0x4b2c64(333,"^XDd");const FidgetGrid=({grid:e,bubbleSize:r,onBubblePop:t})=>{const o="uyBA",n="@RTv",W=_0x4b2c64,d={seUwC:function(e,r,t){return e(r,t)},qtNUH:function(e,r){return e-r},prbgh:function(e,r,t){return e(r,t)},dWHSl:function(e,r){return e+r},REzCQ:function(e,r){return e+r},Jdkro:W(345,"6jf9"),MXKQU:W(266,"uyBA"),tIzqh:function(e,r){return e===r},mDhwy:W(293,"^XDd"),kXqOs:function(e,r){return e+r},eLMeX:function(e,r){return e*r},QUEZU:function(e,r){return e/r},gVazL:function(e,r,t){return e(r,t)}},i=e[W(268,"WlSQ")]+16,x=e[W(307,"1oz(")]+d[W(304,"@RTv")](8,2),a=d[W(265,"v0eK")](r,2),_=_0x30d161.useRef(t);_[W(346,"$g72")]=t;const u=_0x30d161.useCallback((e,r)=>{const t=W;if(d[t(285,"X5uc")]!==d[t(316,"8%vm")]){const W=.9*a,i=W*W,x=usePopitFidgetStore[t(353,"QYGO")]()[t(371,o)],u=usePopitFidgetStore[t(373,"Tat9")]()[t(270,"c0pk")]?.[t(302,"lp93")];if(!u)return;for(let W=0;W<u.length;W++)if(d[t(330,"@RTv")](t(378,"QYGO"),d.mDhwy))_0x2f17c1[t(339,"6noT")](_0x121fb3(_0xf99a4c,{children:[_0x1098b7(_0x22d4d0,{cx:_0x58ecb4,cy:_0x362727,r:_0x4aa7a8,children:_0x32b59a(_0x2b845a,{c:ySsIjj[t(356,"85n)")](_0x3f97a9,_0x484746,_0x1e1c39),r:_0x5124b5,colors:[_0x2bf82b[t(319,n)],_0x3816cc[t(312,"ZFuy")]]})}),ySsIjj[t(314,o)](_0x3ea778,_0x40092c,{cx:_0x3ac989,cy:_0x677a44,r:ySsIjj.qtNUH(_0x38196e,4),children:_0x389873(_0x22fd17,{start:ySsIjj[t(347,n)](_0x543e44,_0x34005f-.7*_0x4d8e0a,_0x3fee71-.7*_0x2632f5),end:ySsIjj[t(344,"3coy")](_0x4bdd03,_0x12b1e7+.7*_0x1e24e3,_0x398e19+.7*_0x2ef5e2),colors:_0xf15e73})}),_0x39e8ee(_0x4115ec,{cx:ySsIjj[t(366,"Tat9")](_0x2e73e6,.1*_0x3fa18f),cy:ySsIjj.REzCQ(_0x324b5d,.12*_0x6bf3f0),r:.12*_0x572713,children:_0x3ab7e4(_0x389492,{c:_0x533392(_0xaa8ebb+.1*_0x230985,_0x1673ff+.12*_0x119de7),r:.12*_0x432158,colors:_0x33cbfd})})]},_0x29877d));else{const o=u[W];if(!o)continue;for(let n=0;n<o[t(365,"g%fv")];n++){const a=o[n];if(!a)continue;if(x[a.id]?.isPopped)continue;const u=e-d[t(318,"$p7n")](8,a.x),s=r-(8+a.y);if(u*u+s*s<=i)return void _[t(325,"uyBA")](W,n)}}}else _0x3d496e[t(369,"4&ko")](_0x2bff2c,_0x2296ec)},[a]),s=useMemo(()=>Gesture[W(288,"j1ZO")]()[W(349,"0hG&")](e=>{runOnJS(u)(e.x,e.y)}),[u]),b=useMemo(()=>({width:i,height:x}),[i,x]),f={x:0,y:3};f[W(375,"X5uc")]=i,f.height=x-3,f.r=22,f[W(300,"ZFuy")]=POPIT_FIDGET_COLORS[W(284,"M0f8")],f[W(355,"JEOJ")]=.35;const l={x:0,y:0};l[W(377,"HVea")]=i,l[W(324,"DH3%")]=x,l.r=22,l[W(282,"JEOJ")]=POPIT_FIDGET_COLORS[W(269,"v2YT")];const C={x:1,y:1};C[W(268,"WlSQ")]=i-2,C[W(383,"4&ko")]=x-2,C.r=21,C[W(329,"j1ZO")]=POPIT_FIDGET_COLORS[W(335,"X5uc")],C[W(340,"$ti[")]="stroke",C[W(332,"lp93")]=2;const O=useMemo(()=>_0x38d191(_0x5a1a08,{children:[_0x5e3e9e(RoundedRect,f),_0x5e3e9e(RoundedRect,l),_0x5e3e9e(RoundedRect,C)]}),[i,x]),R={};return R[W(297,"c0pk")]=e,R[W(352,"@RTv")]=r,_0x5e3e9e(GestureDetector,{gesture:s,children:_0x5e3e9e(View,{style:b,children:_0x38d191(Canvas,{style:b,pointerEvents:W(348,"ZFuy"),children:[O,d[W(273,"oKYL")](_0x5e3e9e,BubblesCanvas,R)]})})})};export default _0x30d161.memo(FidgetGrid,(e,r)=>{const t=_0x4b2c64,o={mIJaT:function(e,r){return e===r}};o[t(361,"ZFuy")]=function(e,r){return e===r},o.gTGDs=function(e,r){return e===r};const n=o;return n.mIJaT(e[t(372,")8lY")][t(358,"oKYL")],r.grid[t(389,"G2gt")])&&e[t(384,"cGVS")][t(305,"$g72")]===r[t(381,"lUQz")].width&&n.aKVId(e.grid[t(360,"lUQz")],r[t(337,"1oz(")][t(360,"lUQz")])&&n[t(275,"j$oI")](e[t(386,"oKYL")],r[t(315,"G2gt")])&&e[t(379,"v2YT")]===r[t(309,"#m@W")]});
@@ -1 +0,0 @@
1
- "use strict";const _0x5d30a4=_0x3883;function _0x3883(e,t){e-=202;const o=_0x50f6();let r=o[e];if(void 0===_0x3883.bqlalX){const e=function(e,t){let o,r,n=[],W=0,d="";for(e=function(e){let t="",o="";for(let o,r,n=0,W=0;r=e.charAt(W++);~r&&(o=n%4?64*o+r:r,n++%4)?t+=String.fromCharCode(255&o>>(-2*n&6)):0)r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(r);for(let e=0,r=t.length;e<r;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),r=0;r<256;r++)n[r]=r;for(r=0;r<256;r++)W=(W+n[r]+t.charCodeAt(r%t.length))%256,o=n[r],n[r]=n[W],n[W]=o;r=0,W=0;for(let t=0;t<e.length;t++)r=(r+1)%256,W=(W+n[r])%256,o=n[r],n[r]=n[W],n[W]=o,d+=String.fromCharCode(e.charCodeAt(t)^n[(n[r]+n[W])%256]);return d};_0x3883.kwsxLh=e,_0x3883.wWgjIy={},_0x3883.bqlalX=!0}const n=o[0];_0x3883.MeSoBD!==n&&(_0x3883.wWgjIy={},_0x3883.MeSoBD=n);const W=_0x3883.wWgjIy[e];return void 0===W?(void 0===_0x3883.scnXDI&&(_0x3883.scnXDI=!0),r=_0x3883.kwsxLh(r,t),_0x3883.wWgjIy[e]=r):r=W,r}!function(){const e=_0x3883,t=_0x50f6();for(;;)try{if(430962==-parseInt(e(204,"dmw*"))/1*(parseInt(e(222,"0u0E"))/2)+-parseInt(e(221,"RjVz"))/3*(-parseInt(e(220,"(Wi8"))/4)+parseInt(e(208,"sCb&"))/5+-parseInt(e(232,"$MGo"))/6+-parseInt(e(218,"di[q"))/7*(parseInt(e(228,"dmw*"))/8)+parseInt(e(202,"ifx5"))/9*(parseInt(e(213,"RjVz"))/10)+parseInt(e(223,"1WW4"))/11*(parseInt(e(226,"0u0E"))/12))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x2466ea}from"react/compiler-runtime";function _0x50f6(){const e=["W6VcSCktWONdJmkyWPlcVLddIwhcMa","k2LRWQ94W54oWOu0W4xcNge","bN/dLmoyFJRdJhCg","W5D3W7RcRuO","WPBdVCoXWQv/WQuyCq","kwbUWQXWW5aLWRS7W4RcLei","W45kjCkpvKvKkX05uq","vXVdICoxWO7cHX7dO17dKCk1zmkh","W7bSW7pcKMRcGdpdUZmhW68zWPy","fuxcOmoQpG","W4ddQmkvWOa8WPhcRv8cW5eUhq","rmkAW65xWRHtWOioW5uUvSkNWQa","vSo8mCojj8oRcCkXW7pdL8oTvre","b0RcSmk1W6S","WRy8WQNcP3ZcTbldJam","tmoGWRVdRSkqESk5rmk8whFdQ8ka","W6/cTmkBWORdI8kFW7ZcQ3FdMKZcUSk0","uX/cQSk7W7xdMu3dIW","lCo5W7zeWOlcNG","WRJcKCk1","c8kLvmkaWQW","hSkIW7LlBf3cI8kau1tcGdhcSW","W67cM8oGweGReHy","WQlcIX9TWPu","WRdcS8kqFXO","WRFdPSogW5a","W6VcS8okW63cJSo+WQFcUG","bNxcHKyJW5pcJSkjWRDbWQdcUa","WPGtW403WQFcIXLF","fmkOzSkFFmk/sG","AmkSW7aqWOa","W4hdHbTQWQKAuG","i8omWRuwW6KLW50OW7yg","uCo1q8k8ECkTtCkX"];return(_0x50f6=function(){return e})()}import _0x5bf29b from"react";import{View}from"react-native";import{ScoreBoardContainer,ScoreValue as _0x2cf66d,ScoreTimer,scoreBoardStyles as _0x445a90}from"../../../helpers/index.js";import{usePopitFidgetStore}from"../PopitFidgetStore.js";import{jsx as _0x33c0da,jsxs as _0x226ed4}from"react/jsx-runtime";const ScoreBoard=_0x5bf29b[_0x5d30a4(212,"RjVz")](e=>{const t=_0x5d30a4,o={SrdZr:function(e,t){return e(t)},XgHPn:function(e,t){return e(t)},efIWR:t(230,"QiaD"),zMRIp:function(e,t){return e!==t}},r=_0x2466ea(10),{offset:n}=e,W=void 0===n?0:n,d=o[t(224,"QW4(")](usePopitFidgetStore,_temp),a=o.XgHPn(usePopitFidgetStore,_temp2);let i,s,x,f;if(r[0]!==d){const e={};e[t(210,"rHv]")]=d,i=_0x33c0da(_0x2cf66d,e),r[0]=d,r[1]=i}else{if(o[t(234,"dmw*")]!==o[t(217,"2onK")])return _0x1569c1.timeRemaining;i=r[1]}if(r[2]!==a){const e={};e[t(216,"(Wi8")]=a,e.lowThreshold=10,s=_0x33c0da(ScoreTimer,e),r[2]=a,r[3]=s}else s=r[3];if(r[4]!==i||r[5]!==s){const e={};e[t(207,"K1e6")]=_0x445a90[t(206,"5YU9")],e[t(215,"vtsr")]=[i,s],x=_0x226ed4(View,e),r[4]=i,r[5]=s,r[6]=x}else x=r[6];if(r[7]!==W||o[t(211,"5YU9")](r[8],x)){const e={};e[t(205,"*$uW")]=W,e.children=x,f=_0x33c0da(ScoreBoardContainer,e),r[7]=W,r[8]=x,r[9]=f}else f=r[9];return f});ScoreBoard[_0x5d30a4(227,"(c]4")]=_0x5d30a4(219,"$MGo");export default ScoreBoard;function _temp(e){return e.score}function _temp2(e){return e[_0x5d30a4(229,"QW4(")]}
@@ -1 +0,0 @@
1
- "use strict";const _0x5dfabe=_0x5d69;function _0x5d69(e,o){e-=416;const t=_0x8164();let n=t[e];if(void 0===_0x5d69.AXYdbk){const e=function(e,o){let t,n,r=[],W=0,i="";for(e=function(e){let o="",t="";for(let t,n,r=0,W=0;n=e.charAt(W++);~n&&(t=r%4?64*t+n:n,r++%4)?o+=String.fromCharCode(255&t>>(-2*r&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let e=0,n=o.length;e<n;e++)t+="%"+("00"+o.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(t)}(e),n=0;n<256;n++)r[n]=n;for(n=0;n<256;n++)W=(W+r[n]+o.charCodeAt(n%o.length))%256,t=r[n],r[n]=r[W],r[W]=t;n=0,W=0;for(let o=0;o<e.length;o++)n=(n+1)%256,W=(W+r[n])%256,t=r[n],r[n]=r[W],r[W]=t,i+=String.fromCharCode(e.charCodeAt(o)^r[(r[n]+r[W])%256]);return i};_0x5d69.nbvEdH=e,_0x5d69.zjzDfw={},_0x5d69.AXYdbk=!0}const r=t[0];_0x5d69.PIzrae!==r&&(_0x5d69.zjzDfw={},_0x5d69.PIzrae=r);const W=_0x5d69.zjzDfw[e];return void 0===W?(void 0===_0x5d69.jDMicW&&(_0x5d69.jDMicW=!0),n=_0x5d69.nbvEdH(n,o),_0x5d69.zjzDfw[e]=n):n=W,n}!function(){const e=_0x5d69,o=_0x8164();for(;;)try{if(987279==-parseInt(e(454,"hDT2"))/1+-parseInt(e(504,"O!)!"))/2+parseInt(e(444,"jqUa"))/3*(-parseInt(e(544,"nn68"))/4)+-parseInt(e(468,"7Fyy"))/5+-parseInt(e(525,"]8)2"))/6+parseInt(e(561,"W)M]"))/7*(-parseInt(e(429,"MY!K"))/8)+parseInt(e(565,"tH@w"))/9)break;o.push(o.shift())}catch(e){o.push(o.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";import{playSound,GAME_SOUNDS}from"../../services/SoundsService.js";import{playHaptic,HapticType}from"../../services/HapticsService.js";import{setGameInterval,clearGameInterval}from"../../helpers/GameTimer.js";import{BOARD_N,REVERSI_CONFIG,rc,idx,inBounds,DIRECTIONS,WEIGHTS}from"./ReversiConstants.js";let timerIntervalRef=null;const clearTimer=()=>{timerIntervalRef&&({KqMqu:function(e,o){return e(o)}}[_0x5d69(433,"QVLa")](clearGameInterval,timerIntervalRef),timerIntervalRef=null)},HUMAN=_0x5dfabe(554,"h7dr"),AI="white",opponent=e=>e===_0x5dfabe(473,"04du")?"white":"black";export const createInitialBoard=()=>{const e=_0x5dfabe,o={yEnSu:function(e,o,t){return e(o,t)},GJBYJ:"white"},t=new Array(BOARD_N*BOARD_N)[e(426,"q&Kf")](null),n={};n[e(449,"QVLa")]=e(528,"8XNG"),t[idx(3,3)]=n;t[o[e(591,"$6HN")](idx,3,4)]={player:"black"};const r={};r[e(579,"jqUa")]="black",t[idx(4,3)]=r;const W={};return W[e(482,"eVWR")]=o[e(441,"W)M]")],t[idx(4,4)]=W,t};const flipsFor=(e,o,t)=>{const n=_0x5dfabe,r=function(e,o,t){return e(o,t)};if(null!==e[o])return[];const{row:W,col:i}=rc(o),a=opponent(t),s=[];for(const[o,d]of DIRECTIONS){let u=W+o,l=i+d;const f=[];for(;inBounds(u,l)&&e[idx(u,l)]?.[n(493,"067V")]===a;)f[n(432,"8XNG")](idx(u,l)),u+=o,l+=d;if(f.length>0&&r(inBounds,u,l)&&e[idx(u,l)]?.[n(576,"uPao")]===t)for(const e of f)s[n(487,"hO[2")](e)}return s},validMoves=(e,o)=>{const t=_0x5dfabe,n={};n[t(469,"7E55")]=t(524,"q&Kf");const r=n,W=[];for(let n=0;n<e.length;n++)if(r.ITXrw===t(495,"F)o6")){if(null!==e[n])continue;const r=flipsFor(e,n,o);r.length>0&&W[t(546,"kG#r")]({index:n,flips:r})}else _0x53c15a(e=>({validTargets:[],selectionVersion:e[t(574,"x)l)")]+1})),_0x140323(()=>_0x4781de()[t(431,"MY!K")](_0x2de397),_0x405cdf[t(491,"Ig2y")]);return W},applyMove=(e,o,t)=>{const n=_0x5dfabe,r=e[n(555,"VWnj")](),W={};W.player=t,r[o[n(496,"RSQ(")]]=W;for(const e of o[n(450,"]8)2")])r[e]={player:t};return r},counts=e=>{const o=_0x5dfabe;let t=0,n=0;for(const r of e)r&&(r[o(424,"ig#7")]===o(416,"l7Uc")?t++:n++);const r={};return r[o(523,"8527")]=t,r[o(467,"x)l)")]=n,r},evaluate=e=>{const o=_0x5dfabe,t={};t[o(455,"h7dr")]=function(e,o){return e<o},t[o(486,"hO[2")]=function(e,o){return e===o},t[o(435,"l7Uc")]=function(e,o){return e-o};const n=t;let r=0;for(let t=0;n[o(527,"$6HN")](t,e[o(588,"uPao")]);t++){const W=e[t];W&&(r+=n[o(453,"O!)!")](W[o(581,"nn68")],AI)?WEIGHTS[t]:-WEIGHTS[t])}const W=validMoves(e,AI)[o(459,"YCiE")],i=validMoves(e,HUMAN)[o(479,"MY!K")];return r+=5*n[o(549,"nn68")](W,i),r},search=(e,o,t,n,r)=>{const W=_0x5dfabe,i={Pywrx:function(e,o){return e===o},sSqpi:function(e,o,t){return e(o,t)},UJjmq:function(e,o){return e(o)},MCReY:function(e,o,t,n,r,W){return e(o,t,n,r,W)},qwGGy:function(e,o){return e>o},SfqVV:"GTCTx",ckDtr:function(e,o){return e-o}};if(0===t)return evaluate(e);const a=validMoves(e,o);if(0===a[W(567,"tH@w")])return i[W(520,"W)M]")](i[W(550,"g@KI")](validMoves,e,opponent(o))[W(502,"B5fL")],0)?i[W(494,"067V")](evaluate,e):i.MCReY(search,e,opponent(o),t-1,n,r);if(o===AI){let s=-1/0;for(const d of a){const a=search(applyMove(e,d,o),i[W(501,"woze")](opponent,o),t-1,n,r);if(a>s&&(s=a),i[W(577,"O!)!")](s,n)&&(n=s),r<=n)break}return s}let s=1/0;for(const d of a){if(i[W(461,"elIX")]!==W(558,"SI5A"))return _0xd7066a[W(537,"rnNX")];{const a=search(applyMove(e,d,o),i[W(511,"Ig2y")](opponent,o),i[W(559,"MY!K")](t,1),n,r);if(a<s&&(s=a),s<r&&(r=s),r<=n)break}}return s},chooseAIMove=e=>{const o=_0x5dfabe,t={};t[o(460,"[zUy")]=function(e,o){return e===o},t.sLKpJ=function(e,o){return e-o};const n=t,r=validMoves(e,AI);if(0===r.length)return null;if(n[o(463,"B]Ew")](r[o(562,"@(p(")],1))return r[0];if(Math.random()<REVERSI_CONFIG[o(532,"g@KI")])return r[Math[o(508,"Fmyq")](Math.random()*r[o(552,"rnNX")])];let W=-1/0;const i=[];for(const t of r){const r=search(applyMove(e,t,AI),HUMAN,n[o(439,"vHCK")](REVERSI_CONFIG[o(521,"067V")],1),-1/0,1/0),a={};a[o(446,"h7dr")]=t,a[o(490,"eVWR")]=r,i.push(a),r>W&&(W=r)}const a=i[o(443,"Fmyq")](e=>e[o(428,"tH@w")]>=W-REVERSI_CONFIG[o(589,"US@h")]);return a[Math[o(485,"g@KI")](Math.random()*a[o(515,"hDT2")])][o(518,"eVWR")]},INITIAL={isPlaying:!1,isGameOver:!1,isTimedOut:!1,board:createInitialBoard(),boardVersion:0,selectionVersion:0,currentPlayer:HUMAN,validTargets:[],lastMove:-1,winner:null,blackCount:2,whiteCount:2,score:0,moves:0,timeLeft:REVERSI_CONFIG[_0x5dfabe(536,"uPao")]};export const useReversiStore=create()(subscribeWithSelector((e,o)=>({...INITIAL,initializeGame:()=>{const o=_0x5dfabe;clearTimer();const t=createInitialBoard();e(e=>({...INITIAL,board:t,validTargets:validMoves(t,HUMAN)[o(500,"zCFK")](e=>e.index),boardVersion:e[o(421,"h7dr")]+1,selectionVersion:e.selectionVersion+1}))},startGame:()=>{const t=_0x5dfabe;clearTimer(),timerIntervalRef=setGameInterval(()=>o().updateTime(),1e3);const n=createInitialBoard();e(e=>({board:n,validTargets:validMoves(n,HUMAN)[t(419,"B]Ew")](e=>e[t(564,"]8)2")]),lastMove:-1,boardVersion:e[t(510,"hO[2")]+1,selectionVersion:e[t(593,"ig#7")]+1,currentPlayer:HUMAN,winner:null,blackCount:2,whiteCount:2,score:0,moves:0,timeLeft:REVERSI_CONFIG[t(542,"hO[2")],isPlaying:!0,isGameOver:!1,isTimedOut:!1}))},stopGame:()=>{clearTimer();e({isPlaying:!1})},resetGame:()=>{const o=_0x5dfabe,t={MLFUb:function(e){return e()},RXHWF:function(e,o){return e(o)}};t.MLFUb(clearTimer);const n=createInitialBoard();t[o(568,"q&Kf")](e,e=>({...INITIAL,board:n,validTargets:validMoves(n,HUMAN)[o(437,"$6HN")](e=>e[o(438,"woze")]),boardVersion:e[o(531,"7Fyy")]+1,selectionVersion:e[o(582,"g@KI")]+1}))},handleSelect:(t,n)=>{const r=_0x5dfabe,W=o();if(!W[r(477,"@(p(")]||W[r(592,"ig#7")]||W[r(534,"US@h")]!==HUMAN)return;const i=W[r(522,"h7dr")],a=flipsFor(i,t,HUMAN);if(a.length===0)return void playHaptic(HapticType[r(465,"T39D")],n[r(506,"8XNG")]);const s={};s[r(584,"04du")]=t,s[r(545,"hDT2")]=a;const d=applyMove(i,s,HUMAN),u=counts(d);var l,f,m;e(e=>({board:d,boardVersion:e[r(507,"B^31")]+1,selectionVersion:e[r(440,"h7dr")]+1,blackCount:u[r(457,"Fmyq")],whiteCount:u.white,score:e[r(442,"T39D")]+a[r(479,"MY!K")]*REVERSI_CONFIG[r(533,"rnNX")],moves:e[r(540,"YUPp")]+1,lastMove:t,currentPlayer:AI,validTargets:[]})),playSound(GAME_SOUNDS[r(452,"h7dr")].PLACE,n[r(492,"8XNG")]),l=playHaptic,f=HapticType[r(417,"@(p(")],m=n[r(475,"woze")],l(f,m),resolveTurn(e,o,n)},runAIMove:t=>{const n=_0x5dfabe,r={nYHvk:function(e,o){return e(o)}},W=o();if(!W[n(430,"uPao")]||W[n(530,"8527")]||W[n(480,"$6HN")]!==AI)return;const i=r[n(503,"kG#r")](chooseAIMove,W.board);if(!i){const r={};return r[n(445,"x)l)")]=HUMAN,e(r),void resolveTurn(e,o,t)}const a=applyMove(W[n(585,"8XNG")],i,AI),s=counts(a);r.nYHvk(e,e=>({board:a,boardVersion:e[n(474,"Fmyq")]+1,selectionVersion:e[n(543,"7Fyy")]+1,blackCount:s.black,whiteCount:s[n(447,"B]Ew")],moves:e.moves+1,lastMove:i[n(583,"l7Uc")],currentPlayer:HUMAN,validTargets:[]})),playSound(GAME_SOUNDS[n(509,"elIX")][n(464,"zCFK")],t[n(519,"g@KI")]),playHaptic(HapticType[n(570,"kG#r")],t.enableHaptics),resolveTurn(e,o,t)},updateTime:()=>{const t=_0x5dfabe,n={cGnwG:function(e){return e()},UcDoi:function(e,o){return e<=o},kwsqt:function(e,o){return e(o)},TRrFz:function(e,o){return e-o}},r=n[t(556,"Fmyq")](o);if(r[t(423,"7Fyy")]&&!r.isGameOver)if(n[t(462,"hO[2")](r[t(451,"uPao")],1)){clearTimer();const o={};o[t(573,"[zUy")]=REVERSI_CONFIG[t(505,"QVLa")],o[t(423,"7Fyy")]=!1,o.isGameOver=!0,o[t(472,"$6HN")]=!0,o[t(538,"ig#7")]=AI,n[t(569,"hO[2")](e,o)}else e({timeLeft:n[t(476,"g@KI")](r[t(483,"q&Kf")],1)})}})));const resolveTurn=(e,o,t)=>{const n=_0x5dfabe,r={fBgly:function(e){return e()},EMAmZ:function(e,o){return e(o)},asRxn:function(e,o){return e(o)},tShbU:function(e,o){return e(o)},ftjjh:function(e,o){return e===o},ZxhVg:function(e,o,t,n){return e(o,t,n)}},W=r[n(526,"nn68")](o);if(W[n(547,"kG#r")])return;const i=W[n(456,"kG#r")],a=validMoves(W.board,i);if(a.length>0)return void(i===HUMAN?r[n(551,"zCFK")](e,e=>({validTargets:a.map(e=>e[n(517,"Ig2y")]),selectionVersion:e[n(543,"7Fyy")]+1})):(r.asRxn(e,e=>({validTargets:[],selectionVersion:e.selectionVersion+1})),setTimeout(()=>o().runAIMove(t),REVERSI_CONFIG[n(489,"%n4W")])));const s=r[n(470,"7Fyy")](opponent,i);r[n(427,"ig#7")](validMoves(W[n(586,"@(p(")],s)[n(580,"W)M]")],0)?r[n(498,"B5fL")](finishByCount,e,W.board,t):(r[n(560,"uPao")](e,e=>({currentPlayer:s,validTargets:[],selectionVersion:e[n(582,"g@KI")]+1})),playSound(GAME_SOUNDS[n(497,"F)o6")][n(587,"067V")],t[n(557,"ig#7")]),resolveTurn(e,o,t))},finishByCount=(e,o,t)=>{const n=_0x5dfabe;clearTimer();const r=counts(o),W=r[n(434,"B5fL")]>r[n(563,"hO[2")]?HUMAN:r[n(436,"%n4W")]>r.black?AI:null;e(e=>({isPlaying:!1,isGameOver:!0,winner:W,blackCount:r[n(416,"l7Uc")],whiteCount:r[n(571,"elIX")],validTargets:[],selectionVersion:e[n(535,"vHCK")]+1,score:W===HUMAN?e.score+REVERSI_CONFIG[n(512,"ig#7")]:e[n(458,"q&Kf")],timeLeft:REVERSI_CONFIG[n(516,"W)M]")]})),W===HUMAN?(playSound(GAME_SOUNDS[n(481,"zCFK")][n(539,"Fmyq")],t[n(418,"jqUa")]),playHaptic(HapticType[n(575,"B]Ew")],t[n(578,"SI5A")])):(playSound(GAME_SOUNDS[n(499,"YCiE")].LOSE,t.enableSounds),{pggDM:function(e,o,t){return e(o,t)}}[n(548,"Ig2y")](playHaptic,HapticType.ERROR,t[n(422,"hDT2")]))};export const useIsPlaying=()=>useReversiStore(_temp);export const useIsGameOver=()=>({lNiba:function(e,o){return e(o)}}[_0x5dfabe(471,"B5fL")](useReversiStore,_temp2));export const useBoardVersion=()=>({rcppX:function(e,o){return e(o)}}[_0x5dfabe(466,"elIX")](useReversiStore,_temp3));export const useSelectionVersion=()=>useReversiStore(_temp4);export const useCurrentPlayer=()=>({zVpCK:function(e,o){return e(o)}}[_0x5dfabe(484,"ig#7")](useReversiStore,_temp5));export const useWinner=()=>useReversiStore(_temp6);export const useScore=()=>useReversiStore(_temp7);export const useTimeLeft=()=>useReversiStore(_temp8);export const useBlackCount=()=>useReversiStore(_temp9);export const useWhiteCount=()=>useReversiStore(_temp0);function _temp(e){return e[_0x5dfabe(566,"zCFK")]}function _temp2(e){return e.isGameOver}function _temp3(e){return e[_0x5dfabe(478,"[zUy")]}function _temp4(e){return e[_0x5dfabe(572,"US@h")]}function _temp5(e){return e.currentPlayer}function _temp6(e){return e[_0x5dfabe(514,"8XNG")]}function _temp7(e){return e[_0x5dfabe(458,"q&Kf")]}function _temp8(e){return e.timeLeft}function _temp9(e){return e[_0x5dfabe(513,"ig#7")]}function _0x8164(){const e=["Cmo0WP5sFW","kSoZW7aoW59KvcRdVgJcJeC","rmoWWPGXuW","wCk0Dqe5","W67dTCoPlhK","WPWFWPKMCCkqW7W","WRtdHuq2nSoN","A8o/smoAW50","WQdcKujjdW","DKxcK8kEDrvtkKqRWPlcMYaC","W5GHvmkeWO7dVmo+W6jO","lbldICoom0G","CIrHwhi","D8oGuSoFW4W","WPftWRNdVCog","WPxcHM4jFa","W7qLFSkAqWxcPmkLWOBdTq0/vCoutd8","WPCWWO/dImkCfSoWW4S","r8kZWPeYWPWSvCodWQ3dK8o9WOxdHCoCWRX4","dCk9WP9cACkYW6W","W6RdISoGn0Lj","W7JdSSkIWOlcLa","zSokWROhrXzngCkdxCkrWP3dTq","BgqtbSkzWOW","W4C4WQq4rmkY","W6emWRpcSZBdUq","WP7cIxuNW6C8d3NcKqJcLCo1WQSzW5vX","WR9ZWR3cHSkm","eIGpkwi","W4D3BwDh","WRRdJ0SJjG","WOpcJCk1sG","W7BdG8oVkvHt","W4yjtCkSyZ7cN8kpWRFdRIKFyCo0Bq","WRhcTCoqW7ddNeFdV23cLSk2hXe4","pMddJ8ojuq","jSoUW5ynW55KsdpdRhq","pmo4W70jW5b1BIRdP1dcJuzPwJHg","WRrXWRJcGmkF","WPxdPw4yf8oc","EwythCkqWPS8WQvtW4BdL8kT","m8kjWQW","W5SuWQZdMSk+fmot","l8kYW7uasIzVW4FcH8opW77cVq","WOHqW5ZdPtpcSSolWOGgWRBdNmo3W7W","W6RcTSoZf8kAW7FdUmkJma","p8oXW7avW5zZ","W5WgWO3cVMVdO8k0WR8AWOhdRmoZW6e","rHvfyW","kCoPW7SgW5S","mXtdImoBiG","dmoRb0v8WQFdRmoprCkuWPJcOdS","W7pdLCoriK1cq8oLWQW","smkQxZqcW5RcT8oksq","W5vTF30","WPOPW45MW7a","nmovW5m5uW","WR5qWPlcQSkJ","c1SqqXq","kKtdKq","W5VcNw3cIx4","W4xcNCoIuSo/","pSk4W7GxtqrJW5RcMSoWW7tcOCkOoJVdNG","W6WxWOGgEG","eI3dP8ozjq","DCoAWPXrxCon","ltbcrSoiW4PyWPXkW6VdQSk5pq","v8kJWO8LWPO2smo8WQ/dPmoHWPldHa","imkYW6ix","kCkaWRv1sq","W6DSWRuNWRjmiCkSb1ddVHFdNa","WQe0W6jUW6ao","WQ/cK09Cba","W67dJ8oSk2bEtmo/","h8kyW4i3Fcnd","W4ZdOSksWR/cNq","W5WgWO3cV2VdPCk1WRSAWOhdN8ofW6y","jCkeW6iMzW","WR5VWOZdH8o3rwLhkHRcJmo+fG","CCoFWPfguW","uX9gFve","eCosWOL8W5tcNq","WPq1WQhdN8kQ","WRhcIhyRtW","sCo0zCobW5e","kCkeWP9ZvG","W6eErCkRWQO","lqFdJ8oJfa","WPdcJxCnqq","q8k+WPqJWPO","WRddS8kus8onWR7cOCkPohjLamkP","d8oTWPSUWOi","W7FcLSolgCkU","oSo3W5S4wq","lLBdTCoZsCkpte7dJhy","gsOkl3e","CCoCWPfxxmoPWPtcG8kgW5dcS1O","W5FcNwJcJMP9W5/dRSoWWPaaW4ZdUa","WRNcVMSeW74","WRhdK3O9i8o2qLCa","WOe2WOpdN8k0jCoZW43dQMzewW","vSk6xXi/W78","jfddK8oOqCkexfhdLwpdJK4R","W6mxuSkTWR3dLSoE","WRqnW4eqW6FdKa","vbveANGLW6NdRa","nColW6eVW7G","WOVcGhyTW7y","wCoWvSouW4G","BmoIuSog","CuBcL8kADXySseetWQVcMG","pxOMEJ4OdxqCAI8ola","WRCcW48BW6C","amk0CXxcOb/cJ8oItYRcLL7dUa","W4b2BxDpW7vjWPlcJ0qwyG","WQpcOmkhymozW6a","WOBcHSkmDmon","W6vSWQBdLbG","W4mxW5JdGu0","W7baWR3dIquofG","dmobW5OmxW","l8oYWRfEW7lcPSoX","W5WZDa","W6FcUwpcGxC","oSoCW5W9tmk1","WRndWRBdG8o5","WRJcTmovW7BdNuNcG2pcHmk0oJS","WPyzW45sW5O4qmknl23dMbVdKq","W4b2BxDpW7vsWPZcIL4BCGu","WQXpwSoCeqrAW5dcPLnLkq","DCoFWP9ksG","WRdcQ1e4sYxdLW","FSo4qmoCW5ZdR8ktW4fCW6apW6a","fmk3rJxcNG","gmouW58ZW7fosrddMG","lCoXW7apW5HcAdddP3i","W5jXyNTgW6i","WOfBW5pdOcVcVW","W6WCWOCAB8kEW6GMC3tdNMVdRG","kmktsd3cLW","WQKoW5ym","WOJcGNGGW6GTnxNcIJdcLmo0","W7SKWR0Tsa","WPlcHCk5xCo5W4lcRI8","l8kYW7uasG","W6TUB8k7WRq","zXvKv3S","W7hdJXmzrGnJW5dcLGddSmoDWR4","W7CIWRxcPIO","l3ZdL8ooBq","W5jWzwfg","WRRcS8osW7xdM0/dUvdcU8kVed8q","W6bXsCk5WRldSq0bwCkE","W6hcQSoccCkFW5JdTmk/jhDjcq","WQZcPuyqW4ugiLNcSGhcVCoiWO41W6vCvapcN2DY","W7aIvXVdQMtcHmkUgCoVWQ7dL8oPcse","W6q1ymknrr/cUCkAWOtdGHeOva","W4xcTmofr8owWOTUW4hdI8kZWOlcG8kSB1ddPW","W53dP8omc3n/F8ozWORcImoBWRWj","W4KEtJNdN07cSSkqoW","omo0W78cW5zZ","rmo6WR4","ASkCWP/dHSoB","WPqGpc0xWQiSWQ/cLMKyqb8","w8owBmoRW6FdVCkJW6fUW50PW4f8","W7dcOmophSkyW7RdUmkIouHdfCk9vCoSBq","WQKTWPZcVt3dRc8","WOTsW5tdTYW","WQ1VWO3dNq","WRrPWRNdLmo/tLjHiWK","mCkAsXZcOG","W7KTWPNcGWq","WP7cV2GYW60","W7qFrCkfWRu","W4WiCdldIL8","WRmjW4KDW6FdOCkhWQqHaG","l8kXW7urrq","eCoyWRb/WRy"];return(_0x8164=function(){return e})()}function _temp0(e){return e[_0x5dfabe(553,"eVWR")]}
@@ -1 +0,0 @@
1
- "use strict";const _0xeb37b9=_0x12b2;!function(){const e=_0x12b2,t=_0x53fd();for(;;)try{if(114154==parseInt(e(498,"zPn6"))/1*(parseInt(e(502,"UTU#"))/2)+parseInt(e(438,"xqg8"))/3*(-parseInt(e(455,"V71K"))/4)+-parseInt(e(405,"yBv4"))/5*(-parseInt(e(395,"jFcH"))/6)+-parseInt(e(398,"zaaF"))/7+parseInt(e(501,"Hi9W"))/8*(-parseInt(e(402,"uUS&"))/9)+parseInt(e(445,"Xgy$"))/10+parseInt(e(404,"sZ%M"))/11*(-parseInt(e(425,"DAeW"))/12))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x1cfe9a}from"react/compiler-runtime";import _0x35574a,{useEffect,useMemo,useRef}from"react";import{StyleSheet}from"react-native";import{Canvas,Rect,RoundedRect,Circle,Line,LinearGradient,Group,vec}from"@shopify/react-native-skia";import _0x3d9ff1,{Easing,runOnJS,useDerivedValue,useSharedValue,withSpring,withTiming}from"react-native-reanimated";import{Gesture,GestureDetector}from"react-native-gesture-handler";import{BOARD_N,CELL,INNER_SIZE,PIECE_RADIUS,BOARD_3D,BOARD_OUTER_W,BOARD_OUTER_H,REVERSI_COLORS as _0x3b136b,BLACK_3D,WHITE_3D}from"../ReversiConstants.js";import{useReversiStore,useSelectionVersion}from"../ReversiStore.js";import{jsx as _0x268382,jsxs as _0x3cc506}from"react/jsx-runtime";const PAD=BOARD_3D[_0xeb37b9(510,"Eo9M")],DEPTH=BOARD_3D[_0xeb37b9(481,"zaaF")],R=BOARD_3D.RADIUS,CONTENT=INNER_SIZE+2*PAD,RIM_W=Math[_0xeb37b9(508,"zPn6")](2,Math[_0xeb37b9(491,"Lzq7")](.1*PIECE_RADIUS)),_0x1436c7={};_0x1436c7.length=BOARD_N*BOARD_N;const CELLS=Array[_0xeb37b9(480,"XeJ9")](_0x1436c7,(e,t)=>{const o=_0xeb37b9,n={};n[o(527,"UxHI")]=function(e,t){return e*t};const r=n,_=Math.floor(t/BOARD_N),x=t%BOARD_N,s=PAD+r[o(492,"Xgy$")](x,CELL),W=PAD+_*CELL,i={};return i.x=s,i.y=W,i.cx=s+CELL/2,i.cy=W+CELL/2,i}),hitTest=(e,t)=>{const o=_0xeb37b9,n={gifwm:function(e,t){return e/t}};n[o(443,"uUS&")]=function(e,t){return e-t},n[o(414,"zaaF")]=function(e,t){return e<t},n.hQMft=function(e,t){return e+t};const r=n;if(e<PAD||t<PAD)return-1;const _=Math[o(452,"LjO*")]((e-PAD)/CELL),x=Math[o(485,"QdnM")](r[o(454,"V71K")](r[o(420,"jFcH")](t,PAD),CELL));return r.CbHvM(_,0)||_>=BOARD_N||x<0||x>=BOARD_N?-1:r[o(441,"Gzp1")](x*BOARD_N,_)},BOARD_BG_ELEMENTS=(()=>{const e=_0xeb37b9,t={QpQZO:function(e,t,o,n){return e(t,o,n)},OFhUK:function(e,t){return e+t},KHdHw:function(e,t){return e*t},yrRpM:function(e,t,o){return e(t,o)},NkirM:function(e,t,o){return e(t,o)},JvMAa:function(e,t){return e+t}};let o=0;const n=[],r={x:0};r.y=DEPTH,r.width=BOARD_OUTER_W,r[e(488,"CZvc")]=CONTENT,r.r=R,r[e(423,"nz^A")]=BOARD_3D[e(466,"Gzp1")],n[e(465,"E!0K")](_0x268382(RoundedRect,r,o++));const _={x:0,y:0};_.width=BOARD_OUTER_W,_[e(519,"UxHI")]=CONTENT,_.r=R,_[e(516,"Eo9M")]=BOARD_3D.TOP,n[e(427,"V71K")](t[e(444,"JexX")](_0x268382,RoundedRect,_,o++));const x={x:6,y:3};x[e(505,"Lzq7")]=BOARD_OUTER_W-12,x[e(408,"Hi9W")]=3,x[e(532,"R#[J")]=BOARD_3D.HIGHLIGHT,x[e(451,"Gzp1")]=.5,n[e(526,"1P9O")](t[e(449,"zPn6")](_0x268382,Rect,x,o++));const s={};s.x=PAD,s.y=PAD,s[e(458,"yBv4")]=INNER_SIZE,s.height=INNER_SIZE,s.color=_0x3b136b.FELT,n.push(t.QpQZO(_0x268382,Rect,s,o++));for(let r=0;r<=BOARD_N;r++){const _=t[e(476,"E4G(")](PAD,t[e(418,"jAZT")](r,CELL));n[e(459,"E7m%")](_0x268382(Line,{p1:vec(PAD,_),p2:t[e(504,"xqg8")](vec,PAD+INNER_SIZE,_),color:_0x3b136b[e(518,"$5HZ")],strokeWidth:1},o++)),n[e(515,"lg#E")](_0x268382(Line,{p1:vec(_,PAD),p2:t[e(494,"S%vt")](vec,_,PAD+INNER_SIZE),color:_0x3b136b.GRID,strokeWidth:1},o++))}for(const[r,_]of[[2,2],[2,6],[6,2],[6,6]])n.push(_0x268382(Circle,{cx:t.JvMAa(PAD,t[e(525,"UxHI")](_,CELL)),cy:PAD+r*CELL,r:Math[e(470,"V71K")](2,.06*CELL),color:_0x3b136b[e(484,"&77X")]},o++));return n})(),DISC_TEMPLATES=(()=>{const e=_0xeb37b9,t={ZuuIC:function(e,t,o,n){return e(t,o,n)},bXnuv:function(e,t){return e-t}};let o=1e3;const n=[],r=[],_=PIECE_RADIUS;for(let x=0;x<BOARD_N*BOARD_N;x++){const{cx:s,cy:W}=CELLS[x];for(const[i,b]of[[n,BLACK_3D],[r,WHITE_3D]]){const n={};n.cx=s,n.cy=W+2,n.r=_,n[e(514,"zPn6")]=b[e(472,"sZ%M")],i[x]=[_0x268382(Circle,n,o++),t.ZuuIC(_0x268382,Circle,{cx:s,cy:W,r:_,children:_0x268382(LinearGradient,{start:vec(s,W-_),end:vec(s,W+_),colors:[b[e(433,"jFcH")],b[e(503,"Hi9W")]]})},o++),_0x268382(Circle,{cx:s,cy:W,r:_,style:e(509,"E7m%"),strokeWidth:RIM_W,color:b[e(482,"x9gn")]},o++),_0x268382(Circle,{cx:s-.24*_,cy:t[e(483,"pEMS")](W,.28*_),r:.5*_,style:e(496,"LjO*"),strokeWidth:2,color:b[e(403,"a5S5")],opacity:.5},o++)]}}const x={};return x.black=n,x.white=r,x})(),HIGHLIGHT_LAST_MOVE=CELLS.map((e,t)=>_0x268382(Rect,{x:e.x+1,y:e.y+1,width:CELL-2,height:CELL-2,style:"stroke",strokeWidth:2,color:_0x3b136b[_0xeb37b9(489,"zPn6")]},_0xeb37b9(511,"j7*$")+t)),HIGHLIGHT_HINT=CELLS[_0xeb37b9(531,"R#[J")]((e,t)=>_0x268382(Circle,{cx:e.cx,cy:e.cy,r:.16*CELL,style:_0xeb37b9(416,"$5HZ"),strokeWidth:2.5,color:_0x3b136b[_0xeb37b9(475,"Lzq7")]},"hh"+t)),useCellPlayer=e=>{const t=_0xeb37b9,o={};o[t(440,"(c$&")]=function(e,t){return e!==t};const n=o,r=_0x1cfe9a(2);let _;return n[t(436,"hbbH")](r[0],e)?(_=o=>o[t(439,"uUS&")][e]?.[t(446,"lg#E")]??null,r[0]=e,r[1]=_):_=r[1],useReversiStore(_)},FLIP_MS=200,DiscNode=_0x35574a[_0xeb37b9(500,"]hEU")](e=>{const t=_0xeb37b9,o={WJvLM:function(e,t){return e===t},mwSrI:function(e,t,o){return e(t,o)},UWTcR:function(e,t){return e(t)},PtumW:function(e,t){return e!==t}},n=o.UWTcR(_0x1cfe9a,12),{index:r}=e,_=useCellPlayer(r),x=useSharedValue(1),s=o[t(521,"UTU#")](useSharedValue,1),W=useRef(_);let i,b;o[t(533,"UTU#")](n[0],x)||n[1]!==s||n[2]!==_?"akTxh"!==t(417,"DAeW")?(_0x171c77=_0x3cf203[3],_0x5bb8e0=_0x509e64[4]):(i=()=>{const e=t,n=W[e(428,"E7m%")];if(W[e(435,"MBgC")]=_,!o[e(424,"uUS&")](n,_)&&null!==_)if(null===n){s.value=0;const t={damping:11};t[e(399,"E7m%")]=240,s[e(406,"Hi9W")]=withSpring(1,t)}else x.value=0,x[e(517,"QdnM")]=o.mwSrI(withTiming,1,{duration:200,easing:Easing[e(513,"S%vt")](Easing.quad)})},b=[_,x,s],n[0]=x,n[1]=s,n[2]=_,n[3]=i,n[4]=b):(i=n[3],b=n[4]),useEffect(i,b);const a={};a[t(400,"xqg8")]=x[t(486,"hbbH")]*s[t(529,"VFkQ")];const d={};d[t(401,"LjO*")]=s.value;const u=useDerivedValue(()=>[a,d]),l=CELLS[r];let R;n[5]!==l.cx||o[t(450,"llzB")](n[6],l.cy)?(R=vec(l.cx,l.cy),n[5]=l.cx,n[6]=l.cy,n[7]=R):R=n[7];const f=R;if(!_)return null;const C="black"===_?DISC_TEMPLATES[t(409,"]hEU")][r]:DISC_TEMPLATES.white[r];let S;if(n[8]!==f||n[9]!==C||n[10]!==u){const e={};e.transform=u,e.origin=f,e.children=C,S=_0x268382(Group,e),n[8]=f,n[9]=C,n[10]=u,n[11]=S}else S=n[11];return S});DiscNode[_0xeb37b9(462,"Xgy$")]=_0xeb37b9(460,"hbbH");const DISC_NODES=CELLS[_0xeb37b9(413,"CZvc")]((e,t)=>_0x268382(DiscNode,{index:t},t)),buildHighlightElements=(e,t)=>{const o=_0xeb37b9,n={};n[o(397,"!%*%")]=function(e,t){return e>=t};const r=[];n.Eabhh(t,0)&&r[o(468,"Eo9M")](HIGHLIGHT_LAST_MOVE[t]);for(const t of e)r[o(526,"1P9O")](HIGHLIGHT_HINT[t]);return r},PiecesCanvas=_0x35574a[_0xeb37b9(447,"9q#z")](()=>{const e=_0xeb37b9,t={};t[e(499,"xqg8")]=e(497,"a5S5");const o=t,n=_0x1cfe9a(1);let r;if(n[0]===Symbol[e(523,"Eo9M")](o.WiRGL)){const t={};t[e(473,"sZ%M")]=styles.canvas,t.pointerEvents=e(493,"1P9O"),t.children=[BOARD_BG_ELEMENTS,DISC_NODES],r=_0x3cc506(Canvas,t),n[0]=r}else r=n[0];return r});function _0x12b2(e,t){e-=395;const o=_0x53fd();let n=o[e];if(void 0===_0x12b2.mzQTGp){const e=function(e,t){let o,n,r=[],_=0,x="";for(e=function(e){let t="",o="";for(let o,n,r=0,_=0;n=e.charAt(_++);~n&&(o=r%4?64*o+n:n,r++%4)?t+=String.fromCharCode(255&o>>(-2*r&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let e=0,n=t.length;e<n;e++)o+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),n=0;n<256;n++)r[n]=n;for(n=0;n<256;n++)_=(_+r[n]+t.charCodeAt(n%t.length))%256,o=r[n],r[n]=r[_],r[_]=o;n=0,_=0;for(let t=0;t<e.length;t++)n=(n+1)%256,_=(_+r[n])%256,o=r[n],r[n]=r[_],r[_]=o,x+=String.fromCharCode(e.charCodeAt(t)^r[(r[n]+r[_])%256]);return x};_0x12b2.HBQGGR=e,_0x12b2.fLtLRy={},_0x12b2.mzQTGp=!0}const r=o[0];_0x12b2.fPWdIl!==r&&(_0x12b2.fLtLRy={},_0x12b2.fPWdIl=r);const _=_0x12b2.fLtLRy[e];return void 0===_?(void 0===_0x12b2.MyHyHC&&(_0x12b2.MyHyHC=!0),n=_0x12b2.HBQGGR(n,t),_0x12b2.fLtLRy[e]=n):n=_,n}function _0x53fd(){const e=["W6XfcaVcSG","CxGRtWq","W63dQSk9WQG","BmkCuSoHW453","WPffxJjWWOZcQty","umkFDmoocW","wLpdUKxcN8oNg8oIWOBdRWpdUJlcL8ky","W6LffG","uCodW4JcOLRcSsWwmLhcOfzU","t8kXx8ooW5e","rSotW4JcVG","tCk/uCokW4u","WRBcI18B","eJ/dKxdcLa","wdJcI8ova8oPW4ecWRuau8kKW6O","o8k9jG","nCkZoSk6WP4","vCk8vCoadG","WOXodCo7WRP0yJxdVZjCW6S","CHHw","WQ3dPIRdHmkR","W4NcQCoPfZ3cLCoIemkqW4pcJSkI","W4VcKu/cOrBcSHO5qq","vGDuWRzbqq","vmkLuhCPbG","BCoger4hWQBcUCkXDG","W6aTpLLnz8oatmoC","psZdOM/dGJOytq","a0ZdUGWbWOpdNa","cIJdL2vO","s3ZdPMFdPGiBA8kl","fcZdKNDLsG","pSkrfbhdRa","WPBdUmkPCxRdGSoSmW","vqTgWRnqCglcIq","lSkgW4xcQmkmW5S","W69Fiq","WRldV8kvvem","o8konbH7","W5NdJmkgWOnLnG","WQldTCo0Dmk2","wxldUwxcHa","DCotWP/dQ8oEWP7dVWFdJYhcQSoQ","W7WlF8kDW5W","WO1fvSkfW6O7wGq","zSk9uSoFpdTO","zmkEAuyV","dSk0ut4W","W7lcQ8krpSoQnCofW6RcKX7cNSo3W4O","WQ7dU8onyW","bwNcG8o8","W5VcKftcTrxcSGS","pCkFbH3dQ8ouwhC","W7GRkLHvz8oisG","amk1m8kI","rmkZq2KPmCkg","W4essa","mgzuWPOcW7vVW45lgq","WOrqW6RcVaNcIGW","eSozt8ouW6O","WRlcH10lamo7","ffWhW6Tbw13cTSougW","o8krrGaz","gCkOW67cSCkc","WP/cNmkyjCk7","h0OtWQeRW7FcQ8oHWOueWQhdKW","emkiyceP","DSksbSkCWOq","FCotzv4IbSkswSkuW407W7JdKa","WOjbvIDXWOW","AJCiW4m","xdZcLSoxf8oO","Fa3dULOG","BYNcJComiq","WPJcVCk0imkMW7/cVq","qCkQxNq+","bsWabw/dQ8oVW7e","eNxcLSoJkq","tstcNSoFjSkbk2y","lcddNNnOtCongGu2W5RcRW","acaiehm","qxldRaKh","W4JcKfxcRW","aSo/ECoyW4T3d20","omkubGldQ8oavvX2W6pdTa","kmkoiXX/x8oBrSksW4OS","p8ksgWBdPSoiqNDL","pu7cVezmvW","F8kPW6RdJq","WRhcN8kAdCkB","zhyPtGddUIXqWPC","W79FfWW","W5NdJmknWObR","gh3cIa","W5CWtgXaBCo8WOddGc7cICkp","F3xdQMBdIXO","F2NdSM7dGq","emo/B8om","W4XUWOGBfwZcGcG9","WPxcQfe6lG","rmk0vhO4oG","W6TdfXtcRfH3W718WQFcUW","W5OlxCk8W64UxXS","etSdcq","WRxdMmknDKy","W7VdM8oK","nmoynNdcRq","lSk3WQFcGq","yxuOvrm","mmo3zSooW6a","ugBcI2NcI8oDeuJcOa","W6PBomo3iYC","ytZdUfqWWQlcQ2St","WPVcGmogW51RexydW5FdHa","W7ziWRmHlG","bCkHoIbW","wmojW5xcSW","WQTVeYW/","jWFdV1hcNG","vmkYq3qNoG","W7OHofjvimokqCofWOxcJtNdIfSxW4BdRhVcSsuoWQuTWPK3","hcFdN1ygWOhcSW","CG1NWP1O","mCkygb0","s33cIIzis8oamr8f","n8o8fSkFA2DKWQdcOcFcTMC","hIBdJ2rIuW","xbzNWQPP","W7noWQi7iG","nIGUvWFdHcbH","tvRdHuCDWO4qxW","qbZdKW","W4VcKvtcQbVcUq","W59RicdcIxDj","W6/dN8oq","vCotW4NcPeRcRt0","WOPXdG","tHldH28D","WOjyrdy"];return(_0x53fd=function(){return e})()}PiecesCanvas[_0xeb37b9(461,"]hEU")]=_0xeb37b9(456,"Hi9W");const HighlightCanvas=_0x35574a[_0xeb37b9(426,"DAeW")](()=>{const e=_0xeb37b9,t=useSelectionVersion(),o=useMemo(()=>{const e=_0x12b2,t=useReversiStore[e(410,"zaaF")]();return buildHighlightElements(t.validTargets,t[e(507,"SMo3")])},[t]),n={};return n[e(469,"$5HZ")]=styles[e(448,"llzB")],n.pointerEvents="none",n[e(520,"lg#E")]=o,_0x268382(Canvas,n)});HighlightCanvas[_0xeb37b9(478,"Eo9M")]=_0xeb37b9(522,"jAZT");export const GameBoard=_0x35574a.memo(({onCellPress:e})=>{const t=_0xeb37b9,o=function(e,t,o){return e(t,o)},n=useRef(e);n[t(422,"UTU#")]=e;const r=useRef((e,o)=>{const r=t,_=hitTest(e,o);-1!==_&&n[r(432,"LjO*")](_)})[t(512,"1P9O")],_=useMemo(()=>Gesture[t(396,"zSMW")]().onEnd(e=>{"JkMZJ"===t(495,"VFkQ")?_0x490427=_0x3c1ad0[0]:runOnJS(r)(e.x,e.y)}),[]);return _0x268382(_0x3d9ff1[t(431,"R#[J")],{style:styles[t(463,"]hEU")],children:o(_0x268382,GestureDetector,{gesture:_,children:o(_0x3cc506,_0x3d9ff1[t(474,"hbbH")],{style:styles[t(530,"llzB")],children:[_0x268382(PiecesCanvas,{}),_0x268382(HighlightCanvas,{})]})})})});GameBoard.displayName=_0xeb37b9(407,"sZ%M");const _0x4a9c96={};_0x4a9c96.width=BOARD_OUTER_W,_0x4a9c96.height=BOARD_OUTER_H,_0x4a9c96[_0xeb37b9(479,"jFcH")]=_0xeb37b9(437,"E4G(");const _0x2854d9={};_0x2854d9[_0xeb37b9(457,"XeJ9")]=BOARD_OUTER_W,_0x2854d9.height=BOARD_OUTER_H,_0x2854d9[_0xeb37b9(411,"xqg8")]=_0xeb37b9(453,"XeJ9");const _0x59ecb7={};_0x59ecb7[_0xeb37b9(430,"a5S5")]=_0xeb37b9(429,"]hEU"),_0x59ecb7.top=0,_0x59ecb7[_0xeb37b9(528,"E4G(")]=0,_0x59ecb7[_0xeb37b9(415,"Xgy$")]=BOARD_OUTER_W,_0x59ecb7[_0xeb37b9(464,"*36h")]=BOARD_OUTER_H;const _0x4234d5={};_0x4234d5[_0xeb37b9(467,"QdnM")]=_0x4a9c96,_0x4234d5[_0xeb37b9(524,"1P9O")]=_0x2854d9,_0x4234d5[_0xeb37b9(412,"(c$&")]=_0x59ecb7;const styles=StyleSheet[_0xeb37b9(477,"LjO*")](_0x4234d5);
@@ -1 +0,0 @@
1
- "use strict";const _0x23000b=_0x30f3;!function(){const o=_0x30f3,e=_0x909b();for(;;)try{if(310922==parseInt(o(298,"7h#r"))/1*(-parseInt(o(297,"2MuU"))/2)+parseInt(o(285,"cejF"))/3*(parseInt(o(291,"Id(q"))/4)+-parseInt(o(300,"3L(w"))/5*(-parseInt(o(302,"]Bme"))/6)+parseInt(o(304,"Dwjy"))/7+-parseInt(o(309,"CRJ3"))/8+parseInt(o(289,"TZx3"))/9+parseInt(o(295,"TZx3"))/10*(-parseInt(o(305,"y#GI"))/11))break;e.push(e.shift())}catch(o){e.push(e.shift())}}();import{c as _0x1e554f}from"react/compiler-runtime";import _0xf840cb from"react";import{View}from"react-native";function _0x909b(){const o=["WPxdM1pcR8knCCohW7S","WPddUSoZW47cSGjla8kPvq","W4hdQcfQh8oqW43dHW","WQ9mW5fwWQdcTmoMW6moWRO","g8orWPJcVCoO","WOmdsCoPCCkuW5VdRXddTaO","zCkXF0O","b8oPW5jYACoqW5OjWQ7cPa/dVmkE","WR9GW5tdUHe","WQrDmuFdNdiwWRpdLI4","emk5mmoUW6JcO8onx8kfW7mR","hWSyWQxdPW","pqBcJSk1WQa","bmoSW5DYBSoqWQWOWRlcKWRdRa","W7ZdJfmija","qCoksCo5utGQWPBcMIddHa","FCkgWOxcV8oCu1f+","W6FdKsvbW7GXWPnrC8k0","W4CyzI7dTmouW5ZdRI5c","W6yozr7dPsaZ","wSk7iSoipW1kWRRdHhO","fSoYWPJcSmoe","W6FdLIjbWOH3W5fdy8kzCSoIha","W6iIW7LwA8oPW7KnW5u","W6yhdmoplW","FSkcW4ldJ8k1cgjxWODIWOldUa","WOzioMNdLq","kmoDsdhdHmo5nmo0WQ1oWRWN","WR0bWPtdHgm","W73dM2hdNGRdRCkiW5pdNx/dOSoXdq","rSoLCCkOWRldTSoGySkkW5afW7u"];return(_0x909b=function(){return o})()}function _0x30f3(o,e){o-=285;const r=_0x909b();let t=r[o];if(void 0===_0x30f3.tvZCSa){const o=function(o,e){let r,t,n=[],d=0,W="";for(o=function(o){let e="",r="";for(let r,t,n=0,d=0;t=o.charAt(d++);~t&&(r=n%4?64*r+t:t,n++%4)?e+=String.fromCharCode(255&r>>(-2*n&6)):0)t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(t);for(let o=0,t=e.length;o<t;o++)r+="%"+("00"+e.charCodeAt(o).toString(16)).slice(-2);return decodeURIComponent(r)}(o),t=0;t<256;t++)n[t]=t;for(t=0;t<256;t++)d=(d+n[t]+e.charCodeAt(t%e.length))%256,r=n[t],n[t]=n[d],n[d]=r;t=0,d=0;for(let e=0;e<o.length;e++)t=(t+1)%256,d=(d+n[t])%256,r=n[t],n[t]=n[d],n[d]=r,W+=String.fromCharCode(o.charCodeAt(e)^n[(n[t]+n[d])%256]);return W};_0x30f3.QKAxdk=o,_0x30f3.NWbvOq={},_0x30f3.tvZCSa=!0}const n=r[0];_0x30f3.vSzjTl!==n&&(_0x30f3.NWbvOq={},_0x30f3.vSzjTl=n);const d=_0x30f3.NWbvOq[o];return void 0===d?(void 0===_0x30f3.dNdzgD&&(_0x30f3.dNdzgD=!0),t=_0x30f3.QKAxdk(t,e),_0x30f3.NWbvOq[o]=t):t=d,t}import{ScoreBoardContainer,ScoreValue,ScoreTimer,ScoreColumn,scoreBoardStyles as _0x2860ad}from"../../../helpers/index.js";import{useScore,useTimeLeft,useBlackCount,useWhiteCount}from"../ReversiStore.js";import{jsx as _0x267de9,jsxs as _0xcb6a23}from"react/jsx-runtime";export const ScoreBoard=_0xf840cb[_0x23000b(288,"SrYh")](o=>{const e=_0x23000b,r={fESpr:function(o){return o()},YGoHB:function(o,e){return o!==e},TdoEn:function(o,e,r){return o(e,r)}},t=_0x1e554f(13),{offset:n}=o,d=void 0===n?0:n,W=useScore(),f=useBlackCount(),s=useWhiteCount(),a=r[e(294,"aTKu")](useTimeLeft);let i;if(t[0]!==W){const o={};o[e(308,"3L(w")]=W,i=_0x267de9(ScoreValue,o),t[0]=W,t[1]=i}else i=t[1];const x=f+"-"+s;let u,m,S,_;if(r[e(303,"7h#r")](t[2],x)){const o={};o[e(290,"Fxa5")]="YOU-AI",o[e(293,"^7pe")]=x,u=_0x267de9(ScoreColumn,o),t[2]=x,t[3]=u}else u=t[3];if(t[4]!==a){const o={};o[e(301,"Id(q")]=a,m=_0x267de9(ScoreTimer,o),t[4]=a,t[5]=m}else m=t[5];if(t[6]!==i||t[7]!==u||t[8]!==m){const o={};o[e(296,"SMJ(")]=_0x2860ad.row,o[e(315,"u25k")]=[i,u,m],S=r[e(286,"7h#r")](_0xcb6a23,View,o),t[6]=i,t[7]=u,t[8]=m,t[9]=S}else S=t[9];if(t[10]!==d||t[11]!==S)if(e(310,"D5@W")!==e(306,"azBH"))_0x7d8c8=_0x327d57[1];else{const o={};o.offset=d,o[e(313,"igTx")]=S,_=_0x267de9(ScoreBoardContainer,o),t[10]=d,t[11]=S,t[12]=_}else _=t[12];return _});ScoreBoard[_0x23000b(292,"qQkD")]=_0x23000b(314,"0^fA");
@@ -1 +0,0 @@
1
- "use strict";var _0x374844=_0x5618;function _0x5618(W,r){W-=113;var t=_0x2071(),o=t[W];void 0===_0x5618.EeXZOa&&(_0x5618.lSekBZ=function(W,r){var t,o,e=[],n=0,a="";for(W=function(W){for(var r,t,o="",e="",n=0,a=0;t=W.charAt(a++);~t&&(r=n%4?64*r+t:t,n++%4)?o+=String.fromCharCode(255&r>>(-2*n&6)):0)t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(t);for(var d=0,s=o.length;d<s;d++)e+="%"+("00"+o.charCodeAt(d).toString(16)).slice(-2);return decodeURIComponent(e)}(W),o=0;o<256;o++)e[o]=o;for(o=0;o<256;o++)n=(n+e[o]+r.charCodeAt(o%r.length))%256,t=e[o],e[o]=e[n],e[n]=t;o=0,n=0;for(var d=0;d<W.length;d++)n=(n+e[o=(o+1)%256])%256,t=e[o],e[o]=e[n],e[n]=t,a+=String.fromCharCode(W.charCodeAt(d)^e[(e[o]+e[n])%256]);return a},_0x5618.tJSYyb={},_0x5618.EeXZOa=!0);var e=t[0];_0x5618.gXjnXa!==e&&(_0x5618.tJSYyb={},_0x5618.gXjnXa=e);var n=_0x5618.tJSYyb[W];return void 0===n?(void 0===_0x5618.TnRrse&&(_0x5618.TnRrse=!0),o=_0x5618.lSekBZ(o,r),_0x5618.tJSYyb[W]=o):o=n,o}function _0x2071(){var W=["W7VcHLGeW5nyW41LzG","WPiZD8k9WR0","omopW5FcImoG","wCobo8oJWP8fWPNcQqS","DCoBu0aeWPVcIvpcJInQiW","W5mGW5P5W5VcHwpdTgWJaq","W6VcLmoRWQBdNd3cIttdHa/dUSkWuCk8","W7n5W6VcVmoUW4/dQSkQea","WPZcH8kgWRWCzmoOWPTaW57dI8kcW6W","WPtcPwhcImksqdPPtCkVfa","bmo6W4T3AxJdSmoEW4GpW7S","W6DSW6FcQ8ooW7ldRSkIb8kO","W5aiqSk4W4WdW6bwiG","W4pdPSk0WQVdU8kADmoXfSoctmk6","WO0UWOFdRmkDW6VdHghcLW","W4b8fCoGW69YtCkIW5xcVGJdHI3cIG","W77dKSohW5/dHftdHW","W4pdS8k6sJjlW6hcGmkTW7W","W4FdSt7dM8oYwqbgrq","nCk/kCksCSkhbSoguG","WRVcH8oXW7NcUCkxW6BdRvTCAYpcTa","dCoUWPfDWQL1W5SYWR8","m8oDqmoUWPRcUSonW7ClW4hcNhy","WOv1W6SEWQmWvh9m","k8kdcrzPW4RcVgpcTq","WQtcTCoiW5JcN8kFWQ/cJCkIW5FcQq","b8o6W4P/AJtdKCoVW5CpW77dOG","xCkAW6hcH8o+f8oOhW","WRiTuWZdO8kYcs0YWRm"];return(_0x2071=function(){return W})()}!function(){for(var W=_0x5618,r=_0x2071();;)try{if(919947==-parseInt(W(138,"*UtB"))/1+-parseInt(W(124,"[l@2"))/2+parseInt(W(113,"ZGGB"))/3+parseInt(W(135,"T]pc"))/4*(parseInt(W(121,"76yJ"))/5)+parseInt(W(120,"9EYs"))/6*(-parseInt(W(114,"#sVG"))/7)+-parseInt(W(125,"Ywp5"))/8*(-parseInt(W(115,"QB$d"))/9)+parseInt(W(131,"(@k6"))/10)break;r.push(r.shift())}catch(W){r.push(r.shift())}}();import{setGameInterval,clearGameInterval}from"../../helpers/GameTimer.js";export class SlidingNumbersService{[_0x374844(140,"9EYs")]=null;[_0x374844(127,"Rjon")](W){var r=_0x374844;this[r(130,"JI&u")](),this[r(128,"gpsy")]={czZld:function(W,r,t){return W(r,t)}}[r(117,"(@k6")](setGameInterval,W,1e3)}[_0x374844(119,"5w(@")](){var W=_0x374844;this[W(123,"Rjon")]&&({WddHW:function(W,r){return W(r)}}[W(118,"#sVG")](clearGameInterval,this[W(134,"Ywp5")]),this[W(139,"v3WH")]=null)}[_0x374844(132,"fB(r")](){this[_0x374844(116,"t&@J")]()}}