@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 _0x277d95=_0x338d;!function(){const o=_0x338d,e=_0x45db();for(;;)try{if(419990==parseInt(o(292,"YLM$"))/1+parseInt(o(321,"rSzf"))/2+-parseInt(o(316,"^4kg"))/3*(parseInt(o(233,"rSzf"))/4)+parseInt(o(296,"wndR"))/5+-parseInt(o(329,"@2v9"))/6*(parseInt(o(238,"NwSU"))/7)+-parseInt(o(211,"l2Sv"))/8*(parseInt(o(237,"@2v9"))/9)+parseInt(o(259,"C1sJ"))/10)break;e.push(e.shift())}catch(o){e.push(e.shift())}}();import{c as _0x361065}from"react/compiler-runtime";import _0x551315 from"react";import{View,StyleSheet}from"react-native";import{Canvas,RoundedRect}from"@shopify/react-native-skia";import{BLOCK_BLAST_COLORS}from"../BlockBlastConstants.js";import{useBlockBlastStore,useGridVersion,useClearingCells}from"../BlockBlastStore.js";import{BlastAnimation}from"../../../helpers/BlastAnimation.js";import{render3DCell}from"./BlockPieceComponent.js";import{jsx as _0x13b29e,jsxs as _0x51399d}from"react/jsx-runtime";const StaticGridCanvas=_0x551315[_0x277d95(326,"NwSU")](o=>{const e="BmYk",t=_0x277d95,n={uQBiL:function(o,e){return o+e},rgdLI:function(o,e){return o>=e},sdKdW:t(303,"C1sJ"),PodOV:function(o,e){return o*e},cSShb:function(o,e){return o!==e},qVXks:function(o,e){return o<e},cIBLs:function(o,e,t){return o(e,t)},dctqg:t(314,"&Rbs"),LfESm:function(o,e,t){return o(e,t)}},W=_0x361065(14),{gridSize:d,cellSize:r,cellGap:s}=o,x=r+s,i=d*x+s;let a;if(n[t(328,"oNQS")](W[0],s)||W[1]!==d||W[2]!==x){a=[];for(let o=0;n.qVXks(o,d);o++)for(let e=0;e<d;e++){if(!n[t(244,"CYb)")]("BOiqm","aGcgD")){const o=_0x57e413[t(291,"S4*C")],e=_0x116e6f[t(274,"%7vD")];return o&&e?o.row+":"+o[t(198,"M%5!")]+":"+(_0xdf18fa[t(271,"mWHI")]?1:0)+":"+e:""}a[t(320,"(PaR")]({x:n[t(249,"(PaR")](e,x)+s,y:o*x+s})}W[0]=s,W[1]=d,W[2]=x,W[3]=a}else if("LkDjE"===t(334,"SmYG")){const o=n[t(242,"64[$")](_0x268406[t(248,"QJxY")],_0x3cf950),W=_0x2b764d[t(346,"Mqn$")]+_0x4e72ba;if(n[t(340,"$iNt")](o,0)&&o<_0xd96f1d&&W>=0&&W<_0x3a3ccb){const d=_0x427060?_0x17c05a[t(323,"NwSU")]:n.sdKdW,r=_0x28ee73?.5:.3;_0xc62717.push({x:n.uQBiL(W*_0x560c26,_0x53ee4c),y:o*_0x5de7a3+_0xeda356,color:""+d+_0x29fb1b[t(214,"seb$")](n[t(327,"akCe")](r,255)).toString(16)[t(258,e)](2,"0"),key:"preview-"+_0x1a9b3e+"-"+_0x4ebf24})}}else a=W[3];const l=a;let S,f,u,_;if(W[4]!==i){const o={};o[t(281,"QJxY")]=i,o[t(199,"*b6x")]=i,S=[styles[t(255,e)],o],f=n[t(338,"Ro88")](_0x13b29e,RoundedRect,{x:0,y:0,width:i,height:i,r:16,color:n[t(278,"fK#E")]}),W[4]=i,W[5]=S,W[6]=f}else S=W[5],f=W[6];if(W[7]!==r||W[8]!==l?(u=l[t(250,"SmYG")]((o,e)=>_0x13b29e(RoundedRect,{x:o.x,y:o.y,width:r,height:r,r:4,color:BLOCK_BLAST_COLORS[t(276,"zg(*")]},e)),W[7]=r,W[8]=l,W[9]=u):u=W[9],W[10]!==S||W[11]!==f||W[12]!==u){const o={};o[t(305,"oNQS")]=S,o[t(341,"jm2U")]=[f,u],_=n[t(266,"YLM$")](_0x51399d,Canvas,o),W[10]=S,W[11]=f,W[12]=u,W[13]=_}else _=W[13];return _});StaticGridCanvas[_0x277d95(254,"Rj4K")]=_0x277d95(202,"QJxY");const usePreviewSig=()=>useBlockBlastStore(_temp),FilledCellsCanvas=_0x551315[_0x277d95(283,"$iNt")](({gridSize:o,cellSize:e,cellGap:t})=>{const n=_0x277d95,W={};W[n(203,"jm2U")]=function(o,e){return o<e},W.PbUrf=function(o,e){return o+e},W[n(228,"Mqn$")]=function(o,e){return o*e},W[n(217,"Rj4K")]=function(o,e){return o===e};const d=W,r=useGridVersion(),s=e+t,x=o*s+t,i=_0x551315[n(252,"W*tR")](()=>{const e=n,W=useBlockBlastStore[e(275,"(PaR")]().grid,r=[];for(let n=0;d.uNoUg(n,o);n++){const x=W[n];if(x)for(let W=0;W<o;W++){const o=x[W];o&&r.push({x:d[e(348,"KpK0")](W*s,t),y:d[e(315,"S4*C")](n,s)+t,color:o,key:"cell-"+n+"-"+W})}}return r},[r,o,s,t]);if(d[n(286,"^4kg")](i[n(232,"4Hn$")],0))return null;const a={};return a[n(298,"bTD[")]=x,a[n(224,"zg(*")]=x,_0x13b29e(Canvas,{style:[styles[n(289,"Mqn$")],a],children:i[n(333,"akCe")](o=>render3DCell(o.x,o.y,e,o[n(295,"4Hn$")],o[n(313,"JPPO")]))})});FilledCellsCanvas[_0x277d95(261,"YLM$")]=_0x277d95(270,"bTD[");const PreviewCellsCanvas=_0x551315[_0x277d95(268,"oD7H")](({gridSize:o,cellSize:e,cellGap:t})=>{const n=_0x277d95,W={tGjKL:function(o,e){return o===e},eivYW:function(o,e){return o+e},mjnhf:function(o,e){return o+e},PUteN:function(o,e){return o>=e},dSzPX:function(o,e){return o<e},vKVBi:n(209,"bf*U"),GkhLh:function(o,e){return o*e},WuxvU:function(o,e){return o===e},dnKqu:function(o,e,t){return o(e,t)}},d=usePreviewSig(),r=e+t,s=W[n(215,"Ro88")](o*r,t),x=_0x551315[n(197,"CYb)")](()=>{const e=n;if(!d)return[];const s=useBlockBlastStore[e(229,"^4kg")](),x=s[e(345,"&jSM")],i=s[e(239,"jm2U")],a=[];if(x&&i){const n=s[e(349,"SmYG")].find(o=>o.id===i);if(n)if(W[e(265,"Rj4K")](e(221,"S4*C"),"jVLzE"))_0x5366f3=_0x1ff8a4[5],_0x335b80=_0x541ec9[6],_0x53d9a4=_0x4fa440[7];else{const d=s[e(297,"JPPO")];for(let s=0;s<n[e(226,"&Rbs")][e(312,"m#Bu")];s++){const i=n.shape[s];if(i)for(let l=0;l<i[e(300,"%7vD")];l++)if(1===i[l]){const i=W[e(236,"^4kg")](x.row,s),S=W[e(339,"seb$")](x.col,l);if(i>=0&&i<o&&W[e(210,"C1sJ")](S,0)&&W[e(260,"Rj4K")](S,o)){const o=d?n.color:W.vKVBi,x=d?.5:.3;a[e(335,"64[$")]({x:W.GkhLh(S,r)+t,y:i*r+t,color:""+o+Math[e(253,"oD7H")](255*x)[e(212,"rSzf")](16).padStart(2,"0"),key:e(322,"NwSU")+s+"-"+l})}}}}}return a},[d,o,r,t]);if(W.WuxvU(x[n(343,"WsB6")],0))return null;const i={};return i.width=s,i[n(213,"ExHp")]=s,W.dnKqu(_0x13b29e,Canvas,{style:[styles[n(205,"&Rbs")],i],children:x[n(282,"oNQS")](o=>_0x13b29e(RoundedRect,{x:o.x,y:o.y,width:e,height:e,r:4,color:o[n(208,"&Rbs")]},o[n(285,"(PaR")]))})});PreviewCellsCanvas[_0x277d95(200,"7gSB")]=_0x277d95(309,"rSzf");const BlastEffectsLayer=_0x551315[_0x277d95(262,")fq$")](o=>{const e="8Srx",t=_0x277d95,n={uDult:function(o,e){return o(e)},YWYzQ:t(301,"m#Bu"),qCHHW:function(o,e){return o!==e}},W=n[t(263,"M%5!")](_0x361065,6),{cellSize:d,cellGap:r,totalCellSize:s}=o,x=useClearingCells(),i=_temp2;if(0===x[t(251,"]aBK")])return null;let a,l;if(W[0]===Symbol.for(n[t(288,"KpK0")])?"TIdpg"!==t(225,"Rj4K")?_0x41e2c4[t(330,"mWHI")]()[t(332,"l2Sv")]():(a=[StyleSheet[t(269,"eEfY")],styles.blastOverlay],W[0]=a):a=W[0],W[1]!==r||n[t(267,e)](W[2],d)||n[t(267,e)](W[3],x)||W[4]!==s){const o="0|5|1|2|4|3"[t(218,"pZLf")]("|");let e=0;for(;;){switch(o[e++]){case"0":const o={};o[t(201,"&06f")]=x,o.cellSize=d,o.cellGap=r,o[t(207,"]aBK")]=s,o[t(235,"xSOj")]=i,l=_0x13b29e(View,{style:a,children:_0x13b29e(BlastAnimation,o)});continue;case"1":W[2]=d;continue;case"2":W[3]=x;continue;case"3":W[5]=l;continue;case"4":W[4]=s;continue;case"5":W[1]=r;continue}break}}else l=W[5];return l});BlastEffectsLayer[_0x277d95(230,"rSzf")]=_0x277d95(293,"zg(*");const GridComponentInner=o=>{const e=_0x277d95,t={ncSRU:function(o,e){return o*e},UMiDC:function(o,e){return o(e)},UIXRB:function(o,e){return o!==e},oHjrz:function(o,e){return o!==e},tqISr:e(290,"$iNt"),VoIAa:function(o,e,t){return o(e,t)},ufsqq:function(o,e){return o!==e},PdYxH:function(o,e){return o!==e}},n=t.UMiDC(_0x361065,18),{gridSize:W,cellSize:d,cellGap:r}=o,s=d+r,x=W*s+r;let i,a,l,S,f,u;if(t[e(336,"wndR")](n[0],x)){const o={};o[e(344,"&06f")]=x,o.height=x,i=o,n[0]=x,n[1]=i}else if(t[e(304,"BmYk")](t.tqISr,"FZovq"))i=n[1];else{const o=_0x86ed9b?_0x2e8d7a[e(264,"Rj4K")]:e(223,"WsB6"),t=_0x5d6ef9?.5:.3;_0x21580e.push({x:SDraKb[e(195,"seb$")](_0xb97da3,_0x2225b0)+_0x5d9c1e,y:SDraKb[e(247,"jm2U")](_0x16b1f5,_0x162764)+_0x498273,color:""+o+_0x3b258e[e(241,"Ro88")](255*t)[e(279,"&jSM")](16)[e(216,"CYb)")](2,"0"),key:e(227,"fK#E")+_0x333313+"-"+_0x4f8344})}if(n[2]!==r||n[3]!==d||n[4]!==W){const o={};o[e(231,"CYb)")]=W,o[e(350,"oD7H")]=d,o[e(342,"oD7H")]=r,a=_0x13b29e(StaticGridCanvas,o);const s={};s.gridSize=W,s[e(337,"bTD[")]=d,s[e(287,"WsB6")]=r,l=t[e(347,"akCe")](_0x13b29e,FilledCellsCanvas,s);const x={};x.gridSize=W,x[e(350,"oD7H")]=d,x[e(240,"*b6x")]=r,S=_0x13b29e(PreviewCellsCanvas,x),n[2]=r,n[3]=d,n[4]=W,n[5]=a,n[6]=l,n[7]=S}else a=n[5],l=n[6],S=n[7];if(n[8]!==r||n[9]!==d||t[e(246,"SmYG")](n[10],s)){const o={};o[e(196,"rSzf")]=d,o[e(245,"sdtA")]=r,o[e(257,"(PaR")]=s,f=t[e(302,"8Srx")](_0x13b29e,BlastEffectsLayer,o),n[8]=r,n[9]=d,n[10]=s,n[11]=f}else f=n[11];if(n[12]!==i||t[e(318,"mWHI")](n[13],a)||t.ufsqq(n[14],l)||t[e(299,"Mqn$")](n[15],S)||n[16]!==f){const o={};o[e(310,"oD7H")]=i,o[e(319,"l2Sv")]=[a,l,S,f],u=_0x51399d(View,o),n[12]=i,n[13]=a,n[14]=l,n[15]=S,n[16]=f,n[17]=u}else u=n[17];return u};export const GridComponent=_0x551315[_0x277d95(307,"pZLf")](GridComponentInner);GridComponent[_0x277d95(219,"64[$")]=_0x277d95(220,"$iNt");const _0x42ca91={};function _0x338d(o,e){o-=195;const t=_0x45db();let n=t[o];if(void 0===_0x338d.yFrtxp){const o=function(o,e){let t,n,W=[],d=0,r="";for(o=function(o){let e="",t="";for(let t,n,W=0,d=0;n=o.charAt(d++);~n&&(t=W%4?64*t+n:n,W++%4)?e+=String.fromCharCode(255&t>>(-2*W&6)):0)n="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(n);for(let o=0,n=e.length;o<n;o++)t+="%"+("00"+e.charCodeAt(o).toString(16)).slice(-2);return decodeURIComponent(t)}(o),n=0;n<256;n++)W[n]=n;for(n=0;n<256;n++)d=(d+W[n]+e.charCodeAt(n%e.length))%256,t=W[n],W[n]=W[d],W[d]=t;n=0,d=0;for(let e=0;e<o.length;e++)n=(n+1)%256,d=(d+W[n])%256,t=W[n],W[n]=W[d],W[d]=t,r+=String.fromCharCode(o.charCodeAt(e)^W[(W[n]+W[d])%256]);return r};_0x338d.pQGKtO=o,_0x338d.lgmGCQ={},_0x338d.yFrtxp=!0}const W=t[0];_0x338d.dOUMUM!==W&&(_0x338d.lgmGCQ={},_0x338d.dOUMUM=W);const d=_0x338d.lgmGCQ[o];return void 0===d?(void 0===_0x338d.pTHUnz&&(_0x338d.pTHUnz=!0),n=_0x338d.pQGKtO(n,e),_0x338d.lgmGCQ[o]=n):n=d,n}function _0x45db(){const o=["WRZdLNSFWPdcOSogW75fW70oW7a","W4pdMWNcLfFdGmkYCmoFW60fjmoZFJHlvW","w8oPjSkRW603W4JdGq","duiPWPtcSmkvFN3cI2byhW","W5yqW7yLW6xcPCkSy8oZW6rxW5bO","EmohWRxdJrJdVCocfmolsSkLhSkZWRhcTq","cJCrW44jqmkIca","u2xdMIRdQSo4WR/dJchcUa","W7ldIHNdRWFcH8kf","W4PdofVcPa","rqJcOmkhW6pcU10M","vg3cKSkmbWlcI2y","qMBcHCkxaW","WOaDcW","gvGfW7K","jMNcRmoezxjfW7L5WQJdMaJcUa","bJCC","j8ovW7b1W50","WPxcT3aLWR47W4q","lrBdQCoXqW","s8oUxwRcKCk8WRFdNuObWQm8aa","hx8RW59F","WRmkeCokjCouW7r4WRvTWPFdMmopAsS","WO/dLmkjWRr2rZuuW4tdIwRdJG","vetdQW3dH8oIWPRdRWJcL8o/nIlcH8kxW7JcIq","W7Pjp8oZaSowW45J","W5BdMYOGW7y","W4FcI2hcHSkcreLHWPdcTae+WRG","iSopWPW/vSkZWOBdGq","W7ldMWhcJfO","Dmo8ywdcTq","z8ohWRFdJW/dOq","y8kZbx9kD8osW5HpW55byCkLWOvanb3cHCoqW7rPFZhdHCoZ","W6tcOmowAMu","W6NdGdNcLuldHSo7","vbaDW6Kx","WP4iaMxcNG","W49cp0xcR8oTse8","WQ84W67cQq","v8o9vh3cNSkPWQVdUNSgWRa+fLeN","k8kTi0SBp14RW47dLmoLBmkTW7VcJ8oTWQddHa","WQ3cMb7dTmou","WRCxba","FCkZcNTkmq","kSolWOS","WOxcNmoqCmkSg8kFW6PWxrNcSCkJW67dItrJWRRdI8oGvtZcVX3dOW","WPmremoUoG","tSomW4fIW7ddHW0","WQqDamoVomoqW7Dn","BCobemkPW4m","t2RdOCokzctcJX8","hsCwW7u","tSoSFG1bAfW9W4RdSmoAuq","W7hdPmkvWOPbgSoQbq","W6ldUCkCWPnA","ACkBW5NcRSo3nK0","W4tdPsTXW4fRW7hdL8koW4FdOY8","W6ZdS8kDWPm","W59xg8omcq","WO4VkghcMq","W4SXgLmhWRnpWPrRW4Gr","x8oTpmkOW7u3W5/dGq","fY3dLCoQycj2q8oSW4VcSJ4+ECkZjSk/W6q","t27dRCohCHxcHHrnW4ddKSo8BGOVDCkNW78","W6jzdW","WP3cTCoRWPNdHG","kSkJW5lcLG","WQpdTaZdP8o3","W6BdLWNcLghdJCklCa","tttcIHRdHa","sXVdTCoXW48","bLOmW5Pu","xCoPW7VcMX7cVLbM","WR3cIqVdTmo2WPdcUG","WPRcT3iUWO0Y","W6tcOmkKCCow","qrxcLSkfW7JcT0qrW6hcNLJdUCoZfmon","r8o3va","W5LxnSocpG","jcpdPCo5Da","WOpcU8oQWOVdM1xdGmocWQ3dPG","WR3cIqVdTmoIWPJcSmkJ","iSoVvcqklSoAW5rPW7D8","sbldImolW7W","gmk6kLeHm1mn","cmoEW6yhomkGFq","W60mfq","W44AW7ySW7NcTa","urnSW5ldQSoeBf/cQvTi","W7dcRmkSACon","zNVcGmkxaHtcUhfWW4Pla8oGW4/cM8ky","s8opW73cOH0","AmodWRFdUbFdQmoefq","WPJcJCoxy8oOsmotWPW9e13dPCoL","DtpdUSkbjGSaW71OWO3dNIG","W7ZdPhygWRL2FmkKW5ldOM4qDq","WPtcLmoEFSo2","BSo3W5ddH8oxW7qa","WPRdSYVdHdG","fg7dJSoOCspcOa","d8kWfuKam0Cp","WR4+bCkyySkV","qb3dTmo2W5S","qXFcPJ7dKq","dComW6CzkCkSymk7","W6ldRYfVCq","WReTW6/cRW8","pSk/W5lcJSoqb3bOqmoVwq","m08bW7jEkd7cPWtdSLVdKmko","WOSSiSo+ba","W4K+h1GeW7iFWQHgW74sW6u3","W5xcThP9W41UWOa","FK3dOXNdM8ot","W6ZdSGXyCa","WOtcK8otyCoH","W55skvZcQSo9sWC","DmoXxeRcIW","gSoKW41HW4/dTJ3cPq","h8k2nu0Eo1aMW4RdLCoS","gSoFW6OUdSkKAmkQ","W5NdKsGOW7ddOG","sSoUDGXbBHe4W6xdQSoywSkI","W4/cJmoj","EdhdMmkDpZqAW71UWOq","gmoOW49RW6W","W4K+hv0eW7izWPXdW4CuW5aw","WRJcP8k7WRnMgmoqyW","tCoKW77cKHNcUfbSWO4GW7ddUaWsWP4","W4uAW7mNW5BcOCkU","sbhcPZNdHq","l8khW6pcL8oW","WRyYW7m","hSo+W5aIpW","WOldICosWPfClSoO","WOlcLSo4WO3dSq","umoIW4hcPs8","r2dcLG","pt0bW5iR","WOdcV8oI","W6tdRMWaWQfD","nSk2WRL2ESo/rW","WRJcGaJdT8od","W5ZdKHTyE3XoW6zPnCkT","wdKzW60mWO0","zLRdRWJdMSocWOVdMqlcH8oImqFcICka","gt0rW7WrySkZasX4jSoOzq","sZKtW4GzWP/dHh0","W7lcNMNcL0ddGSkKtCo+W4hdPSoW","W5ZdQbj4tW","W5NcISonW7WIfWKiW4BdOLu","WOxcPHD4","W7SNdcrJ","W5VdLarhzq","W4ZdVajJwW","W7hcHCo7W58J","W4pcJmoxy1m","WRpcIqRdTW"];return(_0x45db=function(){return o})()}_0x42ca91.position=_0x277d95(306,"fK#E"),_0x42ca91.left=0,_0x42ca91[_0x277d95(243,"pZLf")]=0;const _0x59bbec={};_0x59bbec.position=_0x277d95(280,"QJxY"),_0x59bbec.left=0,_0x59bbec[_0x277d95(311,"S4*C")]=0;const _0x106511={};_0x106511[_0x277d95(273,"*b6x")]="none";const _0x5dacda={};_0x5dacda.canvas=_0x42ca91,_0x5dacda.overlayCanvas=_0x59bbec,_0x5dacda[_0x277d95(206,"xSOj")]=_0x106511;const styles=StyleSheet.create(_0x5dacda);function _temp(o){const e=_0x277d95,t=o[e(256,"zg(*")],n=o[e(308,"Mqn$")];return t&&n?t[e(234,"YLM$")]+":"+t.col+":"+(o[e(204,"%7vD")]?1:0)+":"+n:""}function _temp2(){const o=_0x277d95;useBlockBlastStore[o(317,"S4*C")]()[o(331,"KpK0")]()}
@@ -1 +0,0 @@
1
- "use strict";function _0x46ce(e,r){e-=128;const o=_0x2ee0();let t=o[e];if(void 0===_0x46ce.ETiQHp){const e=function(e,r){let o,t,n=[],d=0,s="";for(e=function(e){let r="",o="";for(let o,t,n=0,d=0;t=e.charAt(d++);~t&&(o=n%4?64*o+t:t,n++%4)?r+=String.fromCharCode(255&o>>(-2*n&6)):0)t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(t);for(let e=0,t=r.length;e<t;e++)o+="%"+("00"+r.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(o)}(e),t=0;t<256;t++)n[t]=t;for(t=0;t<256;t++)d=(d+n[t]+r.charCodeAt(t%r.length))%256,o=n[t],n[t]=n[d],n[d]=o;t=0,d=0;for(let r=0;r<e.length;r++)t=(t+1)%256,d=(d+n[t])%256,o=n[t],n[t]=n[d],n[d]=o,s+=String.fromCharCode(e.charCodeAt(r)^n[(n[t]+n[d])%256]);return s};_0x46ce.QlgVVu=e,_0x46ce.WHirdL={},_0x46ce.ETiQHp=!0}const n=o[0];_0x46ce.HKrTqK!==n&&(_0x46ce.WHirdL={},_0x46ce.HKrTqK=n);const d=_0x46ce.WHirdL[e];return void 0===d?(void 0===_0x46ce.KPWaAA&&(_0x46ce.KPWaAA=!0),t=_0x46ce.QlgVVu(t,r),_0x46ce.WHirdL[e]=t):t=d,t}const _0x4d4644=_0x46ce;function _0x2ee0(){const e=["WQLOW4/cMCo2","FLdcUxbCWPW0","WRtdGaddHmkuauqRW4aKWQ7dJG","ycBcGuFdKW","W5hdIGmKCa","WRVdIaldG8ksbcayW4S6WRBdPSoK","o3BdSr7cNCorW6dcNHtdQCoGW4uk","W457ebGXm8oKB8kvnSkxdSoM","W59lWOBdOmkd","umkdeXvws8kMW446W7FcOeG","smksWO0o","WRTtjv/dOGC7","pCkFjLBcGG","WPVcJN3cTLK","fCkLWOrExHxcTdu","xCkKcvlcNmoJiq","WO3cU8kDrMT6W5TmsSoYW7W","duRdTIbMW4pcNCkdomo8Agi","W4rWfXK4mSoUBSkro8kjdSoN","WPZdUbKnFmovDq","W6rkWPZdLmkX","WPldISo1ASkxsCodWOO","W4pcRmkHW70jW4vkW68","W6RdMCk+W6dcNhK8vG","W6jBx2SrW5RdTW","WRBcMNBcP8oQzum","wvCKW4rpz2SKemovgmoMDq","WRfyw18s","WRyeBXdcNwvNWQtcOc0bCGq","W5arvCozW5tdOG","WR0kgeJdQsmUWOq","fmocW5nuw0imuL3dMSkBamkP","W6PzfCoLAcH6","yCkPELxcKd4EpIDp","v35YWOG6bCkOgCk8dWzOWQ/dMW","u8kKW6FcRGu9xG"];return(_0x2ee0=function(){return e})()}!function(){const e=_0x46ce,r=_0x2ee0();for(;;)try{if(763611==-parseInt(e(147,"st%r"))/1*(parseInt(e(141,"p9e$"))/2)+-parseInt(e(132,"8OsE"))/3*(parseInt(e(162,"H3#8"))/4)+-parseInt(e(145,"ofFn"))/5*(parseInt(e(137,"IDV^"))/6)+parseInt(e(160,"p9e$"))/7*(-parseInt(e(156,"TePs"))/8)+parseInt(e(154,")vR2"))/9*(parseInt(e(158,"p9e$"))/10)+parseInt(e(161,"S(X)"))/11*(parseInt(e(153,"1uMQ"))/12)+parseInt(e(128,"ez^6"))/13)break;r.push(r.shift())}catch(e){r.push(r.shift())}}();import{c as _0x507f77}from"react/compiler-runtime";import _0x25d726 from"react";import{View}from"react-native";import{ScoreBoardContainer,ScoreValue,ScoreTimer,scoreBoardStyles as _0x3f0a11}from"../../../helpers/index.js";import{useScore,useTimeRemaining}from"../BlockBlastStore.js";import{jsx as _0x57d9dc,jsxs as _0x387837}from"react/jsx-runtime";export const ScoreBoard=_0x25d726[_0x4d4644(140,"S(X)")](e=>{const r="Wy3h",o=_0x4d4644,t={};t[o(133,"EeYP")]=function(e,r){return e===r},t[o(143,"rXTQ")]=function(e,r){return e!==r},t[o(130,")sSv")]=o(142,"ofFn");const n=t,d=_0x507f77(10),{offset:s}=e,W=n[o(157,")vR2")](s,void 0)?0:s,i=useScore(),a=useTimeRemaining();let x,f,m,u;if(d[0]!==i){const e={};e[o(150,r)]=i,x=_0x57d9dc(ScoreValue,e),d[0]=i,d[1]=x}else x=d[1];if(d[2]!==a){const e={};e.seconds=a,f=_0x57d9dc(ScoreTimer,e),d[2]=a,d[3]=f}else f=d[3];if(n[o(134,"Bl*o")](d[4],x)||n.ugqQG(d[5],f)){const e={};e.style=_0x3f0a11.row,e[o(151,"0(Rf")]=[x,f],m=_0x387837(View,e),d[4]=x,d[5]=f,d[6]=m}else m=d[6];if(d[7]!==W||d[8]!==m)if("JMEyN"===n[o(138,r)])_0x34dbe3=_0x33920a[3];else{const e={};e[o(159,"Jlq2")]=W,e.children=m,u=_0x57d9dc(ScoreBoardContainer,e),d[7]=W,d[8]=m,d[9]=u}else u=d[9];return u});ScoreBoard[_0x4d4644(146,"Wsld")]=_0x4d4644(163,"K1JT");
@@ -1 +0,0 @@
1
- "use strict";const _0x432d28=_0x2140;function _0x16d1(){const W=["W7VdMSo6WPDVjqCsmwdcVgO0WRnZWRm","W7BdHSorWPvOoG8smgdcHG","hKFdKIZdHG","qmk0WPtdJ8kG","WOOQWQXAW4DKWQ5Aka","W6DRymk4hSoT","WO8EW7tdV8oVrW","c8oAWRlcKh/dL8oSu2i","WO7dR8kctSkHW6NcRhK","WPJdKMjThW","WOtcHhZdVmoKW6e","C8oJWRiqW7ldMmoCW7PTcmoLCuJdRe7cGG","gI0wBKhcIG","WO0JWRPpW4C","W7xdLSol","W5DGgSoqW6K","W4eYWQ4","WR9PnW","W6GjWQqAWOdcIqrbjCk9bq","W5afW63dR8kaESowWPmA","s8kqfmoVWPa","WPTgWOhdSCkPW4NdRceOWP4","W49ptd1fbWxcNSkvWOJcLG","W6nBf8kbW7ewW65w","W7tcKZ46eG","WPRdR8kctCk5W6NcOxu2WQe","W7THECk6gmoqWRPj","cCoMW7NcGSkkWRpcUmoDW4aCWQa","W4LprcXm","WRX/oLb8W7ZdISo6WPJdPfm","j2SnEmouWQK","WPTgWPhdSCkOW4ddQZ45","W4GNWPC7WR7cSWz4hSkkjCkWW7VdQMy","dKFdUHddUgW","dmoqWQZcHMi","nCoAemksdG","W7dcRmkqDheiW61BWPm5W58IjW","WO/dNmkDWPPb","WQjAW6hcHSksda","uf9YjmkNkrZcMCogtSk5sCoE","W5PGaa","W6rGxSkWhCoGWRHVWQmhqCo0W4myWQddVqVcS8kB","cd4BAuBcNbu","WPZcJMldVSo+W4dcRtq","dJ4tEe8","WQvUW7ZcOmkP","n8oJhwn7g8o5BCko","WPapW7VdQSoVAmkUmKy","WPZdT8ojoqTEWQO","W5qLB08k","WOpcJbRcNu7cRH3cKW7dPrhdNG","W5nlrJ5DcG","WP/cHYZcV0pcRJ3cMbZdSJNdHCkVW5GVwa","W6DFn8k8W5C","WQXEW6pcJCkv","W4iIyLydW7JdJeOxvCo/pW","gZmABfG","WP9NW7FcSCkZ","iL3cJ8ovW6xdRKPYkHVcLvKEWPhcRW","gJ4tyxNcKsZcHSoGWQ/cUmoiWR7dHem5","W6flfCoDW6C","WPtcLmk+era","WO7cK3ZdUmoNW6BcNIBcUCojW5u","jmkfW4a","WRTpW6VcGmksaq","o8knW4aOfCof","ocyzt3dcQ1OuW6m9tfa","fdOrAL7cKq","kmoIlwDKk8oECq","a8oAWQ/cG3NdKa","W4OpW5pdOmkJCCowWP4wW5TmWPpcKSkHha","BmoSWPqvW7ldKCohW7P6cmoo","W7NdNCow","CmoKWOyuW60","hZOlxL7cMdNcKq","ocGktM7cSvatW7uQsf05WO4","W5efW4ZcUSkRn8o2WPKzW7JdPqWnWOXM","W50tW5hdPSkvzG","wmoqW6Scxa","x8ohWOBdGq","WPmAW77dVmo3sSkynKFdOSkA","WRxcStRcJg7cNt3cUcNdGW","WPJdMxjAg8kdoSks","W7CgWParWPVcIsf9mCkfbmkcW4hdQKTtWOBdNvS","rCkWWOZdVCkKW5FdRWykpW","kmoSpMz6g8o5A8keWOrF","W79BbSklW74BW79HWObK","WR4TqSonWOm","WP4kWPjJW60","gWiPweJcJ3eM","uSk7WQddLSouWPe","xmota8ooaCozWOBcJG","W6PQASkAeSoXWRHBWPeQrmoR","W7JdKCowWPf3iq","kSoOkwDIoCopB8kf","W54fW5RcVmkTo8o9WOSLW7G","W6GPW79jua","fqFcQ8kPjSkDW7pcIq","pw8pASof","dSkCgSkszCk8WPZdVSoeB8oFWQZdI8kOw8kromoNhG","W7yiW6HPAWZcVmkoWR5duq","xCkSz8kxjW","xSk7WQxdLmoiWOa","WQ9pW7/cJCkFnchcSsxdGCoYW6K","W4KxW5NdP8knzSoN","W6eeefJcJKX3tCoGimkjESoF","hdaOr3m","cmomhKzAo8oXsSkLWRLWWQhdNq","W4yDW5/cTW","W6FcNtC8eCoWWOi","W64jWQWlWOK","gGi6yK/cMMaXW6GyDhqVWQldUCkiWR/dKWSKimoKW4RdOG","W7CgWOiFWOdcGb9bmSk9lSkzW5tdH0rx","WRVcLSkngZ4","imobhCkfdCofASoxW5KCW5m","WOejW7pdU8oWxmkmpKddVSkx","WR3dM8k/WRTO","w8opWOhdHNu0gmosW57cLSo4WQhcJW","WPBdM8oTW5HaaSk9WQ7cOmk0","WP/dQ8kAAmkW","gay5B1dcI1iQW44nCa","W5afW4pcVSk9","WR5EW6VcHCkkar3cKa","W4n7n8kHW5e2W6jxWQvmhSop","WPRdMvfrcq","g1yYW6vAnHdcQ8k8WQa6WRLnsYNcQW","WP/cHZ7cSvJcPWpcPb8","gKpdSHhdOgWxW4GDW6BdJW","W4i2WR5wzZy0rmorr8o5","WQ9rW6BcJmkhecFcQs7dOCocW78","lSoSnNDZ","pKRcRCozW5tdUw94jW0","iCoCbW","b8oAWQJcG2xdJa","lCoDnSkud8ovrCo2W4iC","rmolWOBdSeeVgSouW4G","t2ykW4FcJ3bIWQO","eLmRW7Pl","wrhcPKZcUZ53W5u3W5ddGCoeoW","WQJdJKvQpa","bCkDW4xcGqz3aCouW4NcRmolWRK","WQ7dPh5zoG","sMCpW4FcMKXHWQ3dMCowjd3cR8oHW7ldPXLOWQG6ycfAD8kDWOe","dmotWQtcHx8","W6CvWOP5wq","W4jUg8ohW6m","eL02W6j8","WRfAtGBdMW8UB8oRcSk9ua","WRX/oLb8WQi","z8ocWQpdIL8","WQTpW6ZcImkt","ccOmzq","bhFcG8o+W6S","lgSxtmouWQddLrO","W7VdMSo7WPLUkYq","pe3cJW","WRXDuq7dIq","hYCvrvi","W6WwW5TPCWxcP8keWQu","ugCTW4pcMuf+WRZdTmoneG","hSkkaW","duFdOG","W6GnWQ4AWOxcGJr8kmkKcmkEW4ddNva","gay5B1dcI10","hIpcIr/cNJxcQbq","W7jyaa","WQfSWQtdV8kL","WPZcGhhdV8oGW7dcII7cVSovW5G","lemvrCoU","W6bgqs1KaYi","xConW4eXDmkdWROfE3FcOW","W6boeSkxW6KJW5v5WP9HkCo0fSklmvi","WRHHWPddLCkx","WO3dUmkcWOvE","CmoSWOuFW73dNmosW7jYea","ds3cGbNcNq","W6CDW6bTAWW","c8oUWQFdQCoQWQ3cKCoH","hCkccCoYo8o0WQBcIq","WPFcVCkooXmoW6JdKG","W5z9hSorW63cTmkFe0DNW7C","hepdUGddQxO","W6tdLCoCWPjVlbm","cu3dUXFdOW","fCo1WOdcSx8","W505WPztFJ0arq","WQuJW6ZdOSoz","WQtdUSouhsLiWR9DWOGlW4O","xwGrW47cJG","weqlW7JcSW","WOpcJ1ldUSoHW7dcIIJcTa","W73dH8oOWPPImcivjq","dspcJHpcLZtcSJfBWOhcIJRdHczW","cvy6W61LoYlcJW","dSorWQJcIwZdJmo8wwGJn8o6","x8kqfmo2WOy","cu3dPq","W6FcNtC8eCoWWONcTW","WODyWQRdUCkW","WO7cK3ZdUmoNW6y","WQhdV8oDW4XTi8kgWPxcJmkOlw4","o2euESosWPtdKsXKW6JdHmowW53cPvSdW7CBWRO","WRtdS8koWO10W4qLBW","baGUBNdcH2mM","WO0GWRnbW4C","WPJcVCktdW8B","WQHSp0zY","WRDBzdVdUq","g8oQWOtcRuC","WO7cGhNdT8o/","WO/dK3fShCk3pSke","WRfJa1XGW6RdVmogWPRdNepcOwmLDCo+EmkKfq","W4Hhtc1b","WPpdN8o1W6qm","WOhdN8o9W6Xna8kkWPq","W6ldLCouWOnM","W6ddOCo9WR9j","W58+WRq","W6iAW78","WOBcIalcQ0O","wbhcOuBcUtG4W4OlW7ZdVCoc","kmoOngz/emojvSkjWP1sWOBdVmofpa","l8oKpNz+","W7ldRmolWO5s","WOpcJ1FdUSoGW7NcKs7cQCovW7pdOKlcHSkZDq","WP/cHZ7cSvJcPWpcPb/dIHpdNSk6W7uGxmoUWRDD","fLKDW6zKpb4","cqm5tKtcMNCIW6GyDhq","hqZcMmkBp8kzW4JcMSk7WOy","xmoEW4S6ESkuWRCFww/cUXnPWRtdPG","W6ezW6bKtahcJSkFWRrvyLupW4WQW48","d8kcaCo6ja","rSk6WO/dN8k3W6/dUGinme7cSeXLuIlcLCkuWPC","gJpcNJBcKq","W4yyW7hcPmo8WPJcMWamWO/cS8odBW","W4FdPSo7WRbk","wSohWPW","jmknW5y","W54YWRrvFZS","W4WIsuKlW6/dJMeCDmoUk1FcGG","zSkAWRhdTmkrW6NdLqeGa2pcL3P6Cau","WPJdKmoWW7Xib8k1WQVcV8kjo1tcVtHldW","W4ebW5S","qCopWP7dH1y","WRnyqGRdLa43","W6azW69GEG3cPSkEWOfDvu0kW5CO","dYdcNG","m1BcImovW4ZdR2bWiGdcSW","WRNcSSksbce","W7dcMsClcCo0WQ7cHa","W7OjWQWsWP8","j28qA8oMWRpdGbjPW53dN8oEW5W","WQSEASo4WOe","W5m3W4vgsZRcSmk9WPrJA3K2W7uBW7xcI8kCgCk5","e8knW4eOcW","W6L8z8k8aCo2WOLBWRaJtq","WPnqWQZdMmk8","WPJdMxjldSkoiSke","W4efW4NcT8kAoSosWO8MW6hdSa","WR8MC8oPWQ0","xhpcTtZcOcdcRbu","W7azW6PTsWdcGSkiWR5eqa","WOivW7pdTCo6w8kMme3dHmkxnG","u2GoW5BcU1DZWRtdMCoWdZhcPG","ddyPsCkS","twWAW4VcJLf3WQVdRmofaJJcR8oOW7ldPXLOWQG6ycfAD8kDWOe","p8oOlLfIh8oAzW","WPNcKxhdUSo4W7dcJsJcRCoeW4ldN1pcMW","WPNdV8kfDq","W6nBf8kbW7ewW6PPWOH8iG","WP0+WQ1A","sSopW4WZA8kv","WPtdLSoKcbLVWPTRWPK3W7W","WQddS8ofldq","WQWoWPnIW6PyWOD6cxm","bqOPCSoNEW","WRveraldJW","W7VdMSo/WPDUlbWula","cepdUHNdVW","W69VBb1LjW3cOmk4WRJcQKy","g0u3W6PIltlcUmk6WQWj","WOHtW6lcMCkh","W5TlwY1BdsVcKSkv","nmoOngvIfG","WP8DxG","W7WoW5FcPSk0fbNcKq","WOVdUmkFFSk+W7VcNhuQWRlcOa","aSknpCo3m8o1WPNcUSkvW5Wm","WPFcJbO","BSksymknaW","vSomWOe","WOBcUCkwhqi","FmkLWRpdNSkG","lCoDnSkud8ovrCo6W44BW54VW7Pc","vmkXWR4","WOVdUmkFFSk+W7VcM307WQ7cVa","W5zUg8oEW7u","bmoLW4/cJSo9WO7cSGyKmLVcSwK","WPRdQ8kqEmkbW6hcTxK3WRpcRq","umolWOy","WOrnWQJdTmkTW4ldHamKWOhcSCoiw1Hw","WRX/oLb8W7ZdJCoYWONdUe8","W78UW4VdUCkJ","WRjSieDrW73dR8o+WO/dHepcV3i","W4i2WR5wzZy7","dJybESkfW7zEWPW","WQeHFmo7WQ3cQMqOWO8b","etK1CCkEW7z/WP/cPa","W41prJ1gdW","kgep","W4zUo8oLW4m","r1pdR8okyComW63cPCkFWOyJW6m","WPlcQSktcWWC","oCknW4OOfSonW7C","aW4PE8oaDK3cPSoguSk+zmoIW4iKEa","W4eYWQ5IAJChqCoqAW","bmovWQNcJ3G","gaGQBK7cU3uqW4iyAN0yWPZdUCkwWQ/dKI4","WOpcJ1BdTmoHW7FcSG","W6DVFCkRlmo3WQTxWRyFqCoQW5i","W4GOFKGG","W7CgWOimWOxcJZHGkmk9","WOarxSoiWPdcNq","WOLvW5xcTSkd","g1yYW6v6","cL4KW6W","WRfJbfj7W6pdHSo6WP4","WPNdQ8ksECk5W63cJ3u8WRlcSq","hCkwqa","W6tcIdWOlCo9WQpcKGyOt8onix7cNq","WP/cHYlcV1RcRblcMq","t3WoW4O","hcpcGX/cNt0","wmorW4W2BW","wmoaWR7dNuaJnCowW53cPW","m0xcJCoAW5q","mmoSkq","WOntWPVdOSo8A8olWQ0kW5hdGYu","xSoBW4Wxz8keWOWns2lcTGy","W6rGtmk+bSoPWOztWQa/A8oVW5y1WQ/dUq","WOdcVCkuda4bW7VdOZmkhMJcGmoUWQi","dConWQJcH2BdI8owv2uznW","b8kKW5GcgW","xSkDhCo7WOC","aG3cQmkFimkPW7FcNW"];return(_0x16d1=function(){return W})()}function _0x2140(W,t){W-=155;const o=_0x16d1();let e=o[W];if(void 0===_0x2140.XxpsxT){const W=function(W,t){let o,e,d=[],s=0,i="";for(W=function(W){let t="",o="";for(let o,e,d=0,s=0;e=W.charAt(s++);~e&&(o=d%4?64*o+e:e,d++%4)?t+=String.fromCharCode(255&o>>(-2*d&6)):0)e="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(e);for(let W=0,e=t.length;W<e;W++)o+="%"+("00"+t.charCodeAt(W).toString(16)).slice(-2);return decodeURIComponent(o)}(W),e=0;e<256;e++)d[e]=e;for(e=0;e<256;e++)s=(s+d[e]+t.charCodeAt(e%t.length))%256,o=d[e],d[e]=d[s],d[s]=o;e=0,s=0;for(let t=0;t<W.length;t++)e=(e+1)%256,s=(s+d[e])%256,o=d[e],d[e]=d[s],d[s]=o,i+=String.fromCharCode(W.charCodeAt(t)^d[(d[e]+d[s])%256]);return i};_0x2140.EurDZf=W,_0x2140.Dvepfc={},_0x2140.XxpsxT=!0}const d=o[0];_0x2140.shRnUH!==d&&(_0x2140.Dvepfc={},_0x2140.shRnUH=d);const s=_0x2140.Dvepfc[W];return void 0===s?(void 0===_0x2140.XFyryu&&(_0x2140.XFyryu=!0),e=_0x2140.EurDZf(e,t),_0x2140.Dvepfc[W]=e):e=s,e}!function(){const W=_0x2140,t=_0x16d1();for(;;)try{if(391322==parseInt(W(279,"Jva^"))/1+-parseInt(W(291,"C3FU"))/2+-parseInt(W(392,"xkSS"))/3+-parseInt(W(244,"enPB"))/4*(-parseInt(W(429,"Jva^"))/5)+parseInt(W(218,"EIrO"))/6*(parseInt(W(167,"0wA)"))/7)+parseInt(W(486,"Sref"))/8+parseInt(W(390,"C%5A"))/9)break;t.push(t.shift())}catch(W){t.push(t.shift())}}();import{useBlockBreakerStore}from"./BlockBreakerStore.js";import{BLOCK_BREAKER_GAME_CONFIG,BRICK_COLORS,GRID_HEIGHT,PowerUpType}from"./BlockBreakerConstants.js";import{getGameDimensions}from"../../services/UtilsService.js";const{width:width,screenWidth:screenWidth}=getGameDimensions(),gameAreaLeft=(screenWidth-width)/2,BALL_RADIUS=BLOCK_BREAKER_GAME_CONFIG.BALL_RADIUS,BALL_SPEED=BLOCK_BREAKER_GAME_CONFIG[_0x432d28(181,"!$Vp")],PADDLE_HEIGHT=BLOCK_BREAKER_GAME_CONFIG[_0x432d28(359,"K[H[")],PADDLE_BOTTOM_OFFSET=BLOCK_BREAKER_GAME_CONFIG.PADDLE_BOTTOM_OFFSET,MIN_X=gameAreaLeft+BALL_RADIUS,MAX_X=gameAreaLeft+width-BALL_RADIUS,PADDLE_Y=GRID_HEIGHT-PADDLE_BOTTOM_OFFSET,PADDLE_TOP=PADDLE_Y-PADDLE_HEIGHT/2,BALL_LOST_Y=GRID_HEIGHT-BALL_RADIUS,PADDLE_MIN_X=gameAreaLeft,PADDLE_MAX_X=gameAreaLeft+width,POWER_UP_TYPES=Object[_0x432d28(433,"C%5A")](PowerUpType);export class BlockBreakerService{[_0x432d28(259,"7xwQ")]=!1;[_0x432d28(446,"7xwQ")]=null;[_0x432d28(473,"K[H[")]=[];[_0x432d28(210,"BCnW")]=0;[_0x432d28(157,"rRDI")]=[];powerUps=[];[_0x432d28(356,"wBVF")]=screenWidth/2;[_0x432d28(380,"Hh!q")]=BLOCK_BREAKER_GAME_CONFIG[_0x432d28(186,"GP9^")];[_0x432d28(286,"7xwQ")]=0;cachedIsPlaying=!1;[_0x432d28(277,"]rGd")](W){this[_0x432d28(497,"F]MM")]=W}[_0x432d28(499,"Aw3C")]=[];bricksDirty=!1;_removeSet=new Set;[_0x432d28(421,"GP9^")]=new Map;[_0x432d28(482,"F]MM")]=new Map;powerUpSharedValues=new Map;paddleSV=null;[_0x432d28(263,"twwq")]=null;onPowerUpListChange=null;constructor(){}[_0x432d28(363,"5uY#")](W,t){this[_0x432d28(221,"C3FU")].set(W,t)}[_0x432d28(394,"SulV")](W){const t=_0x432d28;this.ballSharedValues[t(285,"C%5A")](W)}registerPowerUpSharedValues(W,t){const o=_0x432d28;this.powerUpSharedValues[o(268,"Hh!q")](W,t)}unregisterPowerUpSharedValues(W){const t=_0x432d28;this.powerUpSharedValues[t(329,"wBVF")](W)}[_0x432d28(172,"SulV")](W){this[_0x432d28(445,"kw(p")]=W}setOnBallListChange(W){this[_0x432d28(476,"*dqQ")]=W}setOnPowerUpListChange(W){this.onPowerUpListChange=W}[_0x432d28(302,"3zQ]")](W,t,o,e,d,s,i,n,r,h){const k="Sref",S=_0x432d28,a=S(351,"vmC8")[S(450,k)]("|");let O=0;for(;;){switch(a[O++]){case"0":this[S(241,"xkSS")]=d;continue;case"1":this.onPowerUp=n;continue;case"2":this[S(410,"F]MM")]=e;continue;case"3":this[S(442,"*dqQ")]=i;continue;case"4":this[S(237,"3zQ]")]=r;continue;case"5":this[S(411,"SulV")]=o;continue;case"6":this[S(406,"xm6^")]=h;continue;case"7":this[S(386,"qamA")]=W;continue;case"8":this[S(273,k)]=s;continue;case"9":this[S(491,"7EU6")]=t;continue}break}}[_0x432d28(222,"Hh!q")](W){const t=_0x432d28,o={};o[t(159,"!4SH")]=function(W,t){return W+t},o[t(436,"7xwQ")]=function(W,t){return W-t};const e=o,d=this[t(323,"twwq")]/2,s=Math[t(489,"&#4m")](e[t(230,"b$IR")](PADDLE_MIN_X,d),Math[t(407,"Aw3C")](e.zJAUr(PADDLE_MAX_X,d),W));this[t(294,"Yxt1")]=s,this.paddleSV&&(this[t(449,"4DwG")].x[t(198,"r7ga")]=s)}[_0x432d28(164,"*!#Q")](){return this[_0x432d28(373,"enPB")]}[_0x432d28(439,"kWZl")](){return this.powerUps}[_0x432d28(370,"fpB^")](){return this[_0x432d28(211,"Hh!q")]}[_0x432d28(299,"W@5O")](){const W="W@5O",t="lpY%",o=_0x432d28;0===useBlockBreakerStore[o(431,"r7ga")]()[o(451,"*dqQ")][o(290,"b$IR")]&&this.initializeBricks(),this[o(367,W)]=useBlockBreakerStore[o(405,t)]()[o(219,"r7ga")],this[o(281,"BCnW")]=!1,this[o(435,"C%5A")]=0,this[o(226,"[U%8")]=0,this[o(361,"4DwG")]=screenWidth/2,this[o(332,W)]=BLOCK_BREAKER_GAME_CONFIG[o(452,"fpB^")],this[o(430,"cx[9")]&&(this[o(454,"ukNo")].x[o(350,t)]=this.paddleX,this[o(416,"0wA)")].width.value=this[o(337,"K[H[")]),this[o(426,"twwq")]()}[_0x432d28(346,"K[H[")](){const W=_0x432d28;this[W(236,"4DwG")](),this[W(483,"cx[9")]=[],this[W(251,"EIrO")]=[],this[W(427,"0wA)")]=0,this.lastFrameTime=0,this[W(328,"enPB")]=!1,this.bricksCache=[],this[W(422,"BZGp")]=!1,this[W(434,"xm6^")]=screenWidth/2,this[W(419,"*dqQ")]=BLOCK_BREAKER_GAME_CONFIG.PADDLE_WIDTH,this.paddleSV&&(this[W(466,"fpB^")].x[W(397,"4YMJ")]=this[W(220,"&#4m")],this[W(212,"Bp1)")].width[W(255,"7fG7")]=this[W(274,"GP9^")]),this[W(311,"Yxt1")][W(250,"AT8h")](),this.powerUpSharedValues[W(265,"!$Vp")](),this[W(304,"3zQ]")]?.(),this[W(293,"[U%8")]?.()}[_0x432d28(496,"&*Sw")](){const W=_0x432d28;this.destroyed=!0,this[W(444,"0wA)")]=!1,this.stopPhysicsLoop(),this[W(228,"rRDI")]=void 0,this[W(200,"qamA")]=void 0,this.onPaddleHit=void 0,this[W(283,"Sref")]=void 0,this.onLoseLife=void 0,this.onGameOver=void 0,this[W(184,"xm6^")]=void 0,this[W(378,"3zQ]")]=void 0,this[W(437,"Hh!q")]=void 0,this[W(478,"kw(p")]=void 0,this[W(246,"[U%8")]=null,this[W(463,"BCnW")]=null,this[W(454,"ukNo")]=null,this[W(377,"kw(p")][W(395,"7xwQ")](),this[W(224,"5uY#")][W(180,"kWZl")](),this[W(248,"7xwQ")]=[];for(const t of this[W(207,"Sref")])clearTimeout(t);this[W(247,"r7ga")]=[]}[_0x432d28(168,"F]MM")](W,t){const o=_0x432d28,e=setTimeout(()=>{this[_0x2140(256,"!$Vp")]||W()},t);return this[o(414,"rRDI")][o(175,"]rGd")](e),e}[_0x432d28(493,"fpB^")](){const W=_0x432d28,t={};t[W(223,"7xwQ")]=function(W,t){return W+t},t[W(166,"!4SH")]=function(W,t){return W*t},t[W(217,"4YMJ")]=function(W,t){return W/t},t.tWuLO=function(W,t){return W<t},t[W(393,"*!#Q")]=function(W,t){return W*t};const o=t,e=[],{BRICK_COLS:d,BRICK_ROWS:s,BRICK_PADDING:i,BRICK_WIDTH:n,BRICK_HEIGHT:r,GRID_TOP:h}=BLOCK_BREAKER_GAME_CONFIG,k=o.kjhku(o[W(487,"xm6^")](d,n),(d-1)*i),S=o[W(398,"kw(p")](gameAreaLeft,o[W(171,"Bp1)")](width-k,2));for(let t=0;o[W(358,"5uY#")](t,s);t++){const s=BRICK_COLORS[t%BRICK_COLORS[W(321,"7xwQ")]],k=1;for(let a=0;a<d;a++){const d=S+o[W(309,"b$IR")](a,n+i),O=h+t*(r+i),u={};u.id=W(400,"BCnW")+t+"-"+a,u.row=t,u[W(216,"lpY%")]=a,u.x=d,u.y=O,u[W(301,"7EU6")]=n,u[W(342,"Jva^")]=r,u[W(456,"!$Vp")]=s,u.hits=k,e.push(u)}}useBlockBreakerStore.getState()[W(387,"xkSS")](e)}[_0x432d28(347,"enPB")](){const W=_0x432d28,t={};t[W(297,"b$IR")]=function(W,t){return W*t},t[W(339,"!4SH")]=function(W,t){return W-t};const o=t,e=(Math.random()-.5)*Math.PI/3,d=o[W(348,"F]MM")](Math[W(191,"!4SH")](e),BALL_SPEED),s=-Math[W(470,"F]MM")](Math[W(448,"C%5A")](e)*BALL_SPEED),i={id:W(465,"fpB^")+Date[W(201,"Jva^")](),x:this[W(294,"Yxt1")],y:o.RYrbg(PADDLE_TOP-BALL_RADIUS,2),vx:d,vy:s};this[W(440,"SulV")]=[i],this.combo=0,this[W(252,"xm6^")]?.(),this[W(437,"Hh!q")]?.()}[_0x432d28(479,"5uY#")](W,t,o,e){const d=_0x432d28,s={id:"ball-multi-"+Date.now()+"-"+Math[d(317,"&#4m")](),x:W,y:t,vx:o,vy:e};this[d(203,"4YMJ")][d(238,"SulV")](s),this[d(364,"rRDI")]?.()}[_0x432d28(423,"TOJR")](){const W=_0x432d28;this.stopPhysicsLoop(),this.lastFrameTime=0;const t=W=>{const o=_0x2140;this[o(189,"GP9^")]||(this[o(316,"b$IR")](W),this[o(399,"&*Sw")]=requestAnimationFrame(t))};this[W(307,"7EU6")]=requestAnimationFrame(t)}stopPhysicsLoop(){const W=_0x432d28;null!==this[W(399,"&*Sw")]&&(cancelAnimationFrame(this[W(381,"b$IR")]),this[W(169,"W@5O")]=null)}[_0x432d28(310,"Aw3C")](){const W=_0x432d28;this[W(253,"xm6^")]&&(this[W(432,"4YMJ")]=useBlockBreakerStore[W(349,"EIrO")]()[W(264,"Yxt1")],this[W(366,"qamA")]=!1)}[_0x432d28(178,"BZGp")](W){const t="xkSS",o="r7ga",e="b$IR",d="wBVF",s="5uY#",i="Yxt1",n="BCnW",r="4YMJ",h="Yxt1",k="]rGd",S=_0x432d28,a={JpKde:function(W,t){return W===t}};a[S(183,"&*Sw")]=function(W,t){return W<=t},a[S(163,"Sref")]=function(W,t){return W/t},a[S(161,"&#4m")]=function(W,t){return W<t},a.UDboa=function(W,t){return W>t},a.OZQLy=function(W,t){return W-t},a[S(401,t)]=function(W,t){return W<=t},a[S(209,"wBVF")]=function(W,t){return W/t},a.tqsMc=function(W,t){return W+t},a[S(365,"r7ga")]=function(W,t){return W*t},a.yIURp=function(W,t){return W-t},a[S(155,o)]=function(W,t){return W+t},a[S(261,"*!#Q")]=function(W,t){return W-t},a[S(330,"BZGp")]=function(W,t){return W+t},a.kKWXS=function(W,t){return W<t},a[S(188,e)]=function(W,t){return W+t},a[S(313,o)]=function(W,t){return W>t},a[S(475,"xm6^")]=function(W,t){return W!==t},a[S(391,"*!#Q")]=S(376,"*!#Q");const O=a;if(!this[S(481,"BZGp")]||0===this[S(185,"C%5A")].length)return;O[S(199,"7fG7")](this.lastFrameTime,0)&&(this[S(170,"SulV")]=W);const u=W-this[S(158,"lpY%")];this[S(369,t)]=W;const C=Math[S(488,t)](u,33.33)/16.67;if(O[S(402,e)](C,0))return;this[S(322,d)]();const m=this[S(415,s)],x=O[S(409,i)](this[S(270,"rRDI")],2),P=this[S(208,n)],_=this._removeSet,R=this[S(300,"kWZl")];_[S(308,"Yxt1")](),R[S(395,"7xwQ")]();let A=!1,B=!1,l=!1,G=0,p=!1,L=0;for(let W=0;O.Zaodq(W,this[S(447,"AT8h")].length);W++){const o=this.balls[W];if(!o)continue;let d=o.x+o.vx*C,s=o.y+o.vy*C,i=o.vx,k=o.vy,a=!1;if(d<=MIN_X?(d=MIN_X,i=Math[S(266,"xm6^")](i),a=!0):d>=MAX_X&&(d=MAX_X,i=-Math[S(498,"0wA)")](i),a=!0),s-BALL_RADIUS<=0&&(s=BALL_RADIUS,k=Math[S(197,t)](k),a=!0),a&&this[S(233,"BCnW")]?.(),O.UDboa(s+BALL_RADIUS,BALL_LOST_Y)){A=!0,this.ballSharedValues[S(182,"C3FU")](o.id);continue}if(k>0&&s+BALL_RADIUS>=PADDLE_TOP&&s+BALL_RADIUS<=PADDLE_TOP+PADDLE_HEIGHT+5&&d>=O.OZQLy(m-x,BALL_RADIUS)&&O.PlQxl(d,m+x+BALL_RADIUS)){const W=O[S(438,"W@5O")](d-m,x)*(Math.PI/3),t=Math[S(177,"!$Vp")](O.tqsMc(O[S(289,"ukNo")](i,i),O.KNwsY(k,k)));i=Math[S(412,"cx[9")](W)*t,k=-Math[S(417,"TOJR")](Math[S(384,"qamA")](W)*t),s=PADDLE_TOP-BALL_RADIUS-1,this[S(194,"cx[9")]?.(),this[S(267,r)]=0}for(let W=0;W<P[S(303,"GP9^")];W++){const t=P[W];if(!t||_.has(t.id))continue;const o=R.get(t.id)??t[S(331,"xkSS")];if(!O.epciu(o,0)&&d+BALL_RADIUS>t.x&&d-BALL_RADIUS<O[S(485,"0wA)")](t.x,t.width)&&O[S(418,"Sref")](s+BALL_RADIUS,t.y)&&O[S(368,"ukNo")](s,BALL_RADIUS)<t.y+t[S(457,"r7ga")]){const W=O[S(425,"ukNo")](d,BALL_RADIUS)-t.x,e=O[S(240,"BZGp")](t.x+t[S(474,"K[H[")],d-BALL_RADIUS),a=O[S(459,"&*Sw")](s,BALL_RADIUS)-t.y,u=t.y+t[S(385,"7xwQ")]-O.OZQLy(s,BALL_RADIUS),C=Math[S(469,"Hh!q")](W,e),m=Math[S(324,"xm6^")](a,u);O.kKWXS(C,m)?i=-i:k=-k;const x=o-1;if(x<=0){if(_[S(269,n)](t.id),B=!0,this.combo++,this[S(276,"4DwG")]>=3&&this[S(225,"*dqQ")]?.(),Math[S(215,"GP9^")]()<BLOCK_BREAKER_GAME_CONFIG[S(284,"rRDI")]){const W=POWER_UP_TYPES[Math.floor(Math[S(239,"0wA)")]()*POWER_UP_TYPES[S(258,"W@5O")])];this[S(295,"*dqQ")][S(403,h)]({id:S(235,"cx[9")+Date[S(292,r)]()+"-"+t.id,type:W,x:t.x+t.width/2,y:t.y+t[S(262,"*dqQ")]/2}),p=!0}}else R[S(494,"enPB")](t.id,x),l=!0;G+=O.Flmxa(BLOCK_BREAKER_GAME_CONFIG[S(492,"7fG7")],this.combo*BLOCK_BREAKER_GAME_CONFIG[S(160,"F]MM")]);break}}o.x=d,o.y=s,o.vx=i,o.vy=k;const u=this.ballSharedValues[S(195,"3zQ]")](o.id);u&&(u.x[S(495,t)]=d,u.y[S(467,"xm6^")]=s,u.vx[S(458,"BCnW")]=i,u.vy[S(371,"]rGd")]=k),this[S(306,e)][L++]=o}const f=this.balls[S(229,"!4SH")]!==L;if(this[S(231,"kw(p")][S(190,"K[H[")]=L,O[S(312,"4YMJ")](_.size,0)||O[S(353,"vmC8")](R[S(232,"kw(p")],0)){const W=[];for(let t=0;t<this[S(162,"[U%8")][S(257,"[U%8")];t++){const o=this[S(187,"kw(p")][t];if(_[S(243,"K[H[")](o.id))continue;const e=R[S(413,"C%5A")](o.id);W.push(O.fXsxQ(e,void 0)?{...o,hits:e}:o)}this[S(314,"*dqQ")]=W,useBlockBreakerStore[S(341,s)]({bricks:W,brickVersion:useBlockBreakerStore[S(326,"Yxt1")]().brickVersion+1}),this[S(193,k)]=!1}if(G>0&&useBlockBreakerStore[S(260,"]rGd")]()[S(352,"F]MM")](G),B?S(249,"&#4m")===O[S(196,"vmC8")]?(_0x55f093.x[S(296,i)]=_0x23ac0d,_0x133b2c.y[S(382,"K[H[")]=_0x12aff1,_0x1c5ba3.vx[S(471,"3zQ]")]=_0xde64ae,_0x2f036a.vy[S(371,k)]=_0x37fdb2):this.onBrickDestroy?.():l&&this.onBrickHit?.(),p&&this[S(477,"3zQ]")]?.(),this[S(174,"*dqQ")](C),f&&this.onBallListChange?.(),A&&0===this[S(242,"Aw3C")][S(319,h)]){this[S(383,"Aw3C")]?.(),useBlockBreakerStore[S(173,"K[H[")]()[S(455,s)]();const W=useBlockBreakerStore[S(334,"*!#Q")]();W[S(271,d)]?W[S(325,"twwq")]>0&&this[S(205,k)](()=>{const W=S;!this.destroyed&&useBlockBreakerStore[W(156,"4DwG")]()[W(443,"xm6^")]&&this[W(338,"TOJR")]()},500):this[S(480,"EIrO")]?.()}0===this[S(202,"]rGd")].length&&(this[S(298,"K[H[")]?.(),useBlockBreakerStore.getState()[S(336,"7fG7")]())}updatePowerUps(W){const t=_0x432d28,o={USbHL:function(W,t){return W/t}};o[t(460,"7xwQ")]=function(W,t){return W>t},o[t(340,"!$Vp")]=function(W,t){return W<=t},o[t(254,"C%5A")]=function(W,t){return W+t},o[t(227,"7EU6")]=function(W,t){return W-t},o[t(396,"Hh!q")]=function(W,t){return W-t};const e=o;if(0===this[t(462,"*!#Q")][t(258,"W@5O")])return;const d=this.paddleX,s=e[t(404,"Aw3C")](this[t(379,"C%5A")],2),i=BLOCK_BREAKER_GAME_CONFIG[t(327,"5uY#")]*W;let n=0,r=!1;const h=[];for(let W=0;W<this[t(278,"[U%8")][t(490,"Hh!q")];W++){const o=this[t(388,"SulV")][W];if(!o)continue;const k=o.y+i;if(e[t(468,"xm6^")](k,GRID_HEIGHT)){this.powerUpSharedValues[t(354,"Jva^")](o.id),r=!0;continue}if(k>=PADDLE_TOP&&e.pEMMX(k,e[t(305,"TOJR")](PADDLE_TOP,PADDLE_HEIGHT)+10)&&o.x>=e[t(389,"kw(p")](e.UBPKR(d,s),10)&&o.x<=d+s+10){h.push(o[t(360,"enPB")]),this[t(453,"lpY%")][t(428,"F]MM")](o.id),r=!0;continue}o.y=k;const S=this[t(484,"7fG7")][t(206,"xkSS")](o.id);S&&(S.y[t(362,"rRDI")]=k),this[t(320,"K[H[")][n++]=o}this[t(388,"SulV")].length=n,r&&this[t(335,"rRDI")]?.();for(const W of h)this.applyPowerUp(W),this[t(214,"Bp1)")]?.()}[_0x432d28(355,"b$IR")](W){const t="lpY%",o=_0x432d28,e={};e[o(420,t)]=function(W,t){return W+t};const d=e;switch(W){case PowerUpType[o(179,"kWZl")]:{const W=Math[o(469,"Hh!q")](1.5*BLOCK_BREAKER_GAME_CONFIG.PADDLE_WIDTH,1.3*this[o(372,"5uY#")]);this[o(176,"TOJR")]=W,this[o(374,"b$IR")]&&(this.paddleSV[o(287,"qamA")][o(272,"AT8h")]=W),this[o(165,"enPB")](()=>{const W=o;this[W(234,"]rGd")]=BLOCK_BREAKER_GAME_CONFIG[W(318,"5uY#")],this.paddleSV&&(this[W(275,"TOJR")][W(464,"GP9^")][W(280,"GP9^")]=BLOCK_BREAKER_GAME_CONFIG[W(375,"TOJR")])},1e4);break}case PowerUpType[o(213,"!4SH")]:if(this.balls[o(345,"xm6^")]>0&&this.balls[o(282,t)]<5){const W=this[o(461,"*dqQ")][0],t=Math.sqrt(d[o(441,"SulV")](W.vx*W.vx,W.vy*W.vy));this[o(344,"[U%8")](W.x,W.y,.7*-t,.7*-t),this[o(245,"BZGp")](W.x,W.y,.7*t,.7*-t)}break;case PowerUpType[o(333,"3zQ]")]:useBlockBreakerStore.setState(W=>({lives:Math[o(315,"&#4m")](W[o(408,"&*Sw")]+1,BLOCK_BREAKER_GAME_CONFIG[o(424,"Sref")])}))}}}
@@ -1 +0,0 @@
1
- "use strict";const _0x5c05aa=_0x4e1c;!function(){const e=_0x4e1c,t=_0x58af();for(;;)try{if(754494==parseInt(e(235,"[x2#"))/1+-parseInt(e(205,"u%tS"))/2+-parseInt(e(215,"[SWH"))/3*(parseInt(e(213,"a(fJ"))/4)+-parseInt(e(210,"OnpW"))/5*(-parseInt(e(227,"WtTk"))/6)+parseInt(e(236,"d1fZ"))/7+parseInt(e(237,"LI%1"))/8*(parseInt(e(196,"qApY"))/9)+-parseInt(e(195,"rqL("))/10)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{BLOCK_BREAKER_GAME_CONFIG,BLOCK_BREAKER_TIME_LIMIT}from"./BlockBreakerConstants.js";export const useBlockBreakerStore=create()(subscribeWithSelector(immerMiddleware((e,t)=>({score:0,lives:BLOCK_BREAKER_GAME_CONFIG[_0x5c05aa(239,"x!P[")],timeRemaining:BLOCK_BREAKER_TIME_LIMIT,isPlaying:!1,gameOver:!1,gameWon:!1,bricks:[],brickVersion:0,startGame:t=>{e(e=>{const o=_0x4e1c;e[o(241,"BmoM")]=0,e[o(229,"d1fZ")]=BLOCK_BREAKER_GAME_CONFIG[o(226,"^bwT")],e.timeRemaining=t,e[o(218,"BmoM")]=!0,e[o(240,"BmoM")]=!1,e[o(202,"^Ps&")]=!1})},stopGame:()=>{e(e=>{e[_0x4e1c(199,"h!33")]=!1})},resetGame:()=>{e(e=>{const t=_0x4e1c;e[t(243,"u(L(")]=0,e[t(238,"SDOa")]=BLOCK_BREAKER_GAME_CONFIG[t(198,"18xb")],e[t(224,"x!P[")]=BLOCK_BREAKER_TIME_LIMIT,e[t(200,"J5iH")]=!1,e.gameOver=!1,e.gameWon=!1,e[t(244,"WtTk")]=[],e[t(194,"Hasv")]=0})},updateScore:t=>{e(e=>{const o=_0x4e1c;e[o(228,"6gCO")]=e[o(217,"^cPV")]+t})},updateTimeRemaining:t=>{const o=_0x5c05aa;({OSFho:function(e,t){return e(t)}})[o(222,"a(fJ")](e,e=>{const r=o;e[r(204,"]Ml7")]=Math.max(0,e[r(208,"qApY")]+t)})},setBricks:t=>{e(e=>{const o=_0x4e1c;e.bricks=t,e[o(233,"w9Gv")]=e[o(219,"SDOa")]+1})},loseLife:()=>{e(e=>{const t=_0x4e1c;e[t(211,"WtTk")]=Math.max(0,e[t(212,"BkVH")]-1),e[t(229,"d1fZ")]<=0&&(e[t(234,"D@Bs")]=!0,e[t(199,"h!33")]=!1)})},setGameOver:()=>{e(e=>{const t=_0x4e1c;e.gameOver=!0,e[t(214,"Q]QX")]=!1})},setGameWon:()=>{e(e=>{const t=_0x4e1c;e.gameWon=!0,e[t(242,"[x2#")]=!0,e[t(230,"o98A")]=!1})}}))));export const useScore=()=>({pKkBY:function(e,t){return e(t)}}[_0x5c05aa(203,"ac%O")](useBlockBreakerStore,_temp));export const useLives=()=>useBlockBreakerStore(_temp2);export const useTimeRemaining=()=>useBlockBreakerStore(_temp3);export const useIsPlaying=()=>useBlockBreakerStore(_temp4);function _0x58af(){const e=["WObCed/cRsqXyIlcKaVdKctdSW","W6tdLCktvJe","W5BcGmkOWQ8KimoV","W6FdRCoCW7hcTgOqswaswSoEWQC","WRm9sKVcKWLcW6ZcMq","W5RcObddJv8","hSogbCo2kJTQba","W6ddUfj4WRu","jxSSW6VdOW","W4eFW4mLxuhdLCk5EG","W5uRiCoyAmkCamoYW6hdKCkUzqK","vqNdMfLHWO/dOmkfBSoIW4FcIW","j8k3wmofqSozW7LvWQxdSKldJG","W6PuWRZdO2rprYC","ccdcOSk6sHzQWQlcN3BdJ8ke","CsTPWR7cPmoTaN95W4tdNSocWR0","z8oMWQ8ieMVcKshdUG","W4/dUSoFb8kl","W5/dJCoNW5hcTq","vIDHW7JcS0Lqha","qIvJW6/cMq","vNldVmoVnvnHWQm","D0mhW7BdHq","tCkgpSobnWe","WOrVFCklmSo9vCoLW4xdQCk4qW","WOldUJOoWRxcG8kmWOZdTCkHeYztja","hCk6W67dVqBdNd7cS0K+W5LS","mHHqW4VdIZVdVfyc","EXZdLvdcOW","cSkHW6tdVmkVx8oWW5hcJq","WRnTDLSOWOr/WQ0F","W4pdLeive8odBcy","xSoVnt/cUCo0W78","chHEW7yY","WRBdNmo7WQGQnSoPWOhcJmkRy8ovWOC","vh1qW4VdLSkWWR8nWPGrFCoVW5G","D0fSWRPlqq","iSkKxmodzSo5W7Lv","wmoNWRpcQMxcIchcV3K5W7nryG","rdBdRgFcLq","W4hdKcvXvmk9eIddOSkmbCozWQK","q8kDiCohlW","WOOzBH3cQq","WPNcTSk0urOBfWe","rCkxWOJcKmoOnSolWQej","W6X/kHddHubMW7FcHMJcLmku","u2hdUmoPexnHWQpcGK3dS8kl","WQStWP1LrG","wdvCW7hcNuzCamof","W4hdOCoaaCktWODAAmkZWQtcMte","bMlcScZdHmksW7TApIPQExy"];return(_0x58af=function(){return e})()}export const useGameOver=()=>useBlockBreakerStore(_temp5);export const useGameWon=()=>useBlockBreakerStore(_temp6);export const useBricks=()=>useBlockBreakerStore(_temp7);export const useBrickVersion=()=>useBlockBreakerStore(_temp8);function _temp(e){return e[_0x5c05aa(209,"18xb")]}function _temp2(e){return e[_0x5c05aa(238,"SDOa")]}function _temp3(e){return e[_0x5c05aa(208,"qApY")]}function _temp4(e){return e[_0x5c05aa(225,"[SWH")]}function _temp5(e){return e[_0x5c05aa(207,"w9Gv")]}function _temp6(e){return e[_0x5c05aa(223,"Bu%p")]}function _temp7(e){return e[_0x5c05aa(206,"^U&]")]}function _0x4e1c(e,t){e-=194;const o=_0x58af();let r=o[e];if(void 0===_0x4e1c.YZitpQ){const e=function(e,t){let o,r,n=[],a=0,W="";for(e=function(e){let t="",o="";for(let o,r,n=0,a=0;r=e.charAt(a++);~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++)a=(a+n[r]+t.charCodeAt(r%t.length))%256,o=n[r],n[r]=n[a],n[a]=o;r=0,a=0;for(let t=0;t<e.length;t++)r=(r+1)%256,a=(a+n[r])%256,o=n[r],n[r]=n[a],n[a]=o,W+=String.fromCharCode(e.charCodeAt(t)^n[(n[r]+n[a])%256]);return W};_0x4e1c.nVwUnM=e,_0x4e1c.qUPBTK={},_0x4e1c.YZitpQ=!0}const n=o[0];_0x4e1c.OPyoLA!==n&&(_0x4e1c.qUPBTK={},_0x4e1c.OPyoLA=n);const a=_0x4e1c.qUPBTK[e];return void 0===a?(void 0===_0x4e1c.SkImxm&&(_0x4e1c.SkImxm=!0),r=_0x4e1c.nVwUnM(r,t),_0x4e1c.qUPBTK[e]=r):r=a,r}function _temp8(e){return e[_0x5c05aa(216,"[x2#")]}
@@ -1 +0,0 @@
1
- "use strict";function _0x39b4(e,t){e-=269;const n=_0x3970();let o=n[e];if(void 0===_0x39b4.sFYErH){const e=function(e,t){let n,o,r=[],W=0,x="";for(e=function(e){let t="",n="";for(let n,o,r=0,W=0;o=e.charAt(W++);~o&&(n=r%4?64*n+o:o,r++%4)?t+=String.fromCharCode(255&n>>(-2*r&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let e=0,o=t.length;e<o;e++)n+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(n)}(e),o=0;o<256;o++)r[o]=o;for(o=0;o<256;o++)W=(W+r[o]+t.charCodeAt(o%t.length))%256,n=r[o],r[o]=r[W],r[W]=n;o=0,W=0;for(let t=0;t<e.length;t++)o=(o+1)%256,W=(W+r[o])%256,n=r[o],r[o]=r[W],r[W]=n,x+=String.fromCharCode(e.charCodeAt(t)^r[(r[o]+r[W])%256]);return x};_0x39b4.ThFWKe=e,_0x39b4.ndXMUZ={},_0x39b4.sFYErH=!0}const r=n[0];_0x39b4.DOYofC!==r&&(_0x39b4.ndXMUZ={},_0x39b4.DOYofC=r);const W=_0x39b4.ndXMUZ[e];return void 0===W?(void 0===_0x39b4.hRIxvJ&&(_0x39b4.hRIxvJ=!0),o=_0x39b4.ThFWKe(o,t),_0x39b4.ndXMUZ[e]=o):o=W,o}const _0x5077b9=_0x39b4;function _0x3970(){const e=["nxFcNmkzpa","cCoaW5COW5Lhz8kk","CCoOWR7dV2i","WPddQZbjW4G","W4j3W4pdQ8kh","WRn1W711WPq","W4VdHmopqSoJ","r8oPySoFW7a","omkiECohpqFcUSoQFSkqW5zYWPS","BCo7WOxcQ8oJEmolrmo/","zJbWWP4","WQC+W6lcHfu","W6u/kCkEW6hcHb5FW7tdPaSXW5tdMX4","wtNdOmoOAG","mMtcJSkwgW","pLZcN0aQ","W4pcGbJcJx7dTa","W5rFWRhdMa9VgN0iWP0jW5G","WO/cLCo+W5ul","ySoxW4znBq","uuuWESkO","ymoIWRZdNuG","uCojW45HEq","WRjVgCk3WQrM","WPpdTCkG","W5pcMmoqzCo6","W51XW4tdSW","W5VcIGy","WRtdQSkXm8oED8oLgxldNCkHvCkqnCoQ","W7mxwGldIG","oSohA0lcPW","j8oYz07cMa","DZXWWPiHW6bjWQS","nmkiofxdPa","BNjqW4Df","DCopW6bdqW","WRKBrSkWFCkz","rYJdVq","WPXJF2ZdQa","WPtdRSkPlCoq","uSoUkmkoqW","h8oDW4SS","pgtcLKaH","pSoKW63cO8ka","eHPnW43dKq","WOJdQtnAW5W","WRnSC8ocWRhdHuneW7VdHZOhW6e","W4tcKSkY","neJdSCkmWP4","mNvFFSoec8kEWOOWWP7dGdO","h1/cTMi","W4xcTelcLq","EComWR/dTLlcGa","WRW2FSketq","W5yjdG","WOHrW6zeWQm","WPmstSkKyCkSW4vVW7ejW7jxqqq","WOlcHIjAW7qFpem","fH9aW5RdNa","WO9EtSktaLKAANZdN8oLka","AsWfkmkb","W6K9jCktW7C","jfFcQW","reDsW4vL","nSoUCSk2pq","dudcGmo2WR0","pw7cL8kUjCodWQ04pcBcOW","WRBdQCkXjmoW","WOKtW5ZcM1S","E8k1WRZdT8ovWO3dJ8oBWRrTW5NcPmoj","DZvRWOGWW5fQWQLA","imoMW7q","kwBcLSkQimobWRGt","ECoXWOJdQw8","j3JcKM0Z","iGroW6pdIG","WQaltSkZ","f2RdVG","bXXBW53dNmonW6bzENRdN8kr","CeRdOw3dHSkFWOlcMdW","BMeKwSkDWORdS1i","DCojkSkyFvNdP8owDW","FJeikCkax8kjWRGFWPa","BmoAoW","f8oYW6JcQCk0","CConWR7dU2S","W5tcSvNcG8krW5q","W4RdJmo1xCod","khtcJ8o7WPu","WRDRaa","l1xcU1NcPG","W5/cKSkMkCoz","W5OkbCoewHOxqG","zba7D8k0","lmkhlx7dTW","kLlcGG5DzSovWQy","W5j5W7ldPW","WPBcHY9cW7G","WOnEqmksavCvyxpdVCorfW","W6JcP8kCf8of","WOpdS8kJmCozESo5b3ldGSkW","WQqSASkcxW","FSoCWRVdNvu","omkQWO9QWOi","oKlcQNKo","lCkppuldMG","WQmHW47dJZy","W50hfCotrG","h3ZcSSk9nSotnCoMbvtcTd43","nCknC8oooGNdSCoPx8kDW619","p17cRSkXbW","W488EY/dIW","bLRcSglcGmkGW5tcIge","f2RdTG","hSkrWQf5WRG","hL/cQCknba","WRldS8k5amoe","WO1GkgVcM2/dHmkkWQG+CGfG","nmknWRjPWR8","nxtcT8ohWQK","WPe7W7ldOrC","WO7cTwNcHCkGWQ/dQq","W4SLEJ7dHW","WOlcMSoOyG","d0VcNCkKla","vmoaWRJdMhe","dftcV3Wz","mmk9W54","n8o1W7tcT8kN","WOOmW63cHLeU","WOfMlwRcKg7dHmkOWOatys1G","W4xdNCk5pMRdSLHdCCoYjrHy","W5JcJr/cNM8","W7dcJmo2Cmo5","W40jgSoEuW","jKpcPW","mMhcKGDd","aH9gW47dU8okW4blAG","oNxcGCk/pCoh","W57dOG1jW6JcKSot","WOpcJSo7CJpcQafpEG","iKZcI28j","dSkTmG","pCo5E8km","WOxdTCkIjCoqACoskhFdHSkGtW","WQKUWRiBWRDlW7LOBSkoWQ4C","WR9NbmkaWQK","W4XqALSMWQ0","CNTTW7P5","WO8mW6NcJG","fCo/Bvm","WQz9W49eWO8","WROFE8kEta","W5rEW4FdRmkm","WOhcICotW5uY","kfpcV3BcGmkl","WP3dSmkbo8ox","W5nfAfuM","lSkrWOT4WPu","WO4mW6RcHK0Y","WRRcOmoAW4utWQPp","yCokxW","WR7dMXTxW4W","aCo2W704W78","W5FcV0VcN8kjWOZdHCk0","ECo5ySotW5m","W6H1W7hdPa","cgFcOmoAWQy","W4jbW5RdHmkm","W6q2i8kzW6lcHbre","iwtcVbbK","W77cT8ozq8ok","W6XsW57cHSkTW5bhWO0QWOpcVueR"];return(_0x3970=function(){return e})()}!function(){const e=_0x39b4,t=_0x3970();for(;;)try{if(624716==parseInt(e(283,"KfNx"))/1+-parseInt(e(364,"UQoX"))/2+parseInt(e(325,"UQoX"))/3+parseInt(e(438,"[Jjz"))/4+-parseInt(e(335,"9Zoi"))/5+-parseInt(e(374,"KHFl"))/6+-parseInt(e(274,"GToi"))/7*(-parseInt(e(387,"QSAz"))/8))break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x35cdcd}from"react/compiler-runtime";import _0x102329 from"react";import{StyleSheet}from"react-native";import _0xe02414,{useSharedValue,useAnimatedStyle,withTiming,withSequence,Easing}from"react-native-reanimated";import{jsx as _0x299589,Fragment as _0x58cbf4,jsxs as _0x2536a1}from"react/jsx-runtime";const PARTICLES_PER_CELL=3,_0x8fd25f={};_0x8fd25f[_0x5077b9(413,"^fk5")]=100;const PARTICLE_OFFSETS=Array[_0x5077b9(307,"C7dG")](_0x8fd25f,(e,t)=>{const n=_0x5077b9,o={};o[n(371,"2DsX")]=function(e,t){return e/t},o[n(394,"9Zoi")]=function(e,t){return e*t},o[n(350,"9Zoi")]=function(e,t){return e+t};const r=o,W=137.508*t%360*r[n(314,"3PD*")](Math.PI,180),x=.5+r.zrxxB((7*t+3)%10/10,.5),i=.7+r[n(359,"SGjD")](11*t,5)%10/10*.3;return{dx:Math.cos(W)*x,dy:Math.sin(W)*x,size:.5+(13*t+7)%10/10*.5,speed:i}}),SparkleParticle=_0x102329[_0x5077b9(409,"RdYk")](e=>{const t="]RfB",n=_0x5077b9,o={nNAxX:function(e,t){return e/t},uREUJ:function(e,t){return e-t}};o[n(418,"N$m!")]=function(e,t){return e*t},o[n(369,"p[Qe")]=function(e,t){return e<=t},o[n(353,"zYLD")]=function(e,t){return e-t},o.YEMtD=function(e,t){return e<t},o[n(285,"tKju")]="yroZI",o[n(331,"Wj&A")]=n(304,"fKfH"),o[n(334,"KfNx")]=function(e,t){return e!==t},o[n(424,"p[Qe")]="WHNQT",o[n(277,"KfNx")]=function(e,t){return e*t},o[n(327,"YBoI")]=function(e,t){return e*t};const r=o,W=_0x35cdcd(7),{cx:x,cy:i,dx:d,dy:a,particleSize:f,color:_,spread:s,speed:u,progress:l}=e,k=useAnimatedStyle(()=>{const e=n,o=l[e(400,"UQoX")],W=r[e(301,"tKju")](o,.15)?0:Math[e(393,"E5Q7")](1,r[e(385,"Wj&A")](r[e(429,"C7dG")](o,.15)/.85,u));let _;if(W<.15)_=W/.15;else if(r[e(321,"S5wl")](W,.6))r[e(386,"@Y0n")]===r[e(306,"GToi")]?_0x4816b8=_0x52945c[17]:_=1;else if(r[e(407,"]RfB")](r[e(281,t)],r[e(437,"2&)n")])){const t=r.nNAxX(r[e(308,"]RfB")](_0x2b8c9a,.2),.3);_0x447834=1-t,_0x3d312a=1.2+r[e(300,"NWp]")](t,.8)}else _=Math[e(343,"3PD*")](0,1-(W-.6)/.4);const k=r[e(367,"N$m!")](1,(1-W)*r[e(431,"NE)Q")](1,W)),b=x+r[e(288,"tKju")](k*d,s)-f/2,m=i+r[e(311,"qqXE")](k,a)*s-f/2,C=W<.2?.5+.8*r[e(340,t)](W,.2):Math.max(0,1.3-W),S={};S[e(348,"emDy")]=b;const p={};p.translateY=m;const R={};R[e(309,"9Zoi")]=C;const h={};return h.opacity=_,h[e(347,"GToi")]=[S,p,R],h}),b=f/2;let m,C;if(W[0]!==_||W[1]!==f||W[2]!==b){const e=n(345,"A8)8")[n(423,"^fk5")]("|");let t=0;for(;;){switch(e[t++]){case"0":W[0]=_;continue;case"1":W[3]=m;continue;case"2":W[1]=f;continue;case"3":W[2]=b;continue;case"4":const e={};e.width=f,e[n(395,"KfNx")]=f,e[n(344,"fpmA")]=b,e.backgroundColor=_,m=e;continue}break}}else m=W[3];if(W[4]!==k||W[5]!==m){const e={};e.style=[styles[n(338,"RoKJ")],m,k],C=_0x299589(_0xe02414[n(432,"lsUl")],e),W[4]=k,W[5]=m,W[6]=C}else C=W[6];return C});SparkleParticle.displayName=_0x5077b9(294,"^G%R");const BlastCell=_0x102329[_0x5077b9(415,"KfNx")](e=>{const t="^G%R",n="B41F",o=_0x5077b9,r={VLyze:o(341,"fpmA"),focxp:function(e,t){return e-t},yQcfr:function(e,t){return e*t},OKgIA:function(e,t){return e*t},lpxGu:function(e,t){return e/t},SNVbM:function(e,t){return e-t},emtPe:function(e,t){return e!==t},lZrsn:"nKBNS",mvuDk:function(e,t){return e-t},lXYxI:function(e,t){return e+t},WDrbR:function(e,t){return e===t},Eblir:function(e,t,n){return e(t,n)},QsaeE:function(e,t){return e/t},ddojM:function(e,t){return e!==t},AiiIW:function(e,t){return e!==t},eJekn:function(e,t,n){return e(t,n)},dAonD:function(e,t){return e!==t},kmLjd:function(e,t){return e!==t},frdUC:function(e,t){return e!==t},ZEEsq:function(e,t){return e!==t},jTMqU:function(e,t){return e!==t},uKmLn:function(e,t){return e!==t},mHQSX:"qGxtw",sUxCn:function(e,t){return e!==t}},W=_0x35cdcd(39),{x:x,y:i,width:d,height:a,color:f,cellIndex:_,totalCells:s,particles:u,progress:l}=e,k=r[o(402,"f%i!")](Math[o(328,"]RfB")](d,a),4),b=x+d/2,m=i+a/2,C=s>1?_/s*.12:0,S=useAnimatedStyle(()=>{const e=o,t=l.value,n=Math[e(303,"KHFl")](0,Math.min(1,(t-C)/(1-C)));let W,x;if(n<=.15)W=1+n/.15*.35,x=1;else if(n<=.25)if(r[e(390,"RoKJ")]===e(271,"S5wl")){const t={};t.style=[_0x4da5a0.glowBurst,_0x4347eb,_0x1df446],_0x731d3b=_0x501c3f(_0x3a6d83[e(316,"]RfB")],t),_0x1723f8[12]=_0xe1e62e,_0x304ea2[13]=_0x29488a,_0x3e0b61[14]=_0x3c1727}else{const t=r[e(373,"UQoX")](n,.15)/.1;W=1.35-r[e(296,"[y)Q")](t,.45),x=1}else if(n<=.35){const t=(n-.25)/.1;W=.9+r[e(360,"2DsX")](t,.1),x=1}else{const t=r[e(439,"RoKJ")](r.focxp(n,.35),.65),o=t*t;W=Math[e(313,"g$Qb")](0,r[e(272,"zYLD")](1,1-o)),x=Math[e(427,"NE)Q")](0,1-.8*o)}const i={};i[e(270,"JqKQ")]=W;const d={};return d[e(426,"nI33")]=x,d.transform=[i],d}),p=useAnimatedStyle(()=>{const e=o,t=l[e(354,"Wj&A")],n=Math[e(320,"UQoX")](0,Math.min(1,r.SNVbM(t,C)/(1-C)));let W,x;if(n<=.2)W=n/.2,x=.6+n/.2*.6;else if(n<=.5)if(r[e(412,"Cnbr")](e(433,"Wj&A"),r.lZrsn)){const t=r[e(384,"p[Qe")](n,.2)/.3;W=1-t,x=r[e(339,"B41F")](1.2,.8*t)}else _0x1c2380=[_0x4feeed,_0x1f5a47,_0x55a0c8],_0x40d125[6]=_0x424282,_0xa13f4e[7]=_0x482dd8,_0x439efa[8]=_0x7f1b6e,_0x1eeaae[9]=_0x427b4d;else W=0,x=2;const i={};return i.scale=x,{opacity:r[e(399,"2&)n")](W,.6),transform:[i]}}),R=r[o(286,"7PDY")](Math[o(337,"9Zoi")](d,a),1.4),h=b-r.lpxGu(R,2),Q=m-r[o(439,"RoKJ")](R,2),G=r[o(333,"^G%R")](R,2);let O;if(W[0]!==f||W[1]!==R||W[2]!==h||W[3]!==Q||W[4]!==G){const e={};e[o(292,"JqKQ")]=h,e[o(290,t)]=Q,e[o(377,")$ci")]=R,e[o(289,"Cnbr")]=R,e.borderRadius=G,e.backgroundColor=f,O=e,W[0]=f,W[1]=R,W[2]=h,W[3]=Q,W[4]=G,W[5]=O}else o(295,")$ci")!==o(273,"NE)Q")?_0x27e442=jZIMgV.lpxGu(_0x1a81b8,.15):O=W[5];const j=O;let y;if(W[6]!==f||W[7]!==a||W[8]!==d||r[o(297,"[y)Q")](W[9],x)||r.AiiIW(W[10],i)){const e={};e[o(362,"lsUl")]=x,e[o(293,"nC2n")]=i,e[o(363,")8IC")]=d,e.height=a,e[o(278,"YBoI")]=f,y=e,W[6]=f,W[7]=a,W[8]=d,W[9]=x,W[10]=i,W[11]=y}else{if(r[o(299,"2DsX")]("rJfkY",o(382,t))){if(r.WDrbR(_0x5c2520.length,0))return;_0x37af6f[o(357,"g$Qb")]=0,_0x94e9f9.value=_0x3f736d(_0x3fe409(.25,{duration:80,easing:_0x5edde6[o(401,"]RfB")](_0x2f65b8[o(342,"N$m!")])}),r[o(392,"]RfB")](_0x49d2fe,1,{duration:320,easing:_0x397a31.bezierFn(.16,1,.3,1)}));const e=_0x7ad033(()=>{_0x5afc32()},420);return()=>_0x2ca9b9(e)}y=W[11]}const K=y;let N,g,A,M;if(W[12]!==j||r[o(351,n)](W[13],p)){const e={};e[o(370,"]RfB")]=[styles.glowBurst,j,p],N=_0x299589(_0xe02414[o(416,"[y)Q")],e),W[12]=j,W[13]=p,W[14]=N}else N=W[14];if(W[15]!==K||W[16]!==S){const e={};e[o(305,"^G%R")]=[styles[o(336,"9Cy3")],K,S],g=r[o(419,"JqKQ")](_0x299589,_0xe02414.View,e),W[15]=K,W[16]=S,W[17]=g}else g=W[17];if(r[o(441,"B41F")](W[18],f)||r.kmLjd(W[19],b)||W[20]!==m||W[21]!==a||r[o(391,"B41F")](W[22],u)||W[23]!==l||r[o(330,"RdYk")](W[24],k)||r[o(291,"2&)n")](W[25],d)){let e;W[27]!==f||W[28]!==b||W[29]!==m||r[o(436,"f%i!")](W[30],a)||r[o(287,n)](W[31],l)||W[32]!==k||W[33]!==d?(e=(e,t)=>_0x299589(SparkleParticle,{cx:b,cy:m,dx:e.dx,dy:e.dy,particleSize:.35*Math[o(408,"2DsX")](d,a)*e[o(276,"9Cy3")],color:0===t?o(414,"NWp]"):f,spread:k,speed:e[o(388,")$ci")],progress:l},t),W[27]=f,W[28]=b,W[29]=m,W[30]=a,W[31]=l,W[32]=k,W[33]=d,W[34]=e):e=W[34],A=u[o(379,"3PD*")](e),W[18]=f,W[19]=b,W[20]=m,W[21]=a,W[22]=u,W[23]=l,W[24]=k,W[25]=d,W[26]=A}else r[o(412,"Cnbr")](r[o(319,"N$m!")],"nOBxM")?A=W[26]:_0x8e425c=_0x17f2e3[38];if(r[o(284,"nI33")](W[35],N)||r[o(434,"JqKQ")](W[36],g)||W[37]!==A){const e={};e[o(323,")8IC")]=[N,g,A],M=_0x2536a1(_0x58cbf4,e),W[35]=N,W[36]=g,W[37]=A,W[38]=M}else M=W[38];return M});BlastCell[_0x5077b9(332,"RoKJ")]=_0x5077b9(378,"A8)8");export const BlastAnimation=e=>{const t="RoKJ",n=_0x5077b9,o={kujLs:function(e){return e()},XQGka:function(e,t){return e===t},sjgpo:function(e,t,n){return e(t,n)},ATVKy:function(e,t){return e!==t},EwKRe:function(e,t){return e!==t},GXMSM:function(e,t){return e(t)},fYJoN:function(e,t){return e!==t},GjfTl:function(e,t){return e!==t},kcjHR:function(e,t){return e!==t},zjQzb:function(e,t,n){return e(t,n)}},r=o[n(381,"RoKJ")](_0x35cdcd,18),{bricks:W,onComplete:x}=e,i=useSharedValue(0);let d;o[n(376,t)](r[0],W)?(d=W[n(355,"Cnbr")](_temp),r[0]=W,r[1]=d):d=r[1];const a=d;let f,_,s,u;if(r[2]!==W[n(413,"^fk5")]||o[n(380,"p[Qe")](r[3],x)||o[n(356,"A8)8")](r[4],i)?(f=()=>{const e=n;if(o[e(428,"qqXE")](W[e(318,"B41F")],0))return;i[e(357,"g$Qb")]=0,i[e(269,"qqXE")]=withSequence(o.sjgpo(withTiming,.25,{duration:80,easing:Easing.out(Easing[e(389,"4wjh")])}),withTiming(1,{duration:320,easing:Easing[e(298,"9Cy3")](.16,1,.3,1)}));const t=setTimeout(()=>{o[e(368,"B41F")](x)},420);return()=>clearTimeout(t)},r[2]=W.length,r[3]=x,r[4]=i,r[5]=f):f=r[5],r[6]!==W||r[7]!==x||r[8]!==i?(_=[W,i,x],r[6]=W,r[7]=x,r[8]=i,r[9]=_):_=r[9],_0x102329[n(275,"muWr")](f,_),0===W[n(282,"nC2n")])return null;if(o.kcjHR(r[10],a)||o.kcjHR(r[11],i)){let e;o[n(280,t)](r[13],a[n(425,"KfNx")])||r[14]!==i?(e=(e,t)=>_0x299589(BlastCell,{x:e.x,y:e.y,width:e[n(310,"fpmA")],height:e.height,color:e[n(326,"emDy")],cellIndex:t,totalCells:a[n(421,"A8)8")],particles:e[n(406,"4wjh")],progress:i},n(352,"QSAz")+t),r[13]=a.length,r[14]=i,r[15]=e):e=r[15],s=a[n(349,"GToi")](e),r[10]=a,r[11]=i,r[12]=s}else if(n(372,"@Y0n")===n(420,"nI33")){let e;_0x17ed40[27]!==_0x3cf968||_0x95588d[28]!==_0x75c412||jSSqir[n(365,"g$Qb")](_0x171f32[29],_0x389193)||jSSqir[n(329,"NWp]")](_0x41774e[30],_0x401fd4)||_0x326b47[31]!==_0x2a976a||_0x546e92[32]!==_0x28d8aa||jSSqir.EwKRe(_0x5d2ec5[33],_0x1dbca2)?(e=(e,t)=>_0x1b8e64(_0x1fda15,{cx:_0x5dadf2,cy:_0x130fe6,dx:e.dx,dy:e.dy,particleSize:.35*_0x284985.max(_0x222cd6,_0xe9d279)*e[n(317,"QSAz")],color:0===t?n(398,"nC2n"):_0x4295d2,spread:_0x45f2e1,speed:e[n(279,"KHFl")],progress:_0x58c132},t),_0x58e770[27]=_0x4c751b,_0x31c3c9[28]=_0x10cb5b,_0x3267af[29]=_0x161334,_0x58956c[30]=_0x4d3c90,_0x59ce23[31]=_0x4f9810,_0x55238c[32]=_0x12ae07,_0x3586d8[33]=_0x19dff5,_0x929ca[34]=e):e=_0x26da39[34],_0x3ac3e5=_0x1eabec.map(e),_0x491a6f[18]=_0x5b0144,_0x1989c0[19]=_0x25cef7,_0x2bef9c[20]=_0x9811ce,_0x5755fa[21]=_0x3a375b,_0x212802[22]=_0x5500aa,_0x4c8a51[23]=_0x2b6bfd,_0x5b989e[24]=_0x390db9,_0xde148b[25]=_0x26a554,_0xeed824[26]=_0x58b8ad}else s=r[12];if(r[16]!==s){const e={};e[n(435,"YBoI")]=s,u=o[n(422,"^G%R")](_0x299589,_0x58cbf4,e),r[16]=s,r[17]=u}else u=r[17];return u};BlastAnimation[_0x5077b9(366,"^G%R")]=_0x5077b9(322,"N$m!");const _0x1c347e={};_0x1c347e[_0x5077b9(346,"7PDY")]=_0x5077b9(358,"UQoX"),_0x1c347e[_0x5077b9(410,"^G%R")]=4;const _0xacbc76={};_0xacbc76.position=_0x5077b9(430,"QSAz");const _0x29b17d={};_0x29b17d[_0x5077b9(440,"C7dG")]=_0x5077b9(361,"f%i!");const _0x200693={};_0x200693.blastCell=_0x1c347e,_0x200693[_0x5077b9(403,"fpmA")]=_0xacbc76,_0x200693[_0x5077b9(338,"RoKJ")]=_0x29b17d;const styles=StyleSheet[_0x5077b9(404,"RoKJ")](_0x200693);function _temp(e,t){const n=_0x5077b9;return{x:e.x,y:e.y,width:e[n(417,"S5wl")],height:e[n(302,"N$m!")],color:e.color,particles:PARTICLE_OFFSETS[n(324,"fpmA")](3*t,3*t+3)}}
@@ -1 +0,0 @@
1
- "use strict";const _0x364daa=_0x2f1a;!function(){const e=_0x2f1a,a=_0x2aa1();for(;;)try{if(522060==parseInt(e(225,"F03@"))/1+-parseInt(e(174,"^s1K"))/2*(-parseInt(e(247,"gbM%"))/3)+-parseInt(e(197,"!E)s"))/4+-parseInt(e(342,"EZ&("))/5+-parseInt(e(117,"qnj9"))/6*(-parseInt(e(276,"BViF"))/7)+parseInt(e(134,"!vV]"))/8+-parseInt(e(350,"ltZv"))/9*(-parseInt(e(127,"UZo9"))/10))break;a.push(a.shift())}catch(e){a.push(a.shift())}}();import{c as _0x3e9f41}from"react/compiler-runtime";import _0x42c0ab from"react";import{View,StyleSheet}from"react-native";import{Gesture,GestureDetector}from"react-native-gesture-handler";import _0x38ca5e,{useSharedValue,useAnimatedStyle,runOnJS}from"react-native-reanimated";import{Canvas,Rect,RoundedRect,Circle,Group,LinearGradient,vec}from"@shopify/react-native-skia";import{useBlockBreakerStore,useBrickVersion}from"../BlockBreakerStore.js";import{BLOCK_BREAKER_GAME_CONFIG,BLOCK_BREAKER_COLORS,BRICK_COLORS,GRID_HEIGHT,PowerUpType}from"../BlockBreakerConstants.js";import{BlastAnimation}from"./BlastAnimation.js";import{getGameDimensions}from"../../../services/UtilsService.js";import{lighten,darken}from"../../../services/GamesConstants.js";import{jsx as _0x4d296e,jsxs as _0x8290e7,Fragment as _0x549cc7}from"react/jsx-runtime";const{width:width,screenWidth:screenWidth}=getGameDimensions(),gameAreaLeft=(screenWidth-width)/2,BALL_RADIUS=BLOCK_BREAKER_GAME_CONFIG.BALL_RADIUS,BALL_DIAMETER=2*BALL_RADIUS,PADDLE_HEIGHT=BLOCK_BREAKER_GAME_CONFIG.PADDLE_HEIGHT,PADDLE_WIDTH=BLOCK_BREAKER_GAME_CONFIG[_0x364daa(335,"4Xa4")],PADDLE_Y=GRID_HEIGHT-BLOCK_BREAKER_GAME_CONFIG[_0x364daa(215,"%Ddr")],PADDLE_RENDER_TOP=PADDLE_Y-PADDLE_HEIGHT/2,POWER_UP_SIZE=BLOCK_BREAKER_GAME_CONFIG[_0x364daa(175,"1Epg")],POWER_UP_DIAMETER=2*POWER_UP_SIZE,BRICK_BEVEL=2,BRICK_RADIUS=3,BLOCK_3D_COLOR_CACHE=new Map,getBlock3DColors=e=>{const a=_0x364daa,t={aooia:function(e,a,t){return e(a,t)},ZSFYp:function(e,a,t){return e(a,t)}};let d=BLOCK_3D_COLOR_CACHE.get(e);return!d&&(d={top:t.aooia(lighten,e,.35),bottom:darken(e,.3),shadow:t[a(297,"r052")](darken,e,.45)},BLOCK_3D_COLOR_CACHE[a(393,"1Epg")](e,d)),d};[...BRICK_COLORS,BLOCK_BREAKER_COLORS.PADDLE,BLOCK_BREAKER_COLORS[_0x364daa(264,"@][)")],BLOCK_BREAKER_COLORS[_0x364daa(378,"gBrD")],BLOCK_BREAKER_COLORS[_0x364daa(332,"VGYe")],BLOCK_BREAKER_COLORS[_0x364daa(397,"1Epg")]][_0x364daa(273,"CS4t")](getBlock3DColors);const getPowerUpColor=e=>{const a=_0x364daa;switch(e){case PowerUpType[a(411,"i8A$")]:return BLOCK_BREAKER_COLORS[a(409,"EZ&(")];case PowerUpType[a(123,"%JYf")]:return BLOCK_BREAKER_COLORS.POWER_UP_MULTI;case PowerUpType[a(252,"@][)")]:return BLOCK_BREAKER_COLORS.POWER_UP_LIFE;default:return a(149,"qas3")}},StaticGameAreaCanvas=_0x42c0ab[_0x364daa(360,"kXdD")](()=>{const e=_0x364daa,a={AQTaf:function(e,a,t){return e(a,t)}},t=_0x3e9f41(1);let d;if(t[0]===Symbol[e(267,"UZo9")](e(190,"#E^c"))){const W={};W.x=gameAreaLeft,W.y=0,W.width=width,W[e(329,"[@24")]=GRID_HEIGHT,W.r=16,W[e(349,"[QKQ")]=BLOCK_BREAKER_COLORS[e(116,"k%am")];const o={};o.x=gameAreaLeft,o.y=0,o[e(354,"bTnA")]=width,o[e(400,"BViF")]=GRID_HEIGHT,o.r=16,o[e(361,"kXdD")]=BLOCK_BREAKER_COLORS[e(178,"CS4t")],o[e(200,"r052")]="stroke",o.strokeWidth=1.5,d=_0x8290e7(Canvas,{style:styles[e(327,"F03@")],pointerEvents:"none",children:[a[e(239,"ltZv")](_0x4d296e,RoundedRect,W),a[e(227,"BViF")](_0x4d296e,RoundedRect,o)]}),t[0]=d}else d=t[0];return d});StaticGameAreaCanvas[_0x364daa(280,"r052")]="StaticGameAreaCanvas";const BricksCanvas=_0x42c0ab[_0x364daa(360,"kXdD")](()=>{const e="gbM%",a=_0x364daa,t={WeaAe:function(e,a,t){return e(a,t)},Njcxz:function(e,a){return e+a},xLjJO:a(192,"F03@")},d=useBrickVersion(),W=_0x42c0ab[a(391,"VGYe")](()=>{const d=a,W={lkLsB:function(e,a,d){return t[_0x2f1a(379,"EZ&(")](e,a,d)},xkQNF:function(e,a){return e-a},qNPyi:function(e,a,t){return e(a,t)},vppou:function(e,a,t){return e(a,t)},odHeo:function(e,a){return e-a},xkMND:function(e,a){return t[_0x2f1a(368,"CS4t")](e,a)},LvToq:t[d(251,"zG@P")],meOKA:function(e,a,t){return e(a,t)},ZlVwj:function(e,a){return e*a},xgtci:function(e,a){return e*a},Pjchb:function(e,a){return e+a}};return useBlockBreakerStore[d(205,"(kRQ")]().bricks[d(281,"A%hr")](a=>{const t=d,{top:o,bottom:r,shadow:_}=getBlock3DColors(a[t(235,e)]),x=a.x,n=a.y,s=a[t(345,"%e1)")],i=a[t(307,"EZ&(")],k={};return k.x=x,k.y=n,k.width=s,k[t(154,"vE)x")]=i,k.r=3,k[t(187,"A%hr")]=_,_0x8290e7(Group,{children:[_0x4d296e(RoundedRect,k),W[t(300,"^s1K")](_0x4d296e,RoundedRect,{x:x,y:n,width:s,height:W.xkQNF(i,2),r:3,children:_0x4d296e(LinearGradient,{start:W.qNPyi(vec,x,n),end:W[t(294,"%JYf")](vec,x,W[t(410,"8eIO")](W[t(255,"A%hr")](n,i),2)),colors:[o,a[t(235,e)],r]})}),_0x4d296e(Rect,{x:x,y:n,width:s,height:5,children:_0x4d296e(LinearGradient,{start:vec(x,n),end:vec(x,n+5),colors:[W[t(176,"46Up")],t(118,"ipqV")]})}),W[t(179,"vE)x")](_0x4d296e,Rect,{x:x,y:n+2,width:W[t(161,"6%&J")](2,2),height:W[t(184,"%e1)")](i,W[t(355,"46Up")](2,3)),children:_0x4d296e(LinearGradient,{start:vec(x,n+2),end:vec(x+W[t(145,"P1CV")](2,2),W[t(394,"3CdO")](n,2)),colors:[t(319,"4o^q"),t(407,"P1CV")]})})]},a.id)})},[d]),o={};return o[a(196,"i8A$")]=styles[a(318,"gBrD")],o[a(182,"4Xa4")]=a(136,"(kRQ"),o.children=W,_0x4d296e(Canvas,o)});BricksCanvas[_0x364daa(202,"1Epg")]=_0x364daa(262,"VGYe");const BallItem=_0x42c0ab[_0x364daa(395,"ltZv")](e=>{const a="VGYe",t=_0x364daa,d={PDBrJ:function(e,a){return e(a)},xvqbB:function(e,a){return e!==a},swXvu:t(131,"@pGm"),PSWrk:function(e,a){return e*a}},W=_0x3e9f41(13),{ball:o,service:r}=e,_=d[t(214,"UZo9")](useSharedValue,o.x),x=useSharedValue(o.y),n=d[t(144,"7e7l")](useSharedValue,o.vx),s=useSharedValue(o.vy);let i,k;W[0]!==o.id||W[1]!==r||W[2]!==n||W[3]!==s||d[t(172,"o^]D")](W[4],_)||W[5]!==x?(i=()=>{const e=t;if(e(343,"(kRQ")===e(232,"4o^q")){const a={};return a.x=_,a.y=x,a.vx=n,a.vy=s,r[e(150,"4Xa4")](o.id,a),()=>{r[e(243,"4Xa4")](o.id)}}_0x3db547=[_0x107972[e(286,"CS4t")],_0x3cb668],_0x4a0bff[8]=_0x879356,_0x40755f[9]=_0x539d8d},k=[o.id,r,_,x,n,s],W[0]=o.id,W[1]=r,W[2]=n,W[3]=s,W[4]=_,W[5]=x,W[6]=i,W[7]=k):(i=W[6],k=W[7]),_0x42c0ab[t(344,"@][)")](i,k);const l={};l.translateX=_[t(295,"bTnA")]-BALL_RADIUS;const C={};C[t(256,"^s1K")]=x[t(258,"@][)")]-BALL_RADIUS;const R=d[t(383,"6%&J")](useAnimatedStyle,()=>({transform:[l,C]}));let u,m,S;if(W[8]!==R?(u=[ballStyles[t(353,a)],R],W[8]=R,W[9]=u):u=W[9],W[10]===Symbol[t(222,"6%&J")](t(168,a))){const e={};e.cx=BALL_RADIUS,e.cy=BALL_RADIUS,e.r=BALL_RADIUS,e.color=t(119,"zG@P"),m=_0x8290e7(Canvas,{style:ballStyles[t(270,"r052")],pointerEvents:d[t(367,"^s1K")],children:[_0x4d296e(Circle,e),_0x4d296e(Circle,{cx:d[t(304,"qnj9")](BALL_RADIUS,.7),cy:.6*BALL_RADIUS,r:.4*BALL_RADIUS,color:t(402,"6%&J")})]}),W[10]=m}else m=W[10];if(W[11]!==u){const e={};e[t(189,"l[TZ")]=u,e[t(170,"EZ&(")]=m,S=_0x4d296e(_0x38ca5e.View,e),W[11]=u,W[12]=S}else S=W[12];return S},(e,a)=>e[_0x364daa(311,"gbM%")].id===a[_0x364daa(288,"kXdD")].id);function _0x2aa1(){const e=["W4vzW6VcPMmQuJ3cGSkQW7C","gwNcVGJdOa","W47cQmklW6VcPYO","WP4vgmoaWOK8sCkMj14IDxG","AMhcQKjG","vfpdNselxvpcPmoz","EZvdW4ldTG","lSkmsSoJaa","h27cOINdObJcSa","W5e4EHlcSvq","r8koW4yxWPa","cCkzemk4W6xcLJddIq","nSkrW5VcUSk/WRJcISo5","WRClWPZdGbFcK8opWQO5W6vG","W7tdMKNcRmkvW5O/jCoW","tg82hmkZ","W4SWEGxcTW","h27cOJBdObm","W49FW7BcSW","W4/cMmobpYe","xb/cR8kdWQu","bmkPE3i","cSkJENldHa","W4ddMmohxaxdGq","iKeJWQFcUmkOW5Tnma","xGxcRSkKWRNcRSoVW7u","WRbvW6qB","BZnlW5NdRa","lSkEE8oFjW","pmofWQ9TWRW","WP/cVIqtACkBWOLaW6Kt","kJmIDuS","WRqxW4CoW5arW787","wuRdTYGp","h27cOJFdSrtcQ8o+","lSkFWO3cTcRcTG","W7/dKe7cV8kCW4C","W7hdVCk5W5xdT3m","exKqWPhcIW","zxxcL8kFrSk1w1j6W5HCEmkE","W71fqCk5W50","px4vWOBcOW","xJFcQSogWOFdSSkKdmoVpKJcP8oxW7mdW7uPW5mzWRdcSHtdJCkegYzGWP7dRa","WPWptKL3DcxdIa","aCkWW63cM8kb","W4pdK8kurfpcJ0ldJmkL","W4eAW6HzhsZdMKfaWQ/dG8kRkCkZdb4","W6mkW6zJla","W6hdJmk7zSks","r0W3W74fWOO","jmoZoYyyzq","tZdcQ8otWOZdUSkUnSoRix0","W6ldHKlcLCkrW54+","WR4dWP8","W5hcQmkr","EXZcQmkFWQ8","vCoemmke","dSkPyK3dMwZcRmo5W5ZdGxe","W7lcGSkYW4NcGr1unCoUcCoDWP/dIq","W5a2ybdcV0O","i8oOltCayqtcTJNcTf0","WQWDW50aW4Wm","W5zzW7ZcOMC","CSksW4NcJ8kTWR/cMa","rSkoW6lcV8obW6hdVG","WR/dIColW6O+nq","tudcGwP9uCoH","xLO8W5OqWO4sW5FdUcFcJq","xebIW77dLxP4W4ndW4VcSSoKWOZdGItdN0qwWOSRWQpcHa","WQtdQmoNW7Ws","W7PVD8k9W6Pulmk3igyEv1a","iSkjWQdcSde","WOddPCoMW4GjexzjqgK0","WPusWQJdTZy","gSokt8kxW7ldMYvQW7BcLCkPCG","x8otp1NcHq","amotfWmZqJlcOaFcN3f6za","B2L2nxLbEunEta","W5nxW7RcTYD5hKBdJ8oNWQddH1xdNN3cOCkloWvNpuO","W5vlbsbPW4Lo","hCkJzG","q0jTW7a","W4ZcOSks","C8kxW7VcMuJcTgpcGYZdPa","WQvTaa","wdxcSCoaWOu","DIaiW7qWWQ3cOGjBW7T4i3TNWPPKW6BcSCozW4hcOMn5W7iG","W6GpWRjouL3dVWpcSvHUWPP4","uCo5icZdKf/cRSoXW6ldPG","W4/dOSomDqxdLdu","nCkmsSoooK8","W5JdJ8kFza","WRBcKmoKpSoxW4lcJvrcW4yr","pJiVBuDEx3S","sSkRkg1obmolW6nwW6ddH8oHEa","pJSOD0jF","qfRcNx0","W7lcRmkl","EJ1lW4pdUW","xuj0W5dcKXGIWOekWPNdLCkHW7xcH3FcMtjlW4zLW7tdIa","WP5lxciXW5G","sCkaW40xWOG","xCkTW5VcONm","W5VcLmolpYWy","W6RdLCoRsIO","DeTwW6JcLW","xLO8W4SuWOq","tvRcN3DQ","WRtdIColW6e","bSkDW7BcQ8ocW6NdRa","wtZcV8okWPpdR8kYcSoilxtcPmoZW74qW5i8W6qNWRdcRatdJmkH","v8krW4yrWPy","qeNcPCkxCCkhyq","mSkvW4hcN8kQWQRcQCoUWOrVW7tcRmkV","q0WWW74zWPy","WOXNwYe8W5q","WPWGW6xdSmkIWPLe","WRtdMCoqW78Zl0m","WRzFW6mzdHO","WRqmW5urW4m","W4BdKuJcKmkX","c8kyW7NcNSkH","WPW6W7NdTSkMWP5EW5ZdIa","v8kuW4GlWOfYsCoaWQy","WPldSSkYWRG6ECkHW4RcGq","cxlcQrddPbZcSCo+WPy","W5dcQmkcW6xcOdzKf8oHkSoJWRZdVGi3W7xdJSkJWRxdG8kNWPddO8o3pwCR","f8oUksiEvq3cSsZcVfu","W6xdKeBcU8kaWP08jCoVpd/dS8oSW5tdKNOsjxzRW4NcIXpcTcG","s8oLgmkAW4O","W4LisCkuW5X5hmkj","gmo1EdKEr8kyW4e","W7RdLCkMA8kI","pSkCuCoBn1xcHW","B8oFuCono3BcTCkL","W7lcGSkYW4NcGr1unCoUfSoDWOpdIq","W78HwGNcRW","WPC8W7pdPSkIWPK","nCo9WOvrWPNdLXldHYSCW7TBWRNcHWK","rKWwW5iW","DcGzW7XSW7BdUfK","W7nztYj4bK1P","wZBcSConWPtdVSkLpCo8kxBcVmot","kv4sWRJcRCkEW4rgjvtdOeC","DdD2W7JdMa","veS5o8ku","tfRcGxX9tCohrcddJ8oZWRy","v8osfhRcTa","ywrGWR1q","WOWHW67dRSkI","WQehWO7dKW/dNmoBWOe1W6DApe7cUCosdCorW5eXWQDqxgC8WQm","sHtcUmkyWQhcUSoVW7u","ovurWQRdSCoJWOCwEXJcSWT5cmoYAWZdS1ZdTSkPwhrhiG","W4VcLmoxpsajWP8","tCosomkUW6JcTdhdI8oO","wXNcOSkzWRNcQSoPW5xdVKzQW6hdSa","WQtdMmoBW6eZ","W7S/rg3dI8k6kmkTbs/dPCkMDq","AcieW7jSW7C","WQyrWORdTr3cLmotWOCS","WOJdTCkBWRG+","W6pcMCkAWRvNDGDmxeOeW7FcGa","W4BcPmkwW7ZcVYn4k8oqkmoX","vCkuW7NcO8oqW6RdUmoXBmoRu0VcJG","texdLqS","svdcH0TSxSoHqa","W4yKAYpcUf/cNLZdOq","u1pcRmkUCCky","vvNdIae","nmoKnW0+","W4RcQmkmW6VcUZy","x1S4W7CcWO4FW4hdVbW","oJSYr1O","CZpcHSkIWQG","WO5+W4Gmla","rKXaWO10WR8tW6ZcRZOfW5/cI8kFdSophCoHWRaM","WO86W6tdQ8kZWP5FW5C","WPJdTmkqWQy+BSk8","W4pdK8kuqLtcHuVdJCkWW4FdRa","jLCEWQq","W5mmW7PebqNdHL11WQ/dJmk0","nmoPpYmdDW","n8kBW50","W4NdPCoqvau","g8oxsmkaW7JdPc59W7C","CGndW77dQCk8W6vGoMldTa","W4zrW6ZcKhy","WOuPW6agW4i","W6rAudHX","W4RcPmkbW6JcTIW","eHpcJf1EdatcOmocvKDHfG","kcKJu0zk","W6LJwKbK","kSkTD8oibG","jCkBW58","W4tdNMdcK24","C8ksW7xcUG","W7FdKmkYsSkbW5ZcT350W7ut","tLBdNrylv1NcSa","ECoWcCkkW6G","sfZcN2X9tq","W4foz8k0W7S","qSkEW6tcJ8ofW6pdPSoh","xJFcQSogWOFdSSkKdmoVpLRcQComW7OIW4G4W7iuWRxcLHddHCkNhZK","wfVcSSk9FCkewM1v","WOWWW6pdKSkMWPnuW5xdN3y","W5aLAWFcQLW","WPpcGJ/dIYVcQvtdSmosmsm","c8omx8kyW7W","kSo5FH0/","WPxdJCooW6eLdvz0yvC","WO5IxW8w","zhJdRdySzhRcJSoREq","x0/cS8kUFCkmD0fkW6fHwCk1W7i","WReqWOBdKXdcGq","tmownvVcGG","kCkBqSohivFcKSk9W6mc","k8kTENhdV2/cRmoM","v0hdLbei","W4HdW4JcUM4YqH3cHa","Es1cW73dIW","W4bsW6VcUwm+xXy","W5xdH07cU8kFW4asiCoSjqhdOW","tuO0jCkH","y2hdTcG","mt8OzLDe","CLVcRCk/vCkyA2m","WRHvW7G","r1/cP8kZz8kEA3b1W65Xwmk3W6m5WR0fW6FdPhJcOSkxW4JdRNjB","WOaGWONdSWO","WPJdOmkmWQi6CW","u8kJW4C","WRqzW5adW4GD","fmoaWR5qWQFdTJu","wt7cUSocW4JcQCoItCkMBcRdVCkvWRPrWPjSWRvDW7hdSfG","W5hdHCkfuKhcIfpdIG","W7XnWOjwW4i8W7CVWOuA","WQHBW6ylaW","EaPOW5NdJW","iCkiWOBcSIRcUW","WP/dQmkrWQq3yCkXW6RcH8otW4C","wCoCca","v8oCfMpcP1u","WQKzW4q","m8oZpYKFBbZcJd3cGa","BYLvW4tdU8oQoq","eCoaWQjHWQFdVdpdUGy","CIygW6b9","c8kTENe","ytefW7b+","WQyrWORdOH7cLa","WQFdJCogW6K6ja","k8oKmcayAa","uSksW7tcUCom","smkYW4FcONq","twC+hCk+","W4yKAZxcQLJcJ1O","WQhdKSkKWO0R","sb7cOSkBWQNcVCo+W74","pCoimcmjEa","mCkcB8oAea","hCk8W4FcI8kE","v8kCW7lcRmkmWR3cV8kbnSkUdWRdIdZdQmkzW5tcLCoBwsmy","ssVcSCoaWOVdQa","dqKrC0G","W4hcRmklW7RcSJe","wfW7W6OsWPaxW5FdVa","W4jfsCkFW5b/","jLmd","WRLBW744hW","WRtdG8omW7K3kfLODG","W4xdKgdcKa","WPLJxHyw","W4LvW7hcSwC/","AJnv","W4Cydh1TWP1iWQ8AW7bAWRdcTG","vCorexlcQg/cHYpcHCoN","W7hdHSkLF8kjW5pcVG","vLVcRSkSDCkz","W59qyxS0aNtcNmovFs9GWP/cKSk9iSkOWQVdMaZcOmoHnSkWFW","W5OlW6bmaqG","u2m7d8kZW7i","CY4oW6fW","w1rLW5RcMY4OWPuB","h8ooWRW","WPDmrIO1W5KkWOy","W4zftSkFW4XJ","kfmDWR3cUmkI","hmk9C1BdOW","W7VdTmkXW4hdQYO","W6xdKKxcUCoCWOfKDCkUC1lcPCk4WPVcMI14yZ8LWO3dJe7dPg0","WPWWW7NdTSkIWOu","W4FdUNdcNCkMW6WeemoDhJxdNmozW74","oLZcGYddItdcGmomWQ3dThfG","ofChWOtcT8ktW5npo3tdQe04z8k6ofFcOru","EXJcNmoNWQZdNSkil8odceZcGa","emoDt8ktW7hdUq","W5FdTmoevW","iSkdWRVcOt/cOCkp"];return(_0x2aa1=function(){return e})()}BallItem[_0x364daa(339,"ipqV")]=_0x364daa(257,"kXdD");const _0x177deb={};_0x177deb[_0x364daa(216,"l[TZ")]=_0x364daa(181,"TwWp"),_0x177deb[_0x364daa(359,"3CdO")]=BALL_DIAMETER,_0x177deb.height=BALL_DIAMETER,_0x177deb[_0x364daa(155,"zG@P")]=10;const _0x33530e={};function _0x2f1a(e,a){e-=113;const t=_0x2aa1();let d=t[e];if(void 0===_0x2f1a.EfVzCA){const e=function(e,a){let t,d,W=[],o=0,r="";for(e=function(e){let a="",t="";for(let t,d,W=0,o=0;d=e.charAt(o++);~d&&(t=W%4?64*t+d:d,W++%4)?a+=String.fromCharCode(255&t>>(-2*W&6)):0)d="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(d);for(let e=0,d=a.length;e<d;e++)t+="%"+("00"+a.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(t)}(e),d=0;d<256;d++)W[d]=d;for(d=0;d<256;d++)o=(o+W[d]+a.charCodeAt(d%a.length))%256,t=W[d],W[d]=W[o],W[o]=t;d=0,o=0;for(let a=0;a<e.length;a++)d=(d+1)%256,o=(o+W[d])%256,t=W[d],W[d]=W[o],W[o]=t,r+=String.fromCharCode(e.charCodeAt(a)^W[(W[d]+W[o])%256]);return r};_0x2f1a.LutDMd=e,_0x2f1a.mKxklF={},_0x2f1a.EfVzCA=!0}const W=t[0];_0x2f1a.TMlrMT!==W&&(_0x2f1a.mKxklF={},_0x2f1a.TMlrMT=W);const o=_0x2f1a.mKxklF[e];return void 0===o?(void 0===_0x2f1a.RYApbm&&(_0x2f1a.RYApbm=!0),d=_0x2f1a.LutDMd(d,a),_0x2f1a.mKxklF[e]=d):d=o,d}_0x33530e[_0x364daa(401,"ipqV")]=BALL_DIAMETER,_0x33530e[_0x364daa(313,"ipqV")]=BALL_DIAMETER;const _0x3a933e={};_0x3a933e.container=_0x177deb,_0x3a933e.canvas=_0x33530e;const ballStyles=StyleSheet[_0x364daa(374,"8eIO")](_0x3a933e),BallsLayer=_0x42c0ab.memo(({service:e})=>{const a=_0x364daa,[t,d]=_0x42c0ab[a(364,"3CdO")](0);_0x42c0ab.useEffect(()=>(e.setOnBallListChange(()=>d(e=>e+1)),()=>{e[_0x2f1a(334,"F03@")](()=>{})}),[e]);const W=_0x42c0ab[a(347,"EPdX")](()=>[...e[a(242,"qas3")]()],[e,t]);return _0x4d296e(_0x549cc7,{children:W[a(308,"F03@")](a=>_0x4d296e(BallItem,{ball:a,service:e},a.id))})});BallsLayer[_0x364daa(390,"4Xa4")]=_0x364daa(250,"i8A$");const MAX_PADDLE_W=Math[_0x364daa(148,"i8A$")](1.6*PADDLE_WIDTH),PADDLE_BEVEL=2,PADDLE_R=5,PADDLE_COLORS=getBlock3DColors(BLOCK_BREAKER_COLORS.PADDLE),PaddleItem=_0x42c0ab[_0x364daa(337,"7e7l")](e=>{const a=_0x364daa,t={wDTaT:function(e,a){return e!==a},FpGGM:function(e,a){return e(a)},xjOLb:function(e,a){return e-a},oMkSO:function(e,a,t){return e(a,t)},HXkcr:a(380,"F03@")},d=_0x3e9f41(11),{service:W}=e,o=useSharedValue(screenWidth/2),r=useSharedValue(BLOCK_BREAKER_GAME_CONFIG[a(333,"EPdX")]);let _,x;d[0]!==r||d[1]!==o||t[a(233,"^s1K")](d[2],W)?(_=()=>{const e=a,t={};t.x=o,t.width=r,W[e(268,"gBrD")](t)},x=[W,o,r],d[0]=r,d[1]=o,d[2]=W,d[3]=_,d[4]=x):(_=d[3],x=d[4]),_0x42c0ab[a(323,"P1CV")](_,x);const n={};n.translateX=o[a(277,"UZo9")]-r[a(287,"fdp$")]/2;const s=t[a(113,"#E^c")](useAnimatedStyle,()=>({transform:[n],width:r.value}));let i,k,l,C;if(d[5]!==s?(i=[paddleStyles[a(272,"BViF")],s],d[5]=s,d[6]=i):i=d[6],d[7]===Symbol[a(267,"UZo9")]("react.memo_cache_sentinel")){const e={x:0,y:0};e.width=MAX_PADDLE_W,e[a(321,"bTnA")]=PADDLE_HEIGHT,e.r=5,e.color=PADDLE_COLORS[a(221,"k%am")],k=_0x4d296e(RoundedRect,e),d[7]=k}else k=d[7];if(d[8]===Symbol[a(314,"%e1)")]("react.memo_cache_sentinel"))l=_0x8290e7(Canvas,{style:paddleStyles[a(305,"1Epg")],pointerEvents:a(357,"ipqV"),children:[k,_0x4d296e(RoundedRect,{x:0,y:0,width:MAX_PADDLE_W,height:t[a(372,"@][)")](PADDLE_HEIGHT,2),r:5,children:t[a(312,"zG@P")](_0x4d296e,LinearGradient,{start:vec(0,0),end:vec(0,PADDLE_HEIGHT-2),colors:[PADDLE_COLORS[a(234,"6%&J")],BLOCK_BREAKER_COLORS.PADDLE,PADDLE_COLORS[a(348,"46Up")]]})})]}),d[8]=l;else if(t.HXkcr===a(263,"bTnA"))l=d[8];else{const e={};e.style=_0x3015d6,e[a(298,"3CdO")]=_0x518e35,_0x7dbf85=_0x2bf96e(_0x26874a[a(236,"qas3")],e),_0xc9fe22[11]=_0x2c75ba,_0x1f2c16[12]=_0x37ae93}if(d[9]!==i)if(a(241,"EZ&(")!==a(115,"A%hr")){const e="7|2|1|6|4|3|0|5"[a(151,"[QKQ")]("|");let t=0;for(;;){switch(e[t++]){case"0":_0x580f21[4]=_0x167581;continue;case"1":_0x476273[0]=_0x8e11c7.id;continue;case"2":_0x4d3b72=[_0x311449.id,_0x9d484a,_0x2116a6,_0x476031];continue;case"3":_0x2dbee3[3]=_0xb27f03;continue;case"4":_0x2b55fe[2]=_0x27b7d5;continue;case"5":_0x312a7b[5]=_0x2d0bd7;continue;case"6":_0xde1b4e[1]=_0x18d5d3;continue;case"7":_0x444dc5=()=>{const e=a,t={};return t.x=_0x4ba7d4,t.y=_0x1a9cc3,_0x17e2ef[e(166,"1Epg")](_0x77b885.id,t),()=>{_0x542a33[e(381,"4Xa4")](_0x360604.id)}};continue}break}}else{const e={};e[a(340,"EPdX")]=i,e[a(171,"!vV]")]=l,C=_0x4d296e(_0x549cc7,{children:t[a(185,"bTnA")](_0x4d296e,_0x38ca5e[a(236,"qas3")],e)}),d[9]=i,d[10]=C}else C=d[10];return C});PaddleItem.displayName=_0x364daa(369,"Y1sZ");const _0x1bf251={};_0x1bf251[_0x364daa(180,"fdp$")]=_0x364daa(325,"zG@P"),_0x1bf251[_0x364daa(120,"kXdD")]=PADDLE_RENDER_TOP,_0x1bf251[_0x364daa(375,"VGYe")]=PADDLE_HEIGHT,_0x1bf251[_0x364daa(238,"@][)")]=_0x364daa(229,"1Epg"),_0x1bf251[_0x364daa(186,"(kRQ")]=5,_0x1bf251[_0x364daa(299,"k%am")]=9;const _0xec3c48={};_0xec3c48[_0x364daa(293,"qas3")]=MAX_PADDLE_W,_0xec3c48[_0x364daa(320,"rjs(")]=PADDLE_HEIGHT;const _0x4a393a={};_0x4a393a[_0x364daa(291,"i8A$")]=_0x1bf251,_0x4a393a[_0x364daa(135,"qnj9")]=_0xec3c48;const paddleStyles=StyleSheet[_0x364daa(389,"k%am")](_0x4a393a),PowerUpItem=_0x42c0ab[_0x364daa(204,"@][)")](e=>{const a="%e1)",t=_0x364daa,d={ohLsj:function(e,a,t,d){return e(a,t,d)},QdoHE:function(e,a,t){return e(a,t)},ptavg:function(e,a,t){return e(a,t)},sDEqD:function(e,a){return e*a},seiJR:function(e,a){return e*a},gatFy:function(e,a){return e!==a},qcqBy:function(e,a){return e!==a},tVOoQ:function(e,a){return e===a}},W=_0x3e9f41(20),{pu:o,service:r}=e,_=useSharedValue(o.x),x=useSharedValue(o.y);let n,s;d[t(226,"ipqV")](W[0],o.id)||d.qcqBy(W[1],r)||W[2]!==_||W[3]!==x?(n=()=>{const e={};return e.x=_,e.y=x,r.registerPowerUpSharedValues(o.id,e),()=>{r.unregisterPowerUpSharedValues(o.id)}},s=[o.id,r,_,x],W[0]=o.id,W[1]=r,W[2]=_,W[3]=x,W[4]=n,W[5]=s):(n=W[4],s=W[5]),_0x42c0ab[t(194,"ltZv")](n,s);const i={};i[t(211,"vE)x")]=_[t(228,"TwWp")]-POWER_UP_SIZE;const k={};k[t(284,"k%am")]=x[t(138,a)]-POWER_UP_SIZE;const l=useAnimatedStyle(()=>({transform:[i,k]}));let C;d[t(212,"qnj9")](W[6],o.type)?(C=getPowerUpColor(o.type),W[6]=o[t(208,"@][)")],W[7]=C):C=W[7];const R=C;let u;W[8]!==l?(u=[puStyles[t(162,"l[TZ")],l],W[8]=l,W[9]=u):u=W[9];const m=R+"40";let S,f,E,O;if(W[10]!==m){const e={};e.cx=POWER_UP_SIZE,e.cy=POWER_UP_SIZE,e.r=POWER_UP_SIZE,e[t(366,a)]=m,S=_0x4d296e(Circle,e),W[10]=m,W[11]=S}else S=W[11];if(W[12]!==R){const e={};e.cx=POWER_UP_SIZE,e.cy=POWER_UP_SIZE,e.r=.7*POWER_UP_SIZE,e.color=R,f=_0x4d296e(Circle,e),W[12]=R,W[13]=f}else{if(!d[t(278,"%e1)")](t(260,"%e1)"),t(328,"kXdD")))return _0x45b473.getState()[t(254,"#E^c")][t(283,"BViF")](e=>{const a=t,{top:d,bottom:W,shadow:o}=_0x24f70d(e.color),r=e.x,_=e.y,x=e[a(322,"fdp$")],n=e[a(336,"ai8)")],s={};return s.x=r,s.y=_,s.width=x,s[a(404,"i8A$")]=n,s.r=_0x71c714,s[a(142,"%JYf")]=o,QNRTym.ohLsj(_0x2a4b50,_0x3c371f,{children:[QNRTym[a(249,"!vV]")](_0x167621,_0x494e0a,s),_0x560fc6(_0x2dc88c,{x:r,y:_,width:x,height:n-_0x237040,r:_0x505b35,children:_0x2fbc7d(_0x5489de,{start:QNRTym[a(159,"BViF")](_0x30f068,r,_),end:_0x146db6(r,_+n-_0xf36007),colors:[d,e[a(387,"o^]D")],W]})}),_0x33e04c(_0x1697cc,{x:r,y:_,width:x,height:QNRTym[a(169,"ltZv")](_0x2ff91f,2.5),children:_0x5db42f(_0x4670a1,{start:QNRTym[a(386,"rjs(")](_0x167fcf,r,_),end:QNRTym[a(160,"VGYe")](_0x225b74,r,_+QNRTym[a(408,"i8A$")](_0x5e1f36,2.5)),colors:[a(330,"VGYe"),a(302,"qas3")]})}),_0x48d5b6(_0x34fc4d,{x:r,y:_+_0x5c136e,width:QNRTym[a(209,"k%am")](_0x3d65a3,2),height:n-QNRTym[a(346,"^s1K")](_0x1ca189,3),children:_0x2b6e5a(_0x113c68,{start:_0x2a3564(r,_+_0x182624),end:_0x3a7985(r+2*_0x127634,_+_0xe7ec2a),colors:[a(126,"fdp$"),a(274,"4Xa4")]})})]},e.id)});f=W[13]}if(W[14]!==S||W[15]!==f){const e={};e[t(248,"ai8)")]=puStyles[t(282,"A%hr")],e[t(195,"3CdO")]=t(365,"UZo9"),e.children=[S,f],E=_0x8290e7(Canvas,e),W[14]=S,W[15]=f,W[16]=E}else E=W[16];if(d[t(309,"UZo9")](W[17],u)||W[18]!==E){const e={};e[t(223,"7e7l")]=u,e[t(133,"qnj9")]=E,O=_0x4d296e(_0x38ca5e.View,e),W[17]=u,W[18]=E,W[19]=O}else O=W[19];return O},(e,a)=>e.pu.id===a.pu.id);PowerUpItem.displayName=_0x364daa(167,"k%am");const _0x555f62={};_0x555f62[_0x364daa(371,"BViF")]=_0x364daa(261,"ipqV"),_0x555f62[_0x364daa(358,"$2[O")]=POWER_UP_DIAMETER,_0x555f62[_0x364daa(130,"^s1K")]=POWER_UP_DIAMETER,_0x555f62[_0x364daa(362,"7e7l")]=7;const _0x16063f={};_0x16063f[_0x364daa(188,"%Ddr")]=POWER_UP_DIAMETER,_0x16063f[_0x364daa(140,"zG@P")]=POWER_UP_DIAMETER;const _0x3fa826={};_0x3fa826[_0x364daa(165,"EPdX")]=_0x555f62,_0x3fa826[_0x364daa(398,"46Up")]=_0x16063f;const puStyles=StyleSheet[_0x364daa(246,"46Up")](_0x3fa826),PowerUpsLayer=_0x42c0ab.memo(({service:e})=>{const a="46Up",t=_0x364daa,d={LHhbU:function(e,a){return e===a}},[W,o]=_0x42c0ab[t(296,a)](0);_0x42c0ab[t(206,a)](()=>(e.setOnPowerUpListChange(()=>o(e=>e+1)),()=>{e[_0x2f1a(139,"P1CV")](()=>{})}),[e]);const r=_0x42c0ab[t(129,"7e7l")](()=>[...e[t(396,"kXdD")]()],[e,W]);return d[t(301,"6%&J")](r[t(341,"1Epg")],0)?null:_0x4d296e(_0x549cc7,{children:r[t(392,"#E^c")](a=>_0x4d296e(PowerUpItem,{pu:a,service:e},a.id))})});PowerUpsLayer[_0x364daa(399,"k%am")]="PowerUpsLayer";const BlastEffectsLayer=_0x42c0ab[_0x364daa(219,"F03@")](()=>{const e=_0x364daa,a={igiJY:function(e,a){return e(a)},magoj:e(213,"3CdO")},[t,d]=_0x42c0ab[e(373,"EPdX")]([]),W=_0x42c0ab[e(237,"o^]D")](a=>{const t=e;d(e=>e[t(207,"gBrD")](e=>e.id!==a))},[]);_0x42c0ab.useEffect(()=>{if(0===t[e(265,"qnj9")])return;const W=setTimeout(()=>{a.igiJY(d,[])},2e3);return()=>clearTimeout(W)},[t[e(388,"vE)x")]]);const o=_0x42c0ab[e(231,"qnj9")](useBlockBreakerStore[e(275,"@pGm")]().bricks);return _0x42c0ab.useEffect(()=>{const t=e;if("XEMUe"===a[t(141,"[QKQ")]){let e=!0;const W=useBlockBreakerStore[t(163,"[QKQ")](e=>e[t(114,"ai8)")],()=>{const W=t;if(!e)return;const r=useBlockBreakerStore[W(351,"6%&J")]()[W(303,"4Xa4")],_=o.current;if(o[W(173,"^s1K")]=r,0===r[W(292,"k%am")])return;if(_[W(326,"EZ&(")]<=r[W(279,"8eIO")])return;const x=new Set(r[W(324,"CS4t")](e=>e.id)),n=_[W(240,"(kRQ")](e=>!x.has(e.id));if(n.length>0){const e={id:W(376,"[@24")+Date[W(122,"1Epg")](),bricks:n[W(271,"%JYf")](e=>({id:e.id,x:e.x,y:e.y,width:e[W(345,"%e1)")],height:e.height,color:e[W(147,"(kRQ")]}))};a.igiJY(d,a=>{const t=W,d=[...a,e];return d[t(198,"fdp$")]>3?d[t(125,"4Xa4")](-3):d})}});return()=>{e=!1,W()}}_0x424f85.current=_0x4959a0},[]),0===t.length?null:_0x4d296e(View,{style:[StyleSheet[e(220,"rjs(")],styles[e(183,"F03@")]],children:t[e(124,"!E)s")](e=>_0x4d296e(BlastAnimation,{bricks:e.bricks,onComplete:()=>W(e.id)},e.id))})});BlastEffectsLayer[_0x364daa(352,"#E^c")]="BlastEffectsLayer";const GameAreaComponent=({gameService:e,offset:a=0})=>{const t=_0x364daa,d={ZKcZR:function(e,a){return e!==a},bwJya:function(e,a,t){return e(a,t)}},W=_0x42c0ab[t(290,"#E^c")](!1);_0x42c0ab[t(199,"#E^c")](()=>{const e=t;return W[e(285,"%e1)")]=useBlockBreakerStore.getState()[e(259,"ipqV")],useBlockBreakerStore[e(306,"vE)x")](a=>a[e(164,"r052")],a=>{W[e(405,"(kRQ")]=a})},[]);const o=_0x42c0ab[t(146,"vE)x")](e);o[t(157,"i8A$")]=e;const r=_0x42c0ab[t(356,"EPdX")](0),_=_0x42c0ab[t(218,"@pGm")](()=>{W[t(403,"qas3")]&&(r.current=o.current.getPaddleX())},[]),x=_0x42c0ab[t(406,"vE)x")](e=>{const a=t;W[a(156,"l[TZ")]&&o[a(217,"r052")][a(245,"l[TZ")](r[a(285,"%e1)")]+e)},[]);_0x42c0ab[t(384,"@pGm")](()=>{const a=t;if(d[a(377,"F03@")](a(289,"fdp$"),a(269,"#E^c")))return useBlockBreakerStore.subscribe(e=>e[a(363,"F03@")],t=>{t?e[a(385,"rjs(")]():e.stopPhysicsLoop()});_0x20565f=_0x509c51[3],_0x97e564=_0x86af24[4]},[e]);const n=_0x42c0ab[t(152,"gBrD")](()=>{const e=t;return Gesture[e(137,"1Epg")]()[e(338,"8eIO")](()=>{runOnJS(_)()}).onUpdate(e=>{runOnJS(x)(e.translationX)})},[_,x]),s={};s[t(244,"gBrD")]=a;const i={};i[t(193,"$2[O")]=e;const k={};k[t(317,"o^]D")]=e;const l={};return l.service=e,_0x4d296e(GestureDetector,{gesture:n,children:_0x4d296e(View,{style:[styles[t(224,"ai8)")],s],children:_0x8290e7(View,{style:styles.canvasWrapper,children:[_0x4d296e(StaticGameAreaCanvas,{}),d.bwJya(_0x4d296e,BricksCanvas,{}),d.bwJya(_0x4d296e,PaddleItem,i),_0x4d296e(BallsLayer,k),_0x4d296e(PowerUpsLayer,l),_0x4d296e(BlastEffectsLayer,{})]})})})},_0x1491ce={flex:1};_0x1491ce[_0x364daa(253,"gBrD")]=_0x364daa(331,"l[TZ"),_0x1491ce[_0x364daa(316,"A%hr")]=_0x364daa(143,"$2[O");const _0x338210={};_0x338210[_0x364daa(370,"qnj9")]=screenWidth,_0x338210[_0x364daa(210,"1Epg")]=GRID_HEIGHT,_0x338210.overflow=_0x364daa(177,"l[TZ");const _0x3b0091={};_0x3b0091.position=_0x364daa(191,"3CdO"),_0x3b0091.width=screenWidth,_0x3b0091[_0x364daa(158,"UZo9")]=GRID_HEIGHT;const _0x57474d={};_0x57474d[_0x364daa(203,"qas3")]=_0x364daa(357,"ipqV");const _0x221dac={};_0x221dac[_0x364daa(310,"i8A$")]=_0x1491ce,_0x221dac[_0x364daa(153,"6%&J")]=_0x338210,_0x221dac[_0x364daa(318,"gBrD")]=_0x3b0091,_0x221dac.blastOverlay=_0x57474d;const styles=StyleSheet.create(_0x221dac);export const GameArea=_0x42c0ab[_0x364daa(121,"P1CV")](GameAreaComponent);GameArea.displayName=_0x364daa(266,"gBrD");
@@ -1 +0,0 @@
1
- "use strict";const _0x1e6dc5=_0x1978;function _0x1978(e,o){e-=182;const r=_0x5496();let t=r[e];if(void 0===_0x1978.GbXwjK){const e=function(e,o){let r,t,n=[],s=0,W="";for(e=function(e){let o="",r="";for(let r,t,n=0,s=0;t=e.charAt(s++);~t&&(r=n%4?64*r+t:t,n++%4)?o+=String.fromCharCode(255&r>>(-2*n&6)):0)t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(t);for(let e=0,t=o.length;e<t;e++)r+="%"+("00"+o.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(r)}(e),t=0;t<256;t++)n[t]=t;for(t=0;t<256;t++)s=(s+n[t]+o.charCodeAt(t%o.length))%256,r=n[t],n[t]=n[s],n[s]=r;t=0,s=0;for(let o=0;o<e.length;o++)t=(t+1)%256,s=(s+n[t])%256,r=n[t],n[t]=n[s],n[s]=r,W+=String.fromCharCode(e.charCodeAt(o)^n[(n[t]+n[s])%256]);return W};_0x1978.JKrFKA=e,_0x1978.shoBSN={},_0x1978.GbXwjK=!0}const n=r[0];_0x1978.ewwWrC!==n&&(_0x1978.shoBSN={},_0x1978.ewwWrC=n);const s=_0x1978.shoBSN[e];return void 0===s?(void 0===_0x1978.GCSGqk&&(_0x1978.GCSGqk=!0),t=_0x1978.JKrFKA(t,o),_0x1978.shoBSN[e]=t):t=s,t}!function(){const e=_0x1978,o=_0x5496();for(;;)try{if(881438==parseInt(e(187,"W8[%"))/1+parseInt(e(213,"$xfL"))/2*(parseInt(e(196,"W9oG"))/3)+-parseInt(e(218,"0]Bb"))/4+-parseInt(e(208,"xDoP"))/5+parseInt(e(209,"7Ft9"))/6+-parseInt(e(207,"RI!m"))/7+parseInt(e(194,"81oh"))/8)break;o.push(o.shift())}catch(e){o.push(o.shift())}}();import{c as _0x3a44c0}from"react/compiler-runtime";import _0x26893d from"react";import{View}from"react-native";import{ScoreBoardContainer,ScoreValue,ScoreLives,ScoreTimer,scoreBoardStyles as _0x2574cf}from"../../../helpers/index.js";import{useScore,useLives,useTimeRemaining}from"../BlockBreakerStore.js";function _0x5496(){const e=["WOG4nSo0m8oxdCkZnCkD","W7xcT2a/aG","BSoRWOnUraOWoG","WRq9p8o1m8oH","tmkPWPtcT8k1","oCkNWO3cOLq","nCk9W4SuhuHSmmonW7zxyKS","WRZcS8odwSk5WQSXyvCEW6BdNXu","W69QBmk+BSkIuSkJn8kEbmk/W5e","A0FcLr8X","gHG4W6Tsrc7dUI9dW53dUMi","W7KxBbenWQSfWPupW5ddPmkM","D33dHSkYrmoeW6HhkW","W7xcRx49gG","WPTeW6BdShnLWR7dQSo8W4ddJfHz","WQD5W7mQW6q","WQvayZ1yzqqx","lIekkSkeWOhdOvOiWO4Jhmo8","WO1OsHddVxCsW6nXWOLwy8kN","dWtcPCk1Ca","W412W5eoWRy","CfVcSJ0AW69O","W7xcQwS4cW","cMpdO8kadIaPcW","W4mPWPX0WPRdRv7cMCk5bmkeW5G","Cgj9W4Ll","W6VcNLmohW","d8kIWO/cHhK","W4ZcM8kjWQ4A","WRpdMmknxmo4lM7dT8kyoq","W4eRWP98WPpdQXtcKCktfCkvW7JcRa","bdmLWQ41WRhdLrWOcZRcKCkxWPK","W7aslwBcMW","mGRdO2RcSmo9WQbgWQyU","W6VcUh87","W4CMWPhcJqG","W6vsW7u","W4W5W7ddSSkvWQ/cKmktw0FcHxeZW5O"];return(_0x5496=function(){return e})()}import{BLOCK_BREAKER_GAME_CONFIG}from"../BlockBreakerConstants.js";import{jsx as _0x2dee68,jsxs as _0xab3ae2}from"react/jsx-runtime";export const ScoreBoard=_0x26893d[_0x1e6dc5(197,"srXP")](e=>{const o=_0x1e6dc5,r={RcYnO:function(e,o){return e(o)},kWNDO:function(e,o){return e!==o},mCAZq:function(e,o){return e===o},MLWlq:o(206,"VGE%"),hyDME:function(e,o,r){return e(o,r)}},t=r[o(216,"W8[%")](_0x3a44c0,13),{offset:n}=e,s=void 0===n?0:n,W=useScore(),x=useLives(),a=useTimeRemaining();let i,d,_,f,m;if(t[0]!==W){const e={};e[o(190,"VGE%")]=W,i=_0x2dee68(ScoreValue,e),t[0]=W,t[1]=i}else i=t[1];if(r[o(198,"z9Aa")](t[2],x)){const e={};e[o(183,"XRLd")]=x,e[o(203,"RI!m")]=BLOCK_BREAKER_GAME_CONFIG[o(195,"Ku[g")],d=_0x2dee68(ScoreLives,e),t[2]=x,t[3]=d}else d=t[3];if(t[4]!==a){const e={};e[o(184,"oYE*")]=a,_=_0x2dee68(ScoreTimer,e),t[4]=a,t[5]=_}else _=t[5];if(t[6]!==i||t[7]!==d||t[8]!==_){const e={};e[o(185,"srXP")]=_0x2574cf[o(199,"tTQJ")],e[o(217,"MCN[")]=[i,d,_],f=_0xab3ae2(View,e),t[6]=i,t[7]=d,t[8]=_,t[9]=f}else o(205,"FA2N")!==o(202,"srXP")?_0x53d5de=_0x55536b[3]:f=t[9];if(r[o(191,"HxQW")](t[10],s)||t[11]!==f)if(r[o(189,"srXP")](o(188,"81oh"),r[o(182,"$xfL")])){const e={};e[o(204,"7Ft9")]=s,e[o(186,"qZil")]=f,m=r[o(210,"oYE*")](_0x2dee68,ScoreBoardContainer,e),t[10]=s,t[11]=f,t[12]=m}else{const e="3|0|1|2|4"[o(214,"srXP")]("|");let r=0;for(;;){switch(e[r++]){case"0":_0x3ba7ed[6]=_0x5963ba;continue;case"1":_0xf7de9c[7]=_0x1435ed;continue;case"2":_0x3e4f41[8]=_0x325627;continue;case"3":const e={};e.style=_0x26c16c.row,e[o(186,"qZil")]=[_0x1498b5,_0x17f656,_0x4fea4f],_0x4e8d69=_0x553a4c(_0x3a4696,e);continue;case"4":_0x1d696c[9]=_0x2a157a;continue}break}}else m=t[12];return m});ScoreBoard.displayName=_0x1e6dc5(201,"7Ft9");
@@ -1 +0,0 @@
1
- "use strict";const _0x1de966=_0x301c;!function(){const W=_0x301c,t=_0x2261();for(;;)try{if(873952==parseInt(W(495,"x]b&"))/1+parseInt(W(676,"lwmh"))/2+parseInt(W(599,"^cUA"))/3*(parseInt(W(465,"43@5"))/4)+-parseInt(W(591,"R30p"))/5*(parseInt(W(589,"3KX0"))/6)+-parseInt(W(638,"hY8k"))/7+parseInt(W(683,"@dK0"))/8*(-parseInt(W(488,"^cUA"))/9)+parseInt(W(584,"XaHg"))/10*(parseInt(W(628,"uFhb"))/11))break;t.push(t.shift())}catch(W){t.push(t.shift())}}();import{withTiming,Easing}from"react-native-reanimated";import{useBlukStore}from"./BlukStore.js";function _0x301c(W,t){W-=382;const d=_0x2261();let o=d[W];if(void 0===_0x301c.QSeOpe){const W=function(W,t){let d,o,i=[],s=0,e="";for(W=function(W){let t="",d="";for(let d,o,i=0,s=0;o=W.charAt(s++);~o&&(d=i%4?64*d+o:o,i++%4)?t+=String.fromCharCode(255&d>>(-2*i&6)):0)o="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(o);for(let W=0,o=t.length;W<o;W++)d+="%"+("00"+t.charCodeAt(W).toString(16)).slice(-2);return decodeURIComponent(d)}(W),o=0;o<256;o++)i[o]=o;for(o=0;o<256;o++)s=(s+i[o]+t.charCodeAt(o%t.length))%256,d=i[o],i[o]=i[s],i[s]=d;o=0,s=0;for(let t=0;t<W.length;t++)o=(o+1)%256,s=(s+i[o])%256,d=i[o],i[o]=i[s],i[s]=d,e+=String.fromCharCode(W.charCodeAt(t)^i[(i[o]+i[s])%256]);return e};_0x301c.wvuDSg=W,_0x301c.dlncHy={},_0x301c.QSeOpe=!0}const i=d[0];_0x301c.ayrBnl!==i&&(_0x301c.dlncHy={},_0x301c.ayrBnl=i);const s=_0x301c.dlncHy[W];return void 0===s?(void 0===_0x301c.UKRHCc&&(_0x301c.UKRHCc=!0),o=_0x301c.wvuDSg(o,t),_0x301c.dlncHy[W]=o):o=s,o}import{BLUK_GAME_CONFIG,BLOCK_COLORS}from"./BlukConstants.js";const C=BLUK_GAME_CONFIG,HALF=C.BLOCK_SIZE/2,LOOKAHEAD=4;export class BlukService{destroyed=!1;[_0x1de966(563,"ATkj")]=null;[_0x1de966(652,"QmBv")]=[];[_0x1de966(406,"O0Q]")]=0;pillars=[];[_0x1de966(682,"zEHZ")]=0;[_0x1de966(527,"VwTL")]=0;[_0x1de966(478,"JE22")]=0;phase=_0x1de966(559,"ZA)f");bx=0;by=0;[_0x1de966(483,"wF3E")]=0;vx=0;vy=0;[_0x1de966(402,"zEHZ")]=!1;blockSV=null;[_0x1de966(464,"lwmh")]=null;[_0x1de966(416,"3KX0")](W){this[_0x1de966(386,"piHR")]=W}[_0x1de966(659,"3KX0")](W){this[_0x1de966(544,"R30p")]=W}[_0x1de966(691,"S!JL")](W){this.cameraSV=W}[_0x1de966(535,"tvQQ")](W,t,d,o,i){const s=_0x1de966,e=s(455,"x]b&").split("|");let n=0;for(;;){switch(e[n++]){case"0":this[s(695,"S!JL")]=t;continue;case"1":this[s(546,"4etU")]=W;continue;case"2":this[s(421,"@dK0")]=o;continue;case"3":this.onGameOver=i;continue;case"4":this[s(485,"wF3E")]=d;continue}break}}[_0x1de966(457,"[GoD")](W,t){const d=_0x1de966,o=setTimeout(()=>{const t=_0x301c;this.pendingTimeouts=this[t(612,"6CTf")][t(486,"wF3E")](W=>W!==o),W()},t);this[d(411,"ATkj")][d(543,"wF3E")](o)}[_0x1de966(534,"iS8@")](W,t){const d=_0x1de966,o={TVPYY:function(W,t){return W-t}};o[d(530,"FG9c")]=function(W,t){return W%t};const i=o,s=C[d(413,"(smK")]+Math[d(529,"[GoD")]()*i[d(566,"R30p")](C[d(469,"R30p")],C[d(518,"S!JL")]),e={id:d(548,"0WLc")+this[d(384,"x]b&")],worldX:W,topY:Math[d(506,"S3qT")](s),width:Math[d(480,"@NL5")](t),colorIndex:i.tNfyF(this[d(675,"4etU")],BLOCK_COLORS.length)};return this.pillarSeq++,e}[_0x1de966(516,"Hdd5")](){const W=_0x1de966,t={};t[W(665,"9hgK")]=function(W,t){return W*t},t[W(641,"XaHg")]=function(W,t){return W-t};const d=t,o=Math.min(d[W(540,"R30p")](this[W(524,"#Epp")],C.WIDTH_SHRINK_PER_SCORE),C[W(687,"s7eb")]),i=Math[W(504,"iS8@")](C[W(668,"Hdd5")],C.PILLAR_MAX_WIDTH-o);return C[W(432,"GQVM")]+d[W(553,"3KX0")](Math.random(),d[W(641,"XaHg")](i,C[W(575,"hY8k")]))}[_0x1de966(500,"4etU")](){const W=_0x1de966,t={dszXJ:function(W,t){return W-t}},d=Math[W(517,"#Epp")](this[W(471,"Ein#")]*C.GAP_GROWTH_PER_SCORE,C[W(627,"6CTf")]);return C.GAP_MIN+d+Math.random()*t.dszXJ(C[W(390,"wF3E")],C.GAP_MIN)}maxVisibleGap(W,t){const d=_0x1de966,o={RtvOD:function(W,t){return W-t}},i=C[d(567,"O4Md")]+W/2;return o[d(646,"Ub#y")](C[d(491,"piHR")]-C.VIEWPORT_MARGIN-C[d(677,"O0Q]")],t)-i}appendPillar(){const W=_0x1de966,t={bvogt:function(W,t){return W+t}},d=this[W(574,"iS8@")][this[W(501,"S3qT")].length-1],o=this[W(458,"FG9c")](),i=Math[W(417,"#Epp")](C[W(492,"4etU")],Math[W(538,"piHR")](this.nextGap(),this[W(494,"Ein#")](d[W(697,"XaHg")],o))),s=t[W(634,"3KX0")](d[W(408,"@NL5")],d.width/2)+i,e=t.bvogt(s,o/2);this.pillars[W(452,"^cUA")](this.makePillar(e,o))}[_0x1de966(454,"JE22")](){const W=_0x1de966,t={};t[W(468,"Hdd5")]=function(W,t){return W<t};const d=t;for(;d[W(672,"giLG")](this[W(673,"XaHg")].length-1-this[W(498,"ZA)f")],4);)this.appendPillar()}[_0x1de966(685,"XaHg")](){const W=_0x1de966,t=Math[W(608,"[GoD")](0,this.currentIndex-1);t>0&&(this[W(667,"0WLc")].splice(0,t),this[W(657,"R30p")]-=t)}[_0x1de966(407,"Ein#")](){const W=_0x1de966;useBlukStore[W(434,"S!JL")]()[W(510,"3KX0")](this[W(555,"Ub#y")][W(578,"@NL5")]())}[_0x1de966(679,"cJ8g")](){const W="x]b&",t="ZA)f",d=_0x1de966,o={};o[d(625,"[GoD")]=d(403,"S3qT"),o.iyQls=function(W,t){return W-t};const i=o;this[d(547,"x]b&")]=[],this[d(607,"S!JL")]=0,this[d(513,W)]=0,this[d(611,"iS8@")]=0,this[d(398,"giLG")]=i[d(409,"0WLc")],this.vx=0,this.vy=0;const s=C[d(423,"kUxf")],e=this[d(509,"9hgK")](C.ANCHOR_X,s);this[d(476,"O0Q]")].push(e),this[d(493,"[GoD")](),this.bx=e.worldX,this.by=i[d(615,t)](e[d(648,"^cUA")],HALF),this[d(614,"tvQQ")]=this.by,this.cameraSV&&(this[d(442,"0WLc")].x[d(619,t)]=0),this[d(489,"9hgK")]&&(this[d(545,W)].x.value=this.bx,this[d(632,"Rabs")].y[d(481,"R30p")]=this.by,this[d(590,"hY8k")][d(399,"S3qT")][d(395,"lwmh")]=0,this[d(600,"LyKT")].opacity[d(609,"ATkj")]=1),this.syncPillars()}startGame(){const W=_0x1de966;this[W(445,"4etU")]=W(561,"tvQQ")}[_0x1de966(542,"^cUA")](W,t){const d=_0x1de966,o={KwzXe:function(W,t){return W*t},QHqwD:function(W,t){return W+t}};o[d(587,"0WLc")]=function(W,t){return W>t};const i=o,s=i[d(686,"$]Cx")](W,C[d(496,"4etU")]),e=t*C[d(585,"$]Cx")];let n=Math[d(430,"9b43")](s,0),h=Math[d(490,"JE22")](e,-3),r=Math[d(404,"JE22")](i[d(412,"0WLc")](n*n,h*h));if(r<1)return null;if(r<C[d(550,"Ein#")]){const W=C[d(616,"iS8@")]/r;n*=W,h*=W,r=C[d(592,"3KX0")]}if(i[d(549,"kUxf")](r,C[d(643,"0WLc")])){const W=C[d(554,"M#Ku")]/r;n*=W,h*=W}const a={};return a.vx=n,a.vy=h,a}[_0x1de966(629,"Rabs")](W,t,d){const o="O0Q]",i=_0x1de966,s={};s[i(557,"giLG")]=function(W,t){return W+t},s[i(694,"^cUA")]=function(W,t){return W+t},s[i(635,o)]=function(W,t){return W<=t},s[i(636,"ATkj")]=function(W,t){return W*t};const e=s,n=t+HALF,h=e[i(656,"Rabs")](d,HALF);for(let t=e[i(598,"XaHg")](this[i(473,o)],1);t<this.pillars[i(551,"ZA)f")];t++){const d=this.pillars[t];if(e[i(637,"tvQQ")](n,d[i(463,"Ub#y")])&&h>=d[i(449,"iS8@")]&&Math[i(565,"LyKT")](W-d[i(621,"43@5")])<=e[i(577,"0WLc")](d[i(388,"43@5")]/2,e.kQPnF(HALF,.4)))return{index:t,pillar:d}}return null}[_0x1de966(502,"XaHg")](W,t){const d="ZA)f",o=_0x1de966,i={PduAe:function(W){return W()},olHPQ:function(W,t,d){return W(t,d)},zUqjf:function(W,t){return W>t},ixnPB:o(661,"S3qT"),NADky:function(W,t){return W>t}},s=[];let e=this.bx,n=this.by,h=t;const r=this[o(645,"kUxf")]?this[o(581,"LyKT")].x[o(579,"0WLc")]:0,a=C[o(400,"tvQQ")]*C[o(438,d)];for(let t=0;t<a;t++)if("dCrxT"!==o(444,"4etU")){const a=n;if(h+=C[o(472,"giLG")],e+=W,n+=h,i[o(482,"hY8k")](h,0))if(o(651,"S!JL")!==o(424,"Hdd5")){const W={_0x19a7ff:"9b43",_0x1d6b52:446},t=RKRZDG[o(571,"4etU")](_0x76d952,()=>{const d=o;this[d(624,W._0x19a7ff)]=this.pendingTimeouts[d(684,"M#Ku")](W=>W!==t),RKRZDG[d(W._0x1d6b52,"[GoD")](_0x14ea83)},_0x46a82e);this[o(633,"giLG")].push(t)}else{const W=this[o(556,"43@5")](e,a,n);if(W){const t={};t.x=e-r,t.y=W[o(572,"O0Q]")][o(514,"0WLc")]-HALF,s[o(650,"@dK0")](t);break}}if(t%C[o(622,"GQVM")]===0)if(i.ixnPB===o(433,"VwTL")){const W={};W.x=e-r,W.y=n,s[o(586,"0WLc")](W)}else{if(this[o(531,"$]Cx")]="dead",this[o(484,"uFhb")](),this[o(427,d)]?.(),this[o(422,"S3qT")]){const W={};W[o(397,"9hgK")]=300,this[o(470,"@dK0")][o(576,"S!JL")][o(573,"QmBv")]=_0xb14f7(0,W)}this[o(475,"S3qT")](()=>{const W=o;!this.destroyed&&(_0x2430f9[W(662,"3KX0")]()[W(453,"0WLc")](),this[W(596,"JE22")]?.())},250)}if(i[o(401,"Hdd5")](n,C[o(436,"9b43")]))break}else _0x4f5254(this.animationRef),this[o(569,"9b43")]=null;return s}[_0x1de966(439,"LyKT")](W,t){const d=_0x1de966;this.phase===d(429,"[GoD")&&this[d(393,"VwTL")]&&(this.vx=W,this.vy=t,this[d(639,"iS8@")]=this.by,this[d(690,"Hdd5")]=d(693,"s7eb"),this.onJump?.(),this[d(541,"6CTf")]())}[_0x1de966(437,"s7eb")](){const W=_0x1de966;this[W(631,"JE22")](),this[W(537,"#Epp")]=0;const t=d=>{const o=W;this[o(520,"iS8@")]||(this.update(d),this[o(525,"4etU")]=requestAnimationFrame(t))};this[W(649,"R30p")]=requestAnimationFrame(t)}[_0x1de966(451,"@dK0")](){const W=_0x1de966;null!==this[W(595,"QmBv")]&&(cancelAnimationFrame(this[W(525,"4etU")]),this.animationRef=null)}[_0x1de966(441,"Hdd5")](W){const t=_0x1de966,d={};d[t(626,"iS8@")]=function(W,t){return W<=t},d.EmYRD=function(W,t){return W*t},d[t(663,"Ein#")]=function(W,t){return W*t},d[t(396,"R30p")]=function(W,t){return W===t},d[t(552,"lwmh")]=function(W,t){return W>t};const o=d;if(this[t(666,"O0Q]")]!==t(658,"VwTL"))return;if(!this[t(655,"izm(")])return;0===this[t(523,"6CTf")]&&(this[t(382,"9hgK")]=W);const i=W-this[t(414,"LyKT")];this.lastFrameTime=W;const s=Math.min(i,33.33)/16.67;if(o.xEmtR(s,0))return;if(this[t(630,"hY8k")]=this.by,this.vy+=C.GRAVITY*s,this.bx+=o[t(602,"GQVM")](this.vx,s),this.by+=o[t(588,"x]b&")](this.vy,s),this.blockSV)if(o[t(526,"O4Md")](t(474,"Ub#y"),t(604,"JE22"))){this[t(428,"^cUA")].x.value=this.bx,this[t(562,"ZA)f")].y[t(671,"$]Cx")]=this.by;const W=Math.max(-.35,Math[t(538,"piHR")](.35,.025*this.vy));this[t(420,"GQVM")][t(623,"Rabs")][t(573,"QmBv")]=W}else this[t(418,"3KX0")]=_0x27712e;if(o[t(460,"O4Md")](this.vy,0)){const W=this[t(447,"kUxf")](this.bx,this[t(583,"4etU")],this.by);if(W)return void this[t(431,"Rabs")](W[t(601,"KG)o")])}this.by>C[t(678,"3KX0")]&&this.handleFall();const e=this[t(667,"0WLc")][this[t(392,"@dK0")][t(570,"tvQQ")]-1];o[t(499,"(smK")](this.bx,e[t(408,"@NL5")])&&(this.ensurePillarsAhead(),this[t(532,"0WLc")]())}[_0x1de966(507,"FG9c")](W){const t="[GoD",d=_0x1de966,o={itqtZ:function(W,t,d){return W(t,d)},iwXPR:function(W,t){return W*t},ZbXcQ:function(W,t){return W-t}},i=this.pillars[W],s=this.bx,e=Math.abs(s-i[d(617,"VwTL")])<=C[d(669,"GQVM")]/2;this.by=i[d(511,"lwmh")]-HALF,this.prevBy=this.by,this.vx=0,this.vy=0,this[d(456,"kUxf")]=W,this.landedCount++,this[d(385,"Rabs")]=d(654,"wF3E"),this[d(620,"Ub#y")](),this.blockSV&&(this[d(600,"LyKT")].y.value=this.by,this[d(508,"ATkj")][d(594,"VwTL")].value=o[d(605,"tvQQ")](withTiming,0,{duration:220,easing:Easing[d(440,"FG9c")](Easing[d(394,"9hgK")])}));const n=useBlukStore[d(689,"zEHZ")](),h=W%BLOCK_COLORS[d(462,t)];let r=C.POINTS_PER_LAND;if(e){const W=n[d(606,"4etU")]+1;r+=C[d(610,"ATkj")]+o[d(487,"LyKT")](W-1,5),n[d(664,"z9*c")](r,W,h),this.safeTimeout(()=>{const W=d;this.destroyed||useBlukStore.getState()[W(680,"iS8@")](!1)},600),this[d(512,"ZA)f")]?.()}else n[d(477,"tvQQ")](r,h),this[d(515,"hY8k")]?.();if(this[d(387,"iS8@")](),this[d(670,"#Epp")](),this[d(580,"9b43")](),this[d(522,"^cUA")]){const W=o[d(593,"VwTL")](i[d(425,"x]b&")],C[d(560,"4etU")]);this[d(479,t)].x[d(528,"Hdd5")]=withTiming(W,{duration:300,easing:Easing[d(696,"S3qT")](Easing[d(466,"hY8k")])})}}[_0x1de966(405,"Ein#")](){const W=_0x1de966,t={};t.LHOHF=W(461,"LyKT"),t.YJDGp=W(536,"Ein#");const d=t,o=d[W(688,"JE22")][W(558,"4etU")]("|");let i=0;for(;;){switch(o[i++]){case"0":if(this[W(590,"hY8k")]){const t={};t[W(618,"Kk$D")]=300,this[W(640,"6CTf")][W(597,"ZA)f")][W(395,"lwmh")]=withTiming(0,t)}continue;case"1":this.safeTimeout(()=>{const t=W;!this[t(426,"Hdd5")]&&(useBlukStore[t(539,"#Epp")]().setGameOver(),this.onGameOver?.())},250);continue;case"2":this[W(653,"(smK")]=d[W(443,"Kk$D")];continue;case"3":this.onFall?.();continue;case"4":this[W(620,"Ub#y")]();continue}break}}[_0x1de966(505,"uFhb")](){return this.phase}[_0x1de966(660,"wF3E")](){const W=_0x1de966,t={};t[W(642,"kUxf")]=function(W,t){return W!==t},t[W(603,"GQVM")]=function(W,t){return W>t};const d=t;return d[W(383,"QmBv")](this[W(459,"z9*c")],W(582,"Rabs"))||d[W(410,"piHR")](this.landedCount,0)||0===this.pillars[W(613,"LyKT")]}[_0x1de966(389,"S3qT")](){this[_0x1de966(533,"iS8@")](),this.cachedIsPlaying=!1,this.initialize()}[_0x1de966(521,"zEHZ")](){const W=_0x1de966;this[W(497,"S!JL")]=!0,this[W(692,"GQVM")]=!1,this[W(435,"s7eb")](),this[W(519,"$]Cx")]=void 0,this[W(503,"ZA)f")]=void 0,this[W(512,"ZA)f")]=void 0,this[W(450,"uFhb")]=void 0,this.onGameOver=void 0,this[W(415,"z9*c")]=null,this[W(674,"VwTL")]=null;for(const W of this.pendingTimeouts)clearTimeout(W);this[W(448,"O4Md")]=[]}}function _0x2261(){const W=["WOWkWPbGoxXUW4xdSh7cNbFdG0e","wNldV2xdTxFcI8owWP7dHHpcH2q","ptZcGmkwgSkYAG","tdRdSspcSG1BWPRcU8os","WPyZha","xd7dPHVcUWHRWOdcHCozWR4RW6RcRwK","zh/cNCkCoCoco8oXW7G7","ssVdQXmbW4BcOq","W60+W4qgW7Hl","W6NcSSk+W7ddJMn3","W50PBcqEWRbFWQffjGDnWR3cI08Z","uHRdNSo0WRu","WOHCFLhcKCk5","zXNdICosWPyTWRjhW6q","ESk2s2rLWOe","ASoDodJdKSkoW7a","y0PxmSkGAfW","W5iCpq","ECogW7b7WRVcS8kjWPHYEW","EW7dIdWRW4FcQbnaW7S1W7RcM1JcH3G","fvTtW5Xi","CSoMW4LTWOFcKX8S","WRJdRCoIWRRcI3z2i2OcWO1bwSkSwa","W7K8cCoTW43dVtiQWORdGSoLW64yW4ZcImky","WRJdRCoSWRJcR05NkxaiWP1+ECkSr8ob","qCkkte9mWQ51W58jvCk5WOZdJtldJa","wNldUx/dKg0","W6HuW78","DGZdNSohWPaN","kSoSWOuZfHRcLSka","pLzEWPddSW","W5/cHSozWPz7","W7JcHSoFWRfN","quTrb8kS","W6SjtGWtWOnUWOHTed8","W6RcRfq3tbbaBWVdQmoTWRebFCkQ","dIyJEG","kCkKWQbnWOJcTa","W7eKW60xW4rpW4tcSLjvW5mvdSoRWOG","Emoejdm","oSoOWPWrbrBcOmkzW41fvW","WOlcGmkewmoUWQNcVYtcM8koW5tdPNn7W7ZdNsa6","W45ppehdGCkDeMFdKa","W64vuHO6WOX0WQvQgJ1I","yK5ci8kDB1BcQglcTaS","W7vaW6xdMt0Mo8knjG","lZJcJSkgfa","W6NcGfakra","bg/cUg3cGhNdMSohW4O","FuPkiCk9BG","WPNdHCoRvW","cmoGWR0qod1yW4C","iComdCoAp8o5eSkrWQldHG","WPZdHsawhq","WO1neCoJW5tdHbCG","stRdICoRWPi","W4FdM8kOWP7dVZFdS0NdVrLhEbxcUq","W6a8W60eW790W6S","WOeSWQvhWPhdI8ohWQH1CSod","eSo7W4ldR1TZhG","vKZdTbBdImkaWPldIvCJW6VdUW","WQxdUmocDdi","W7JcV8k3W7BdSvLmzCoXW7lcVW","rvddQGJdJmkCWPu","fr7dOrureWniW4NcGW","WPFcH8kBqCo9WR7cVcJcHG","CK5ji8k7z2JcMW","WORdMSoHWQe9","W6hdS8kiWQFdMW","WOxdPtmvga","F2L5WOraW64","nCk+WOLCWRtcSaboC1xdNwz4zmks","yhvmWPDWW7hcL8k5cG","AxjWWOzNW6u","x2tdLehdOq","pCkgyw7cJCk4W69nqmo2WRG","lmkPW5WpW5/cICkj","WORcH8kz","yrxdTCoFW4FdGCosW5adf2VcQW","W4/cR8oUWP1pWPRdKq","Defxm8k7y2VcPghcRr7cSmk/WQ7dR0/cQCkX","WOaSWRn1WP3dNmoTWQvSECoWqCoq","W44hpGZdGCote2NcPCoMW58LCa","W5JcOCoPWODqWOZdKGlcKX9bx3tcOmksxW","CCoMW45kWOhcNriSW7i","DSkTF3DSWOnvW5K1AmkdWQC","WQ8kWRz1gq","W6BcI8ogWRzfWRldRW","W7VcT8k9W7/dHejs","gmkqumoCWQ/cIhVdI8k/WPmUFCoToCkMD3W","ESk2qwrNWOK","fYGR","iCkVWPj8WOZcUqPy","W7NcSCkKW73dGq","W69aW6xdMqyQe8kyimoh","WQddRmkXWQ7dLKpdKq","i8kKW5GjW6tcS8kZWR3dGr0","tdRdSspcTWboWPlcP8og","h8oUWQaS","ESk2xwb7WOTeW7mV","WPnsyLNcKmkfy3tcLSoBW4q","pCoIWPGp","WPddNG4Eege","Cr3dLmocWRmRWQ9wW6G","WPy7cG","rCokW7fYWRlcOdqDW5K3WOpcTsPu","eCowWPJdRJNdOa","hIWGv2CAW7ddSmkl","nIldImofiSo/ba","A8oqoJ7dI8k8W7vt","eICKW6CsE3/cPwtdTmoOp8ks","WPCZcSoSlIJdUCkpDNay","W6NcGmoxWQ9JWQFdTJJcSrLTAq","W4JcM1eyxa","p1jZW6LlW4afv2JdTGq","Dr3dLSotWOe","y05kiSkMAW","W7nVW63dHcW","dSoqWRpdQde","oSo0WOy1nblcQCk6W5PsvG","ct08u0uDW7ddPSkgaCkUbfXPAq","fYG4rKuCW6xdUCkoea","cHRdUZi+eb1hW4NcJf0e","WOKOWQPh","WPCZf8o8dt7dM8knzKOfW5CF","xZ/dIq","WPW3emoBpY3dJSkf","W6FdLSkPWQBdTa","dti2W6eGwxBcSxldICoIiCk7W4XqW4m","B8ouiXFdMmkOW4HMB8oJWQFdPCoeiWb6hW","F25VWPO","W7xdVSklWRhdLtBdUG","WP1Fy17cNSkYDG","W6FcGmo0WRDVWQm","WO9AyfhcLmktuW","oCoKWOq6bqNdQa","W78drXKi","WQaeWOv8WRJdRSorWOLdvmoOC8oWgSosbW","ECk9y2j9WOu","gmoiWROSkW","tXVdIaFcLa","W7SVq8ocA8owkdJdNuu4DCosWOdcLM8","WP3dG8o3yJOLWOq","DSkuu8kgbSoqm8kxWQZdNfu","lCo6W5NdTKu","W7VcNSosWQT2","z8k9FNfGWOng","W4NcOmo9WOPnWOhdGa8","cXRdVau2eHy","D8k0yMzIWR53","WQpdRSk3WQddNgtdRG7dQ8kedCox","bYtcUcxdTuBcGmooWQRdVa","v3hdVW","W4pdHmk0WOVdPW","W5VcH3KBAIX4yW","oSkjzglcI8oLW5XqCCoVWOFdNa","W54tlmomW7pdNrmxWQhdG8oiW4C","frRdOryRfa","W6FcGSo2WPjt","rvddQGJdJmkC","WQhdLmkljmoS","cIa/t3qhW7O","WQ/dUq4Zp1FdOSoNWQCPyZOgW5FcVSoz","ESoZW5XDWPRcHHi","a8o3WP0rnW","WOVdMCo9WQW8","p8oSWOqJaq","W4Wek8ocW4ldGbyuWQ7dO8oE","vxldOxtdGwtcUCoT","y8ocW61RWR7cUmkI","W7JcNmoBWRraWQO","t8ogc8kCWQpcK2FdJ8kLWQq","lSo3WOxdNGBdJ8kClHlcNmkqW7mEW73dLmki","oCo4WPS+","o8oUWO8NmW","WPjNyLFcOG","cwBcT0VdRaL6WOlcT8o2WR0","WP3dNc0CfvBdQW","WQxcOSkWWPddUaJdGuu","CHBdIYZcKI13WR3cLSo9WOabW5pcHKSq","cvffW65/","ivXPW6XAW40PvG","WRBdM8kopmoOWRddI8k5W5dcV8o6EW","WOJcGmkWtmoXWQNcOdVcKSkq","ESkOBgzGWPLy","mCkfsmoRWOK","mCkdywZdT8kvW55SBCoZ","vh/dO3ldMfBcVa","hh1HimkH","BIRdNsiU","tYBdKt4d","WQ/cVmkUv8o1","eaVdVGuf","W6VcGCotWQbT","DSo2W49mWPBcNb8aW7GdWRNcGa","Fe5C","WRtdOCkYWRJdMa","WPldHCkmWOVdUfpdKZ7dH8kzjSoKWQG","cIa/t3qhW5RdSmkE","dIm5W7C9z3NcNgJdJCoKpCkcW5Dm","wNBdONBdH20","cq3dQGCDbq","FmkHxgL6","nWaDFfK0W5ZdM8kSkSkcg2ndxem","jfXVW6fkW7W","a2LOWRBdT8k8W5NcJq","y8k5yxbS","WP7dNSo0FGS/WO4sbLL4W6/cLCkzW4a","z8kst8kolSoP","FXxdHtOVW5BcOXfBW6W1W77cHLNcGW","y8oiW6P+WQpcV8kQWPC","W48yk8ofW7VdHX0SWQBdVmoiW44HW7ZcPa","rvHVcmkt","aGW+v0C","oqChW4Wtw1hcN1xdQmoEh8k2W7S","D8oZW5avWRdcUZTeDve","D8ooW7b7WPVcT8kRWP11CCkb","WO/dGICjphW","WPtcMSkyxComWQtcLJ7cNSkbW4BdMg9vW6q","C8olW7f8WRZcHCkt","jComW63dNxTjibVcOSolW5/dRHxdQr8","xsNdQHtcQG","DMNdTqddGW","WQNdKCkoWQpdUW","oI/dVbuX","W47cG3fhtdBcJ8ozWOGDBsaK","cJS2vvCm","hcO4W7a/wKG","n8kZECoGWP4","W7G4AbWN","bmomWRajkdRcKmkyW7HOESkXW6nDW7WD","W4PRuSkXhY/dUmkzBhK","W64btq0TWOntWRO","WR/dNSoTqr8","WRyvWRNcJf59BmklcmoWW5xdNwa","FmoEjWi","W7BdVmknWR/dNXhdHxldNbT9uW","W7iLW7ep","rmoLW5LSWQi","WQFdKmkjnCoGWQRdHCkcW5FcGmo6CGZcNxW","WQWRWR1Fhq","Fx5VWOzRW7NcLq","mv3cPva1hWdcSSkUWRubW5iqzhS","ACo0W4rqWOa","W7tdP8kwWQddMWVdMftdNc19tq","nv9KW6raW4m","ttRdOHRcRrHhWOhcL8ozWRaXW6JcKgy1fhm9W4BdS8kfySoWgG","zMHyWPTWW6pcIW","W43cTSkFW4ldGW","wdRdSsdcQG1wWPy","WOazWQvjWQm","mZhcGCkriCketGnylCo4","pSkbW74yW74","rvhdPXFdIa","oCoKWOq6bqNcTG","uZxdTSoQWQuqWPrVW4NdIvTJW7BcLCowtW","EbddGtu+W4RcPa5gW6e1W7RcM1JcH3G","WOSGeCoMlHZdK8kmB38EW4K","cmozWR7dRJe","h8oVW7ddTgq","c8kwuCoaWRVcJM0","mfjWW6HCW4uvBG","W7JcH8osWQ5JWQhdJdlcRG","wCk5W6nmEgrXW4r+yLhdMW","zxddIIJdRmk8WRNdHhWxW5RdIW","Er7dIt/cGtHQWQhcKmoMWPCDW4/cH1en","WPZcRLlcHmoasWnPBNe","csWNCh0AW77dHCkkemk7lvbY","t0BcVuLTgsLuW4RcRfq","nJVdN8owkCoKamoAW7eRW6BcRG","WRnNWRztW5jKW5FcTgPy","W5ahD8oPqSoL","c8knsmocWR/cRhFdS8kHWPm2AW","nCopWQJdGZe","WPZdKmojWP7cK0fCgfeOWRbgASkoACoP","WQVcPSk4zCoA","mIVdMCo3omoRamo2","CXtdM8ovWOe","z8oMW5PxWOdcHG47W5ugWRhcNrf7i2NdGvRdUCkDb8keW57cSJZcIq","scBdPXGpW7hcVI1zW5KlW5tcU3lcTa","WQ3dTCo0WQpcTxK","qSoliHZdQG","ESoTW7fFWP3cLG","W6tcQ8kL","dmkwwCoyWRi","lmoQoZjhWQvzW7KXsG","WR/dP8oNWQpdNf9yumo2W5e","iSkKW4ayW7lcQmk+WRZdHtVcGMBcQq","WQldRCkVjCoX","WO9AyfhcLmktC37cKG","yCopW79SWRi","utFdHmoYW6FdQ8oeW7qAp17cMSkVF8ou","hYCGvMCqW5NdVmkddSk8oKbhCwjDW7i","z8kuwCkwiG","W7NcU8kIW7BdKxDaBCo7","sfPmWQ1pW5BcQG","WRHxfL1RWODjWQrdpsi","W7i5W64lW7vvW44","mfj+W6vlW4aps03dTbeqvSkKWRi","lCkWW5efW5C","hCoGWRWalW","W4xdGmkpWPNdHW","kSkWW4enW4dcS8kWWR8","jCobW6ldINC","W7NcSCkLW7ldKvLoBG","ls3dJJSApYvQW7RcTMKZA8otWR8","tt3dVSonWP0","nI/dJSomkCoUpCoGW48JW6lcR8kJWO3dRW","W7NcU8kIW6FdJf5g","WPtcN8kfwq","WOuSWQvhWPJdISocWQzSCa","wvJdTrddQ8kCWOFdRvWtW6FdRKq","WP40WQvaWQtdHSoOWQTHBSoe","WO/dMSoMWQm9fq","hCo6WQmypG","vJFdSSouW6S","WRldPCkWWQNdLh7dOdxdRmk7dCoEWO7dImk4","gmofWPKHia"];return(_0x2261=function(){return W})()}
@@ -1 +0,0 @@
1
- "use strict";!function(){const e=_0x5869,o=_0x43ee();for(;;)try{if(910628==-parseInt(e(498,"1rie"))/1+-parseInt(e(477,"9uim"))/2*(-parseInt(e(494,"B8Dn"))/3)+-parseInt(e(473,"H8m5"))/4*(parseInt(e(512,"7G]^"))/5)+parseInt(e(458,"jMcN"))/6*(parseInt(e(475,"(860"))/7)+parseInt(e(482,"!WlJ"))/8*(parseInt(e(459,"N^)%"))/9)+-parseInt(e(495,"7G]^"))/10*(parseInt(e(483,")BBN"))/11)+parseInt(e(485,")BBN"))/12)break;o.push(o.shift())}catch(e){o.push(o.shift())}}();import{create}from"zustand";import{subscribeWithSelector}from"zustand/middleware";function _0x5869(e,o){e-=458;const t=_0x43ee();let r=t[e];if(void 0===_0x5869.vQEKWD){const e=function(e,o){let t,r,n=[],W=0,s="";for(e=function(e){let o="",t="";for(let t,r,n=0,W=0;r=e.charAt(W++);~r&&(t=n%4?64*t+r:r,n++%4)?o+=String.fromCharCode(255&t>>(-2*n&6)):0)r="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(r);for(let e=0,r=o.length;e<r;e++)t+="%"+("00"+o.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(t)}(e),r=0;r<256;r++)n[r]=r;for(r=0;r<256;r++)W=(W+n[r]+o.charCodeAt(r%o.length))%256,t=n[r],n[r]=n[W],n[W]=t;r=0,W=0;for(let o=0;o<e.length;o++)r=(r+1)%256,W=(W+n[r])%256,t=n[r],n[r]=n[W],n[W]=t,s+=String.fromCharCode(e.charCodeAt(o)^n[(n[r]+n[W])%256]);return s};_0x5869.fcYNkP=e,_0x5869.omvRdT={},_0x5869.vQEKWD=!0}const n=t[0];_0x5869.dGwlfb!==n&&(_0x5869.omvRdT={},_0x5869.dGwlfb=n);const W=_0x5869.omvRdT[e];return void 0===W?(void 0===_0x5869.ceYNgE&&(_0x5869.ceYNgE=!0),r=_0x5869.fcYNkP(r,o),_0x5869.omvRdT[e]=r):r=W,r}export const GAME_DURATION=120;export const useBlukStore=create()(subscribeWithSelector(e=>({score:0,best:0,combo:0,isPlaying:!1,gameOver:!1,gameWon:!1,timeRemaining:120,pillars:[],pillarsVersion:0,showPerfect:!1,blockColorIndex:2,startGame:()=>{const o=_0x5869,t={};t[o(499,"O*Yg")]=0,t.combo=0,t[o(504,"8V(p")]=!0,t.gameOver=!1,t.gameWon=!1,t[o(493,"#GjA")]=120,t[o(489,"jMcN")]=!1,t[o(513,"VnKc")]=2,{qUoEx:function(e,o){return e(o)}}[o(462,"D%aN")](e,t)},stopGame:()=>{e({isPlaying:!1})},resetGame:()=>{const o=_0x5869,t={};t[o(497,"CtqV")]=0,t[o(481,"B8Dn")]=0,t.isPlaying=!1,t[o(486,"9)YX")]=!1,t[o(505,"oU@s")]=!1,t[o(472,")BBN")]=120,t[o(469,"D%&U")]=[],t[o(492,"X[ZX")]=0,t[o(490,"QyYc")]=!1,t[o(484,"8V(p")]=2,e(t)},landPerfect:(o,t,r)=>{e(e=>{const n=_0x5869,W=e[n(487,"VLx]")]+o;return{score:W,best:Math[n(478,"MbZS")](W,e[n(471,"xyDz")]),combo:t,blockColorIndex:r,showPerfect:!0}})},landNormal:(o,t)=>{e(e=>{const r=e.score+o;return{score:r,best:Math.max(r,e.best),combo:0,blockColorIndex:t}})},setGameOver:()=>{const o=_0x5869;e(e=>({gameOver:!0,isPlaying:!1,best:Math[o(502,"2za(")](e[o(491,"MbZS")],e[o(480,"oU@s")])}))},setGameWon:()=>{const o=_0x5869;e(e=>({gameWon:!0,isPlaying:!1,best:Math[o(474,"D%&U")](e[o(479,"X[ZX")],e[o(511,"jMcN")])}))},setTimeRemaining:o=>{const t={};t[_0x5869(464,"VLx]")]=o,e(t)},setPillars:o=>{const t=_0x5869;e(e=>({pillars:o,pillarsVersion:e[t(467,"c0r9")]+1}))},setShowPerfect:o=>{const t=_0x5869,r={};r[t(490,"QyYc")]=o,{LPZix:function(e,o){return e(o)}}[t(509,"VnKc")](e,r)}})));export const useScore=()=>useBlukStore(_temp);export const useBest=()=>useBlukStore(_temp2);export const useCombo=()=>useBlukStore(_temp3);export const useIsPlaying=()=>useBlukStore(_temp4);export const useGameOver=()=>({iHaco:function(e,o){return e(o)}}[_0x5869(506,"8V(p")](useBlukStore,_temp5));export const useGameWon=()=>({vQkIV:function(e,o){return e(o)}}[_0x5869(468,"N^)%")](useBlukStore,_temp6));export const useTimeRemaining=()=>useBlukStore(_temp7);export const usePillarsVersion=()=>useBlukStore(_temp8);export const useShowPerfect=()=>useBlukStore(_temp9);export const useBlockColorIndex=()=>({yQaFx:function(e,o){return e(o)}}[_0x5869(488,"X[ZX")](useBlukStore,_temp0));function _temp(e){return e[_0x5869(460,"8h^3")]}function _temp2(e){return e[_0x5869(510,"1rie")]}function _temp3(e){return e.combo}function _temp4(e){return e[_0x5869(507,"2za(")]}function _temp5(e){return e.gameOver}function _temp6(e){return e[_0x5869(503,"@BwN")]}function _temp7(e){return e[_0x5869(470,"xyDz")]}function _temp8(e){return e[_0x5869(461,"H8m5")]}function _0x43ee(){const e=["WOPTW45skmkEzSkOW7r/W4C","WR0TkKz/","W6GNW59SjmkFW6dcHCoAWOyyWRjXBG","CW4dtCoF","WPvcWP9tFmokWPNcUw0KW5nF","kComaxTYWPZcICosbLSzymka","agHpuCkEiLpdO2RdH8kZC1u","W441eSobFSkjWOiLWQmOWPxdSq","W6/cQreEW4H3WOzAWPlcVJvXxum","W48jWPCUtq","W7ywBIi9zmog","igtdLuHeW5vQW79Ig1RcQXu","nMJdI1K","WPuzqSokW5hcRCkDova3WOVcJG8","WQT/WOO1DSoFWQpcUmofWP4JWOjt","W6SEEG","zSk2rSkaEmkWWPRcVX9LW7b4","AGCxWPxcHaaehSobz8oGxSoV","ACkJDSoZz8keyGa3WQT4fW","rmovvW","ACkKW4pcPCop","ivNdPbu","bczOACoC","aMLgvmo1wIRdOKpdHq","W5ncEmolW6NcNCkMha","gbpcJmo6r8oDbfezWQG6c3ddL8o9","W5vbgSkwWRBdVmoeBgmSWPFcUGxdGa","W4ldT1anWPJcT8o8WOe","lSoga2Xf","y8kwW43cKCos","W60tW5FdKCoWWPXcW7JdMuTY","jsGXqGZcRe95W77dPCkk","wSoxqfuL","ASkUW4dcU8olWOtdJarDWQhdSSoUgSkC","WQZdQwhcN13cUmkzW5GdW7SBW711","vb1duCo8W5VdPq","W4S1fmolF8klW50NWO0PWP3dGSkh","W4W2eCoieSo1WQq6WQGR","vSoLuCoNWOy","j8osWQC0vmoSxZLqCCklWPVdVa","W793WRuidq","omo8kSkPomoXyHKaWRjsi8ogW4y8","ACkRwGuLgW4","WRVcHCoB","WP1LmWfxwwm","eWZcS8o1tCoNaLmr","jf3dUGtcNIxcRa","eZFcGSo6qW","WR/cL8oZlSkhxSkvgNq","W69Vx11DW7xdN8krWO/dS8ka","W5bxAKn1","DmkaW6f3","W7WEW4VdKG","W4W2Emk1dCokWP8B","W75Rx0LMW5pdGSkBWOxdOSk9wmk1C08","WQHnW5hdJmo4WP5xW7q"];return(_0x43ee=function(){return e})()}function _temp9(e){return e[_0x5869(508,"VnKc")]}function _temp0(e){return e[_0x5869(500,"9uim")]}
@@ -1 +0,0 @@
1
- "use strict";const _0x1d462d=_0x2c7d;!function(){const e=_0x2c7d,t=_0x4528();for(;;)try{if(117077==-parseInt(e(298,"UQxV"))/1+-parseInt(e(220,"!tbc"))/2+-parseInt(e(459,"W@6c"))/3+parseInt(e(261,"9MOC"))/4*(-parseInt(e(341,"W!m("))/5)+parseInt(e(382,"!tbc"))/6*(parseInt(e(418,"D!NX"))/7)+-parseInt(e(226,"!nCu"))/8+parseInt(e(613,"W!m("))/9)break;t.push(t.shift())}catch(e){t.push(t.shift())}}();import{c as _0x32f696}from"react/compiler-runtime";import _0x24322a from"react";import{View,Text,StyleSheet}from"react-native";import{Gesture,GestureDetector}from"react-native-gesture-handler";import _0x2991eb,{useSharedValue,useAnimatedStyle,runOnJS,ZoomIn,FadeOut}from"react-native-reanimated";import{Canvas,Rect,RoundedRect,Path,Skia,LinearGradient,vec,Group,Circle}from"@shopify/react-native-skia";import{useBlukStore,useShowPerfect,useBlockColorIndex}from"../BlukStore.js";import{BLUK_GAME_CONFIG,BLUK_COLORS,BLOCK_3D_CACHE}from"../BlukConstants.js";import{getGameDimensions}from"../../../services/UtilsService.js";import{jsx as _0x2519dc,jsxs as _0xfc5db6}from"react/jsx-runtime";const{screenWidth:screenWidth}=getGameDimensions(),C=BLUK_GAME_CONFIG,SCREEN_HEIGHT=C.SCREEN_HEIGHT,DEPTH=C[_0x1d462d(342,"!E56")],BLOCK_SIZE=C[_0x1d462d(408,"x@qM")],HALF=BLOCK_SIZE/2,BLOCK_PAD=Math[_0x1d462d(580,"R&gr")](.45*BLOCK_SIZE),BLOCK_CANVAS=BLOCK_SIZE+2*BLOCK_PAD,MARGIN=screenWidth,BAND_INTERVAL=22,SCOREBOARD_HEIGHT=90,CX=BLOCK_CANVAS/2,HEAD_R=Math[_0x1d462d(344,"sbud")](.28*BLOCK_SIZE),HEAD_Y=BLOCK_PAD+HEAD_R,BODY_TOP=HEAD_Y+HEAD_R+1,BODY_H=Math[_0x1d462d(592,"XcFK")](.34*BLOCK_SIZE),BODY_W=Math[_0x1d462d(546,"v)1D")](.36*BLOCK_SIZE),BODY_BOTTOM=BODY_TOP+BODY_H,ARM_LEN=Math[_0x1d462d(406,"RSYZ")](.28*BLOCK_SIZE),LEG_LEN=Math[_0x1d462d(612,"!tbc")](.3*BLOCK_SIZE),LIMB_W=Math.max(3,Math[_0x1d462d(406,"RSYZ")](.09*BLOCK_SIZE)),EYE_R=Math[_0x1d462d(477,"W!m(")](2,Math[_0x1d462d(272,"!E56")](.2*HEAD_R)),PUPIL_R=Math[_0x1d462d(257,"0)yI")](1,Math[_0x1d462d(516,"6U6(")](.55*EYE_R)),EYE_SPACE=Math[_0x1d462d(534,"IJ94")](.45*HEAD_R),MOUTH_W=Math.round(.6*HEAD_R),BODY_PATH=(()=>{const e=_0x1d462d,t={};t[e(274,"0)yI")]=function(e,t){return e-t};const d=t,W=Skia[e(523,"SXIl")].Make(),o=Math[e(377,"W!m(")](.3*BODY_W);return W[e(329,"W!m(")]({rect:{x:d[e(594,"4VwT")](CX,BODY_W/2),y:BODY_TOP,width:BODY_W,height:BODY_H},rx:o,ry:o}),W})(),LEFT_ARM_PATH=(()=>{const e=_0x1d462d,t={};t[e(267,"ielI")]=function(e,t){return e-t},t[e(227,"SXIl")]=function(e,t){return e+t};const d=t,W=Skia[e(492,"EmUd")].Make();return W[e(277,"IRxD")](d[e(449,"!nCu")](CX,BODY_W/2),d[e(314,"(v@I")](BODY_TOP,4)),W.lineTo(CX-BODY_W/2-ARM_LEN,BODY_TOP+.8*ARM_LEN),W})(),RIGHT_ARM_PATH=(()=>{const e=_0x1d462d,t={};t[e(315,"H7Nq")]=function(e,t){return e/t},t[e(416,"0)yI")]=function(e,t){return e+t};const d=t,W=Skia.Path[e(380,"yuV3")]();return W[e(448,"D!NX")](CX+BODY_W/2,BODY_TOP+4),W[e(433,"0)yI")](CX+d[e(578,"hmRj")](BODY_W,2)+ARM_LEN,d[e(501,"!tbc")](BODY_TOP,.8*ARM_LEN)),W})(),LEFT_LEG_PATH=(()=>{const e=_0x1d462d,t={};t[e(584,"p&X7")]=function(e,t){return e*t},t[e(310,"UQxV")]=function(e,t){return e-t};const d=t,W=Skia[e(480,"OJCi")][e(285,"IRxD")]();return W[e(287,"v)1D")](CX-d[e(350,"6U6(")](BODY_W,.22),BODY_BOTTOM),W.lineTo(d[e(234,"oz!&")](CX,.35*BODY_W),BODY_BOTTOM+LEG_LEN),W})(),RIGHT_LEG_PATH=(()=>{const e=_0x1d462d,t={NEKkk:function(e,t){return e*t}};t[e(597,"GUyh")]=function(e,t){return e+t};const d=t,W=Skia[e(429,"^)PR")][e(533,"(v@I")]();return W[e(590,"H7Nq")](CX+.22*BODY_W,BODY_BOTTOM),W.lineTo(CX+d[e(512,"!tbc")](BODY_W,.35),d.bGIkr(BODY_BOTTOM,LEG_LEN)),W})(),SMILE_PATH=(()=>{const e=_0x1d462d,t={};t[e(441,"D3)R")]=function(e,t){return e+t};const d=t,W=Skia[e(462,"RSYZ")][e(541,"XcFK")]();return W[e(297,"6PB@")](CX-MOUTH_W/2,HEAD_Y+.25*HEAD_R),W[e(577,"sbud")](CX,d.fWdGL(HEAD_Y,.65*HEAD_R),CX+MOUTH_W/2,HEAD_Y+.25*HEAD_R),W})(),getBlockColors=e=>BLOCK_3D_CACHE[e%BLOCK_3D_CACHE.length],buildPillarSkia=e=>{const t=_0x1d462d,d={NTIZM:function(e,t){return e*t},HshMO:function(e,t){return e-t},zfxXd:function(e,t){return e+t},PwmAC:function(e,t){return e<t},DLbYR:t(598,"IJ94"),lULKB:function(e,t){return e+t},vHLfb:function(e,t,d){return e(t,d)},NQTvg:function(e,t){return e+t},iJKlk:function(e,t,d){return e(t,d)},tDtSU:function(e,t){return e+t}},W=e[t(387,"p&X7")]-e[t(304,"ielI")]/2,o=W+e[t(440,"Tqg!")],n=e[t(476,"JK^5")],r=d[t(553,"^)PR")](SCREEN_HEIGHT,n),_=Skia[t(515,"!tbc")].Make();_[t(283,"oz!&")](W,n),_.lineTo(d.zfxXd(W,DEPTH),n-DEPTH),_[t(470,"D3)R")](o+DEPTH,n-DEPTH),_[t(466,"IRxD")](o,n),_[t(414,"SXIl")]();const a=Skia[t(493,"oz!&")].Make();a[t(443,"IJ94")](o,n),a[t(316,"yuV3")](o+DEPTH,n-DEPTH),a.lineTo(o+DEPTH,SCREEN_HEIGHT),a[t(620,"a[Y$")](o,SCREEN_HEIGHT),a[t(475,"W@6c")]();const x=Skia[t(558,"Sbdi")].Make();for(let e=n+22;d[t(372,"FLX]")](e,SCREEN_HEIGHT);e+=22){if(t(246,"9ZXD")!==d[t(621,"9MOC")]){const e=_0x292d61.Path[t(249,"UQxV")]();return e[t(448,"D!NX")](_0x1c66f1-_0x2c5b39/2,_0x5eecfb+CJISwf[t(563,"OJCi")](_0x2bf151,.25)),e[t(391,"JK^5")](_0x262e37,_0x1d8500+CJISwf[t(255,"IRxD")](_0x315b7e,.65),_0x4e3aca+_0x512431/2,_0x8e07bf+.25*_0x59f4a4),e}x[t(386,"GUyh")](d[t(302,"bkw)")](W,2),e),x[t(589,"IJ94")](o-2,e)}const i=e[t(519,"W@6c")]-C[t(349,"hfiF")]/2;return _0xfc5db6(Group,{children:[_0x2519dc(Rect,{x:W,y:n,width:e[t(606,"IRxD")],height:r,children:d[t(291,"JK^5")](_0x2519dc,LinearGradient,{start:vec(W,n),end:vec(W,SCREEN_HEIGHT),colors:[BLUK_COLORS[t(231,"6U6(")],BLUK_COLORS[t(567,"6U6(")],BLUK_COLORS[t(562,"IRxD")]],positions:[0,.32,1]})}),_0x2519dc(Path,{path:x,style:"stroke",strokeWidth:1,color:BLUK_COLORS[t(446,"!nCu")]}),_0x2519dc(Rect,{x:W,y:n,width:2,height:r,color:BLUK_COLORS[t(355,"6U6(")]}),_0x2519dc(Path,{path:a,children:_0x2519dc(LinearGradient,{start:d[t(407,"o5X1")](vec,o,n),end:vec(d.NQTvg(o,DEPTH),SCREEN_HEIGHT),colors:[BLUK_COLORS[t(239,"Tqg!")],BLUK_COLORS.PILLAR_SIDE_DARK]})}),_0x2519dc(Path,{path:_,children:_0x2519dc(LinearGradient,{start:vec(o+DEPTH,n-DEPTH),end:vec(W,n),colors:[BLUK_COLORS[t(588,"EmUd")],BLUK_COLORS[t(615,"oz!&")]]})}),_0x2519dc(Rect,{x:W,y:n,width:e[t(338,"p&X7")],height:2,color:BLUK_COLORS[t(355,"6U6(")]}),d[t(543,"vitW")](_0x2519dc,RoundedRect,{x:i-7,y:n+2,width:C[t(544,"MVfa")]+14,height:16,r:8,color:BLUK_COLORS[t(388,"9MOC")]}),_0x2519dc(RoundedRect,{x:i-4,y:d[t(503,"FLX]")](n,5),width:C[t(306,"vitW")]+8,height:12,r:6,color:BLUK_COLORS[t(472,"OJCi")]}),_0x2519dc(RoundedRect,{x:i-2,y:n+4,width:C[t(426,"^)PR")]+4,height:10,r:5,color:BLUK_COLORS[t(340,"RSYZ")]}),_0x2519dc(RoundedRect,{x:i,y:n+7,width:C[t(526,"!nCu")],height:4,r:2,color:BLUK_COLORS[t(394,"*wdh")]})]},e.id)},PillarsCanvas=_0x24322a.memo(({cameraX:e})=>{const t="R6v&",d=_0x1d462d,W={zKCpM:function(e,t){return e/t}};W[d(451,"RSYZ")]=function(e,t){return e>t},W.VYXnD=function(e,t){return e-t},W[d(303,"RSYZ")]=function(e,t){return e+t},W[d(460,"!tbc")]=d(502,"W@6c");const o=W,[n,r]=_0x24322a[d(242,"ZnQQ")](0);_0x24322a[d(595,"D!NX")](()=>{const e=d;return useBlukStore[e(376,"GUyh")](t=>t[e(229,"OJCi")],()=>r(e=>e+1))},[]);const{elements:_,canvasWidth:a,renderOffsetX:x,viewLeft:i}=_0x24322a[d(420,"MVfa")](()=>{const e=d,W=useBlukStore[e(411,"D3)R")]()[e(436,"9MOC")];if(0===W[e(360,"4VwT")]){const d={};return d[e(603,"oz!&")]=[],d.canvasWidth=screenWidth,d[e(271,t)]=0,d[e(404,"ZnQQ")]=0,d}let n=W[0][e(319,"9ZXD")]-o[e(499,"^)PR")](W[0][e(428,"UQxV")],2),r=W[0][e(481,"o5X1")]+W[0][e(576,"XcFK")]/2;for(let d=1;d<W[e(351,t)];d++){const t=W[d],_=t[e(327,"MVfa")]-t[e(431,"RSYZ")]/2,a=t[e(396,"0DJI")]+t.width/2;_<n&&(n=_),o[e(521,"sbud")](a,r)&&(r=a)}const _=o[e(284,"(v@I")](MARGIN,n),a=o[e(241,"P!hm")](r-n,2*MARGIN)+DEPTH;return{elements:W[e(532,"6U6(")](buildPillarSkia),canvasWidth:Math[e(609,"H7Nq")](a),renderOffsetX:_,viewLeft:n-MARGIN}},[n]),k={};k[d(356,"9MOC")]=-e[d(564,"W@6c")];const C=useAnimatedStyle(()=>({transform:[k]})),s=_0x24322a[d(487,"P!hm")](()=>({left:i,width:a}),[i,a]),S={};S[d(431,"RSYZ")]=a,S[d(566,"Tqg!")]=SCREEN_HEIGHT;const u={};u[d(399,"a[Y$")]=x;const R={};return R.transform=[u],R[d(425,"IRxD")]=_,_0x2519dc(_0x2991eb[d(339,"bkw)")],{style:[styles[d(305,"RSYZ")],s,C],pointerEvents:o[d(442,"SXIl")],children:_0x2519dc(Canvas,{style:S,children:_0x2519dc(Group,R)})})});PillarsCanvas[_0x1d462d(486,"^)PR")]=_0x1d462d(364,"ielI");const BlockView=_0x24322a.memo(e=>{const t="a[Y$",d="JK^5",W="yuV3",o="RSYZ",n="W@6c",r="hfiF",_="6PB@",a=_0x1d462d,x={LNFET:function(e,t){return e+t},GFKvI:function(e,t){return e(t)},YxkXG:a(295,"o5X1"),efBMe:a(479,"Sbdi"),TGaQx:a(469,"W!m("),LOrpd:function(e,t,d){return e(t,d)},ancyV:function(e,t){return e!==t},aIDmA:a(491,"P!hm"),VHJPU:function(e,t){return e===t},gaAnh:function(e,t){return e!==t},ruBDX:function(e,t,d){return e(t,d)},TYjlh:a(557,"SXIl"),GEHRu:"4|9|1|6|5|0|8|2|3|7",ayzFu:function(e,t){return e*t},mLsBh:function(e,t,d){return e(t,d)},tTiWq:function(e,t){return e-t},RXCQE:"#FFDBB4",kIrgw:a(365,"R&gr"),WSBGM:function(e,t){return e===t},eESIb:function(e,t,d){return e(t,d)},biSXx:function(e,t){return e-t},VyHBU:function(e,t){return e+t},rKMuq:function(e,t){return e-t},WDSuE:"rgba(255,255,255,0.85)",mxyUs:a(251,"!tbc"),rcAUf:a(616,t),CXRPO:"efkKO"},i=_0x32f696(33),{blockX:k,blockY:C,rotation:s,opacity:S,cameraX:u}=e,R=useBlockColorIndex();let O;i[0]!==R?(O=x[a(468,"D!NX")](getBlockColors,R),i[0]=R,i[1]=O):O=i[1];const l=O,m={};m[a(296,"p&X7")]=k.value-u[a(530,d)]-HALF-BLOCK_PAD;const h={};h[a(279,"bkw)")]=C[a(605,"!E56")]+HALF-(BODY_BOTTOM+LEG_LEN);const f={};f.rotate=s[a(529,"XcFK")]+a(326,"9MOC");const P=useAnimatedStyle(()=>({transform:[m,h,f],opacity:S.value}));let D,I,E,L,b,T,H,B,A,G,X,v,M,Q,N,p,V,y,q;if(i[2]!==P?(D=[styles[a(604,"R6v&")],P],i[2]=P,i[3]=D):D=i[3],i[4]!==l.frontBottom){const e=x[a(518,W)].split("|");let t=0;for(;;){switch(e[t++]){case"0":i[4]=l[a(517,"a[Y$")];continue;case"1":i[6]=E;continue;case"2":const e={};e[a(243,o)]=RIGHT_LEG_PATH,e[a(423,o)]=a(561,"P!hm"),e[a(385,W)]=LIMB_W,e.strokeCap=x[a(397,"JK^5")],e[a(511,"!tbc")]=l.frontBottom,E=_0x2519dc(Path,e);continue;case"3":const t={};t[a(585,"SXIl")]=LEFT_LEG_PATH,t.style=x.TGaQx,t[a(591,"hmRj")]=LIMB_W,t[a(353,"a[Y$")]=x[a(456,"0)yI")],t[a(309,"!nCu")]=l[a(465,"x@qM")],I=_0x2519dc(Path,t);continue;case"4":i[5]=I;continue}break}}else I=i[5],E=i[6];if(i[7]===Symbol[a(369,"XcFK")](a(248,"W@6c"))?(L=vec(CX,BODY_TOP),b=x[a(328,"Sbdi")](vec,CX,BODY_BOTTOM),i[7]=L,i[8]=b):(L=i[7],b=i[8]),i[9]!==l.front||i[10]!==l[a(490,"hmRj")])if(x[a(430,"*wdh")]("dpSTm",x[a(432,"W@6c")])){const e={};e[a(535,n)]=L,e[a(427,"OJCi")]=b,e.colors=[l[a(260,"4VwT")],l[a(435,"GUyh")]],T=_0x2519dc(Path,{path:BODY_PATH,children:_0x2519dc(LinearGradient,e)}),i[9]=l[a(352,"sbud")],i[10]=l.frontTop,i[11]=T}else _0x50953e[a(552,"(v@I")]=_0x594c24,!_0x3f050f&&_0x43de98.current&&_0x5c21b6[a(547,"IJ94")].clear();else if(x[a(484,"H7Nq")](a(445,"H7Nq"),a(313,"a[Y$")))T=i[11];else{const e={};e[a(345,"(v@I")]=_0x275a81,e[a(401,"R6v&")]=_0x7dd8e9,e[a(307,"!tbc")]=[_0x50ef94[a(222,"*wdh")],_0x26aff3[a(235,"UQxV")]],_0x2ba844=_0x1558e3(_0x26b179,{path:_0xbba409,children:_0x43bebf(_0x21db4d,e)}),_0x4ad2cb[9]=_0x4a1a10[a(361,"ielI")],_0xf290a0[10]=_0x352968.frontTop,_0x3b04d1[11]=_0x1e957c}if(x[a(269,n)](i[12],l[a(361,"ielI")])){const e=a(505,"ielI")[a(245,"^)PR")]("|");let d=0;for(;;){switch(e[d++]){case"0":const e={};e.path=RIGHT_ARM_PATH,e.style=a(300,"a[Y$"),e[a(528,"v)1D")]=LIMB_W,e[a(353,t)]="round",e.color=l.front,B=x.ruBDX(_0x2519dc,Path,e);continue;case"1":i[14]=B;continue;case"2":i[12]=l[a(233,"R6v&")];continue;case"3":i[13]=H;continue;case"4":const d={};d[a(294,"x@qM")]=LEFT_ARM_PATH,d[a(507,"!tbc")]=a(513,"4VwT"),d.strokeWidth=LIMB_W,d[a(331,"Sbdi")]=a(406,"RSYZ"),d[a(498,"9ZXD")]=l[a(256,"EmUd")],H=_0x2519dc(Path,d);continue}break}}else H=i[13],B=i[14];if(i[15]===Symbol[a(370,"!tbc")](x[a(363,"bkw)")])?(A=_0x2519dc(Circle,{cx:CX,cy:x[a(321,"D3)R")](HEAD_Y,2),r:HEAD_R,color:a(551,"!tbc")}),i[15]=A):A=i[15],i[16]===Symbol[a(556,"D!NX")]("react.memo_cache_sentinel")){const e=x[a(293,"yuV3")][a(273,"RSYZ")]("|");let t=0;for(;;){switch(e[t++]){case"0":i[16]=G;continue;case"1":v=_0x2519dc(Circle,{cx:x.LNFET(CX,EYE_SPACE),cy:HEAD_Y-x[a(240,"P!hm")](HEAD_R,.08),r:EYE_R,color:a(579,"D3)R")});continue;case"2":i[18]=v;continue;case"3":i[19]=M;continue;case"4":G=x.LOrpd(_0x2519dc,Circle,{cx:CX,cy:HEAD_Y,r:HEAD_R,children:x[a(368,"D3)R")](_0x2519dc,LinearGradient,{start:vec(x[a(405,"XcFK")](CX,HEAD_R),HEAD_Y-HEAD_R),end:vec(CX+HEAD_R,HEAD_Y+HEAD_R),colors:[x[a(347,"v)1D")],a(452,"9MOC"),a(224,"OJCi")]})});continue;case"5":Q=_0x2519dc(Circle,{cx:CX+EYE_SPACE+1,cy:x.tTiWq(HEAD_Y,.05*HEAD_R),r:PUPIL_R,color:x[a(537,"p&X7")]});continue;case"6":M=_0x2519dc(Circle,{cx:x[a(485,"XcFK")](CX-EYE_SPACE,1),cy:HEAD_Y-.05*HEAD_R,r:PUPIL_R,color:"#2C2C2C"});continue;case"7":i[20]=Q;continue;case"8":i[17]=X;continue;case"9":const e={};e.cx=CX-EYE_SPACE,e.cy=HEAD_Y-.08*HEAD_R,e.r=EYE_R,e[a(289,"4VwT")]=a(478,r),X=_0x2519dc(Circle,e);continue}break}}else{const e=a(325,"Sbdi").split("|");let t=0;for(;;){switch(e[t++]){case"0":M=i[19];continue;case"1":G=i[16];continue;case"2":X=i[17];continue;case"3":Q=i[20];continue;case"4":v=i[18];continue}break}}if(x[a(570,"vitW")](i[21],Symbol.for(x.TYjlh))?(N=x.eESIb(_0x2519dc,Circle,{cx:x[a(599,"4VwT")](CX,EYE_SPACE)-.5,cy:x[a(308,"RSYZ")](HEAD_Y,.15*HEAD_R),r:Math.max(1,.5*PUPIL_R),color:a(618,"UQxV")}),i[21]=N):N=i[21],i[22]===Symbol.for(x.TYjlh)?(p=_0x2519dc(Circle,{cx:x[a(602,"x@qM")](CX,EYE_SPACE)-.5,cy:x[a(393,_)](HEAD_Y,.15*HEAD_R),r:Math[a(317,"IJ94")](1,.5*PUPIL_R),color:x.WDSuE}),i[22]=p):x[a(437,"a[Y$")]!==a(301,"NSTa")?(_0x55be38=_0x2c9ea8(_0x7b556b,{cx:_0x1b5fe1,cy:x[a(410,"*wdh")](_0x3a2d2b,2),r:_0x486d6f,color:a(608,"(v@I")}),_0x2bb21f[15]=_0x57675c):p=i[22],x.WSBGM(i[23],Symbol[a(509,"NSTa")]("react.memo_cache_sentinel"))?(V=_0x2519dc(Path,{path:SMILE_PATH,style:x[a(464,"4VwT")],strokeWidth:Math.max(1.5,.5*LIMB_W),strokeCap:a(265,"UQxV"),color:a(389,"9ZXD")}),i[23]=V):V=i[23],i[24]!==I||i[25]!==E||i[26]!==T||x[a(482,"ielI")](i[27],H)||i[28]!==B){const e=a(225,"4VwT")[a(343,d)]("|");let t=0;for(;;){switch(e[t++]){case"0":i[25]=E;continue;case"1":i[24]=I;continue;case"2":i[27]=H;continue;case"3":i[26]=T;continue;case"4":const e={};e[a(455,r)]=styles.blockCanvas,e[a(323,"ZnQQ")]=[I,E,T,H,B,A,G,X,v,M,Q,N,p,V],y=_0xfc5db6(Canvas,e);continue;case"5":i[29]=y;continue;case"6":i[28]=B;continue}break}}else y=i[29];return i[30]!==y||i[31]!==D?(q=x[a(373,"ielI")](_0x2519dc,_0x2991eb[a(412,"vitW")],{style:D,pointerEvents:x[a(463,"UQxV")],children:y}),i[30]=y,i[31]=D,i[32]=q):x[a(458,_)]!==x[a(582,"9ZXD")]?(_0x2fe5ae=_0x26104b(_0x4e5491),_0x45aa9b[0]=_0xb06cc2,_0x5c3473[1]=_0x455cc4):q=i[32],q});BlockView[_0x1d462d(536,"SXIl")]="BlockView";const MAX_AIM_DOTS=BLUK_GAME_CONFIG.TRAJECTORY_DOTS,AIM_DOT_RADII=[],AIM_DOT_COLORS=[];for(let e=0;e<MAX_AIM_DOTS;e++){const t=e/MAX_AIM_DOTS;AIM_DOT_RADII[_0x1d462d(538,"oz!&")](Math[_0x1d462d(280,"6PB@")](5.5-3.5*t,1.5)),AIM_DOT_COLORS[_0x1d462d(522,"D!NX")](_0x1d462d(278,"FLX]")+(1-.72*t)[_0x1d462d(312,"!nCu")](2)+")")}const AimLayer=_0x24322a[_0x1d462d(288,"RSYZ")](({aimRef:e})=>{const t=_0x1d462d,d={UCUpf:function(e,t){return e(t)},VhuZk:function(e,t,d){return e(t,d)}},W=_0x24322a.useRef([]),[o,n]=_0x24322a[t(555,"6U6(")](0);_0x24322a.useEffect(()=>{const t={WcqJP:function(e,t){return e>t}};return e.current={update:e=>{const t=_0x2c7d;W[t(496,"hmRj")]=e,d[t(392,"Sbdi")](n,e=>e+1)},clear:()=>{const e=_0x2c7d;t.WcqJP(W[e(366,"ZnQQ")][e(230,"vitW")],0)&&(W[e(276,"FLX]")]=[],n(e=>e+1))}},()=>{e.current=null}},[e]);const r=_0x24322a[t(607,"Sbdi")](()=>{const e=t,d=W[e(497,"hfiF")];return 0===d.length?null:d[e(474,"^)PR")]((e,t)=>_0x2519dc(Circle,{cx:e.x,cy:e.y,r:AIM_DOT_RADII[t]??1.5,color:AIM_DOT_COLORS[t]??AIM_DOT_COLORS[0]},t))},[o]);return r?d[t(450,"4VwT")](_0x2519dc,View,{style:StyleSheet[t(421,"sbud")],pointerEvents:t(554,"vitW"),children:_0x2519dc(Canvas,{style:StyleSheet.absoluteFill,children:r})}):null});AimLayer[_0x1d462d(348,"hmRj")]=_0x1d462d(244,"!nCu");const PerfectIndicator=_0x24322a[_0x1d462d(288,"RSYZ")](e=>{const t=_0x1d462d,d={tpyEC:function(e,t){return e+t}};d[t(390,"vitW")]=t(346,"0)yI"),d[t(483,"0)yI")]=function(e,t){return e!==t};const W=d,o=_0x32f696(10),{offset:n}=e,r=void 0===n?0:n,_=useShowPerfect(),a=r>0?r+30:15,x=Math[t(384,"vitW")](.3*SCREEN_HEIGHT,W[t(318,"D3)R")](a,90)+24);let i;if(o[0]!==x){const e={};e[t(617,"MVfa")]=x,i=e,o[0]=x,o[1]=i}else i=o[1];const k=i;if(!_)return null;let C,s,S,u,R;if(o[2]!==k?(C=[styles.perfectContainer,k],o[2]=k,o[3]=C):C=o[3],o[4]===Symbol[t(381,"W@6c")](t(417,"H7Nq"))){s=ZoomIn.duration(250)[t(504,"9ZXD")](),S=FadeOut[t(322,"4VwT")](300);const e={};e[t(489,"MVfa")]=styles[t(527,"MVfa")],e.children=W[t(371,"oz!&")],u=_0x2519dc(Text,e),o[4]=s,o[5]=S,o[6]=u}else s=o[4],S=o[5],u=o[6];if(W[t(596,"RSYZ")](o[7],C)||o[8]!==s){const e={};e[t(545,"4VwT")]=C,e[t(473,"oz!&")]=s,e[t(601,"9MOC")]=S,e[t(506,"EmUd")]=u,R=_0x2519dc(_0x2991eb[t(424,"XcFK")],e),o[7]=C,o[8]=s,o[9]=R}else R=o[9];return R});PerfectIndicator[_0x1d462d(486,"^)PR")]=_0x1d462d(495,"!nCu");const GameAreaComponent=({gameService:e,offset:t=0,cameraX:d})=>{const W="W!m(",o=_0x1d462d,n={dOXiB:o(403,"P!hm"),MRMbL:function(e,t){return e(t)},GkuIe:function(e,t,d){return e(t,d)},WgrQV:function(e,t,d){return e(t,d)}},r=useSharedValue(C.ANCHOR_X),_=n[o(320,"6U6(")](useSharedValue,C[o(542,"oz!&")]),a=n[o(320,"6U6(")](useSharedValue,0),x=useSharedValue(1),i=_0x24322a[o(548,"0DJI")](null);_0x24322a[o(572,"*wdh")](()=>{const t=o;if("GhJhl"!==t(299,"FLX]")){if(_0x1ef854[t(575,"sbud")]?.[t(610,"W@6c")](),!_0x4319cd[t(568,W)]||_0x1d2342[t(228,"IRxD")][t(550,W)]()!==t(250,"yuV3"))return;const e=_0x37789c.current[t(559,"IJ94")](_0x18fee2,_0x24bf1a);if(!e)return;_0x1dd8b5.current[t(292,"hmRj")](e.vx,e.vy)}else{const W={};W.x=r,W.y=_,W[t(395,"RSYZ")]=a,W[t(354,"Sbdi")]=x,e[t(247,"D!NX")](W);const o={};o.x=d,e[t(335,"!nCu")](o)}},[e,r,_,a,x,d]);const k=_0x24322a[o(358,"D!NX")](!1);_0x24322a.useEffect(()=>{const e=o;return k[e(565,"EmUd")]=useBlukStore[e(508,"^)PR")]().isPlaying,useBlukStore[e(581,"R6v&")](t=>t[e(457,"GUyh")],t=>{const d=e;n[d(259,"RSYZ")]===d(262,"Tqg!")?_0x403970=_0x5bb288[1]:(k.current=t,!t&&i.current&&i.current[d(367,"a[Y$")]())})},[]);const s=_0x24322a.useRef(e);s[o(398,"0)yI")]=e;const S=_0x24322a[o(438,"hfiF")]((e,t)=>{}),u=_0x24322a[o(524,"oz!&")]((e,t)=>{});S[o(357,"!E56")]=(e,t)=>{const d=o;if(!k.current||s[d(228,"IRxD")][d(379,"hmRj")]()!==d(500,"vitW"))return;const W=s.current[d(587,"6PB@")](e,t);if(!W)return void i[d(574,"0DJI")]?.[d(419,"W!m(")]();const n=s[d(359,"o5X1")][d(286,"JK^5")](W.vx,W.vy);i.current?.update(n)},u.current=(e,t)=>{const d=o;if(i[d(496,"hmRj")]?.[d(264,"R&gr")](),!k.current||"resting"!==s[d(332,"a[Y$")].getPhase())return;const W=s.current[d(467,"x@qM")](e,t);W&&s[d(366,"ZnQQ")][d(378,"D!NX")](W.vx,W.vy)};const R=_0x24322a[o(422,"UQxV")]((e,t)=>{S[o(223,"H7Nq")](e,t)},[]),O=_0x24322a[o(232,"P!hm")]((e,t)=>{u[o(439,"4VwT")](e,t)},[]),l=_0x24322a[o(375,"0)yI")](()=>Gesture[o(593,"v)1D")]()[o(583,"IJ94")](e=>{const t=o;n.MRMbL(runOnJS,R)(e[t(236,"a[Y$")],e[t(253,"D3)R")])})[o(415,"o5X1")](e=>{const t=o;runOnJS(O)(e[t(400,"Sbdi")],e[t(454,"v)1D")])}),[]),m={};m.cameraX=d;const h={};h.blockX=r,h.blockY=_,h[o(494,"H7Nq")]=a,h[o(569,"o5X1")]=x,h[o(330,"x@qM")]=d;const f={};f[o(374,"FLX]")]=i;const P={};return P[o(334,"W@6c")]=t,n.GkuIe(_0x2519dc,GestureDetector,{gesture:l,children:n.WgrQV(_0x2519dc,View,{style:styles.container,children:n[o(383,"oz!&")](_0xfc5db6,View,{style:styles[o(362,"bkw)")],children:[_0x2519dc(PillarsCanvas,m),_0x2519dc(BlockView,h),_0x2519dc(AimLayer,f),_0x2519dc(PerfectIndicator,P)]})})})},_0x5ce599={};function _0x4528(){const e=["l03dR1CPWRhcL8kvWRZdUZ8","WOhcUmoeW5G","psTngGu","WPq/WQVdLmo/","xSk/W6RdVSorW7BdImkpxY3dIG","txxdIID0WO8","x8kOW7hdNmoeW4hdICkyqXtdGHC8W7/cHrhdHq","W5D9W7iMgG","iH9ZkmoYW5m","awKNnclcUa","ovXVwSktWOq","fd4FW6RdSNfpW4qmkH5XnCoNiCkdgG","y8oQD2X2ovJcQG","W67dQxS","a3XRE8kP","uKH2aW","paP5","AstcQCoSELbf","WRJdLrVcRmoF","fWGUW4C","W75Bjmk2vSkR","W4K6W5fSpG","WRRcIbJcMmki","WQrVWP0qmW","rSksmCkMCa","W6FdOxHcWRNdQ8kdWRldK8oRWOu","W6nZWP7cHmkQkWK","W5/cTCojWRxdSL3dRSkir8kCeCou","W7/dMWXnWPa","pe3dTfDCW5vMWO4","W6rqWR3cQ8kG","W6PKCgy","vSoLD2e","WObiWQmHeSoaW5FcJq","W7xcPqZdRSk1y8kTWQhcH07dICokz8kmxNe","ouRdQuTnW699","krFcNCoywxH3","rmoXW6Ooca","W7NdG0HcWPG","W4pdMCkXlSorWPBdQq","btnnW60r","dN9QBq","W5azWPrKzq","vmoUW7qifmoRn8knEq","WPONWQb+zmoHnWi9","W5LTBwj9EqjY","hJvLW7Gd","W6tdRx9HWQhdQ8koWPK","lvS4","W6PromkUv8kb","dI5WW7Su","iWrxW78n","WRmmWRJdQSoSW6a","WORdQCkxW6lcRs3dKmklw8ke","psbOW7W","mSo9ytr0","yCo8WQRcGmkRWQ7cJ3FdVg92","sCkhmmk1hG","f392zmkOaa","W5ddHmkSWOjzdtHjheNdUG","A8kAuCkYWQC","W6boW4O4","xCoOW60X","C8o3zLTHnG","WP/dOmkgW7hcKaZdHCkkwCkaoCoLW6fth8ot","W7BcLZVdJCkex8kkWRJcPN7dV8o+t8k8zuS","W7ZdIGDhWPddNsVcNb7dI8o/","hCoTxLjWWQGJWOjwWPK8","Fmk9g8kwqq","uezQl8kd","WRRcLqxcU8kR","lCoZza","g1pcS8kI","i1zZu8kF","e2rLESk4","ACoGW6OPnadcIf3cSLvb","W4JdUCkSWOPf","DSoXCge","W71rlSkUyCkBoCkxW69eh1TeheXX","hwe9oq","r8k9hmkg","vSont0vfaMNcMCkZhfXfbSkK","W5JdTSkjnSot","W5/dUdbKWQhdOqZcMdtdP8ouW7HRzSk1vG","WRmmWRpdQCoI","hmo2wvn/","mKX0t8kEWP46","W6DEld1bgq","FNK5EvhdT1hdKmofe2CuuG","nG51f8oXW5FdUSk9","hYz+W7voWReCWRZdPSodomkTWQ8gW5JdJG","nuFcQSk1BSk4WO0","W4VdU2n/WPO","W5/dK8kSpW","nCoHCqLKxIpcMW","W7zuW4S","F8oSW7G6le/cNhBcVLD7W6qmWO55W43dHSoxrCk8W6mDxGFcTa","WPRdMXRcQG","nLXYCCkAWOuGkCkSf8oZW43cNSoIW6hcLmka","xuOfhCk3kSk5zSkMjb0","W6v0WONcPSkKiW","CvxdQa5HWRldLIK7WOPncs7dQCoUvsi","ct0tW7xdQW","fNfOFCkP","W5LWDNX8zrm","v0mdgCk0hq","emoBwbzrBqJcUchdKmk4WPBdRmkdCeu","mH5ZnCo8W5JdVq","W6zen8k5w8khiq","W6BdR8kahCo1","rJ4+sJi","W77dNCk/W5qbWORcSSklEW","ESoGW70Tma","W7fyoX1beCkT","ASkhySkpWRJdVLC","FCk1e8kxta","EmkhCCkzWONdVW","mKJdMgTL","tKypfZdcKvq","WPNdQSklW6VcPW","qIi4ttNdGCo8WRfC","zmogW5qXnq","pLDttCkFWPe6lW","W6NdHCkoWQ91","FCoOW60X","W6juW4W+nW","W5SCW43dLNLbW5FdOh3cV3K8aCoeW6GdW5K","W6PmsejywtHiW4pdQ8ktmCkbW4rFWR8fD3vT","pvbOwmkVWP8","WP9iWQeLmSog","kuVdQvzdW6rEWPFcQNyq","EmkZaSknqa","pSo4qG","WPKYWP7dT8oV","W6viW5WvnCorduVdLa","WRlcQ8obW7Xg","WOFcJZXItq","a1DVFmkZ","WQirWPNdNCo/","e2r2z8kNpCk4eSoF","AJatr3xdIcW","BSk0W43dKSoW","y8oOzMrHpKlcVG","uZS1xte","AX7cTrj/","vNxdGdzi","WR/dIqVcJ8oEW7jO","jfxcUSkMi8oMW5ubWOHotCo8edZcQSo/","WObiWQiUaG","a3XHACk+","A8oMW7CTcWJcI3y","hY5PW7Oc","zv8ZFSkPWO/cSCkiigddSmo4W6i","oCkoiSkbW6ZdRbdcUL4","vSont0vfaMNcMCkZha","ACoHWQVcIW","W7JdGau","ps9UlKVdS1dcI8kXCGTBdqHqqbjjc8k3h34","WPJdTCksW6ZcTW","A8oNWQVcI8klWOm","sWqyAK4","vhaSWQbqW49FW4JcJSkcvG","W48nW4VdTxnrW67dQNhcNxq","W63dNmk1W78tWRJcUmky","WPfsWQuYa8ohW4W","zcXIW63cLHyS","W7qeW7VdUCk3W7K3lSoPi2pdJCoq","WPtdSuVcVSoInSoTWOBcSxNdUCotDq","vmodW7qodG","qMNdLJbfWO7dVq","nWa2W4pdH1XVW4iMddjkh8ok","W53dMCkSpComWPa","emoBwbzrBqJcUchdKmk4WPy","W6nZWP7cISkUkGPEWPWHW44","vYu1uc4","uCoWvw11","ktPJirC","C8o8WQtcGmkSWOdcGxFdOw91jG","W6tdIHXgWP3dIG","W6PavKHCsdndW5JdVSkulq","B28MmSkDo8khw8kzasS","W7D5WOhcJ8k6","W6rJWPZcUmkx","WR1SWP/cOv/dR2ze","WQhcUmoeW5G","W6tcQrpdHmkXECk8WPO","W7ddUgDBWQe","DCoWW68GmG","W6jEW545imoddvRdOHNcJJ3dICkKaSk7W7DDWOPEWRldGmoVvmoq","eNvLA8k4DSkwfSoctSoXWRfsWQKzW4JcKCoTW6RcQLNcN8kWWPeH","aILNkG","ySkAkmkzmmkxWP0","dGb7W6qm","jLVcTmkRASkKWOPYW4SqfCkTv2pdUSkK","gxiOpWxcU3pcUCkqW6y/oq","WRdcU8odW597DLuH","B0JdRrHT","W5X3A2bT","WRtcMXe","W4NcPrJdVa","WRxcLSoOW5Lv","WQykWQxdQ8oZW5fRiG","o3bnbc7dTIBdPmkrc8ol","r1mMjSk/","WRlcN8oQWQvrWQlcUmkSs8o3mW","WOJdQCkBW6tcSq","psD5iqC","W5OlW5BdTgW","W6SnW6HaiW","q8o3W7urfSoTj8kLytmw","b3ffzSkK","hw86oalcVN3cOW","qZi0wJ/dGCoAWRvFoSkAWRVdNq","BXdcRaL+","WQlcQCoCW5LJ","WOdcSd3cPSkX","W5xcOqRdOa","W4COWPjfvt9g","thpdKID0WO8","W5y6WOjwggacoSkWWQ5hkYpdMCkSW6ZdHa","jWtdGmkaWQpdUmkuqmk8zq","W5eyW4e","W69ym8kI","usCWCCk6hSkykCo8","A8oRDwXqpW","agVcGmkPtW","Bh3dJYC","ruHRkSktWP1oxmkCqMpdQCk8W53cVKyU","a8o2wLHpWQi","WRZcVmoDW58","WQmxWQBdQSo1","WRHZWPVcI2RdVhDa","ug9kpmke","nL7dRLDlW6K","v8k6e8k/la","smkSW7hdUa","WRPizmkMaSkpBmkpWRe","W5FdGSk/WOnbba5uhwu","W5ewW4/dV0XB","FNK0ELtdSdFdP8oZi2KI","W6m1WQPFxa","Dmo6WRFcGCk0WOK","khuTnuq","pYpdRCkLWPi","WQpcUSoxW4fp","W5KYW7r2pG","WQhcSmoCW5X2CvihWQ/cJCk5W5iag07dPq","W6ldQ8khh8oSWQFdNqrsWP5DW6VcPmkgyZ0","dI5WW7SuW7i","WQxcJCozW6DM","W4BcRXldP8kI","gdXAkXi","gLLQBmkPia","W5hcRZJdOCkOzCk9","vSo5WQZcPSkY","d3JcTCkqxq","WPPqWPqskW","FmkwnCkidCkw","pfH+","gxaWfdu","umoXW7qnhSou","dCoawtHC","iu4pfci","WQqnWRJdPmoZW6XRpa","WQT3WPpcNK/dVhDp","W7FdRxngWOBdOSkBWPJdNCoXWQpcLN8xW7e","W7VdHLZcVSkpW6m3W6Gb","FsKE","W7VdGaDnWPhdPG","WOBdTrZcSSoF","ma9LfColW5pdQSkS","w8kSW6JdTCoxW5xdVW","WRNdJHZcRCoqW7PeW7vc","zmo7WRFcNmk6WOlcLa","vmoQW7qoeCoP","d3zIE8kPla","W5FcPrNdOCkJDmk8WPRcQKVdJComDmkzyMT9WPeUWR3cGCkhuCkDxwy","W7DIWOJcPSkJmXjz","W5lcQrRdVmk4","W5tdMCk6WPLA","br/dHmkz","WOlcJSo1W7vdxhiuWO/cT8ksW7qLoNW","yfTkamoXW7ldUCkA","ttBcLsTBWPtcGCkJWOhdPHmI","vvDQm8ks","E8kDzCktWRK","juBcUCk1FW","WONcVZVcKSkCCdal","pmobB2XE","pLBdQeLeW6bWWRdcR28D","gtxcQSoVAeLqWO/cKIRcR8kXdCoIvmov","cSoNrbHx","xti0ws7dMW","B8kaF8ktWQK","Dmo6WRFcGCk0WONcO2ldUa","WQxdIG/cOCosW6T+","emoBwbzrBqJcUZFdMmkZWP3dV8khFKLG","EZOBxw/dIIRdV8kgjq","FGRcQXv/WQJcQG","W6viW5WcnSor","W6PbjmkOv8kDla","WQWDWQtdOSoZW60","W4GPW79SiG","iXRdGmkxWPhdPSkqvq","bY/dI8kcWRG","W74YW7XUn8oVDZ1TyHddP2i","W4JcT8k9WRFcGfBdPW","WQTQWOJcGe7dOgy","zmoIWQdcJ8kT","aeW6eX4","BmkZbq","cY5U","t8oZyvPi","W7qQWO12CW","W6iuW6jYmG","W4u0WO1LvtC","WQZcIqZcMCk8xGS","WPBcVrD6xmkAWQpcTsW","iWr0kCo9","W7XAW4W+mmoF","pvRdR2LaW6b6WPS","xCkEmmki","bN92","xhyOW60qW4DtW5BcMq","uCoJCvHs","W5ZdNCk6","y8klkCkcmSkCWQ0jWOhdNmo1","WOJcPWnSA8kh","W5tdN8kSWOfwma","xb8/DKJdUrJdM8kSkCo6W7ddJcb6i8onWP9MWRzE","bmoDWRzwqSk5hW","W7JdI8kGcCo0","v1jNpSkYWOy","WP/dUtVcSSoD","W44YW7tdR2K","W5JdUCkFW5qZWRpcHmk4qmos","WQpcTSoeW5fJAK4Q","W6vcoWnajW","q0fef8kd","WRRcJXVcPSk8xra","C8o8WQtcGmkSWOdcGxFdRvG","WR7dIa/cRmoiW7nMW6bBcSkyva","vdK+","WQZdLqdcTSoSW7PUW7nAeq","W49VWPpcN8ko","WR52WP/cHwFdQ3rv","FSkihSk0vq","WQpcTSofW55Z","W798gSk8ua","ESkbW4RdK8oUW6VdTmkYCqC","WQCWWRdcJSkNaHz+","W4FdOmkCW5qZ","cMu9aGlcTMBcQa","W6FdLCkNlq","W6bcpafa","BSoLW7yQpq","W6zAe8k0vG","WRhcIdJcRCkU","WObcWRyJeSkhW5xcHSoFqSkmWOpdOa5EW4dcNYqegtVdVSkcCSkt","WQijWO9GymoaivRdMdJcMq","mGDKjSoR","W7NdNbbSWPddKZa","Amkqy8ksWRhdPvFcOYZcVqCe","oJTPdalcRqNdNmo8i1u","WQlcRCojW5XY","xmk1eSku","qNtdJs5eWPldRae","W5ddN053WOhdLCkPWQZdVCosWR/cRLO8W5FdIG","iGC+","ocfOoWS","W5pdQx9A","W6RdGmk5W6GX","WQBcSmouW4r/","avLazCkn","WRxcKWFcSCknxa","WR92WP7cHKm","WOpcUHPNsW","FYewx33dLdG","ASo2WRZcU8kS","pXhcISo4wxa","WQmnWRJdT8oIW6TW","se8ocSk0","c1CTfJO","qSoJW7q0iG","pfzWwmkVWP8","WQNcNXVcSSk8ubbPAxFdSCoOWQNcHSovwG","WQnqWR4icW","W7xcItldHmkruSkgWQRcQgtdPa","WOHnWOVcOYGnWOhdK1RcR30Pda","W71uW481b8oy","W6dcLGBdISkL","WPyqWR/dN8oS","WRpcSCoXW79T","la5pCcxcNWO","z8oMCgzOjulcQa","gSoRtvnOWQevWP9BWOi6Da","orBcLSogwq","WRZcNcVcMCk8","WOZcUYvLxSkrWQpcUs4","W78HW6VdILC","vcaZomo9yCkXfCoEsSouWOi","iITXW7KC"];return(_0x4528=function(){return e})()}_0x5ce599[_0x1d462d(281,"o5X1")]=1;const _0x4d9678={};_0x4d9678[_0x1d462d(281,"o5X1")]=1,_0x4d9678[_0x1d462d(434,"ZnQQ")]=screenWidth,_0x4d9678.overflow="hidden";const _0xa7dc3={};_0xa7dc3.position=_0x1d462d(254,"RSYZ"),_0xa7dc3.top=0,_0xa7dc3.height=SCREEN_HEIGHT;const _0xb97dda={};_0xb97dda[_0x1d462d(270,"D3)R")]=_0x1d462d(336,"P!hm"),_0xb97dda.top=0,_0xb97dda.left=0,_0xb97dda[_0x1d462d(571,"R6v&")]=BLOCK_CANVAS,_0xb97dda[_0x1d462d(471,"IJ94")]=BLOCK_CANVAS;const _0x23e799={};_0x23e799[_0x1d462d(337,"!nCu")]=BLOCK_CANVAS,_0x23e799.height=BLOCK_CANVAS;const _0x495652={};function _0x2c7d(e,t){e-=220;const d=_0x4528();let W=d[e];if(void 0===_0x2c7d.PMHsuG){const e=function(e,t){let d,W,o=[],n=0,r="";for(e=function(e){let t="",d="";for(let d,W,o=0,n=0;W=e.charAt(n++);~W&&(d=o%4?64*d+W:W,o++%4)?t+=String.fromCharCode(255&d>>(-2*o&6)):0)W="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(W);for(let e=0,W=t.length;e<W;e++)d+="%"+("00"+t.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(d)}(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,d=o[W],o[W]=o[n],o[n]=d;W=0,n=0;for(let t=0;t<e.length;t++)W=(W+1)%256,n=(n+o[W])%256,d=o[W],o[W]=o[n],o[n]=d,r+=String.fromCharCode(e.charCodeAt(t)^o[(o[W]+o[n])%256]);return r};_0x2c7d.HVIPPG=e,_0x2c7d.YXDKVM={},_0x2c7d.PMHsuG=!0}const o=d[0];_0x2c7d.jWJBGz!==o&&(_0x2c7d.YXDKVM={},_0x2c7d.jWJBGz=o);const n=_0x2c7d.YXDKVM[e];return void 0===n?(void 0===_0x2c7d.ZXnLfn&&(_0x2c7d.ZXnLfn=!0),W=_0x2c7d.HVIPPG(W,t),_0x2c7d.YXDKVM[e]=W):W=n,W}_0x495652.position=_0x1d462d(453,"oz!&"),_0x495652[_0x1d462d(258,"!nCu")]=0,_0x495652.right=0,_0x495652[_0x1d462d(514,"R&gr")]=_0x1d462d(510,"o5X1"),_0x495652[_0x1d462d(311,"W@6c")]=20;const _0x2c6762={};_0x2c6762[_0x1d462d(573,"SXIl")]=0,_0x2c6762[_0x1d462d(237,"MVfa")]=0;const _0x444689={};_0x444689[_0x1d462d(611,"SXIl")]=34,_0x444689[_0x1d462d(402,"Sbdi")]="bold",_0x444689[_0x1d462d(531,"0)yI")]=BLUK_COLORS[_0x1d462d(238,"EmUd")],_0x444689[_0x1d462d(324,"^)PR")]="rgba(255, 215, 0, 0.7)",_0x444689[_0x1d462d(539,"o5X1")]=_0x2c6762,_0x444689[_0x1d462d(525,"R&gr")]=16,_0x444689.letterSpacing=3;const _0x25debb={};_0x25debb.container=_0x5ce599,_0x25debb[_0x1d462d(290,"ZnQQ")]=_0x4d9678,_0x25debb[_0x1d462d(252,"(v@I")]=_0xa7dc3,_0x25debb.block=_0xb97dda,_0x25debb[_0x1d462d(560,"Tqg!")]=_0x23e799,_0x25debb[_0x1d462d(444,"0)yI")]=_0x495652,_0x25debb.perfectText=_0x444689;const styles=StyleSheet.create(_0x25debb);export const GameArea=_0x24322a.memo(GameAreaComponent);GameArea[_0x1d462d(268,"9ZXD")]="GameArea";
@@ -1 +0,0 @@
1
- "use strict";const _0x427a25=_0x1085;!function(){const W=_0x1085,t=_0x35a8();for(;;)try{if(384278==-parseInt(W(530,"0rmB"))/1+-parseInt(W(386,"0rmB"))/2*(-parseInt(W(520,"tp@8"))/3)+-parseInt(W(426,"Wnzt"))/4+-parseInt(W(540,"sG!V"))/5+parseInt(W(468,"5ob1"))/6*(parseInt(W(434,"RJ0j"))/7)+parseInt(W(427,"rCvA"))/8+parseInt(W(474,"rCvA"))/9*(parseInt(W(516,"INfI"))/10))break;t.push(t.shift())}catch(W){t.push(t.shift())}}();import{c as _0x205787}from"react/compiler-runtime";function _0x35a8(){const W=["gd/dVgRdNa","W6zgW7RcTCoN","WR42xdVcNW","WOxcUSk9W5lcI8kYx15QW5lcTG","hmkffSkkWRmRW6rC","WOCDnSo4","eSkaW4VcU8ozhsRcP8kkWQhcLW","W7TizCkVWPNcLCkkW4FcUx4","wctcLtua","W5BdI0fzWQLPiN12WRS","yruKW7n0bSoiW5T9zSo+WRHHkmk4ymkTjmoG","FrtcRSkqW5O","W7rKW5BdNSoL","AWdcOCkujG3cKCkWWR1sWPq","yHFcPCkKW5m","WOhcHxiJeuRcHSk3WQ4lW7m","wConWOddPmkk","WObcw8kX","W7FdVWK","W5fcWPP6WPpdIcPFbmoSWOC","W6ucWOrldCoqhtaJjmojWOjYySoXumk0W7fWWPxcRSkHnW","Ef/dGCoVvSkvrSkNWQdcIqb/WQOIWRmXAWpcNmoMW6dcP8kMqSon","wupdOK/cSW","WRXSW5FdOmofWRBcVKNdNwRcL8okWR8UFYNdGdJdMmkbW4O8W7VdQW","FSk0rSkbWQjC","CCkYrmklWOq","qSo7W5SjWRfE","pmksW5HvWOdcN8oPWORcNuKrWQ7cJXldPdNcGq7cRCkagYnD","rmk2WPm","WPNcGuT/W5e","fZldQq","WR90WPBcMCknDG","wdJcLmkOfG","DehdR3lcVue","W6TxWPTpWR7cNa","WPmErZjVWRXPy8k1W6DfW4hdGxHrWOpdVCk1","DCoRW70","wYZcTHim","hSklcSkwWRO","WP41rq","n8ktW5HNW48","ab02WQmfW4ZcVSkjBW","W6NdUCkkW5W","W4lcUWBcKmkIcq","W6ldHgrWBtG","cZFdL1ldUW","d8kfWOJdKt/dSSoBW57dQmo3WPiTba","hmkNWOrDW5egWP3dK2u3WQfqna","n1JcVW","tSkXW4JdHCkRWQy","WR4dFYJcNG","WR8rvCkNrG","lCkAW5raW4NdJSk3W4pdJW","DSk0w8kuWPPsmCotWP/dSKO","WOJdLJuAWR3dSHZdJCkc","W4pdM2jmsq","wCoqWP3dRq","W5b/W4ZdG8ou","WOCqc8oWW5fq","W77dUWLFWPZcHuivicC","WOiAfmoYW61l","W6mkWQbdxCknsq","oa7cKCk6emklhSk3WP/cQXLzWPi","WRKil8oYWPBcVmkXW5ZcRw8Q","WR8mbmoeWRS","zbSIW6y0","tGVcRCktla","bSk3W74","WOvkWRlcLmkw","WQ0zkq","WOSqeSoJW5fNb8ofiHhcQa","WOeZvYddGSoxW5RcGtHdWOrEWP5UW6FcOmk3WPzauLpcHSklWPu","tCoqW4VcJq","jSkHW7NcRmkcia","WQ5VWPFcK8kw","W6JdGNG","i1dcR8k4W4mDo8oGW5xdG8kkqw5xBmojW4rpW6HxyxaD","WPRcNSoIWPu","W4DQW5tdPColW6ldVmkhEMBdMaFdTCocW6VcOSoHW4hcKe5vdSkWBCkX","xSolWPJdPSkCpYpcMmkyWQNcUW","lHaXWQ0r","W7rFWO9lW4ldHSk0WRRdRmomeSoNrxVcGSoGy8o4W41PW5JdPSkT","W7hdU8oGWQldKW","WRhcJCoMWP0","kqRcLCk8fSklBq","mXmSWR8","kCkdWPC","v0DSW6bDW4tcL8kMvL3dSG","W5HpWPb7W4hdLI5Ga8oV","WQr0WPBcMmk2BG","DCoRW4TOW7ddSKO","W5T4W6ZcKq","g8kFp8khWRG","hSk1W67cRCkz","hCkKWO1DW5v2W6ddQ3CKWPq","F1ZcRa","ha8J","DJ7cHXbUWQW","seNdTx8","cSkoaCkrWRC","dqK5W4WQCa","cr4xW5OI","WQLJWPG","atldSKxdHmo1uSkytCoEv8kGgW","WQSBgSowW4m","WQvYWO7cMmk2BG","W43cUGhcMCksfmouyW","DuNdSq","W65DWOrnWOlcHW","WQBcSwn3WO3dOZWyW7q4hhRcSCkNlgVcSmk5wJ/dVdL4iG","cW7dI8kIia","hSkicCkkWQ0","WQjUW5pdTq","W55afSoZW5HRmCo4","BfBdJ8oJua","wConWOVdP8kekG","cCkuW5DrW6RdHSk6W43dMG5lW7FdGuC","ErNcV8k0W6ldTG","W5hdJvLBWR8","oCkCW55aW4a","WPnHW5aKW5jRqSodW7JcGLaZyW","WQanrCkHACoeqG","i8kXW4juwG","r8k7W47dLmkxWOuol8kXWOq","gSoUW5lcLSkY","FbRcQCkwmq/cLCkS","BwVdGCocvG","j0hdUmkhW5NdLCoiWPdcMq","bs/dUKxdG8o8qCkPxSoJ","s8k7W5FdH8kxWR0","WPqfva/cNG","WO3dOY3dHmoduSkj","WOm1qsK","atZdR0m","isFdJ8kRuuVcLM3cQSoVW6bCwmogWP/dOSoZbSo4W5bMW4tcLW","WPWbemo4W5jb","yWpdVCoPWO5jFCkjWPdcUG","WPbtWP7cLCk7","gCkcfCkrWRCDW7fxW7K7W6C","pdZdSe4","WR/cMh5XwbJdHmo1","WOi9omowWO0","kSoMW67cJSkqoa","ChdcMSo6tupcLq","wSo9W4u","W7ZdIMH0ewtcV8kgWO4KW4xdOCoMWQHyW6SPqSoYW48","hdZdQW","aINdQutdM8o1","W5/dNmooW4GTjd8","WPSEW4KQW5hcTc93hSoLWOddJeujdqhcS8kokZLJr8k4W4Sc","hSkmW43cV8owlGxcOmk2WPtcMW","zWaNW7WVrmkfWOKPjmkQ","W6JdUrTkW5ZdUXjzAxxcQCkhyIBcRCohpCoKagy","W5/dTKm","WOCEnmoNWOG","FmkOWRNdJgG","pmkqW5TxW5ZcICk0W4pdKbn7W6hdJKdcUMZdSL3dUmoaxNGAhG8","W4/dQSoNWRddNa","W6RdRmkhW5H3","AdlcIbzoW63cHfCHsf/cVg7dOxSYg8oFW6NcRWhdGINcU3O","WRqmW5WCW5JdG8k0W6pcNSkYBmkopa","W5ZcTqRcLmoEvmkeomoHBmkDt8onWPRdV2H1DCoSW7XseCo4v8ok","WRFcUw15W5C","kCkRW7VcPmke","ESoyWO3dOa","CGFdUmoPW58Etq","W5RcOaNcM8kffSoqF8kOiSoy","tCkXW5ddHq","tCoEW4ZcJhpcRCkmW4u","WQbcw8kX","tmkUWOFdJvK","xSoEW5pcINu","W4/dNe1y","W7BdUXDmWOdcOq","W4ddSLjwsCooWPFdVmkBWQdcLCovjmkQDCkAWOXjWRzFWOaKjCkGWO0","hWC5W5a","WPWCbSoY","BCoTW6nKW5ZdUa","WP9YW5JdQmku","DmkYwG","iSk1WRGXW47cPbS","W4LZW7VcM8oLhSo5WP0","WQBcV2z+W5e","srVcPCkn","WQH5W5RdRa","W4JcVrO","ESoJW4WkWOO","W6bxWP8","aZJdUKJdHmk+tCk4vSouzSk3cCkZqrKJW67dMmklCmkYcmopoW","yruKW7n0dmouW5DSF8oRWQnToCk+FSk4na","n0/cL8k7WOW","tmobWQpdQSki","ab00WRGw","ymk6sSkfW54eEmkXW57cRb/dUWmiCSo2WQddKJ3cTGxdVhC","sI7cRJKuWQRdVwOYWRFcLW"];return(_0x35a8=function(){return W})()}import _0x4ea396 from"react";import{View,StyleSheet,Dimensions}from"react-native";import _0x16a675,{useAnimatedStyle}from"react-native-reanimated";import{Canvas,LinearGradient,RadialGradient,Rect,vec,Circle,Group,Path,Skia}from"@shopify/react-native-skia";import{jsx as _0x4fa64c,jsxs as _0x10fa47}from"react/jsx-runtime";const{width:width,height:height}=Dimensions[_0x427a25(449,"cBqE")](_0x427a25(411,"t8aH")),SKY_COLORS=[_0x427a25(464,"pFur"),_0x427a25(528,"UQFE"),_0x427a25(365,"Hh4J"),_0x427a25(511,"BSA7"),"#140D31",_0x427a25(523,"W$r]")],SKY_POSITIONS=[0,.16,.36,.55,.78,1],NEBULA_COLORS_A=[_0x427a25(489,"YbMT"),_0x427a25(378,"e194"),_0x427a25(393,"Jax4")],NEBULA_COLORS_B=["rgba(190, 60, 150, 0.16)",_0x427a25(514,"W$r]"),_0x427a25(459,"0rmB")],HORIZON_Y=.5*height,HORIZON_GLOW_COLORS=[_0x427a25(531,"U)4F"),_0x427a25(451,"5&6X"),_0x427a25(379,"vjbz")],HORIZON_CORE_COLORS=[_0x427a25(541,"BSA7"),_0x427a25(403,"]F7d"),_0x427a25(395,"IEV]")],VOID_COLORS=[_0x427a25(546,"BSA7"),_0x427a25(525,"tp@8"),_0x427a25(390,"U)4F")],seededRandom=W=>{const t=_0x427a25,o={};o[t(402,"lFJC")]=function(W,t){return W*t};const d=o,e=43758.5453*Math[t(476,"BqDo")](12.9898*W+d[t(392,"DXno")](W,78.233));return e-Math[t(494,"pFur")](e)},_0x48293c={};_0x48293c[_0x427a25(358,"%e@j")]=48;const STAR_DATA=Array[_0x427a25(457,"UQFE")](_0x48293c,(W,t)=>({x:seededRandom(7*t+1)*width,y:seededRandom(7*t+2)*height*.64,r:.6+1.5*seededRandom(7*t+3),a:(.25+.65*seededRandom(7*t+4))[_0x427a25(470,"Hh4J")](2)})),buildGhostTower=(W,t,o,d)=>{const e=_0x427a25,a=height*t,r=W-o/2,n=r+o,_=Skia[e(549,"*vRF")][e(463,"UQFE")]();_[e(485,"t8aH")](r,a),_[e(404,"e194")](n,a),_.lineTo(n,height),_[e(477,"C0To")](r,height),_.close();const x=Skia[e(465,"H&m[")].Make();x[e(414,"sG!V")](r,a),x[e(413,"lFJC")](r+d,a-d),x[e(406,"rCvA")](n+d,a-d),x[e(424,"tp@8")](n,a),x.close();const i=Skia[e(478,"lFJC")][e(519,"JTRD")]();i[e(497,"Ld*r")](n,a),i[e(469,"t8aH")](n+d,a-d),i[e(362,"Hh4J")](n+d,height),i[e(404,"e194")](n,height),i[e(418,"ySvU")]();const k={};return k.front=_,k[e(447,"7n&J")]=x,k[e(471,"M0rF")]=i,k},GHOST_TOWERS=[buildGhostTower(.1*width,.38,24,6),buildGhostTower(.28*width,.44,18,5),buildGhostTower(.5*width,.4,22,5),buildGhostTower(.7*width,.37,28,7),buildGhostTower(.88*width,.42,16,4)],GT_FRONT=_0x427a25(461,"sG!V"),GT_SIDE=_0x427a25(456,"INfI"),GT_TOP=_0x427a25(400,"#$TJ"),VP_X=width/2,VP_Y=HORIZON_Y+.06*height,GRID_LINE_COUNT=10,_0x4c4975={length:11},GRID_PATHS=Array.from(_0x4c4975,(W,t)=>{const o=_0x427a25,d={upYYF:function(W,t){return W/t}}[o(444,"cBqE")](t,10),e=width*d,a=Skia.Path[o(519,"JTRD")]();return a[o(440,"KW9f")](VP_X,VP_Y),a.lineTo(e,height),a}),_0x16a187={};_0x16a187[_0x427a25(453,"vHXn")]=7;const HORIZ_PATHS=Array[_0x427a25(369,"]F7d")](_0x16a187,(W,t)=>{const o=_0x427a25,d={GJTRC:function(W,t){return W*t}};d[o(550,"]EIZ")]=function(W,t){return W/t},d[o(420,"%$7y")]=function(W,t){return W-t},d[o(363,"]F7d")]=function(W,t){return W*t},d[o(417,"vjbz")]=function(W,t){return W+t};const e=d,a=(t+1)/8,r=VP_Y+e[o(412,"Jax4")](height-VP_Y,a*a),n=e[o(504,"PbI6")](r-VP_Y,e[o(537,"jjJ4")](height,VP_Y))*e[o(446,"Jax4")](width,.5),_=VP_X-n,x=e[o(437,"DXno")](VP_X,n),i=Skia[o(544,"0rmB")][o(385,"cBqE")]();i[o(429,"F#WH")](_,r),i[o(423,"BSA7")](x,r);const k={};return k[o(452,"Wnzt")]=i,k.y=r,k.t=a,k}),GameBackgroundComponent=W=>{const t="JTRD",o="INfI",d="t8aH",e="BSA7",a="5&6X",r="lFJC",n=_0x427a25,_={Dleqd:n(527,t),XNfhY:function(W,t){return W*t},fxZbg:function(W,t,o){return W(t,o)},QiLlj:function(W,t){return W*t},gXsEa:function(W,t){return W(t)},XoFwN:n(458,"DXno"),MWJit:function(W,t,o){return W(t,o)},Mbizu:function(W,t){return W===t},zjLyK:n(431,"R0Vj"),bglDd:n(484,"KW9f"),ibgAl:function(W,t,o){return W(t,o)},Tqyfo:function(W,t){return W*t},HAeKp:n(435,"tp@8"),gQaNt:function(W,t){return W*t},ROWkM:function(W,t){return W!==t},GweAh:function(W,t,o){return W(t,o)}},x=_0x205787(15),{children:i,cameraX:k}=W,h={};h[n(508,t)]=.1*-(k?.[n(394,"Ld*r")]??0);const S=_.gXsEa(useAnimatedStyle,()=>({transform:[h]}));let m,f,R,s,C,O,u,l,G,P,p;if(x[0]===Symbol[n(428,o)](n(373,"JTRD"))?(m=_0x4fa64c(Rect,{x:0,y:0,width:width,height:height,children:_[n(375,o)](_0x4fa64c,LinearGradient,{start:_.fxZbg(vec,0,0),end:_[n(481,"BqDo")](vec,0,height),colors:SKY_COLORS,positions:SKY_POSITIONS})}),x[0]=m):m=x[0],x[1]===Symbol.for(_.XoFwN)?(f=_0x4fa64c(Circle,{cx:.22*width,cy:.17*height,r:.42*width,children:_[n(448,d)](_0x4fa64c,RadialGradient,{c:vec(.22*width,.17*height),r:.42*width,colors:NEBULA_COLORS_A})}),x[1]=f):f=x[1],x[2]===Symbol[n(370,e)](n(529,"5ob1"))){if(_[n(382,"5&6X")](_[n(425,"JTRD")],_.bglDd)){const{path:W,t:t}=_0x413290;return _0x294041(_0x1d0099,{path:W,style:_.Dleqd,strokeWidth:.6,color:n(374,"U)4F")+_[n(490,"W$r]")](t,.14)[n(441,"#$TJ")](3)+")"},n(482,"]F7d")+_0x2fb3a3)}R=_[n(391,"Ld*r")](_0x4fa64c,Circle,{cx:.78*width,cy:_[n(517,d)](height,.12),r:.36*width,children:_0x4fa64c(RadialGradient,{c:vec(_[n(371,"rCvA")](width,.78),.12*height),r:_.Tqyfo(width,.36),colors:NEBULA_COLORS_B})}),s=STAR_DATA[n(398,"%e@j")](_temp),x[2]=R,x[3]=s}else{if("MvhYp"!==_[n(521,"cBqE")]){const W={};W.path=_0xf31fda.front,W[n(542,"YbMT")]=_0x4d47ca;const t={};t[n(513,"JTRD")]=_0x397080[n(361,"KW9f")],t[n(491,"ySvU")]=_0x203f4d;const o={};return o[n(512,a)]=_0x5cde66[n(524,"rCvA")],o[n(377,"H&m[")]=_0xef67c,_0x2ed2bb(_0x216b97,{children:[_[n(376,"0rmB")](_0x4618ce,_0x255c58,W),_0x31bef4(_0x71c925,t),_[n(388,"vjbz")](_0x3055cc,_0x5ade0f,o)]},n(475,r)+_0x589acc)}R=x[2],s=x[3]}if(x[4]===Symbol[n(410,"JTRD")](n(536,"%$7y"))?(C=_[n(472,"ySvU")](_0x4fa64c,Circle,{cx:.5*width,cy:HORIZON_Y,r:.55*width,children:_0x4fa64c(RadialGradient,{c:_[n(380,"JTRD")](vec,_[n(506,"pFur")](width,.5),HORIZON_Y),r:_[n(473,"vHXn")](width,.55),colors:HORIZON_CORE_COLORS})}),x[4]=C):C=x[4],_[n(460,"H&m[")](x[5],Symbol[n(372,"sG!V")](n(539,"C0To")))?(O=_0x4fa64c(Rect,{x:0,y:HORIZON_Y-48,width:width,height:96,children:_0x4fa64c(LinearGradient,{start:vec(0,HORIZON_Y-48),end:_[n(430,"5&6X")](vec,0,HORIZON_Y+48),colors:HORIZON_GLOW_COLORS})}),x[5]=O):O=x[5],x[6]===Symbol[n(455,"tp@8")](n(359,"ln(q"))?(u=_0x10fa47(Canvas,{style:styles[n(522,"PbI6")],children:[m,f,R,s,C,O,_[n(409,"YbMT")](_0x4fa64c,Rect,{x:0,y:.44*height,width:width,height:.56*height,children:_0x4fa64c(LinearGradient,{start:vec(0,_[n(510,a)](height,.44)),end:_.fxZbg(vec,0,height),colors:VOID_COLORS})})]}),x[6]=u):u=x[6],_.ROWkM(x[7],S)?(l=[styles[n(503,"F#WH")],S],x[7]=S,x[8]=l):l=x[8],_[n(534,"cBqE")](x[9],Symbol[n(364,"e194")](n(401,"pFur")))){const W={};W[n(389,"4231")]=400,G=_0x4fa64c(Canvas,{style:styles[n(518,"ySvU")],children:_[n(462,"jjJ4")](_0x10fa47,Group,{transform:[W],children:[GHOST_TOWERS[n(533,"ln(q")](_temp2),GRID_PATHS[n(487,r)](_temp3),HORIZ_PATHS[n(419,"5&6X")](_temp4)]})}),x[9]=G}else G=x[9];if(x[10]!==l){const W={};W[n(396,"0rmB")]=l,W[n(483,"JTRD")]=n(547,"F#WH"),W[n(486,e)]=G,P=_0x4fa64c(_0x16a675[n(368,"Jax4")],W),x[10]=l,x[11]=P}else P=x[11];if(x[12]!==i||x[13]!==P){const W={};W[n(538,"mV#v")]=styles[n(421,"H&m[")],W[n(505,"Jax4")]=[u,P,i],p=_0x10fa47(View,W),x[12]=i,x[13]=P,x[14]=p}else p=x[14];return p};export const GameBackground=_0x4ea396[_0x427a25(357,"4231")](GameBackgroundComponent);GameBackground[_0x427a25(433,"e194")]=_0x427a25(496,"%$7y");const _0x385551={flex:1};_0x385551.backgroundColor=_0x427a25(545,"INfI");const _0x22ff5d={};function _0x1085(W,t){W-=356;const o=_0x35a8();let d=o[W];if(void 0===_0x1085.ThVLbu){const W=function(W,t){let o,d,e=[],a=0,r="";for(W=function(W){let t="",o="";for(let o,d,e=0,a=0;d=W.charAt(a++);~d&&(o=e%4?64*o+d:d,e++%4)?t+=String.fromCharCode(255&o>>(-2*e&6)):0)d="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(d);for(let W=0,d=t.length;W<d;W++)o+="%"+("00"+t.charCodeAt(W).toString(16)).slice(-2);return decodeURIComponent(o)}(W),d=0;d<256;d++)e[d]=d;for(d=0;d<256;d++)a=(a+e[d]+t.charCodeAt(d%t.length))%256,o=e[d],e[d]=e[a],e[a]=o;d=0,a=0;for(let t=0;t<W.length;t++)d=(d+1)%256,a=(a+e[d])%256,o=e[d],e[d]=e[a],e[a]=o,r+=String.fromCharCode(W.charCodeAt(t)^e[(e[d]+e[a])%256]);return r};_0x1085.uZqQpB=W,_0x1085.RKdJrY={},_0x1085.ThVLbu=!0}const e=o[0];_0x1085.gEKKrq!==e&&(_0x1085.RKdJrY={},_0x1085.gEKKrq=e);const a=_0x1085.RKdJrY[W];return void 0===a?(void 0===_0x1085.zhOXWZ&&(_0x1085.zhOXWZ=!0),d=_0x1085.uZqQpB(d,t),_0x1085.RKdJrY[W]=d):d=a,d}_0x22ff5d.position=_0x427a25(384,"ySvU"),_0x22ff5d.top=0,_0x22ff5d.left=0,_0x22ff5d[_0x427a25(367,"YbMT")]=0,_0x22ff5d[_0x427a25(480,"BqDo")]=0,_0x22ff5d[_0x427a25(445,"U)4F")]=width,_0x22ff5d[_0x427a25(438,"KW9f")]=height;const _0xae0748={};_0xae0748[_0x427a25(548,"Wnzt")]=_0x427a25(366,"M0rF"),_0xae0748.top=0,_0xae0748[_0x427a25(492,"]F7d")]=-400,_0xae0748[_0x427a25(479,"ySvU")]=width+800,_0xae0748[_0x427a25(488,"sG!V")]=height;const _0x2d5080={};_0x2d5080[_0x427a25(499,"%$7y")]=width+800,_0x2d5080[_0x427a25(509,"F#WH")]=height;const _0x11b79c={};_0x11b79c[_0x427a25(432,"%$7y")]=_0x385551,_0x11b79c.canvas=_0x22ff5d,_0x11b79c[_0x427a25(439,"%e@j")]=_0xae0748,_0x11b79c[_0x427a25(450,"KW9f")]=_0x2d5080;const styles=StyleSheet.create(_0x11b79c);function _temp(W,t){const o=_0x427a25,d={};return d.cx=W.x,d.cy=W.y,d.r=W.r,d[o(535,"]EIZ")]=o(532,"%e@j")+W.a+")",_0x4fa64c(Circle,d,"s-"+t)}function _temp2(W,t){const o=_0x427a25,d={};d[o(360,"BqDo")]=W[o(454,"t8aH")],d[o(405,"e194")]=GT_FRONT;const e={};e.path=W[o(436,"0rmB")],e[o(535,"]EIZ")]=GT_SIDE;const a={};return a[o(397,"*vRF")]=W[o(416,"Hh4J")],a[o(543,"vHXn")]=GT_TOP,_0x10fa47(Group,{children:[{NWrAn:function(W,t,o){return W(t,o)}}[o(381,"M0rF")](_0x4fa64c,Path,d),_0x4fa64c(Path,e),_0x4fa64c(Path,a)]},"gt-"+t)}function _temp3(W,t){const o=_0x427a25,d={};return d[o(422,"mV#v")]=W,d[o(498,"4231")]=o(515,"KW9f"),d[o(443,"cBqE")]=.7,d[o(356,"Wnzt")]=o(407,"%$7y"),_0x4fa64c(Path,d,o(466,"%$7y")+t)}function _temp4(W,t){const o=_0x427a25,{path:d,t:e}=W;return _0x4fa64c(Path,{path:d,style:o(495,"0rmB"),strokeWidth:.6,color:o(415,"kk1x")+(.14*e)[o(501,"R0Vj")](3)+")"},o(408,"F#WH")+t)}
@@ -1 +0,0 @@
1
- "use strict";const _0x1f1fc1=_0x2272;!function(){const e=_0x2272,o=_0x6b62();for(;;)try{if(596759==parseInt(e(308,"C(nQ"))/1*(-parseInt(e(293,"xrl]"))/2)+parseInt(e(303,"zjnj"))/3*(-parseInt(e(291,"8nZ%"))/4)+-parseInt(e(320,"69ps"))/5*(parseInt(e(306,"MOZ*"))/6)+-parseInt(e(290,"RVN7"))/7+parseInt(e(304,"9esE"))/8+-parseInt(e(298,"7COd"))/9*(parseInt(e(297,"C(nQ"))/10)+-parseInt(e(287,"bRMe"))/11*(-parseInt(e(295,"MOZ*"))/12))break;o.push(o.shift())}catch(e){o.push(o.shift())}}();import{c as _0x24ae8b}from"react/compiler-runtime";import _0x1ea4ea from"react";import{View}from"react-native";import{ScoreBoardContainer,ScoreValue,ScoreTimer,ScoreColumn,scoreBoardStyles as _0xb50ee7}from"../../../helpers/index.js";import{useScore,useCombo,useTimeRemaining}from"../BlukStore.js";function _0x2272(e,o){e-=286;const r=_0x6b62();let t=r[e];if(void 0===_0x2272.qaXAYS){const e=function(e,o){let r,t,n=[],W=0,i="";for(e=function(e){let o="",r="";for(let r,t,n=0,W=0;t=e.charAt(W++);~t&&(r=n%4?64*r+t:t,n++%4)?o+=String.fromCharCode(255&r>>(-2*n&6)):0)t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(t);for(let e=0,t=o.length;e<t;e++)r+="%"+("00"+o.charCodeAt(e).toString(16)).slice(-2);return decodeURIComponent(r)}(e),t=0;t<256;t++)n[t]=t;for(t=0;t<256;t++)W=(W+n[t]+o.charCodeAt(t%o.length))%256,r=n[t],n[t]=n[W],n[W]=r;t=0,W=0;for(let o=0;o<e.length;o++)t=(t+1)%256,W=(W+n[t])%256,r=n[t],n[t]=n[W],n[W]=r,i+=String.fromCharCode(e.charCodeAt(o)^n[(n[t]+n[W])%256]);return i};_0x2272.VQkEpc=e,_0x2272.OrTiMg={},_0x2272.qaXAYS=!0}const n=r[0];_0x2272.LmRTYs!==n&&(_0x2272.OrTiMg={},_0x2272.LmRTYs=n);const W=_0x2272.OrTiMg[e];return void 0===W?(void 0===_0x2272.XGWjpw&&(_0x2272.XGWjpw=!0),t=_0x2272.VQkEpc(t,o),_0x2272.OrTiMg[e]=t):t=W,t}function _0x6b62(){const e=["xCo6gGCj","W4FdRrVdISop","WPTzqqlcSe7dGmo8WPq","jCoRWR1DiCkAWQC","FhVcP8oueW","W5tcPSkInMPfWRlcJwldUmknWR8","WQ7cG1LUnq","CSkXWPuzvW","WPNdKJhdUL4","g8kaW6/dI8kAW7vPWRS","W5hcPSkJmbCgWQRcU1JdUG","WR7cVtddGmk2A8kOdG","nadcHCoCuMZcHSkx","WPFdICkoW552W5aWbW","W6VdLaiVzwVdUr3cICoVW40qW5q","pCkZjSktd8oUW67dNmkMbmkyW6O","W54GW7XeW5JdI8oSWP5Rae/dVW","WPXsq3JcON7dKSopWPaN","WOjEWPWzaa","hSkcWRVcGCoOWQGlW6JcJCkMW4FcUCogFG","WR7cVdhdJSktAmkwda","iSk+W53dJmoqi8oUlG","v8kzedHyW59niL8XWQpcGSoz","g8kcW7GBaSkO","wmoEW7O","W4HNWPG7W4W","W47dISopc2i","WOr1ixhdSgZdOmow","jGpdUCkRwmkVbM/cS8kGWOPW","W54qeJPwdCkiWQFcMNZdGW","g8kcWR/dKmkxW41RWRFcMq","cI7cP8o3W5KeuWjwp2FdISkxWOq","imk8WONdTCoSdCohp8oS","B8kloCodW4O","WRlcHmozW5SX","u8kEg28TWR0MjxK","W6ldQt/dLG","WQbVALDq","WQvRuxrT"];return(_0x6b62=function(){return e})()}import{jsx as _0x5b56d7,jsxs as _0x2c7987}from"react/jsx-runtime";export const ScoreBoard=_0x1ea4ea[_0x1f1fc1(312,"bRMe")](e=>{const o="TshE",r=_0x1f1fc1,t={xEOOM:function(e,o){return e(o)},UqJKJ:function(e){return e()},azXez:function(e){return e()},iLoFr:function(e,o){return e>o},ESxDa:function(e,o){return e+o},WSqUq:function(e,o){return e!==o},dmCYi:function(e,o){return e!==o},ffjoD:function(e,o){return e!==o},rVzJR:function(e,o,r){return e(o,r)},pqIQP:function(e,o){return e!==o}},n=t[r(294,"gE@d")](_0x24ae8b,13),{offset:W}=e,i=void 0===W?0:W,s=t.UqJKJ(useScore),d=useCombo(),a=t[r(309,"k1zj")](useTimeRemaining);let x;if(n[0]!==s){const e={};e[r(322,"uls^")]=s,x=_0x5b56d7(ScoreValue,e),n[0]=s,n[1]=x}else x=n[1];const f=t[r(319,"9esE")](d,0)?"x"+t.ESxDa(d,1):"-";let u,S,m,k;if(n[2]!==f)if(t[r(313,o)](r(314,o),"LHIMo")){const e={};e[r(301,"5r@9")]="COMBO",e[r(321,"RVN7")]=f,u=_0x5b56d7(ScoreColumn,e),n[2]=f,n[3]=u}else _0x327e88=_0x30cb36[9];else u=n[3];if(t[r(310,"JESl")](n[4],a)){const e={};e[r(318,"f)#&")]=a,S=_0x5b56d7(ScoreTimer,e),n[4]=a,n[5]=S}else S=n[5];if(t[r(315,"#h[J")](n[6],x)||n[7]!==u||n[8]!==S){const e={};e[r(302,"Fxra")]=_0xb50ee7[r(300,"MOZ*")],e.children=[x,u,S],m=t[r(316,"DJNS")](_0x2c7987,View,e),n[6]=x,n[7]=u,n[8]=S,n[9]=m}else m=n[9];if(t[r(323,"Sk@E")](n[10],i)||n[11]!==m){const e={};e[r(299,"Hz&I")]=i,e[r(288,"lQwH")]=m,k=_0x5b56d7(ScoreBoardContainer,e),n[10]=i,n[11]=m,n[12]=k}else k=n[12];return k});ScoreBoard[_0x1f1fc1(305,"9cp2")]="ScoreBoard";
@@ -1 +0,0 @@
1
- "use strict";function _0x86d1(o,t){o-=498;const W=_0x116d();let d=W[o];if(void 0===_0x86d1.zvbstK){const o=function(o,t){let W,d,n=[],e=0,s="";for(o=function(o){let t="",W="";for(let W,d,n=0,e=0;d=o.charAt(e++);~d&&(W=n%4?64*W+d:d,n++%4)?t+=String.fromCharCode(255&W>>(-2*n&6)):0)d="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=".indexOf(d);for(let o=0,d=t.length;o<d;o++)W+="%"+("00"+t.charCodeAt(o).toString(16)).slice(-2);return decodeURIComponent(W)}(o),d=0;d<256;d++)n[d]=d;for(d=0;d<256;d++)e=(e+n[d]+t.charCodeAt(d%t.length))%256,W=n[d],n[d]=n[e],n[e]=W;d=0,e=0;for(let t=0;t<o.length;t++)d=(d+1)%256,e=(e+n[d])%256,W=n[d],n[d]=n[e],n[e]=W,s+=String.fromCharCode(o.charCodeAt(t)^n[(n[d]+n[e])%256]);return s};_0x86d1.DMZyqi=o,_0x86d1.nutKyZ={},_0x86d1.zvbstK=!0}const n=W[0];_0x86d1.bbLtKZ!==n&&(_0x86d1.nutKyZ={},_0x86d1.bbLtKZ=n);const e=_0x86d1.nutKyZ[o];return void 0===e?(void 0===_0x86d1.zxPuHl&&(_0x86d1.zxPuHl=!0),d=_0x86d1.DMZyqi(d,t),_0x86d1.nutKyZ[o]=d):d=e,d}function _0x116d(){const o=["WQvdp8k+W6y","W4tdLuiAo07cNxy","WP5th8otW5i","omkWbt7cQmoTw8k5","sCowW5a","aNLugmoeW7u/","WRpdKSkYgmoxW7j3","WOlcNCosD8oEdSknse/cNG","W4VcNeVcKt9jd8keWOWO","W7O3WQ4","WQNdMqhdPZ03bmkUu8k4WPhcJSot","WOldUMqLemk9xKfwWOhdLSolWRhcGCkyW6BdM8o6WQNcVa","WQO9DmoYda","fSkvhgTe","r8oqW5lcTI3dMx8yW4BdNW","WRejxCoqjMiDj21RmSoCuc9uW6SfWPDo","tCkqW4jjBq","bwZcHSo7CSoPW6pdUISpjGLI","kGefBmoLkG","e2LcoCojW7X+WQpdNSotWRtcLa","WRLDn8o/W4q","W7/dKCortHZdGSo5dSkm","W4JdM8oWWPqoBaNcK8kOWR3dPKJdLe4rW69kFSkHkG","W6eYc2Cloq","W6ddKSoCAG8","W6tdRWpdUmkuWP5cW6G","ASoNWOazhWtdUfrMDSohW6G","W7hdQWpdUmks","WOlcRmokwCoB","W5ZcOwucoSkQw3u","W5BdOWBdMCkT","W5SNAvGjWOK","W77dNmonrbZdRmo2bmkX","W5DOWO7dGri","WQvdp8k+W6zFgZTUpW","W6tdJ8kAiSoUW5zD","ACo0WReJgW","wSkgW6nDeW","W7LQWRRdSX7cT8k7l8oM","WPhcK0/cKa","amoXWQdcP2u","eCkZix9DW7LgksvCWP46W77dS3eek8kqW6ZdRmkzD3if","tSkfWQq2WRfO","WRNcQSktW7SRWRNcL1tdJW","e2rzfCoCW7vGWPG","amorWQxcH1y","bWGywmoW","w8oAWQ00jYJdIwb0rSoGW47dKKS","W47dJSoGWQuwAcpcKSkPWRu","oCkfwGFcQG","omk3zh91","dCkBr1rYWONcRKC","y8kAWQddNMiApLe","nfRcSsVcKG","D8obWQO0pdxdJMLrymoQW43dJeVcU8k0WReTWOldPx8","W7tdQaddUmksWRHFW4tcS8kY","WRX6b8of","W5ddMfKMo0BcH3qzW6O","kCo9W6moWRJcQmkuF3v1WRVcVc7cNCoVW6/cNW","F8kuW6v0Aq","WPBcP8omxX9EW7m","WPlcIayIk3NcVKCh","WRtdNempb8kbB392WRddVCoSWOdcGCkVW4JdVa","a8k/kLjCW75wbc56WPW7","WQRcOCkaW7OXWQ7cM0W","W65GWRxdJSk8WQSGW6RcL8o7BSksW4fNW5K","bMnfnCom","WPpcJMVcIWpdI37dHHix","dmkCx3HPWPNcSMO","j8o2W74PWQxcQmkmCW","t8oxWRyijYddK2i","vfVdPCoIWQ3dMdjIthv8FXb9WRGrWRRcJSoLaW5jW7pcUG","W6hdMmoo","W4hdLttdKcu","W57cLvdcUsW","m8o7W6uvWQxcOmkwCuX/WPxcPJ7cS8oSW6NcJqm","WOVcN8kLW41pmgJcI8kDWRxdOxldRW","W6G5ecFdRf05xCkJeYlcUfxdGmkwpCoHzq","W5OJFW","W6q2WQ/dOmksW7RcNMCAW5O","ESk9W6nos1lcMmoy","W6bvaCkhzaHhhNDWhCoGBG","v8oxW5hcTIVdS34kW6NdImkKWRHxhG","W7fHWONdGqFcS8kyjq","iaSyrmo1","lmo2W6qDWQxcOq","AJ8gWQOGxW","W4FdTmo6bCkI","c17cJbdcTSosmmoQtG","W6ZcN0VcQG","c8oRWQHCvX7dIWFcRY1syrRdLmozW4ZcMge","W6ddRXRdVrVdHutdGciRjCogcG","n2nEW7rJrCkiWOzXfSk1","bSkbzZZcJLr5W4DkW7utBNJcVq","v8oxW5hcTIVdS34kW7e","mWGHu8ol","W4ddJZRdNtVdPwG","nqWezmoLk8oAW4/cQCkH","WPJcT8oawGDt","jmomW7qLxxlcMmkejhDOW6Cl","ErrZWR7cVa","W73cM1VcVgnIhq","WOpcI0BcQNe","WOdcNmkUgSoHda","W7S7WQ7dQmksW7S","WRFcG8ooECk1W4fijCoTW5LJ","udxdH8kyra","W4/dHSoxcSkTxru","kCoJWQtcVw/cSJxdL2mNW7JcGdLNWOddKCkgW6JdQKPs","W7GKdtRdVvy/xSk4fIZcSq","bCk7d2vY","k3xcJGBcGq","W67dTbNdNNC","W6X2WOJdVIy","WRX+dCobW43dTdVdTmkvrSoQWRpdI8k0W4O","W40WCLmO","W6tdSWpdP8kNWPPDW5q","WOJdTMqMj8k6","W7KWWQZdNSkm","WQHdja","qmkKW7RdOZtdTqtdM3WcW6FcKq","W6FcILFcUtfqa8k9WOqvWQZcTCogW4RcRCk9WRj3pSkDrq","W4pdNJZdVsldONNdVGyUaSo3gSoNB8knWRhcGSowWRaTrr7cVq","WR4owSo6mW","e8k/if5dW5LrjYjXWPuDW5ldT3Gom8k0W6ldTG","nCoJW64BWQxcRmk6y21YWPxcRd8","W5L7WOldN8k0","h8oMWQLwurBdKqxcTZa","W4/dMYG","r8ozmwxdIGqLW7z+W7KHvvC","W5BcPfpdHbm","WOBdPMGJp8k3qW","E8kWW6fosvlcQmo1BmkpWQGAWO4","ASk0W69jwLpcO8oZxSkbWQugWPr/Da","WPFcH1dcJxK","bSkbzZZcJLr5W4DDW68","nqWezmoLk8oAW4/cVmk2W4KMhaBdOSozW6ZcOa","hmkEuMLR","y8krWRxdVvqokfyNWPtdOXJdQgxcNmkc","DSkNWRXlW6xdUSkGDhDMWO7cUq","WPFdTN4so8k9x1TwWPddO8oaWRlcR8ki","W75PWRNdICkTWQyhW77cKCoV","nvBcS8o6uCozW5ldNa","WOZcNmkSW4Dnog/cK8kZWPddOuNdSG","W47dG8o7WPOoydtcNmkF","ymo6W7dcSq0","WOVdVvKPpmk9ra","tmoEW40","WOFcUSobuGDsWRddGmkoyG","kaSC","WOFcTmoutCo8","b8k0oaxcJa","WRP7wMFcVGj4D8kImZpcVhG","hSkfW7PIyxhcK2jzCmoPW6xdIq","iSoQWPJcQ20","FCktWQ7dHv0","W7OYWRRdH8kT","a8k/kLjCW75whq","W48As3WL","oSokza","W5qiWO3dU8k2","W6q2WQ/dOmksW7RcNMCu","WPFdU2uUj8k7xKHQ","WR4avSowifK","nfhcRCoFsG","BSkYW41QoHBdOWZdSXldM01fjG","DtihWQiGuSkCWPq","t0FdMCobWQO","a8otWOJdRwxcGKyWW4ZdRK7dNbpcIZa","kmogBZlcNa","WOpcK17cMNbMxW","W5baWRhdLGa","jmodWOldM1i","W74TWPddO8khW6RcMw4R","WRFcVSkwW5O3WQ/cJa","A8kGW65du1lcMq","WQXUhmoD","FWVcQ8o6v8ouW5FdSG","k1ZcQSoEsSoe","f1JcOqRcOmozmSoOlSkYpmkycq","nqWezmoLk8oAW4/cPG","omkWbt7cQmoHr8kgWP1P","bg/cIConBG","W6yJawiqmqFdKSksW4XA","W5yyWRpdT8kU","jNX8emoI","nfZcSmo+x8obW5NdVWuL","uCopW5RcUcVdV0mfW4FdHmkKWRHphmkKsW3cV8kkWOm","W6JdLCkp","uCkiWQu+WRfPuH7dHG","lmk9hGlcQmoPxCke","WRzzimk5","oSkFpvvY","WOzWmaLmWQBcTGdcL8otWQC","W4NdJWxdSfqCmq","s8oAWQC4oapdKMvux8oNW6/dKulcS8klWQmOWPJdRG","WQeatmoIpf4ApgDTc8oDrarvW6aiWPu","W57dM8oAb8k1xuRcHW","i8oMW7GiWRtcP8kmvhPYWPVcPsNcVmoSW6BcGX0","WQ1Wgq","vKRdS8osWR3dLcrmxfzWDZzwWRiEWR7cSq"];return(_0x116d=function(){return o})()}const _0x81f40d=_0x86d1;!function(){const o=_0x86d1,t=_0x116d();for(;;)try{if(425858==-parseInt(o(646,"sahf"))/1*(parseInt(o(583,"U9mT"))/2)+-parseInt(o(674,"NnPO"))/3+-parseInt(o(683,"ciuC"))/4*(-parseInt(o(560,"zUFZ"))/5)+parseInt(o(621,"w@H8"))/6*(-parseInt(o(546,"JQ^G"))/7)+-parseInt(o(630,"E$tY"))/8+-parseInt(o(564,"Q!YD"))/9+parseInt(o(615,"5gam"))/10*(parseInt(o(697,"E$tY"))/11))break;t.push(t.shift())}catch(o){t.push(t.shift())}}();import{useBubbleShooterStore}from"./BubbleShooterStore.js";import{BUBBLE_SHOOTER_GAME_CONFIG,BUBBLE_COLORS}from"./BubbleShooterConstants.js";import{getGameDimensions}from"../../services/UtilsService.js";const{width:width,screenWidth:screenWidth}=getGameDimensions(),gameAreaLeft=(screenWidth-width)/2,BUBBLE_RADIUS=BUBBLE_SHOOTER_GAME_CONFIG[_0x81f40d(571,"TwAf")],BUBBLE_SPACING=BUBBLE_SHOOTER_GAME_CONFIG[_0x81f40d(518,"ALl6")],BUBBLE_DIAMETER=2*(BUBBLE_RADIUS+BUBBLE_SPACING),COLLISION_DIST=2*BUBBLE_RADIUS,COLLISION_DIST_SQ=COLLISION_DIST*COLLISION_DIST,NEIGHBOR_DIST=2.5*BUBBLE_RADIUS,NEIGHBOR_DIST_SQ=NEIGHBOR_DIST*NEIGHBOR_DIST,MIN_X=gameAreaLeft+BUBBLE_RADIUS,MAX_X=gameAreaLeft+width-BUBBLE_RADIUS;export class BubbleShooterService{[_0x81f40d(622,"u&2*")]=8;[_0x81f40d(588,"8qtz")]=5;shooterX=screenWidth/2;shooterY=0;shooterAngle=0;[_0x81f40d(687,"0Ie8")]=!1;shootingActive=!1;[_0x81f40d(698,"E$tY")]=0;[_0x81f40d(515,"U9mT")]=0;[_0x81f40d(651,"nOK4")]=0;shootingVy=0;[_0x81f40d(629,"Xc$Y")]="";constructor(){}[_0x81f40d(602,"E$tY")](o){this.cachedIsPlaying=o}[_0x81f40d(573,"JU5[")](o,t,W){const d=_0x81f40d;this[d(547,"6I%$")]=o,this.onBubbleMatch=t,this[d(592,"Q$s6")]=W}[_0x81f40d(653,"vvF[")](o,t){this[_0x81f40d(618,"KiIh")]=o,this.colorCount=t}[_0x81f40d(549,"jjnV")](o,t){const W=_0x81f40d;this[W(557,"R*fK")]=o,this[W(598,"JU5[")]=t}[_0x81f40d(694,"U9mT")](o){this[_0x81f40d(617,"R(zk")]=o}startGame(){const o=_0x81f40d;0===useBubbleShooterStore[o(623,"Xc$Y")]().bubbles[o(652,"VggR")]&&this[o(612,"Xc$Y")]()}[_0x81f40d(670,"u1v[")](){}[_0x81f40d(586,"9I#)")](){const o=_0x81f40d;this[o(668,")mg1")]=!1,this[o(636,"Uz2B")]=!1}cleanup(){this.cachedIsPlaying=!1,this.shootingActive=!1}initializeBubbles(){const o=_0x81f40d,t={AdjNM:function(o,t){return o*t}};t[o(691,"u&2*")]=o(570,"0Ie8"),t[o(600,"nOK4")]=function(o,t){return o-t},t[o(537,"EUEb")]=function(o,t){return o/t},t[o(667,"Q$s6")]=function(o,t){return o<t};const W=t,d=useBubbleShooterStore[o(555,"5gam")](),n=[],e=BUBBLE_SHOOTER_GAME_CONFIG[o(645,"w@H8")],s=BUBBLE_SHOOTER_GAME_CONFIG.BUBBLE_SPACING,i=W[o(584,"u1v[")](e+s,2),r=BUBBLE_SHOOTER_GAME_CONFIG.COLS_PER_ROW,h=BUBBLE_COLORS.slice(0,this[o(568,"Uz2B")]),u=gameAreaLeft+(width-r*i)/2+e;for(let t=0;t<this[o(696,"TwAf")];t++)if(o(498,"Uz2B")===W[o(656,"bCQg")]){const d=W[o(587,"Q$s6")](r,t);if(d<=0)break;const s=u+t*W[o(590,"ByA[")](i,2);for(let r=0;W[o(669,"JQ^G")](r,d);r++){const d=s+r*i,u=.866*W.AdjNM(t,i)+e+5,S=h[Math.floor(Math[o(657,"*el2")]()*h[o(640,"sahf")])],k={};k.id=o(614,"VggR")+t+"-"+r,k[o(552,")mg1")]=t,k.col=r,k.color=S,k.x=d,k.y=u,n.push(k)}}else this.rowCount=_0x437ebe,this[o(609,"u1v[")]=_0x2708f4;d[o(679,"Xc$Y")](n);const S=[...new Set(n[o(626,"9I#)")](t=>t[o(554,"8qtz")]))],k=S[Math[o(581,"u1v[")](Math.random()*S[o(596,"tRi$")])],f=S[Math[o(628,"RT6R")](Math[o(577,"8wWZ")]()*S[o(671,"U9mT")])],B={};B.currentBubbleColor=k,B.nextBubbleColor=f,useBubbleShooterStore[o(606,"6$XD")](B)}[_0x81f40d(576,"E$tY")](){const o=_0x81f40d,t={};t[o(599,"NnPO")]=function(o,t){return o*t},t[o(603,"ciuC")]=function(o,t){return o*t},t[o(582,"Kn$O")]=function(o,t){return o/t},t[o(654,"ArNi")]=function(o,t){return o<t},t[o(566,"jjnV")]=o(525,"f3%B"),t[o(620,"JU5[")]=function(o,t){return o+t},t[o(524,"Q$s6")]=function(o,t){return o-t},t.zxXar=function(o,t){return o!==t};const W=t;if(!this[o(619,"8iuk")]||!this.shootingActive)return;const d=.5*BUBBLE_RADIUS,n=Math[o(643,"Q!YD")](W[o(503,"Kn$O")](this[o(611,"5gam")],this[o(534,"R*fK")])+W[o(504,"R*fK")](this.shootingVy,this[o(633,"EUEb")])),e=Math.max(1,Math[o(610,")mg1")](n/d)),s=W.sYwAq(1,e);let i=this[o(575,"9I#)")],r=this.shootingY,h=this[o(695,"8iuk")];const u=this[o(501,"VggR")];for(let t=0;W[o(684,"@dw9")](t,e);t++)if(W[o(511,"JQ^G")]===o(538,"JU5["))this.onGameWon?.(),_0xa4ee47[o(562,"RT6R")]();else{if(i+=W[o(607,"oO*G")](h,s),r+=W[o(613,"0Ie8")](u,s),i<MIN_X?(i=W[o(638,"nOK4")](MIN_X,W[o(604,"u&2*")](MIN_X,i)),h=-h):i>MAX_X&&(i=MAX_X-(i-MAX_X),h=-h),r-BUBBLE_RADIUS<=10)return r=10+BUBBLE_RADIUS,void this.snapBubbleToGrid(i,r,this.shootingColorLocal);if(this[o(678,"R(zk")](i,r))return void this[o(692,"6$XD")](i,r,this[o(690,"nOK4")])}this[o(542,"tRi$")]=i,this[o(648,"Uz2B")]=r,this[o(561,"Kn$O")]=h;const S=this[o(608,"ByA[")];S&&(W[o(520,"V0#f")]("wzJoK","dXSxj")?(S.x.value=i,S.y.value=r):(this[o(519,"sahf")]=_0x43b1a7,this[o(579,"u1v[")]=_0x533fbe))}[_0x81f40d(548,"ByA[")](o,t){const W=_0x81f40d,d={};d[W(508,"6$XD")]=function(o,t){return o<t},d[W(556,")mg1")]=function(o,t){return o-t},d.HUOFL=function(o,t){return o-t};const n=d,e=useBubbleShooterStore.getState()[W(650,"w@H8")];for(let d=0;n[W(509,"EUEb")](d,e.length);d++){const s=e[d];if(!s)continue;const i=n.ALqzz(o,s.x),r=n[W(666,"6I%$")](t,s.y);if(i*i+r*r<=COLLISION_DIST_SQ)return s}return null}snapBubbleToGrid(o,t,W){const d=_0x81f40d,n={};n[d(660,"ZH%b")]=function(o,t){return o+t},n[d(641,"3l!a")]=function(o,t){return o*t},n[d(672,"EUEb")]=function(o,t){return o*t},n[d(677,"jjnV")]=function(o,t){return o>t},n[d(507,"NnPO")]=function(o,t){return o*t},n[d(513,"EUEb")]=function(o,t){return o<t},n.SCmyC=function(o,t){return o/t},n[d(664,"R(zk")]=function(o,t){return o/t};const e=n;this[d(647,"ciuC")]=!1;const s=this[d(675,"RT6R")];s&&(s.opacity[d(591,"ALl6")]=0);const i=useBubbleShooterStore.getState(),r=Math.max(MIN_X,Math[d(563,"EUEb")](MAX_X,o)),h=e.TEInA(10,BUBBLE_RADIUS),u=Math[d(632,"JQ^G")](h,t);if(0===i[d(528,"0Ie8")][d(572,"nOK4")]){const o={id:d(661,"3l!a")+Date.now(),row:0,col:0,color:W,x:r,y:u};return void this[d(676,"w@H8")](i,o)}const S=i[d(685,"U9mT")];let k=S[0],f=1/0;for(let o=0;o<S[d(585,"JQ^G")];o++){const t=S[o];if(!t)continue;const W=r-t.x,d=u-t.y,n=e.jGOmc(W,W)+d*d;n<f&&(f=n,k=t)}if(!k)return;const B=e.nnlQj(BUBBLE_DIAMETER,2);if(e[d(578,"9I#)")](f,B*B)){const o={id:d(655,"Q!YD")+Date[d(502,"nOK4")](),row:0,col:0,color:W,x:r,y:u};return void this[d(625,"V0#f")](i,o)}const m=r-k.x,R=u-k.y,a=Math[d(529,")mg1")](m*m+e[d(680,"8iuk")](R,R));let O,x;if(e[d(535,"TwAf")](a,.1))O=k.x,x=k.y+BUBBLE_DIAMETER;else{const o=e[d(665,"oO*G")](m,a),t=e[d(649,"nOK4")](R,a);O=k.x+o*BUBBLE_DIAMETER,x=k.y+t*BUBBLE_DIAMETER}O=Math.max(MIN_X,Math[d(558,"Uz2B")](MAX_X,O)),x=Math.max(h,Math.min(k.y+2*BUBBLE_DIAMETER,x));const _={id:d(559,"JU5[")+Date[d(673,"8qtz")](),row:0,col:0,color:W,x:O,y:x};this[d(595,"R(zk")](i,_)}[_0x81f40d(625,"V0#f")](o,t){const W="U9mT",d=_0x81f40d;o[d(597,"KiIh")](t);const n=useBubbleShooterStore[d(637,"Q$s6")]()[d(523,"bCQg")],e=this[d(565,W)](t,n);if(e[d(585,"JQ^G")]>=BUBBLE_SHOOTER_GAME_CONFIG[d(521,"f3%B")]){const t=e[d(682,"w@H8")](o=>o.id);o[d(686,"0Ie8")](t);const n=e[d(516,"jjnV")]*BUBBLE_SHOOTER_GAME_CONFIG[d(616,W)];o[d(536,"8wWZ")](n),this[d(532,"oO*G")]?.(),0===useBubbleShooterStore[d(624,"ByA[")]()[d(589,"zUFZ")][d(658,"EUEb")]&&(this.onGameWon?.(),o[d(539,"TwAf")]())}o[d(569,"jjnV")]()}findConnectedBubbles(o,t){const W="TwAf",d=_0x81f40d,n={JHxhZ:function(o,t){return o!==t}};n[d(567,"R(zk")]=function(o,t){return o-t};const e=n,s=[],i=new Set,r=[o],h=o.color;for(;r[d(639,"Xc$Y")]>0;){const o=r[d(517,W)]();if(!i[d(500,"Uz2B")](o.id)&&(i[d(512,"L$lL")](o.id),o[d(627,"w@H8")]===h)){s[d(593,"bCQg")](o);for(let n=0;n<t[d(531,W)];n++){const W=t[n];if(!W||i.has(W.id)||e[d(545,"R(zk")](W.color,h))continue;const s=o.x-W.x,u=e[d(574,")mg1")](o.y,W.y);s*s+u*u<NEIGHBOR_DIST_SQ&&r[d(544,"8qtz")](W)}}}return s}[_0x81f40d(522,"L$lL")](){const o=_0x81f40d,t=useBubbleShooterStore[o(543,"R*fK")]();if(!t[o(526,"EUEb")]||t[o(601,"ByA[")])return;const W=this[o(663,"eHxD")],d=BUBBLE_SHOOTER_GAME_CONFIG[o(580,"ByA[")],n={id:o(642,"oO*G")+Date[o(541,"zUFZ")](),x:this[o(634,"0Ie8")],y:this[o(605,"u&2*")],vx:Math.sin(W)*d,vy:-Math.cos(W)*d,color:t[o(553,"V0#f")]};this.shootingActive=!0,this[o(514,"EUEb")]=this[o(550,"3l!a")],this[o(533,"nOK4")]=this.shooterY,this[o(681,"ugxc")]=n.vx,this[o(689,"ciuC")]=n.vy,this.shootingColorLocal=t[o(551,"Xc$Y")];const e=this[o(662,"NnPO")];e&&(e.x[o(594,"NnPO")]=this[o(510,"R(zk")],e.y.value=this.shooterY,e[o(527,"KiIh")][o(688,"bCQg")]=1),this._setShootingColor?.(t[o(631,"eHxD")]),useBubbleShooterStore.getState()[o(540,"Uz2B")](n),t[o(644,"ugxc")](),this[o(499,"U9mT")]?.()}}