@tsparticles/pjs 4.0.0-beta.5 → 4.0.0-beta.8

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 (334) hide show
  1. package/{7590.min.js → 1241.min.js} +1 -1
  2. package/1441.min.js +2 -0
  3. package/{4656.min.js → 1521.min.js} +1 -1
  4. package/1523.min.js +1 -0
  5. package/{3088.min.js → 1581.min.js} +1 -1
  6. package/1583.min.js +1 -0
  7. package/1680.min.js +1 -0
  8. package/1684.min.js +1 -0
  9. package/{5532.min.js → 1712.min.js} +1 -1
  10. package/{5212.min.js → 1723.min.js} +1 -1
  11. package/175.min.js +1 -0
  12. package/1807.min.js +1 -0
  13. package/1879.min.js +1 -0
  14. package/{6202.min.js → 1887.min.js} +1 -1
  15. package/1924.min.js +1 -0
  16. package/{6808.min.js → 2049.min.js} +1 -1
  17. package/{7604.min.js → 2066.min.js} +1 -1
  18. package/{8360.min.js → 2127.min.js} +1 -1
  19. package/2191.min.js +1 -0
  20. package/{5541.min.js → 2270.min.js} +1 -1
  21. package/2319.min.js +1 -0
  22. package/2344.min.js +1 -0
  23. package/2438.min.js +1 -0
  24. package/2556.min.js +1 -0
  25. package/2575.min.js +1 -0
  26. package/2602.min.js +1 -0
  27. package/2631.min.js +1 -0
  28. package/2697.min.js +1 -0
  29. package/2760.min.js +1 -0
  30. package/{6364.min.js → 2827.min.js} +1 -1
  31. package/{2554.min.js → 3047.min.js} +1 -1
  32. package/{9134.min.js → 3073.min.js} +1 -1
  33. package/{7721.min.js → 3376.min.js} +1 -1
  34. package/{9748.min.js → 3384.min.js} +1 -1
  35. package/{5742.min.js → 3443.min.js} +1 -1
  36. package/3544.min.js +1 -0
  37. package/{4550.min.js → 3583.min.js} +1 -1
  38. package/3683.min.js +2 -0
  39. package/3685.min.js +1 -0
  40. package/3729.min.js +1 -0
  41. package/374.min.js +1 -0
  42. package/382.min.js +1 -0
  43. package/4.min.js +1 -0
  44. package/{8446.min.js → 4067.min.js} +1 -1
  45. package/{9027.min.js → 4068.min.js} +1 -1
  46. package/4077.min.js +1 -0
  47. package/{7596.min.js → 4086.min.js} +1 -1
  48. package/4153.min.js +1 -0
  49. package/4186.min.js +1 -0
  50. package/4217.min.js +1 -0
  51. package/4291.min.js +1 -0
  52. package/{9368.min.js → 4427.min.js} +1 -1
  53. package/4519.min.js +1 -0
  54. package/4568.min.js +1 -0
  55. package/4582.min.js +1 -0
  56. package/4626.min.js +1 -0
  57. package/4657.min.js +1 -0
  58. package/4862.min.js +1 -0
  59. package/{8243.min.js → 4912.min.js} +1 -1
  60. package/5048.min.js +1 -0
  61. package/5162.min.js +1 -0
  62. package/5294.min.js +1 -0
  63. package/{3477.min.js → 5344.min.js} +1 -1
  64. package/5406.min.js +1 -0
  65. package/541.min.js +1 -0
  66. package/5445.min.js +1 -0
  67. package/5629.min.js +1 -0
  68. package/5757.min.js +1 -0
  69. package/{8708.min.js → 5936.min.js} +1 -1
  70. package/6055.min.js +1 -1
  71. package/6099.min.js +1 -0
  72. package/{8274.min.js → 6171.min.js} +1 -1
  73. package/{3304.min.js → 6192.min.js} +1 -1
  74. package/{6613.min.js → 6207.min.js} +1 -1
  75. package/{7386.min.js → 6281.min.js} +1 -1
  76. package/6379.min.js +1 -0
  77. package/6380.min.js +1 -0
  78. package/6420.min.js +1 -0
  79. package/6466.min.js +1 -0
  80. package/6477.min.js +1 -0
  81. package/648.min.js +1 -0
  82. package/6549.min.js +1 -0
  83. package/6704.min.js +1 -0
  84. package/6715.min.js +1 -0
  85. package/6798.min.js +1 -0
  86. package/{5686.min.js → 6943.min.js} +1 -1
  87. package/6972.min.js +1 -0
  88. package/6996.min.js +1 -0
  89. package/{7017.min.js → 7162.min.js} +1 -1
  90. package/7175.min.js +1 -0
  91. package/{7374.min.js → 7213.min.js} +1 -1
  92. package/7259.min.js +1 -0
  93. package/7316.min.js +1 -0
  94. package/7563.min.js +1 -0
  95. package/{8930.min.js → 7711.min.js} +1 -1
  96. package/7757.min.js +1 -0
  97. package/{5668.min.js → 7775.min.js} +1 -1
  98. package/7792.min.js +1 -0
  99. package/{3693.min.js → 7912.min.js} +1 -1
  100. package/805.min.js +1 -0
  101. package/8161.min.js +1 -0
  102. package/8192.min.js +1 -0
  103. package/8292.min.js +1 -0
  104. package/8331.min.js +1 -0
  105. package/8386.min.js +1 -0
  106. package/8459.min.js +1 -0
  107. package/8523.min.js +1 -0
  108. package/{6598.min.js → 8607.min.js} +1 -1
  109. package/8656.min.js +1 -0
  110. package/8731.min.js +1 -0
  111. package/8855.min.js +1 -0
  112. package/{4088.min.js → 9007.min.js} +1 -1
  113. package/9154.min.js +1 -0
  114. package/9407.min.js +1 -0
  115. package/9434.min.js +1 -0
  116. package/9470.min.js +1 -0
  117. package/9618.min.js +1 -0
  118. package/{4468.min.js → 9674.min.js} +1 -1
  119. package/9726.min.js +1 -0
  120. package/{5602.min.js → 9835.min.js} +1 -1
  121. package/9907.min.js +1 -0
  122. package/README.md +17 -0
  123. package/basic_dist_browser_index_js.js +2 -2
  124. package/browser/index.js +1 -1
  125. package/cjs/index.js +1 -1
  126. package/engine_dist_browser_Core_Container_js.js +1 -1
  127. package/esm/index.js +1 -1
  128. package/full_dist_browser_index_js.js +2 -2
  129. package/interactions_external_attract_dist_browser_Attractor_js.js +2 -2
  130. package/interactions_external_attract_dist_browser_index_js.js +2 -2
  131. package/interactions_external_bounce_dist_browser_Bouncer_js.js +2 -2
  132. package/interactions_external_bounce_dist_browser_index_js.js +2 -2
  133. package/interactions_external_bubble_dist_browser_Bubbler_js.js +2 -2
  134. package/interactions_external_bubble_dist_browser_index_js.js +2 -2
  135. package/interactions_external_connect_dist_browser_Connector_js.js +2 -2
  136. package/interactions_external_connect_dist_browser_index_js.js +2 -2
  137. package/interactions_external_drag_dist_browser_Dragger_js.js +2 -2
  138. package/interactions_external_drag_dist_browser_index_js.js +2 -2
  139. package/interactions_external_grab_dist_browser_Grabber_js.js +2 -2
  140. package/interactions_external_grab_dist_browser_index_js.js +2 -2
  141. package/interactions_external_parallax_dist_browser_Parallaxer_js.js +2 -2
  142. package/interactions_external_parallax_dist_browser_index_js.js +2 -2
  143. package/interactions_external_pause_dist_browser_Pauser_js.js +2 -2
  144. package/interactions_external_pause_dist_browser_index_js.js +2 -2
  145. package/interactions_external_push_dist_browser_Pusher_js.js +2 -2
  146. package/interactions_external_push_dist_browser_index_js.js +2 -2
  147. package/interactions_external_remove_dist_browser_Remover_js.js +2 -2
  148. package/interactions_external_remove_dist_browser_index_js.js +2 -2
  149. package/interactions_external_repulse_dist_browser_Repulser_js.js +2 -2
  150. package/interactions_external_repulse_dist_browser_index_js.js +2 -2
  151. package/interactions_external_slow_dist_browser_Slower_js.js +2 -2
  152. package/interactions_external_slow_dist_browser_index_js.js +2 -2
  153. package/interactions_external_trail_dist_browser_TrailMaker_js.js +2 -2
  154. package/interactions_external_trail_dist_browser_index_js.js +2 -2
  155. package/interactions_particles_attract_dist_browser_Attractor_js.js +2 -2
  156. package/interactions_particles_attract_dist_browser_index_js.js +2 -2
  157. package/interactions_particles_collisions_dist_browser_Collider_js.js +2 -2
  158. package/interactions_particles_collisions_dist_browser_OverlapPluginInstance_js.js +1 -1
  159. package/interactions_particles_collisions_dist_browser_OverlapPlugin_js.js +1 -1
  160. package/interactions_particles_collisions_dist_browser_index_js.js +2 -2
  161. package/interactions_particles_links_dist_browser_LinkInstance_js.js +1 -1
  162. package/interactions_particles_links_dist_browser_Linker_js.js +2 -2
  163. package/interactions_particles_links_dist_browser_LinksPlugin_js.js +1 -1
  164. package/interactions_particles_links_dist_browser_index_js.js +2 -2
  165. package/package.json +4 -4
  166. package/plugins_absorbers_dist_browser_AbsorberInstance_js.js +1 -1
  167. package/plugins_absorbers_dist_browser_AbsorbersInstancesManager_js.js +1 -1
  168. package/plugins_absorbers_dist_browser_AbsorbersInteractor_js.js +2 -2
  169. package/plugins_absorbers_dist_browser_AbsorbersPluginInstance_js.js +1 -1
  170. package/plugins_absorbers_dist_browser_AbsorbersPlugin_js.js +1 -1
  171. package/plugins_absorbers_dist_browser_getAbsorbersInstancesManager_js.js +1 -1
  172. package/plugins_absorbers_dist_browser_index_js.js +3 -3
  173. package/plugins_colors_hex_dist_browser_HexColorManager_js.js +1 -1
  174. package/plugins_colors_hex_dist_browser_index_js.js +2 -2
  175. package/plugins_colors_hsl_dist_browser_HslColorManager_js.js +1 -1
  176. package/plugins_colors_hsl_dist_browser_index_js.js +2 -2
  177. package/plugins_colors_rgb_dist_browser_RgbColorManager_js.js +1 -1
  178. package/plugins_colors_rgb_dist_browser_index_js.js +2 -2
  179. package/plugins_easings_quad_dist_browser_easingsFunctions_js.js +1 -1
  180. package/plugins_easings_quad_dist_browser_index_js.js +2 -2
  181. package/plugins_emittersShapes_circle_dist_browser_EmittersCircleShapeGenerator_js.js +3 -3
  182. package/plugins_emittersShapes_circle_dist_browser_index_js.js +2 -2
  183. package/plugins_emittersShapes_square_dist_browser_EmittersSquareShapeGenerator_js.js +3 -3
  184. package/plugins_emittersShapes_square_dist_browser_index_js.js +2 -2
  185. package/plugins_emitters_dist_browser_EmitterInstance_js.js +1 -1
  186. package/plugins_emitters_dist_browser_EmittersInstancesManager_js.js +1 -1
  187. package/plugins_emitters_dist_browser_EmittersInteractor_js.js +2 -2
  188. package/plugins_emitters_dist_browser_EmittersPluginInstance_js.js +1 -1
  189. package/plugins_emitters_dist_browser_EmittersPlugin_js.js +1 -1
  190. package/plugins_emitters_dist_browser_ShapeManager_js.js +1 -1
  191. package/plugins_emitters_dist_browser_addEmittersShapesManager_js.js +1 -1
  192. package/plugins_emitters_dist_browser_getEmittersInstancesManager_js.js +1 -1
  193. package/plugins_emitters_dist_browser_index_js.js +3 -3
  194. package/plugins_interactivity_dist_browser_InteractivityPluginInstance_js.js +1 -1
  195. package/plugins_interactivity_dist_browser_InteractivityPlugin_js.js +1 -1
  196. package/plugins_interactivity_dist_browser_index_js.js +2 -2
  197. package/plugins_move_dist_browser_MovePluginInstance_js.js +1 -1
  198. package/plugins_move_dist_browser_MovePlugin_js.js +1 -1
  199. package/plugins_move_dist_browser_index_js.js +2 -2
  200. package/plugins_responsive_dist_browser_ResponsivePluginInstance_js.js +1 -1
  201. package/plugins_responsive_dist_browser_ResponsivePlugin_js.js +1 -1
  202. package/plugins_responsive_dist_browser_index_js.js +2 -2
  203. package/report.html +1 -1
  204. package/shapes_circle_dist_browser_CircleDrawer_js.js +1 -1
  205. package/shapes_circle_dist_browser_index_js.js +2 -2
  206. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +1 -1
  207. package/shapes_emoji_dist_browser_index_js.js +2 -2
  208. package/shapes_image_dist_browser_GifUtils_Utils_js.js +1 -1
  209. package/shapes_image_dist_browser_ImageDrawer_js.js +1 -1
  210. package/shapes_image_dist_browser_ImagePreloaderInstance_js.js +1 -1
  211. package/shapes_image_dist_browser_ImagePreloader_js.js +1 -1
  212. package/shapes_image_dist_browser_index_js.js +2 -2
  213. package/shapes_line_dist_browser_LineDrawer_js.js +1 -1
  214. package/shapes_line_dist_browser_index_js.js +2 -2
  215. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +1 -1
  216. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +1 -1
  217. package/shapes_polygon_dist_browser_index_js.js +2 -2
  218. package/shapes_square_dist_browser_SquareDrawer_js.js +1 -1
  219. package/shapes_square_dist_browser_index_js.js +2 -2
  220. package/shapes_star_dist_browser_StarDrawer_js.js +1 -1
  221. package/shapes_star_dist_browser_index_js.js +2 -2
  222. package/shapes_text_dist_browser_TextDrawer_js.js +1 -1
  223. package/shapes_text_dist_browser_index_js.js +2 -2
  224. package/slim_dist_browser_index_js.js +2 -2
  225. package/tsparticles.pjs.bundle.js +6 -6
  226. package/tsparticles.pjs.bundle.min.js +2 -2
  227. package/tsparticles.pjs.js +2 -2
  228. package/tsparticles.pjs.min.js +1 -1
  229. package/updaters_destroy_dist_browser_DestroyUpdater_js.js +2 -2
  230. package/updaters_destroy_dist_browser_index_js.js +2 -2
  231. package/updaters_fillColor_dist_browser_FillColorUpdater_js.js +1 -1
  232. package/updaters_fillColor_dist_browser_index_js.js +2 -2
  233. package/updaters_life_dist_browser_LifeUpdater_js.js +1 -1
  234. package/updaters_life_dist_browser_index_js.js +2 -2
  235. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +1 -1
  236. package/updaters_opacity_dist_browser_index_js.js +2 -2
  237. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +1 -1
  238. package/updaters_outModes_dist_browser_index_js.js +2 -2
  239. package/updaters_roll_dist_browser_RollUpdater_js.js +1 -1
  240. package/updaters_roll_dist_browser_index_js.js +2 -2
  241. package/updaters_rotate_dist_browser_RotateUpdater_js.js +1 -1
  242. package/updaters_rotate_dist_browser_index_js.js +2 -2
  243. package/updaters_size_dist_browser_SizeUpdater_js.js +1 -1
  244. package/updaters_size_dist_browser_index_js.js +2 -2
  245. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +1 -1
  246. package/updaters_strokeColor_dist_browser_index_js.js +2 -2
  247. package/updaters_tilt_dist_browser_TiltUpdater_js.js +1 -1
  248. package/updaters_tilt_dist_browser_index_js.js +2 -2
  249. package/updaters_twinkle_dist_browser_TwinkleUpdater_js.js +1 -1
  250. package/updaters_twinkle_dist_browser_index_js.js +2 -2
  251. package/updaters_wobble_dist_browser_WobbleUpdater_js.js +1 -1
  252. package/updaters_wobble_dist_browser_index_js.js +2 -2
  253. package/1051.min.js +0 -1
  254. package/1160.min.js +0 -1
  255. package/1167.min.js +0 -1
  256. package/143.min.js +0 -1
  257. package/1510.min.js +0 -1
  258. package/1744.min.js +0 -1
  259. package/1767.min.js +0 -1
  260. package/1818.min.js +0 -2
  261. package/2004.min.js +0 -1
  262. package/2177.min.js +0 -1
  263. package/2253.min.js +0 -1
  264. package/2425.min.js +0 -1
  265. package/2454.min.js +0 -1
  266. package/264.min.js +0 -1
  267. package/2866.min.js +0 -1
  268. package/2930.min.js +0 -1
  269. package/3041.min.js +0 -1
  270. package/3285.min.js +0 -1
  271. package/335.min.js +0 -1
  272. package/349.min.js +0 -1
  273. package/370.min.js +0 -2
  274. package/3719.min.js +0 -1
  275. package/3737.min.js +0 -1
  276. package/394.min.js +0 -1
  277. package/4051.min.js +0 -1
  278. package/410.min.js +0 -1
  279. package/4129.min.js +0 -1
  280. package/4159.min.js +0 -1
  281. package/4191.min.js +0 -1
  282. package/4301.min.js +0 -1
  283. package/4316.min.js +0 -1
  284. package/4567.min.js +0 -1
  285. package/465.min.js +0 -1
  286. package/4880.min.js +0 -1
  287. package/4991.min.js +0 -1
  288. package/5174.min.js +0 -1
  289. package/5264.min.js +0 -1
  290. package/5325.min.js +0 -1
  291. package/5347.min.js +0 -1
  292. package/5447.min.js +0 -1
  293. package/561.min.js +0 -1
  294. package/5669.min.js +0 -1
  295. package/5700.min.js +0 -1
  296. package/5832.min.js +0 -1
  297. package/6056.min.js +0 -1
  298. package/6252.min.js +0 -1
  299. package/6362.min.js +0 -1
  300. package/6412.min.js +0 -1
  301. package/6496.min.js +0 -1
  302. package/6502.min.js +0 -1
  303. package/6822.min.js +0 -1
  304. package/686.min.js +0 -1
  305. package/706.min.js +0 -1
  306. package/7149.min.js +0 -1
  307. package/7157.min.js +0 -1
  308. package/7203.min.js +0 -1
  309. package/7206.min.js +0 -1
  310. package/7218.min.js +0 -1
  311. package/746.min.js +0 -1
  312. package/7788.min.js +0 -1
  313. package/786.min.js +0 -1
  314. package/803.min.js +0 -1
  315. package/8082.min.js +0 -1
  316. package/8096.min.js +0 -1
  317. package/8258.min.js +0 -1
  318. package/8342.min.js +0 -1
  319. package/8569.min.js +0 -1
  320. package/8626.min.js +0 -1
  321. package/8627.min.js +0 -1
  322. package/8650.min.js +0 -1
  323. package/8684.min.js +0 -1
  324. package/8989.min.js +0 -1
  325. package/9072.min.js +0 -1
  326. package/9132.min.js +0 -1
  327. package/9208.min.js +0 -1
  328. package/9293.min.js +0 -1
  329. package/9395.min.js +0 -1
  330. package/951.min.js +0 -1
  331. package/9630.min.js +0 -1
  332. package/9643.min.js +0 -1
  333. package/9950.min.js +0 -1
  334. package/9994.min.js +0 -1
@@ -4,7 +4,7 @@
4
4
  * Demo / Generator : https://particles.js.org/
5
5
  * GitHub : https://www.github.com/matteobruni/tsparticles
6
6
  * How to use? : Check the GitHub README
7
- * v4.0.0-beta.5
7
+ * v4.0.0-beta.8
8
8
  */
9
9
  /*
10
10
  * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
@@ -34,7 +34,7 @@ return /******/ (() => { // webpackBootstrap
34
34
  \************************************************/
35
35
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
36
36
 
37
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Engine: () => (/* binding */ Engine)\n/* harmony export */ });\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils/EventDispatcher.js */ \"../../engine/dist/browser/Utils/EventDispatcher.js\");\n/* harmony import */ var _Utils_PluginManager_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Utils/PluginManager.js */ \"../../engine/dist/browser/Core/Utils/PluginManager.js\");\n/* harmony import */ var _Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils/LogUtils.js */ \"../../engine/dist/browser/Utils/LogUtils.js\");\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Utils/MathUtils.js */ \"../../engine/dist/browser/Utils/MathUtils.js\");\n\n\n\n\n\n\nconst fullPercent = \"100%\";\nasync function getDataFromUrl(data) {\n const url = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(data.url, data.index);\n if (!url) {\n return data.fallback;\n }\n const response = await fetch(url);\n if (response.ok) {\n return await response.json();\n }\n (0,_Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_4__.getLogger)().error(`${response.status.toString()} while retrieving config file`);\n return data.fallback;\n}\nconst getCanvasFromContainer = (domContainer)=>{\n const documentSafe = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)();\n let canvasEl;\n if (domContainer instanceof HTMLCanvasElement || domContainer.tagName.toLowerCase() === _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag) {\n canvasEl = domContainer;\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] ??= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedFalse;\n } else {\n const existingCanvases = domContainer.getElementsByTagName(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag), foundCanvas = existingCanvases[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasFirstIndex];\n if (foundCanvas) {\n canvasEl = foundCanvas;\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedFalse;\n } else {\n canvasEl = documentSafe.createElement(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag);\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedTrue;\n domContainer.appendChild(canvasEl);\n }\n }\n canvasEl.style.width ||= fullPercent;\n canvasEl.style.height ||= fullPercent;\n return canvasEl;\n}, getDomContainer = (id, source)=>{\n const documentSafe = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)();\n let domContainer = source ?? documentSafe.getElementById(id);\n if (domContainer) {\n return domContainer;\n }\n domContainer = documentSafe.createElement(\"canvas\");\n domContainer.id = id;\n domContainer.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedTrue;\n documentSafe.body.append(domContainer);\n return domContainer;\n};\nclass Engine {\n pluginManager = new _Utils_PluginManager_js__WEBPACK_IMPORTED_MODULE_3__.PluginManager(this);\n _domArray = [];\n _eventDispatcher = new _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_2__.EventDispatcher();\n _initialized = false;\n get items() {\n return this._domArray;\n }\n get version() {\n return \"4.0.0-beta.5\";\n }\n addEventListener(type, listener) {\n this._eventDispatcher.addEventListener(type, listener);\n }\n checkVersion(pluginVersion) {\n if (this.version === pluginVersion) {\n return;\n }\n throw new Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${this.version}. Plugin version: ${pluginVersion}`);\n }\n dispatchEvent(type, args) {\n this._eventDispatcher.dispatchEvent(type, args);\n }\n async init() {\n if (this._initialized) {\n return;\n }\n await this.pluginManager.init();\n this._initialized = true;\n }\n item(index) {\n const { items } = this, item = items[index];\n if (item?.destroyed) {\n items.splice(index, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.removeDeleteCount);\n return;\n }\n return item;\n }\n async load(params) {\n await this.init();\n const { Container } = await __webpack_require__.e(/*! import() */ \"engine_dist_browser_Core_Container_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Container.js */ \"../../engine/dist/browser/Core/Container.js\")), id = params.id ?? params.element?.id ?? `tsparticles${Math.floor((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_5__.getRandom)() * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.loadRandomFactor).toString()}`, { index, url } = params, options = url ? await getDataFromUrl({\n fallback: params.options,\n url,\n index\n }) : params.options, currentOptions = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(options, index), { items } = this, oldIndex = items.findIndex((v)=>v.id.description === id), newItem = new Container({\n dispatchCallback: (eventType, args)=>{\n this.dispatchEvent(eventType, args);\n },\n id,\n onDestroy: (remove)=>{\n if (!remove) {\n return;\n }\n const mainArr = this.items, idx = mainArr.indexOf(newItem);\n if (idx >= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.removeMinIndex) {\n mainArr.splice(idx, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.removeDeleteCount);\n }\n },\n pluginManager: this.pluginManager,\n sourceOptions: currentOptions\n });\n if (oldIndex >= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.loadMinIndex) {\n const old = this.item(oldIndex), deleteCount = old ? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.one : _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.none;\n if (old && !old.destroyed) {\n old.destroy(false);\n }\n items.splice(oldIndex, deleteCount, newItem);\n } else {\n items.push(newItem);\n }\n const domContainer = getDomContainer(id, params.element), canvasEl = getCanvasFromContainer(domContainer);\n newItem.canvas.loadCanvas(canvasEl);\n await newItem.start();\n return newItem;\n }\n async refresh(refresh = true) {\n if (!refresh) {\n return;\n }\n await Promise.all(this.items.map((t)=>t.refresh()));\n }\n removeEventListener(type, listener) {\n this._eventDispatcher.removeEventListener(type, listener);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Core/Engine.js?\n}");
37
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Engine: () => (/* binding */ Engine)\n/* harmony export */ });\n/* harmony import */ var _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Utils/EventDispatcher.js */ \"../../engine/dist/browser/Utils/EventDispatcher.js\");\n/* harmony import */ var _Utils_PluginManager_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Utils/PluginManager.js */ \"../../engine/dist/browser/Core/Utils/PluginManager.js\");\n/* harmony import */ var _Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Utils/LogUtils.js */ \"../../engine/dist/browser/Utils/LogUtils.js\");\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Utils/MathUtils.js */ \"../../engine/dist/browser/Utils/MathUtils.js\");\n\n\n\n\n\n\nconst fullPercent = \"100%\";\nasync function getDataFromUrl(data) {\n const url = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(data.url, data.index);\n if (!url) {\n return data.fallback;\n }\n const response = await fetch(url);\n if (response.ok) {\n return await response.json();\n }\n (0,_Utils_LogUtils_js__WEBPACK_IMPORTED_MODULE_4__.getLogger)().error(`${response.status.toString()} while retrieving config file`);\n return data.fallback;\n}\nconst getCanvasFromContainer = (domContainer)=>{\n const documentSafe = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)();\n let canvasEl;\n if (domContainer instanceof HTMLCanvasElement || domContainer.tagName.toLowerCase() === _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag) {\n canvasEl = domContainer;\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] ??= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedFalse;\n } else {\n const existingCanvases = domContainer.getElementsByTagName(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag), foundCanvas = existingCanvases[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasFirstIndex];\n if (foundCanvas) {\n canvasEl = foundCanvas;\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedFalse;\n } else {\n canvasEl = documentSafe.createElement(_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.canvasTag);\n canvasEl.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedTrue;\n domContainer.appendChild(canvasEl);\n }\n }\n canvasEl.style.width ||= fullPercent;\n canvasEl.style.height ||= fullPercent;\n return canvasEl;\n}, getDomContainer = (id, source)=>{\n const documentSafe = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.safeDocument)();\n let domContainer = source ?? documentSafe.getElementById(id);\n if (domContainer) {\n return domContainer;\n }\n domContainer = documentSafe.createElement(\"canvas\");\n domContainer.id = id;\n domContainer.dataset[_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedAttribute] = _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.generatedTrue;\n documentSafe.body.append(domContainer);\n return domContainer;\n};\nclass Engine {\n pluginManager = new _Utils_PluginManager_js__WEBPACK_IMPORTED_MODULE_3__.PluginManager(this);\n _domArray = [];\n _eventDispatcher = new _Utils_EventDispatcher_js__WEBPACK_IMPORTED_MODULE_2__.EventDispatcher();\n _initialized = false;\n get items() {\n return this._domArray;\n }\n get version() {\n return \"4.0.0-beta.8\";\n }\n addEventListener(type, listener) {\n this._eventDispatcher.addEventListener(type, listener);\n }\n checkVersion(pluginVersion) {\n if (this.version === pluginVersion) {\n return;\n }\n throw new Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${this.version}. Plugin version: ${pluginVersion}`);\n }\n dispatchEvent(type, args) {\n this._eventDispatcher.dispatchEvent(type, args);\n }\n async init() {\n if (this._initialized) {\n return;\n }\n await this.pluginManager.init();\n this._initialized = true;\n }\n item(index) {\n const { items } = this, item = items[index];\n if (item?.destroyed) {\n items.splice(index, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.removeDeleteCount);\n return;\n }\n return item;\n }\n async load(params) {\n await this.init();\n const { Container } = await __webpack_require__.e(/*! import() */ \"engine_dist_browser_Core_Container_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Container.js */ \"../../engine/dist/browser/Core/Container.js\")), id = params.id ?? params.element?.id ?? `tsparticles${Math.floor((0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_5__.getRandom)() * _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.loadRandomFactor).toString()}`, { index, url } = params, options = url ? await getDataFromUrl({\n fallback: params.options,\n url,\n index\n }) : params.options, currentOptions = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_1__.itemFromSingleOrMultiple)(options, index), { items } = this, oldIndex = items.findIndex((v)=>v.id.description === id), newItem = new Container({\n dispatchCallback: (eventType, args)=>{\n this.dispatchEvent(eventType, args);\n },\n id,\n onDestroy: (remove)=>{\n if (!remove) {\n return;\n }\n const mainArr = this.items, idx = mainArr.indexOf(newItem);\n if (idx >= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.removeMinIndex) {\n mainArr.splice(idx, _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.removeDeleteCount);\n }\n },\n pluginManager: this.pluginManager,\n sourceOptions: currentOptions\n });\n if (oldIndex >= _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.loadMinIndex) {\n const old = this.item(oldIndex), deleteCount = old ? _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.one : _Utils_Constants_js__WEBPACK_IMPORTED_MODULE_0__.none;\n if (old && !old.destroyed) {\n old.destroy(false);\n }\n items.splice(oldIndex, deleteCount, newItem);\n } else {\n items.push(newItem);\n }\n const domContainer = getDomContainer(id, params.element), canvasEl = getCanvasFromContainer(domContainer);\n newItem.canvas.loadCanvas(canvasEl);\n await newItem.start();\n return newItem;\n }\n async refresh(refresh = true) {\n if (!refresh) {\n return;\n }\n await Promise.all(this.items.map((t)=>t.refresh()));\n }\n removeEventListener(type, listener) {\n this._eventDispatcher.removeEventListener(type, listener);\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Core/Engine.js?\n}");
38
38
 
39
39
  /***/ },
40
40
 
@@ -304,7 +304,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
304
304
  \************************************************************/
305
305
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
306
306
 
307
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Options: () => (/* binding */ Options)\n/* harmony export */ });\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Background_Background_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Background/Background.js */ \"../../engine/dist/browser/Options/Classes/Background/Background.js\");\n/* harmony import */ var _FullScreen_FullScreen_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FullScreen/FullScreen.js */ \"../../engine/dist/browser/Options/Classes/FullScreen/FullScreen.js\");\n/* harmony import */ var _ResizeEvent_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ResizeEvent.js */ \"../../engine/dist/browser/Options/Classes/ResizeEvent.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../Utils/MathUtils.js */ \"../../engine/dist/browser/Utils/MathUtils.js\");\n\n\n\n\n\n\n\nclass Options {\n autoPlay;\n background;\n clear;\n defaultThemes;\n delay;\n detectRetina;\n duration;\n fpsLimit;\n fullScreen;\n hdr;\n key;\n name;\n palette;\n particles;\n pauseOnBlur;\n pauseOnOutsideViewport;\n preset;\n resize;\n smooth;\n style;\n zLayers;\n _container;\n _pluginManager;\n constructor(pluginManager, container){\n this._pluginManager = pluginManager;\n this._container = container;\n this.autoPlay = true;\n this.background = new _Background_Background_js__WEBPACK_IMPORTED_MODULE_2__.Background();\n this.clear = true;\n this.defaultThemes = {};\n this.delay = 0;\n this.fullScreen = new _FullScreen_FullScreen_js__WEBPACK_IMPORTED_MODULE_3__.FullScreen();\n this.detectRetina = true;\n this.duration = 0;\n this.fpsLimit = 120;\n this.hdr = true;\n this.particles = (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_5__.loadParticlesOptions)(this._pluginManager, this._container);\n this.pauseOnBlur = true;\n this.pauseOnOutsideViewport = true;\n this.resize = new _ResizeEvent_js__WEBPACK_IMPORTED_MODULE_4__.ResizeEvent();\n this.smooth = false;\n this.style = {};\n this.zLayers = 100;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.preset !== undefined) {\n this.preset = data.preset;\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(this.preset, (preset)=>{\n this._importPreset(preset);\n });\n }\n if (data.palette !== undefined) {\n this.palette = data.palette;\n this._importPalette(this.palette);\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.clear !== undefined) {\n this.clear = data.clear;\n }\n if (data.key !== undefined) {\n this.key = data.key;\n }\n if (data.name !== undefined) {\n this.name = data.name;\n }\n if (data.delay !== undefined) {\n this.delay = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_6__.setRangeValue)(data.delay);\n }\n const detectRetina = data.detectRetina;\n if (detectRetina !== undefined) {\n this.detectRetina = detectRetina;\n }\n if (data.duration !== undefined) {\n this.duration = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_6__.setRangeValue)(data.duration);\n }\n const fpsLimit = data.fpsLimit;\n if (fpsLimit !== undefined) {\n this.fpsLimit = fpsLimit;\n }\n if (data.hdr !== undefined) {\n this.hdr = data.hdr;\n }\n if (data.pauseOnBlur !== undefined) {\n this.pauseOnBlur = data.pauseOnBlur;\n }\n if (data.pauseOnOutsideViewport !== undefined) {\n this.pauseOnOutsideViewport = data.pauseOnOutsideViewport;\n }\n if (data.zLayers !== undefined) {\n this.zLayers = data.zLayers;\n }\n this.background.load(data.background);\n const fullScreen = data.fullScreen;\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isBoolean)(fullScreen)) {\n this.fullScreen.enable = fullScreen;\n } else {\n this.fullScreen.load(fullScreen);\n }\n this.particles.load(data.particles);\n this.resize.load(data.resize);\n this.style = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)(this.style, data.style);\n if (data.smooth !== undefined) {\n this.smooth = data.smooth;\n }\n this._pluginManager.plugins.forEach((plugin)=>{\n plugin.loadOptions(this._container, this, data);\n });\n }\n _importPalette = (palette)=>{\n const paletteData = this._pluginManager.getPalette(palette);\n if (!paletteData) {\n return;\n }\n this.load({\n background: {\n color: paletteData.background\n },\n blend: {\n enable: true,\n mode: paletteData.blendMode\n },\n particles: {\n fill: {\n color: paletteData.fill ? {\n value: paletteData.colors\n } : undefined,\n enable: paletteData.fill\n },\n stroke: !paletteData.fill ? paletteData.colors.map((color)=>({\n color: {\n value: color\n },\n width: 1\n })) : undefined\n }\n });\n };\n _importPreset = (preset)=>{\n this.load(this._pluginManager.getPreset(preset));\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Options/Classes/Options.js?\n}");
307
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Options: () => (/* binding */ Options)\n/* harmony export */ });\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Background_Background_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Background/Background.js */ \"../../engine/dist/browser/Options/Classes/Background/Background.js\");\n/* harmony import */ var _FullScreen_FullScreen_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FullScreen/FullScreen.js */ \"../../engine/dist/browser/Options/Classes/FullScreen/FullScreen.js\");\n/* harmony import */ var _ResizeEvent_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ResizeEvent.js */ \"../../engine/dist/browser/Options/Classes/ResizeEvent.js\");\n/* harmony import */ var _Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../Utils/OptionsUtils.js */ \"../../engine/dist/browser/Utils/OptionsUtils.js\");\n/* harmony import */ var _Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../Utils/MathUtils.js */ \"../../engine/dist/browser/Utils/MathUtils.js\");\n\n\n\n\n\n\n\nclass Options {\n autoPlay;\n background;\n clear;\n defaultThemes;\n delay;\n detectRetina;\n duration;\n fpsLimit;\n fullScreen;\n hdr;\n key;\n name;\n palette;\n particles;\n pauseOnBlur;\n pauseOnOutsideViewport;\n preset;\n resize;\n smooth;\n style;\n zLayers;\n _container;\n _pluginManager;\n constructor(pluginManager, container){\n this._pluginManager = pluginManager;\n this._container = container;\n this.autoPlay = true;\n this.background = new _Background_Background_js__WEBPACK_IMPORTED_MODULE_2__.Background();\n this.clear = true;\n this.defaultThemes = {};\n this.delay = 0;\n this.fullScreen = new _FullScreen_FullScreen_js__WEBPACK_IMPORTED_MODULE_3__.FullScreen();\n this.detectRetina = true;\n this.duration = 0;\n this.fpsLimit = 120;\n this.hdr = true;\n this.particles = (0,_Utils_OptionsUtils_js__WEBPACK_IMPORTED_MODULE_5__.loadParticlesOptions)(this._pluginManager, this._container);\n this.pauseOnBlur = true;\n this.pauseOnOutsideViewport = true;\n this.resize = new _ResizeEvent_js__WEBPACK_IMPORTED_MODULE_4__.ResizeEvent();\n this.smooth = false;\n this.style = {};\n this.zLayers = 100;\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isNull)(data)) {\n return;\n }\n if (data.preset !== undefined) {\n this.preset = data.preset;\n (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(this.preset, (preset)=>{\n this._importPreset(preset);\n });\n }\n if (data.palette !== undefined) {\n this.palette = data.palette;\n this._importPalette(this.palette);\n }\n if (data.autoPlay !== undefined) {\n this.autoPlay = data.autoPlay;\n }\n if (data.clear !== undefined) {\n this.clear = data.clear;\n }\n if (data.key !== undefined) {\n this.key = data.key;\n }\n if (data.name !== undefined) {\n this.name = data.name;\n }\n if (data.delay !== undefined) {\n this.delay = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_6__.setRangeValue)(data.delay);\n }\n const detectRetina = data.detectRetina;\n if (detectRetina !== undefined) {\n this.detectRetina = detectRetina;\n }\n if (data.duration !== undefined) {\n this.duration = (0,_Utils_MathUtils_js__WEBPACK_IMPORTED_MODULE_6__.setRangeValue)(data.duration);\n }\n const fpsLimit = data.fpsLimit;\n if (fpsLimit !== undefined) {\n this.fpsLimit = fpsLimit;\n }\n if (data.hdr !== undefined) {\n this.hdr = data.hdr;\n }\n if (data.pauseOnBlur !== undefined) {\n this.pauseOnBlur = data.pauseOnBlur;\n }\n if (data.pauseOnOutsideViewport !== undefined) {\n this.pauseOnOutsideViewport = data.pauseOnOutsideViewport;\n }\n if (data.zLayers !== undefined) {\n this.zLayers = data.zLayers;\n }\n this.background.load(data.background);\n const fullScreen = data.fullScreen;\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_1__.isBoolean)(fullScreen)) {\n this.fullScreen.enable = fullScreen;\n } else {\n this.fullScreen.load(fullScreen);\n }\n this.particles.load(data.particles);\n this.resize.load(data.resize);\n this.style = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)(this.style, data.style);\n if (data.smooth !== undefined) {\n this.smooth = data.smooth;\n }\n this._pluginManager.plugins.forEach((plugin)=>{\n plugin.loadOptions(this._container, this, data);\n });\n }\n _importPalette = (palette)=>{\n const paletteData = this._pluginManager.getPalette(palette);\n if (!paletteData) {\n return;\n }\n this.load({\n background: {\n color: paletteData.background\n },\n blend: {\n enable: true,\n mode: paletteData.blendMode\n },\n particles: {\n palette\n }\n });\n };\n _importPreset = (preset)=>{\n this.load(this._pluginManager.getPreset(preset));\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Options/Classes/Options.js?\n}");
308
308
 
309
309
  /***/ },
310
310
 
@@ -484,7 +484,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
484
484
  \*******************************************************************************/
485
485
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
486
486
 
487
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesOptions: () => (/* binding */ ParticlesOptions)\n/* harmony export */ });\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Effect_Effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Effect/Effect.js */ \"../../engine/dist/browser/Options/Classes/Particles/Effect/Effect.js\");\n/* harmony import */ var _Fill_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Fill.js */ \"../../engine/dist/browser/Options/Classes/Particles/Fill.js\");\n/* harmony import */ var _Move_Move_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Move/Move.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/Move.js\");\n/* harmony import */ var _Opacity_Opacity_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Opacity/Opacity.js */ \"../../engine/dist/browser/Options/Classes/Particles/Opacity/Opacity.js\");\n/* harmony import */ var _Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Bounce/ParticlesBounce.js */ \"../../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js\");\n/* harmony import */ var _Number_ParticlesNumber_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Number/ParticlesNumber.js */ \"../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumber.js\");\n/* harmony import */ var _Shape_Shape_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Shape/Shape.js */ \"../../engine/dist/browser/Options/Classes/Particles/Shape/Shape.js\");\n/* harmony import */ var _Size_Size_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Size/Size.js */ \"../../engine/dist/browser/Options/Classes/Particles/Size/Size.js\");\n/* harmony import */ var _Stroke_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Stroke.js */ \"../../engine/dist/browser/Options/Classes/Particles/Stroke.js\");\n/* harmony import */ var _ZIndex_ZIndex_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ZIndex/ZIndex.js */ \"../../engine/dist/browser/Options/Classes/Particles/ZIndex/ZIndex.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nclass ParticlesOptions {\n bounce;\n effect;\n fill;\n groups;\n move;\n number;\n opacity;\n reduceDuplicates;\n shape;\n size;\n stroke;\n zIndex;\n _container;\n _pluginManager;\n constructor(pluginManager, container){\n this._pluginManager = pluginManager;\n this._container = container;\n this.bounce = new _Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_5__.ParticlesBounce();\n this.effect = new _Effect_Effect_js__WEBPACK_IMPORTED_MODULE_1__.Effect();\n this.fill = new _Fill_js__WEBPACK_IMPORTED_MODULE_2__.Fill();\n this.groups = {};\n this.move = new _Move_Move_js__WEBPACK_IMPORTED_MODULE_3__.Move();\n this.number = new _Number_ParticlesNumber_js__WEBPACK_IMPORTED_MODULE_6__.ParticlesNumber();\n this.opacity = new _Opacity_Opacity_js__WEBPACK_IMPORTED_MODULE_4__.Opacity();\n this.reduceDuplicates = false;\n this.shape = new _Shape_Shape_js__WEBPACK_IMPORTED_MODULE_7__.Shape();\n this.size = new _Size_Size_js__WEBPACK_IMPORTED_MODULE_8__.Size();\n this.stroke = new _Stroke_js__WEBPACK_IMPORTED_MODULE_9__.Stroke();\n this.zIndex = new _ZIndex_ZIndex_js__WEBPACK_IMPORTED_MODULE_10__.ZIndex();\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_11__.isNull)(data)) {\n return;\n }\n if (data.groups !== undefined) {\n for (const group of Object.keys(data.groups)){\n if (!(group in data.groups)) {\n continue;\n }\n const item = data.groups[group];\n if (item !== undefined) {\n this.groups[group] = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)(this.groups[group] ?? {}, item);\n }\n }\n }\n if (data.reduceDuplicates !== undefined) {\n this.reduceDuplicates = data.reduceDuplicates;\n }\n this.bounce.load(data.bounce);\n this.effect.load(data.effect);\n this.move.load(data.move);\n this.number.load(data.number);\n this.opacity.load(data.opacity);\n this.shape.load(data.shape);\n this.size.load(data.size);\n this.zIndex.load(data.zIndex);\n const fillToLoad = data.fill;\n if (fillToLoad) {\n this.fill = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(fillToLoad, (t)=>{\n const tmp = new _Fill_js__WEBPACK_IMPORTED_MODULE_2__.Fill();\n tmp.load(t);\n return tmp;\n });\n }\n const strokeToLoad = data.stroke;\n if (strokeToLoad) {\n this.stroke = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(strokeToLoad, (t)=>{\n const tmp = new _Stroke_js__WEBPACK_IMPORTED_MODULE_9__.Stroke();\n tmp.load(t);\n return tmp;\n });\n }\n if (this._container) {\n for (const plugin of this._pluginManager.plugins){\n if (plugin.loadParticlesOptions) {\n plugin.loadParticlesOptions(this._container, this, data);\n }\n }\n const updaters = this._pluginManager.updaters.get(this._container);\n if (updaters) {\n for (const updater of updaters){\n if (updater.loadOptions) {\n updater.loadOptions(this, data);\n }\n }\n }\n }\n }\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Options/Classes/Particles/ParticlesOptions.js?\n}");
487
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ParticlesOptions: () => (/* binding */ ParticlesOptions)\n/* harmony export */ });\n/* harmony import */ var _Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../Utils/Utils.js */ \"../../engine/dist/browser/Utils/Utils.js\");\n/* harmony import */ var _Effect_Effect_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Effect/Effect.js */ \"../../engine/dist/browser/Options/Classes/Particles/Effect/Effect.js\");\n/* harmony import */ var _Fill_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Fill.js */ \"../../engine/dist/browser/Options/Classes/Particles/Fill.js\");\n/* harmony import */ var _Move_Move_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Move/Move.js */ \"../../engine/dist/browser/Options/Classes/Particles/Move/Move.js\");\n/* harmony import */ var _Opacity_Opacity_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Opacity/Opacity.js */ \"../../engine/dist/browser/Options/Classes/Particles/Opacity/Opacity.js\");\n/* harmony import */ var _Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Bounce/ParticlesBounce.js */ \"../../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js\");\n/* harmony import */ var _Number_ParticlesNumber_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Number/ParticlesNumber.js */ \"../../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumber.js\");\n/* harmony import */ var _Shape_Shape_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Shape/Shape.js */ \"../../engine/dist/browser/Options/Classes/Particles/Shape/Shape.js\");\n/* harmony import */ var _Size_Size_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Size/Size.js */ \"../../engine/dist/browser/Options/Classes/Particles/Size/Size.js\");\n/* harmony import */ var _Stroke_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Stroke.js */ \"../../engine/dist/browser/Options/Classes/Particles/Stroke.js\");\n/* harmony import */ var _ZIndex_ZIndex_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ZIndex/ZIndex.js */ \"../../engine/dist/browser/Options/Classes/Particles/ZIndex/ZIndex.js\");\n/* harmony import */ var _Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../../Utils/TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nclass ParticlesOptions {\n bounce;\n effect;\n fill;\n groups;\n move;\n number;\n opacity;\n palette;\n reduceDuplicates;\n shape;\n size;\n stroke;\n zIndex;\n _container;\n _pluginManager;\n constructor(pluginManager, container){\n this._pluginManager = pluginManager;\n this._container = container;\n this.bounce = new _Bounce_ParticlesBounce_js__WEBPACK_IMPORTED_MODULE_5__.ParticlesBounce();\n this.effect = new _Effect_Effect_js__WEBPACK_IMPORTED_MODULE_1__.Effect();\n this.fill = new _Fill_js__WEBPACK_IMPORTED_MODULE_2__.Fill();\n this.groups = {};\n this.move = new _Move_Move_js__WEBPACK_IMPORTED_MODULE_3__.Move();\n this.number = new _Number_ParticlesNumber_js__WEBPACK_IMPORTED_MODULE_6__.ParticlesNumber();\n this.opacity = new _Opacity_Opacity_js__WEBPACK_IMPORTED_MODULE_4__.Opacity();\n this.reduceDuplicates = false;\n this.shape = new _Shape_Shape_js__WEBPACK_IMPORTED_MODULE_7__.Shape();\n this.size = new _Size_Size_js__WEBPACK_IMPORTED_MODULE_8__.Size();\n this.stroke = new _Stroke_js__WEBPACK_IMPORTED_MODULE_9__.Stroke();\n this.zIndex = new _ZIndex_ZIndex_js__WEBPACK_IMPORTED_MODULE_10__.ZIndex();\n }\n load(data) {\n if ((0,_Utils_TypeUtils_js__WEBPACK_IMPORTED_MODULE_11__.isNull)(data)) {\n return;\n }\n if (data.palette) {\n this.palette = data.palette;\n this._importPalette(this.palette);\n }\n if (data.groups !== undefined) {\n for (const group of Object.keys(data.groups)){\n if (!(group in data.groups)) {\n continue;\n }\n const item = data.groups[group];\n if (item !== undefined) {\n this.groups[group] = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.deepExtend)(this.groups[group] ?? {}, item);\n }\n }\n }\n if (data.reduceDuplicates !== undefined) {\n this.reduceDuplicates = data.reduceDuplicates;\n }\n this.bounce.load(data.bounce);\n this.effect.load(data.effect);\n this.move.load(data.move);\n this.number.load(data.number);\n this.opacity.load(data.opacity);\n this.shape.load(data.shape);\n this.size.load(data.size);\n this.zIndex.load(data.zIndex);\n const fillToLoad = data.fill;\n if (fillToLoad) {\n this.fill = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(fillToLoad, (t)=>{\n const tmp = new _Fill_js__WEBPACK_IMPORTED_MODULE_2__.Fill();\n tmp.load(t);\n return tmp;\n });\n }\n const strokeToLoad = data.stroke;\n if (strokeToLoad) {\n this.stroke = (0,_Utils_Utils_js__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(strokeToLoad, (t)=>{\n const tmp = new _Stroke_js__WEBPACK_IMPORTED_MODULE_9__.Stroke();\n tmp.load(t);\n return tmp;\n });\n }\n if (this._container) {\n for (const plugin of this._pluginManager.plugins){\n if (plugin.loadParticlesOptions) {\n plugin.loadParticlesOptions(this._container, this, data);\n }\n }\n const updaters = this._pluginManager.updaters.get(this._container);\n if (updaters) {\n for (const updater of updaters){\n if (updater.loadOptions) {\n updater.loadOptions(this, data);\n }\n }\n }\n }\n }\n _importPalette = (palette)=>{\n const paletteData = this._pluginManager.getPalette(palette);\n if (!paletteData) {\n return;\n }\n this.load({\n fill: {\n color: paletteData.fill ? {\n value: paletteData.colors\n } : undefined,\n enable: paletteData.fill\n },\n stroke: paletteData.fill ? undefined : paletteData.colors.map((color)=>({\n color: {\n value: color\n },\n width: 1\n })),\n blend: {\n enable: true,\n mode: paletteData.blendMode\n }\n });\n };\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Options/Classes/Particles/ParticlesOptions.js?\n}");
488
488
 
489
489
  /***/ },
490
490
 
@@ -634,7 +634,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
634
634
  \************************************************/
635
635
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
636
636
 
637
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ areBoundsInside: () => (/* binding */ areBoundsInside),\n/* harmony export */ arrayRandomIndex: () => (/* binding */ arrayRandomIndex),\n/* harmony export */ calculateBounds: () => (/* binding */ calculateBounds),\n/* harmony export */ circleBounce: () => (/* binding */ circleBounce),\n/* harmony export */ circleBounceDataFromParticle: () => (/* binding */ circleBounceDataFromParticle),\n/* harmony export */ cloneStyle: () => (/* binding */ cloneStyle),\n/* harmony export */ deepExtend: () => (/* binding */ deepExtend),\n/* harmony export */ executeOnSingleOrMultiple: () => (/* binding */ executeOnSingleOrMultiple),\n/* harmony export */ findItemFromSingleOrMultiple: () => (/* binding */ findItemFromSingleOrMultiple),\n/* harmony export */ getFullScreenStyle: () => (/* binding */ getFullScreenStyle),\n/* harmony export */ getItemMapFromInitializer: () => (/* binding */ getItemMapFromInitializer),\n/* harmony export */ getItemsFromInitializer: () => (/* binding */ getItemsFromInitializer),\n/* harmony export */ getPosition: () => (/* binding */ getPosition),\n/* harmony export */ getSize: () => (/* binding */ getSize),\n/* harmony export */ hasMatchMedia: () => (/* binding */ hasMatchMedia),\n/* harmony export */ initParticleNumericAnimationValue: () => (/* binding */ initParticleNumericAnimationValue),\n/* harmony export */ isInArray: () => (/* binding */ isInArray),\n/* harmony export */ isPointInside: () => (/* binding */ isPointInside),\n/* harmony export */ itemFromArray: () => (/* binding */ itemFromArray),\n/* harmony export */ itemFromSingleOrMultiple: () => (/* binding */ itemFromSingleOrMultiple),\n/* harmony export */ manageListener: () => (/* binding */ manageListener),\n/* harmony export */ memoize: () => (/* binding */ memoize),\n/* harmony export */ safeDocument: () => (/* binding */ safeDocument),\n/* harmony export */ safeIntersectionObserver: () => (/* binding */ safeIntersectionObserver),\n/* harmony export */ safeMatchMedia: () => (/* binding */ safeMatchMedia),\n/* harmony export */ safeMutationObserver: () => (/* binding */ safeMutationObserver),\n/* harmony export */ updateAnimation: () => (/* binding */ updateAnimation)\n/* harmony export */ });\n/* harmony import */ var _MathUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MathUtils.js */ \"../../engine/dist/browser/Utils/MathUtils.js\");\n/* harmony import */ var _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Core/Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Enums/Modes/AnimationMode.js */ \"../../engine/dist/browser/Enums/Modes/AnimationMode.js\");\n/* harmony import */ var _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Enums/AnimationStatus.js */ \"../../engine/dist/browser/Enums/AnimationStatus.js\");\n/* harmony import */ var _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Enums/Types/DestroyType.js */ \"../../engine/dist/browser/Enums/Types/DestroyType.js\");\n/* harmony import */ var _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Enums/Directions/OutModeDirection.js */ \"../../engine/dist/browser/Enums/Directions/OutModeDirection.js\");\n/* harmony import */ var _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Enums/Modes/PixelMode.js */ \"../../engine/dist/browser/Enums/Modes/PixelMode.js\");\n/* harmony import */ var _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Enums/Types/StartValueType.js */ \"../../engine/dist/browser/Enums/Types/StartValueType.js\");\n/* harmony import */ var _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Core/Utils/Vectors.js */ \"../../engine/dist/browser/Core/Utils/Vectors.js\");\n\n\n\n\n\n\n\n\n\n\nconst minRadius = 0, minMemoizeSize = 0;\nfunction memoize(fn, options) {\n const cache = new Map(), maxSize = options?.maxSize, ttlMs = options?.ttlMs, keyFn = options?.keyFn, stableStringify = (obj, seen = new WeakSet())=>{\n if (obj === null) {\n return \"null\";\n }\n const t = typeof obj;\n if (t === \"undefined\") {\n return \"undefined\";\n }\n if (t === \"number\" || t === \"boolean\" || t === \"string\") {\n return JSON.stringify(obj);\n }\n if (t === \"function\") {\n try {\n const fn = obj;\n return fn.toString();\n } catch {\n return '\"[Function]\"';\n }\n }\n if (t === \"symbol\") {\n try {\n return obj.toString();\n } catch {\n return '\"[Symbol]\"';\n }\n }\n if (Array.isArray(obj)) {\n return `[${obj.map((i)=>stableStringify(i, seen)).join(\",\")}]`;\n }\n if (seen.has(obj)) {\n return '\"[Circular]\"';\n }\n seen.add(obj);\n const keys = Object.keys(obj).sort();\n return `{${keys.map((k)=>`${JSON.stringify(k)}:${stableStringify(obj[k], seen)}`).join(\",\")}}`;\n }, defaultKeyer = (args)=>stableStringify(args), makeKey = (args)=>keyFn ? keyFn(args) : defaultKeyer(args), ensureBounds = ()=>{\n if (typeof maxSize === \"number\" && maxSize >= minMemoizeSize) {\n while(cache.size > maxSize){\n const firstKey = cache.keys().next().value;\n if (firstKey === undefined) break;\n cache.delete(firstKey);\n }\n }\n };\n return (...args)=>{\n const key = makeKey(args), now = Date.now(), entry = cache.get(key);\n if (entry !== undefined) {\n if (ttlMs && now - entry.ts > ttlMs) {\n cache.delete(key);\n } else {\n cache.delete(key);\n cache.set(key, {\n value: entry.value,\n ts: entry.ts\n });\n return entry.value;\n }\n }\n const result = fn(...args);\n cache.set(key, {\n value: result,\n ts: now\n });\n ensureBounds();\n return result;\n };\n}\nfunction hasMatchMedia() {\n return typeof matchMedia !== \"undefined\";\n}\nfunction safeDocument() {\n return globalThis.document;\n}\nfunction safeMatchMedia(query) {\n if (!hasMatchMedia()) {\n return;\n }\n return matchMedia(query);\n}\nfunction safeIntersectionObserver(callback) {\n if (typeof IntersectionObserver === \"undefined\") {\n return;\n }\n return new IntersectionObserver(callback);\n}\nfunction safeMutationObserver(callback) {\n if (typeof MutationObserver === \"undefined\") {\n return;\n }\n return new MutationObserver(callback);\n}\nfunction isInArray(value, array) {\n return value === array || (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(array) && array.includes(value);\n}\nfunction arrayRandomIndex(array) {\n return Math.floor((0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * array.length);\n}\nfunction itemFromArray(array, index, useIndex = true) {\n return array[index !== undefined && useIndex ? index % array.length : arrayRandomIndex(array)];\n}\nfunction isPointInside(point, size, offset, radius, direction) {\n return areBoundsInside(calculateBounds(point, radius ?? minRadius), size, offset, direction);\n}\nfunction areBoundsInside(bounds, size, offset, direction) {\n let inside = true;\n if (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.bottom) {\n inside = bounds.top < size.height + offset.x;\n }\n if (inside && (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.left)) {\n inside = bounds.right > offset.x;\n }\n if (inside && (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.right)) {\n inside = bounds.left < size.width + offset.y;\n }\n if (inside && (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.top)) {\n inside = bounds.bottom > offset.y;\n }\n return inside;\n}\nfunction calculateBounds(point, radius) {\n return {\n bottom: point.y + radius,\n left: point.x - radius,\n right: point.x + radius,\n top: point.y - radius\n };\n}\nfunction deepExtend(destination, ...sources) {\n for (const source of sources){\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(source)) {\n continue;\n }\n if (!(0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isObject)(source)) {\n destination = source;\n continue;\n }\n if (Array.isArray(source)) {\n if (!Array.isArray(destination)) {\n destination = [];\n }\n } else if (!(0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isObject)(destination) || Array.isArray(destination)) {\n destination = {};\n }\n const sourceKeys = Object.keys(source), dangerousKeys = new Set([\n \"__proto__\",\n \"constructor\",\n \"prototype\"\n ]), hasNested = sourceKeys.some((k)=>{\n const v = source[k];\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isObject)(v) || Array.isArray(v);\n });\n if (!hasNested) {\n const sourceDict = source, destDict = destination;\n for (const key of sourceKeys){\n if (dangerousKeys.has(key)) {\n continue;\n }\n if (key in sourceDict) {\n const v = sourceDict[key];\n if (v !== undefined) {\n destDict[key] = v;\n }\n }\n }\n continue;\n }\n for (const key of sourceKeys){\n if (dangerousKeys.has(key)) {\n continue;\n }\n const sourceDict = source, destDict = destination, value = sourceDict[key];\n destDict[key] = Array.isArray(value) ? value.map((v)=>deepExtend(undefined, v)) : deepExtend(destDict[key], value);\n }\n }\n return destination;\n}\nfunction circleBounceDataFromParticle(p) {\n return {\n position: p.getPosition(),\n radius: p.getRadius(),\n mass: p.getMass(),\n velocity: p.velocity,\n factor: _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_9__.Vector.create((0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(p.options.bounce.horizontal.value), (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(p.options.bounce.vertical.value))\n };\n}\nfunction circleBounce(p1, p2) {\n const { x: xVelocityDiff, y: yVelocityDiff } = p1.velocity.sub(p2.velocity), [pos1, pos2] = [\n p1.position,\n p2.position\n ], { dx: xDist, dy: yDist } = (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getDistances)(pos2, pos1), minimumDistance = 0;\n if (xVelocityDiff * xDist + yVelocityDiff * yDist < minimumDistance) {\n return;\n }\n const angle = -Math.atan2(yDist, xDist), m1 = p1.mass, m2 = p2.mass, u1 = p1.velocity.rotate(angle), u2 = p2.velocity.rotate(angle), v1 = (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.collisionVelocity)(u1, u2, m1, m2), v2 = (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.collisionVelocity)(u2, u1, m1, m2), vFinal1 = v1.rotate(-angle), vFinal2 = v2.rotate(-angle);\n p1.velocity.x = vFinal1.x * p1.factor.x;\n p1.velocity.y = vFinal1.y * p1.factor.y;\n p2.velocity.x = vFinal2.x * p2.factor.x;\n p2.velocity.y = vFinal2.y * p2.factor.y;\n}\nfunction executeOnSingleOrMultiple(obj, callback) {\n const defaultIndex = 0;\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(obj) ? obj.map((item, index)=>callback(item, index)) : callback(obj, defaultIndex);\n}\nfunction itemFromSingleOrMultiple(obj, index, useIndex) {\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(obj) ? itemFromArray(obj, index, useIndex) : obj;\n}\nfunction findItemFromSingleOrMultiple(obj, callback) {\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(obj)) {\n return obj.find((t, index)=>callback(t, index));\n }\n const defaultIndex = 0;\n return callback(obj, defaultIndex) ? obj : undefined;\n}\nfunction initParticleNumericAnimationValue(options, pxRatio) {\n const valueRange = options.value, animationOptions = options.animation, res = {\n delayTime: (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animationOptions.delay) * _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds,\n enable: animationOptions.enable,\n value: (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(options.value) * pxRatio,\n max: (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeMax)(valueRange) * pxRatio,\n min: (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeMin)(valueRange) * pxRatio,\n loops: 0,\n maxLoops: (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animationOptions.count),\n time: 0\n }, decayOffset = 1;\n if (animationOptions.enable) {\n res.decay = decayOffset - (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animationOptions.decay);\n switch(animationOptions.mode){\n case _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.increase:\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing;\n break;\n case _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.decrease:\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n break;\n case _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.random:\n res.status = (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.half ? _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing : _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n break;\n default:\n break;\n }\n const autoStatus = animationOptions.mode === _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.auto;\n switch(animationOptions.startValue){\n case _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__.StartValueType.min:\n res.value = res.min;\n if (autoStatus) {\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing;\n }\n break;\n case _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__.StartValueType.max:\n res.value = res.max;\n if (autoStatus) {\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n }\n break;\n case _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__.StartValueType.random:\n default:\n res.value = (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.randomInRangeValue)(res);\n if (autoStatus) {\n res.status = (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.half ? _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing : _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n }\n break;\n }\n }\n res.initialValue = res.value;\n return res;\n}\nfunction getPositionOrSize(positionOrSize, canvasSize) {\n const isPercent = positionOrSize.mode === _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_7__.PixelMode.percent;\n if (!isPercent) {\n const { mode: _, ...rest } = positionOrSize;\n return rest;\n }\n const isPosition = \"x\" in positionOrSize;\n if (isPosition) {\n return {\n x: positionOrSize.x / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.width,\n y: positionOrSize.y / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.height\n };\n } else {\n return {\n width: positionOrSize.width / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.width,\n height: positionOrSize.height / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.height\n };\n }\n}\nfunction getPosition(position, canvasSize) {\n return getPositionOrSize(position, canvasSize);\n}\nfunction getSize(size, canvasSize) {\n return getPositionOrSize(size, canvasSize);\n}\nfunction checkDestroy(particle, destroyType, value, minValue, maxValue) {\n switch(destroyType){\n case _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_5__.DestroyType.max:\n if (value >= maxValue) {\n particle.destroy();\n }\n break;\n case _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_5__.DestroyType.min:\n if (value <= minValue) {\n particle.destroy();\n }\n break;\n default:\n break;\n }\n}\nfunction updateAnimation(particle, data, changeDirection, destroyType, delta) {\n const minLoops = 0, minDelay = 0, identity = 1, minVelocity = 0, minDecay = 1;\n if (particle.destroyed || !data.enable || (data.maxLoops ?? minLoops) > minLoops && (data.loops ?? minLoops) > (data.maxLoops ?? minLoops)) {\n return;\n }\n const velocity = (data.velocity ?? minVelocity) * delta.factor, minValue = data.min, maxValue = data.max, decay = data.decay ?? minDecay;\n data.time ??= 0;\n if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {\n data.time += delta.value;\n }\n if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {\n return;\n }\n switch(data.status){\n case _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing:\n if (data.value >= maxValue) {\n if (changeDirection) {\n data.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n } else {\n data.value -= maxValue;\n }\n data.loops ??= minLoops;\n data.loops++;\n } else {\n data.value += velocity;\n }\n break;\n case _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing:\n if (data.value <= minValue) {\n if (changeDirection) {\n data.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing;\n } else {\n data.value += maxValue;\n }\n data.loops ??= minLoops;\n data.loops++;\n } else {\n data.value -= velocity;\n }\n break;\n default:\n break;\n }\n if (data.velocity && decay !== identity) {\n data.velocity *= decay;\n }\n checkDestroy(particle, destroyType, data.value, minValue, maxValue);\n data.value = (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.clamp)(data.value, minValue, maxValue);\n}\nfunction cloneStyle(style) {\n const clonedStyle = safeDocument().createElement(\"div\").style;\n for(const key in style){\n const styleKey = style[key];\n if (!(key in style) || (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(styleKey)) {\n continue;\n }\n const styleValue = style.getPropertyValue?.(styleKey);\n if (!styleValue) {\n continue;\n }\n const stylePriority = style.getPropertyPriority?.(styleKey);\n if (stylePriority) {\n clonedStyle.setProperty(styleKey, styleValue, stylePriority);\n } else {\n clonedStyle.setProperty(styleKey, styleValue);\n }\n }\n return clonedStyle;\n}\nfunction computeFullScreenStyle(zIndex) {\n const fullScreenStyle = safeDocument().createElement(\"div\").style, radix = 10, style = {\n width: \"100%\",\n height: \"100%\",\n margin: \"0\",\n padding: \"0\",\n borderWidth: \"0\",\n position: \"fixed\",\n zIndex: zIndex.toString(radix),\n \"z-index\": zIndex.toString(radix),\n top: \"0\",\n left: \"0\"\n };\n for(const key in style){\n const value = style[key];\n if (value === undefined) {\n continue;\n }\n fullScreenStyle.setProperty(key, value);\n }\n return fullScreenStyle;\n}\nconst getFullScreenStyle = memoize(computeFullScreenStyle);\nfunction manageListener(element, event, handler, add, options) {\n if (add) {\n let addOptions = {\n passive: true\n };\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isBoolean)(options)) {\n addOptions.capture = options;\n } else if (options !== undefined) {\n addOptions = options;\n }\n element.addEventListener(event, handler, addOptions);\n } else {\n const removeOptions = options;\n element.removeEventListener(event, handler, removeOptions);\n }\n}\nasync function getItemsFromInitializer(container, map, initializers, force = false) {\n let res = map.get(container);\n if (!res || force) {\n res = await Promise.all([\n ...initializers.values()\n ].map((t)=>t(container)));\n map.set(container, res);\n }\n return res;\n}\nasync function getItemMapFromInitializer(container, map, initializers, force = false) {\n let res = map.get(container);\n if (!res || force) {\n const entries = await Promise.all([\n ...initializers.entries()\n ].map(([key, initializer])=>initializer(container).then((item)=>[\n key,\n item\n ])));\n res = new Map(entries);\n map.set(container, res);\n }\n return res;\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Utils/Utils.js?\n}");
637
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ areBoundsInside: () => (/* binding */ areBoundsInside),\n/* harmony export */ arrayRandomIndex: () => (/* binding */ arrayRandomIndex),\n/* harmony export */ calculateBounds: () => (/* binding */ calculateBounds),\n/* harmony export */ circleBounce: () => (/* binding */ circleBounce),\n/* harmony export */ circleBounceDataFromParticle: () => (/* binding */ circleBounceDataFromParticle),\n/* harmony export */ cloneStyle: () => (/* binding */ cloneStyle),\n/* harmony export */ deepExtend: () => (/* binding */ deepExtend),\n/* harmony export */ executeOnSingleOrMultiple: () => (/* binding */ executeOnSingleOrMultiple),\n/* harmony export */ findItemFromSingleOrMultiple: () => (/* binding */ findItemFromSingleOrMultiple),\n/* harmony export */ getFullScreenStyle: () => (/* binding */ getFullScreenStyle),\n/* harmony export */ getItemMapFromInitializer: () => (/* binding */ getItemMapFromInitializer),\n/* harmony export */ getItemsFromInitializer: () => (/* binding */ getItemsFromInitializer),\n/* harmony export */ getPosition: () => (/* binding */ getPosition),\n/* harmony export */ getSize: () => (/* binding */ getSize),\n/* harmony export */ hasMatchMedia: () => (/* binding */ hasMatchMedia),\n/* harmony export */ initParticleNumericAnimationValue: () => (/* binding */ initParticleNumericAnimationValue),\n/* harmony export */ isInArray: () => (/* binding */ isInArray),\n/* harmony export */ isPointInside: () => (/* binding */ isPointInside),\n/* harmony export */ itemFromArray: () => (/* binding */ itemFromArray),\n/* harmony export */ itemFromSingleOrMultiple: () => (/* binding */ itemFromSingleOrMultiple),\n/* harmony export */ manageListener: () => (/* binding */ manageListener),\n/* harmony export */ memoize: () => (/* binding */ memoize),\n/* harmony export */ safeDocument: () => (/* binding */ safeDocument),\n/* harmony export */ safeIntersectionObserver: () => (/* binding */ safeIntersectionObserver),\n/* harmony export */ safeMatchMedia: () => (/* binding */ safeMatchMedia),\n/* harmony export */ safeMutationObserver: () => (/* binding */ safeMutationObserver),\n/* harmony export */ updateAnimation: () => (/* binding */ updateAnimation)\n/* harmony export */ });\n/* harmony import */ var _MathUtils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./MathUtils.js */ \"../../engine/dist/browser/Utils/MathUtils.js\");\n/* harmony import */ var _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Core/Utils/Constants.js */ \"../../engine/dist/browser/Core/Utils/Constants.js\");\n/* harmony import */ var _TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./TypeUtils.js */ \"../../engine/dist/browser/Utils/TypeUtils.js\");\n/* harmony import */ var _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Enums/Modes/AnimationMode.js */ \"../../engine/dist/browser/Enums/Modes/AnimationMode.js\");\n/* harmony import */ var _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Enums/AnimationStatus.js */ \"../../engine/dist/browser/Enums/AnimationStatus.js\");\n/* harmony import */ var _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Enums/Types/DestroyType.js */ \"../../engine/dist/browser/Enums/Types/DestroyType.js\");\n/* harmony import */ var _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../Enums/Directions/OutModeDirection.js */ \"../../engine/dist/browser/Enums/Directions/OutModeDirection.js\");\n/* harmony import */ var _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Enums/Modes/PixelMode.js */ \"../../engine/dist/browser/Enums/Modes/PixelMode.js\");\n/* harmony import */ var _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Enums/Types/StartValueType.js */ \"../../engine/dist/browser/Enums/Types/StartValueType.js\");\n/* harmony import */ var _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Core/Utils/Vectors.js */ \"../../engine/dist/browser/Core/Utils/Vectors.js\");\n\n\n\n\n\n\n\n\n\n\nconst minRadius = 0, minMemoizeSize = 0;\nfunction memoize(fn, options) {\n const cache = new Map(), maxSize = options?.maxSize, ttlMs = options?.ttlMs, keyFn = options?.keyFn, stableStringify = (obj, seen = new WeakSet())=>{\n if (obj === null) {\n return \"null\";\n }\n const t = typeof obj;\n if (t === \"undefined\") {\n return \"undefined\";\n }\n if (t === \"number\" || t === \"boolean\" || t === \"string\") {\n return JSON.stringify(obj);\n }\n if (t === \"function\") {\n try {\n const fn = obj;\n return fn.toString();\n } catch {\n return '\"[Function]\"';\n }\n }\n if (t === \"symbol\") {\n try {\n return obj.toString();\n } catch {\n return '\"[Symbol]\"';\n }\n }\n if (Array.isArray(obj)) {\n return `[${obj.map((i)=>stableStringify(i, seen)).join(\",\")}]`;\n }\n if (seen.has(obj)) {\n return '\"[Circular]\"';\n }\n seen.add(obj);\n const keys = Object.keys(obj).sort();\n return `{${keys.map((k)=>`${JSON.stringify(k)}:${stableStringify(obj[k], seen)}`).join(\",\")}}`;\n }, defaultKeyer = (args)=>stableStringify(args), makeKey = (args)=>keyFn ? keyFn(args) : defaultKeyer(args), ensureBounds = ()=>{\n if (typeof maxSize === \"number\" && maxSize >= minMemoizeSize) {\n while(cache.size > maxSize){\n const firstKey = cache.keys().next().value;\n if (firstKey === undefined) break;\n cache.delete(firstKey);\n }\n }\n };\n return (...args)=>{\n const key = makeKey(args), now = Date.now(), entry = cache.get(key);\n if (entry !== undefined) {\n if (ttlMs && now - entry.ts > ttlMs) {\n cache.delete(key);\n } else {\n cache.delete(key);\n cache.set(key, {\n value: entry.value,\n ts: entry.ts\n });\n return entry.value;\n }\n }\n const result = fn(...args);\n cache.set(key, {\n value: result,\n ts: now\n });\n ensureBounds();\n return result;\n };\n}\nfunction hasMatchMedia() {\n return typeof matchMedia !== \"undefined\";\n}\nfunction safeDocument() {\n return globalThis.document;\n}\nfunction safeMatchMedia(query) {\n if (!hasMatchMedia()) {\n return;\n }\n return matchMedia(query);\n}\nfunction safeIntersectionObserver(callback) {\n if (typeof IntersectionObserver === \"undefined\") {\n return;\n }\n return new IntersectionObserver(callback);\n}\nfunction safeMutationObserver(callback) {\n if (typeof MutationObserver === \"undefined\") {\n return;\n }\n return new MutationObserver(callback);\n}\nfunction isInArray(value, array) {\n return value === array || (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(array) && array.includes(value);\n}\nfunction arrayRandomIndex(array) {\n return Math.floor((0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * array.length);\n}\nfunction itemFromArray(array, index, useIndex = true) {\n return array[index !== undefined && useIndex ? index % array.length : arrayRandomIndex(array)];\n}\nfunction isPointInside(point, size, offset, radius, direction) {\n return areBoundsInside(calculateBounds(point, radius ?? minRadius), size, offset, direction);\n}\nfunction areBoundsInside(bounds, size, offset, direction) {\n let inside = true;\n if (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.bottom) {\n inside = bounds.top < size.height + offset.x;\n }\n if (inside && (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.left)) {\n inside = bounds.right > offset.x;\n }\n if (inside && (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.right)) {\n inside = bounds.left < size.width + offset.y;\n }\n if (inside && (!direction || direction === _Enums_Directions_OutModeDirection_js__WEBPACK_IMPORTED_MODULE_6__.OutModeDirection.top)) {\n inside = bounds.bottom > offset.y;\n }\n return inside;\n}\nfunction calculateBounds(point, radius) {\n return {\n bottom: point.y + radius,\n left: point.x - radius,\n right: point.x + radius,\n top: point.y - radius\n };\n}\nfunction deepExtend(destination, ...sources) {\n for (const source of sources){\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(source)) {\n continue;\n }\n if (!(0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isObject)(source)) {\n destination = source;\n continue;\n }\n if (Array.isArray(source)) {\n if (!Array.isArray(destination)) {\n destination = [];\n }\n } else if (!(0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isObject)(destination) || Array.isArray(destination)) {\n destination = {};\n }\n const sourceKeys = Object.keys(source), dangerousKeys = new Set([\n \"__proto__\",\n \"constructor\",\n \"prototype\"\n ]), hasNested = sourceKeys.some((k)=>{\n const v = source[k];\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isObject)(v) || Array.isArray(v);\n });\n if (!hasNested) {\n const sourceDict = source, destDict = destination;\n for (const key of sourceKeys){\n if (dangerousKeys.has(key)) {\n continue;\n }\n if (key in sourceDict) {\n const v = sourceDict[key];\n if (v !== undefined) {\n destDict[key] = v;\n }\n }\n }\n continue;\n }\n for (const key of sourceKeys){\n if (dangerousKeys.has(key)) {\n continue;\n }\n const sourceDict = source, destDict = destination, value = sourceDict[key];\n destDict[key] = Array.isArray(value) ? value.map((v)=>deepExtend(undefined, v)) : deepExtend(destDict[key], value);\n }\n }\n return destination;\n}\nfunction circleBounceDataFromParticle(p) {\n return {\n position: p.getPosition(),\n radius: p.getRadius(),\n mass: p.getMass(),\n velocity: p.velocity,\n factor: _Core_Utils_Vectors_js__WEBPACK_IMPORTED_MODULE_9__.Vector.create((0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(p.options.bounce.horizontal.value), (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(p.options.bounce.vertical.value))\n };\n}\nfunction circleBounce(p1, p2) {\n const { x: xVelocityDiff, y: yVelocityDiff } = p1.velocity.sub(p2.velocity), [pos1, pos2] = [\n p1.position,\n p2.position\n ], { dx: xDist, dy: yDist } = (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getDistances)(pos2, pos1), minimumDistance = 0;\n if (xVelocityDiff * xDist + yVelocityDiff * yDist < minimumDistance) {\n return;\n }\n const angle = -Math.atan2(yDist, xDist), m1 = p1.mass, m2 = p2.mass, u1 = p1.velocity.rotate(angle), u2 = p2.velocity.rotate(angle), v1 = (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.collisionVelocity)(u1, u2, m1, m2), v2 = (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.collisionVelocity)(u2, u1, m1, m2), vFinal1 = v1.rotate(-angle), vFinal2 = v2.rotate(-angle);\n p1.velocity.x = vFinal1.x * p1.factor.x;\n p1.velocity.y = vFinal1.y * p1.factor.y;\n p2.velocity.x = vFinal2.x * p2.factor.x;\n p2.velocity.y = vFinal2.y * p2.factor.y;\n}\nfunction executeOnSingleOrMultiple(obj, callback) {\n const defaultIndex = 0;\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(obj) ? obj.map((item, index)=>callback(item, index)) : callback(obj, defaultIndex);\n}\nfunction itemFromSingleOrMultiple(obj, index, useIndex) {\n return (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(obj) ? itemFromArray(obj, index, useIndex) : obj;\n}\nfunction findItemFromSingleOrMultiple(obj, callback) {\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isArray)(obj)) {\n return obj.find((t, index)=>callback(t, index));\n }\n const defaultIndex = 0;\n return callback(obj, defaultIndex) ? obj : undefined;\n}\nfunction initParticleNumericAnimationValue(options, pxRatio) {\n const valueRange = options.value, animationOptions = options.animation, res = {\n delayTime: (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animationOptions.delay) * _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.millisecondsToSeconds,\n enable: animationOptions.enable,\n value: (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(options.value) * pxRatio,\n max: (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeMax)(valueRange) * pxRatio,\n min: (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeMin)(valueRange) * pxRatio,\n loops: 0,\n maxLoops: (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animationOptions.count),\n time: 0\n }, decayOffset = 1;\n if (animationOptions.enable) {\n res.decay = decayOffset - (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(animationOptions.decay);\n switch(animationOptions.mode){\n case _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.increase:\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing;\n break;\n case _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.decrease:\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n break;\n case _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.random:\n res.status = (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.half ? _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing : _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n break;\n default:\n break;\n }\n const autoStatus = animationOptions.mode === _Enums_Modes_AnimationMode_js__WEBPACK_IMPORTED_MODULE_3__.AnimationMode.auto;\n switch(animationOptions.startValue){\n case _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__.StartValueType.min:\n res.value = res.min;\n if (autoStatus) {\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing;\n }\n break;\n case _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__.StartValueType.max:\n res.value = res.max;\n if (autoStatus) {\n res.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n }\n break;\n case _Enums_Types_StartValueType_js__WEBPACK_IMPORTED_MODULE_8__.StartValueType.random:\n default:\n res.value = (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.randomInRangeValue)(res);\n if (autoStatus) {\n res.status = (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.half ? _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing : _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n }\n break;\n }\n }\n res.initialValue = res.value;\n return res;\n}\nfunction getPositionOrSize(positionOrSize, canvasSize) {\n const isPercent = positionOrSize.mode === _Enums_Modes_PixelMode_js__WEBPACK_IMPORTED_MODULE_7__.PixelMode.percent;\n if (!isPercent) {\n const { mode: _, ...rest } = positionOrSize;\n return rest;\n }\n const isPosition = \"x\" in positionOrSize;\n if (isPosition) {\n return {\n x: positionOrSize.x / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.width,\n y: positionOrSize.y / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.height\n };\n } else {\n return {\n width: positionOrSize.width / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.width,\n height: positionOrSize.height / _Core_Utils_Constants_js__WEBPACK_IMPORTED_MODULE_1__.percentDenominator * canvasSize.height\n };\n }\n}\nfunction getPosition(position, canvasSize) {\n return getPositionOrSize(position, canvasSize);\n}\nfunction getSize(size, canvasSize) {\n return getPositionOrSize(size, canvasSize);\n}\nfunction checkDestroy(particle, destroyType, value, minValue, maxValue) {\n switch(destroyType){\n case _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_5__.DestroyType.max:\n if (value >= maxValue) {\n particle.destroy();\n }\n break;\n case _Enums_Types_DestroyType_js__WEBPACK_IMPORTED_MODULE_5__.DestroyType.min:\n if (value <= minValue) {\n particle.destroy();\n }\n break;\n default:\n break;\n }\n}\nfunction updateAnimation(particle, data, changeDirection, destroyType, delta) {\n const minLoops = 0, minDelay = 0, identity = 1, minVelocity = 0, minDecay = 1;\n if (particle.destroyed || !data.enable || (data.maxLoops ?? minLoops) > minLoops && (data.loops ?? minLoops) > (data.maxLoops ?? minLoops)) {\n return;\n }\n const velocity = (data.velocity ?? minVelocity) * delta.factor, minValue = data.min, maxValue = data.max, decay = data.decay ?? minDecay;\n data.time ??= 0;\n if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {\n data.time += delta.value;\n }\n if ((data.delayTime ?? minDelay) > minDelay && data.time < (data.delayTime ?? minDelay)) {\n return;\n }\n switch(data.status){\n case _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing:\n data.value += velocity;\n break;\n case _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing:\n data.value -= velocity;\n break;\n default:\n break;\n }\n if (data.velocity && decay !== identity) {\n data.velocity *= decay;\n }\n switch(data.status){\n case _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing:\n if (data.value >= maxValue) {\n if (changeDirection) {\n data.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing;\n } else {\n data.value -= maxValue;\n }\n data.loops ??= minLoops;\n data.loops++;\n }\n break;\n case _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.decreasing:\n if (data.value <= minValue) {\n if (changeDirection) {\n data.status = _Enums_AnimationStatus_js__WEBPACK_IMPORTED_MODULE_4__.AnimationStatus.increasing;\n } else {\n data.value += maxValue;\n }\n data.loops ??= minLoops;\n data.loops++;\n }\n break;\n default:\n break;\n }\n checkDestroy(particle, destroyType, data.value, minValue, maxValue);\n if (!particle.destroyed) {\n data.value = (0,_MathUtils_js__WEBPACK_IMPORTED_MODULE_0__.clamp)(data.value, minValue, maxValue);\n }\n}\nfunction cloneStyle(style) {\n const clonedStyle = safeDocument().createElement(\"div\").style;\n for(const key in style){\n const styleKey = style[key];\n if (!(key in style) || (0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isNull)(styleKey)) {\n continue;\n }\n const styleValue = style.getPropertyValue?.(styleKey);\n if (!styleValue) {\n continue;\n }\n const stylePriority = style.getPropertyPriority?.(styleKey);\n if (stylePriority) {\n clonedStyle.setProperty(styleKey, styleValue, stylePriority);\n } else {\n clonedStyle.setProperty(styleKey, styleValue);\n }\n }\n return clonedStyle;\n}\nfunction computeFullScreenStyle(zIndex) {\n const fullScreenStyle = safeDocument().createElement(\"div\").style, radix = 10, style = {\n width: \"100%\",\n height: \"100%\",\n margin: \"0\",\n padding: \"0\",\n borderWidth: \"0\",\n position: \"fixed\",\n zIndex: zIndex.toString(radix),\n \"z-index\": zIndex.toString(radix),\n top: \"0\",\n left: \"0\"\n };\n for(const key in style){\n const value = style[key];\n if (value === undefined) {\n continue;\n }\n fullScreenStyle.setProperty(key, value);\n }\n return fullScreenStyle;\n}\nconst getFullScreenStyle = memoize(computeFullScreenStyle);\nfunction manageListener(element, event, handler, add, options) {\n if (add) {\n let addOptions = {\n passive: true\n };\n if ((0,_TypeUtils_js__WEBPACK_IMPORTED_MODULE_2__.isBoolean)(options)) {\n addOptions.capture = options;\n } else if (options !== undefined) {\n addOptions = options;\n }\n element.addEventListener(event, handler, addOptions);\n } else {\n const removeOptions = options;\n element.removeEventListener(event, handler, removeOptions);\n }\n}\nasync function getItemsFromInitializer(container, map, initializers, force = false) {\n let res = map.get(container);\n if (!res || force) {\n res = await Promise.all([\n ...initializers.values()\n ].map((t)=>t(container)));\n map.set(container, res);\n }\n return res;\n}\nasync function getItemMapFromInitializer(container, map, initializers, force = false) {\n let res = map.get(container);\n if (!res || force) {\n const entries = await Promise.all([\n ...initializers.entries()\n ].map(([key, initializer])=>initializer(container).then((item)=>[\n key,\n item\n ])));\n res = new Map(entries);\n map.set(container, res);\n }\n return res;\n}\n\n\n//# sourceURL=webpack://@tsparticles/pjs/../../engine/dist/browser/Utils/Utils.js?\n}");
638
638
 
639
639
  /***/ },
640
640
 
@@ -694,7 +694,7 @@ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpa
694
694
  \*******************************/
695
695
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
696
696
 
697
- eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ initPjs: () => (/* binding */ initPjs)\n/* harmony export */ });\n/* harmony import */ var _marcbruederlin_Particles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./marcbruederlin/Particles.js */ \"./dist/browser/marcbruederlin/Particles.js\");\n/* harmony import */ var _VincentGarreau_particles_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./VincentGarreau/particles.js */ \"./dist/browser/VincentGarreau/particles.js\");\n\n\nconst initPjs = async (engine)=>{\n engine.checkVersion(\"4.0.0-beta.5\");\n await engine.pluginManager.register(async (e)=>{\n const [{ loadFull }, { loadResponsivePlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"full_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! tsparticles */ \"../full/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_responsive_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-responsive */ \"../../plugins/responsive/dist/browser/index.js\"))\n ]);\n await loadFull(e);\n await loadResponsivePlugin(e);\n });\n const { particlesJS, pJSDom } = (0,_VincentGarreau_particles_js__WEBPACK_IMPORTED_MODULE_1__.initParticlesJS)(engine);\n globalThis.particlesJS = particlesJS;\n globalThis.pJSDom = pJSDom;\n globalThis.Particles = _marcbruederlin_Particles_js__WEBPACK_IMPORTED_MODULE_0__.MBParticles;\n};\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/./dist/browser/index.js?\n}");
697
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ initPjs: () => (/* binding */ initPjs)\n/* harmony export */ });\n/* harmony import */ var _marcbruederlin_Particles_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./marcbruederlin/Particles.js */ \"./dist/browser/marcbruederlin/Particles.js\");\n/* harmony import */ var _VincentGarreau_particles_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./VincentGarreau/particles.js */ \"./dist/browser/VincentGarreau/particles.js\");\n\n\nconst initPjs = async (engine)=>{\n engine.checkVersion(\"4.0.0-beta.8\");\n await engine.pluginManager.register(async (e)=>{\n const [{ loadFull }, { loadResponsivePlugin }] = await Promise.all([\n __webpack_require__.e(/*! import() */ \"full_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! tsparticles */ \"../full/dist/browser/index.js\")),\n __webpack_require__.e(/*! import() */ \"plugins_responsive_dist_browser_index_js\").then(__webpack_require__.bind(__webpack_require__, /*! @tsparticles/plugin-responsive */ \"../../plugins/responsive/dist/browser/index.js\"))\n ]);\n await loadFull(e);\n await loadResponsivePlugin(e);\n });\n const { particlesJS, pJSDom } = (0,_VincentGarreau_particles_js__WEBPACK_IMPORTED_MODULE_1__.initParticlesJS)(engine);\n globalThis.particlesJS = particlesJS;\n globalThis.pJSDom = pJSDom;\n globalThis.Particles = _marcbruederlin_Particles_js__WEBPACK_IMPORTED_MODULE_0__.MBParticles;\n};\n\n\n\n//# sourceURL=webpack://@tsparticles/pjs/./dist/browser/index.js?\n}");
698
698
 
699
699
  /***/ },
700
700
 
@@ -1,2 +1,2 @@
1
- !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i=t();for(var a in i)("object"==typeof exports?exports:e)[a]=i[a]}}(this,()=>(()=>{"use strict";var e,t,i,a={9889(e,t,i){i.d(t,{$G:()=>L,$_:()=>T,$v:()=>W,$x:()=>_,BF:()=>ef,BW:()=>p,DN:()=>N,D_:()=>ec,Dv:()=>ed,Eo:()=>Q,Fl:()=>eg,GW:()=>$,Ie:()=>D,JC:()=>Z,K3:()=>es,L1:()=>A,LD:()=>er,MX:()=>l,NF:()=>s,Nu:()=>ep,Nx:()=>K,PZ:()=>U,Pf:()=>ew,R1:()=>m,RF:()=>x,RV:()=>q,Rq:()=>V,U0:()=>I,Ug:()=>u,WH:()=>Y,X$:()=>b,X_:()=>ee,Xu:()=>c,Zp:()=>k,a5:()=>r,aE:()=>em,aZ:()=>g,bo:()=>d,ce:()=>y,dm:()=>z,dv:()=>X,eb:()=>a,eu:()=>E,gd:()=>v,hB:()=>P,hK:()=>eb,hv:()=>B,i8:()=>j,iU:()=>eu,iX:()=>M,jn:()=>ey,lA:()=>eo,mR:()=>h,nK:()=>o,nq:()=>ei,oi:()=>O,ou:()=>et,rq:()=>w,tA:()=>el,tR:()=>ex,vF:()=>H,vS:()=>R,vd:()=>eh,w2:()=>G,wM:()=>ea,xH:()=>J,xd:()=>S,yj:()=>n,yx:()=>F,z$:()=>f,z9:()=>en,zg:()=>ev,zs:()=>C});let a="generated",n="source-over",s="resize",o="visibilitychange",r=100,l=.5,c=1e3,d={x:0,y:0,z:0},u={a:1,b:0,c:0,d:1},h="random",p="mid",v=2,m=2*Math.PI,f=60,g=1,y="true",b="false",x="canvas",w=0,z=2,M=100,S=1,_=1,k=1,P=1,O=255,R=360,E=100,T=100,A=0,F=0,I=60,D=0,L=.25,V=.75,$=0,C=1,G=0,q=1,B=1,Z=1,H=0,j=120,N=0,K=0,W=1e4,U=0,J=1,X=0,Y=1,Q=1,ee=0,et=0,ei=1,ea=0,en=0,es=1,eo=1,er=1,el=0,ec=1,ed=0,eu=1,eh=0,ep=3,ev=6,em=1,ef=1,eg=0,ey=0,eb=0,ex=0,ew=1},1745(e,t,i){i.d(t,{dg:()=>r,jl:()=>l,M_:()=>c}),(a=n||(n={})).circle="circle",a.rectangle="rectangle";var a,n,s=i(5273),o=i(9889);class r{position;type;constructor(e,t,i){this.position={x:e,y:t},this.type=i}_resetPosition(e,t){this.position.x=e,this.position.y=t}}class l extends r{radius;constructor(e,t,i){super(e,t,n.circle),this.radius=i}contains(e){return(0,s.gp)(e,this.position,this.radius)}intersects(e){let t=this.position,i=e.position,a=this.radius,s=Math.abs(i.x-t.x),r=Math.abs(i.y-t.y);if(e instanceof l||e.type===n.circle)return a+e.radius>Math.hypot(s,r);if(e instanceof c||e.type===n.rectangle){let{width:t,height:i}=e.size;return Math.pow(s-t,o.dm)+Math.pow(r-i,o.dm)<=a**o.dm||s<=a+t&&r<=a+i||s<=t||r<=i}return!1}reset(e,t,i){return this._resetPosition(e,t),this.radius=i,this}}class c extends r{size;constructor(e,t,i,a){super(e,t,n.rectangle),this.size={height:a,width:i}}contains(e){let t=this.size.width,i=this.size.height,a=this.position;return e.x>=a.x&&e.x<=a.x+t&&e.y>=a.y&&e.y<=a.y+i}intersects(e){if(e instanceof l)return e.intersects(this);if(!(e instanceof c))return!1;let t=this.size.width,i=this.size.height,a=this.position,n=e.position,s=e.size,o=s.width,r=s.height;return n.x<a.x+t&&n.x+o>a.x&&n.y<a.y+i&&n.y+r>a.y}reset(e,t,i,a){return this._resetPosition(e,t),this.size.width=i,this.size.height=a,this}}},5700(e,t,i){i.d(t,{M:()=>o,p:()=>s});var a=i(9889);function n(e){return"z"in e?e.z:a.bo.z}class s{x;y;z;constructor(e=a.bo.x,t=a.bo.y,i=a.bo.z){this.x=e,this.y=t,this.z=i}static get origin(){return s.create(a.bo.x,a.bo.y,a.bo.z)}get angle(){return Math.atan2(this.y,this.x)}set angle(e){this._updateFromAngle(e,this.length)}get length(){return Math.sqrt(this.getLengthSq())}set length(e){this._updateFromAngle(this.angle,e)}static clone(e){return s.create(e.x,e.y,n(e))}static create(e,t,i){return"number"==typeof e?new s(e,t??a.bo.y,i??a.bo.z):new s(e.x,e.y,n(e))}add(e){return s.create(this.x+e.x,this.y+e.y,this.z+n(e))}addTo(e){this.x+=e.x,this.y+=e.y,this.z+=n(e)}copy(){return s.clone(this)}div(e){return s.create(this.x/e,this.y/e,this.z/e)}divTo(e){this.x/=e,this.y/=e,this.z/=e}getLengthSq(){return this.x**a.dm+this.y**a.dm}mult(e){return s.create(this.x*e,this.y*e,this.z*e)}multTo(e){this.x*=e,this.y*=e,this.z*=e}normalize(){let e=this.length;e!=a.dv&&this.multTo(a.hB/e)}rotate(e){return s.create(this.x*Math.cos(e)-this.y*Math.sin(e),this.x*Math.sin(e)+this.y*Math.cos(e),a.bo.z)}setTo(e){this.x=e.x,this.y=e.y,this.z=n(e)}sub(e){return s.create(this.x-e.x,this.y-e.y,this.z-n(e))}subFrom(e){this.x-=e.x,this.y-=e.y,this.z-=n(e)}_updateFromAngle(e,t){this.x=Math.cos(e)*t,this.y=Math.sin(e)*t}}class o extends s{constructor(e=a.bo.x,t=a.bo.y){super(e,t,a.bo.z)}static get origin(){return o.create(a.bo.x,a.bo.y)}static clone(e){return o.create(e.x,e.y)}static create(e,t){return"number"==typeof e?new o(e,t??a.bo.y):new o(e.x,e.y)}}},197(e,t,i){var a,n;i.d(t,{H:()=>a}),(n=a||(a={})).increasing="increasing",n.decreasing="decreasing"},7730(e,t,i){var a,n;i.d(t,{F:()=>a}),(n=a||(a={})).bottom="bottom",n.bottomLeft="bottom-left",n.bottomRight="bottom-right",n.left="left",n.none="none",n.right="right",n.top="top",n.topLeft="top-left",n.topRight="top-right",n.outside="outside",n.inside="inside"},5278(e,t,i){var a,n;i.d(t,{v:()=>a}),(n=a||(a={})).bottom="bottom",n.left="left",n.right="right",n.top="top"},3627(e,t,i){var a,n;i.d(t,{g:()=>a}),(n=a||(a={})).auto="auto",n.increase="increase",n.decrease="decrease",n.random="random"},8534(e,t,i){var a,n;i.d(t,{d:()=>a}),(n=a||(a={})).delete="delete",n.wait="wait"},4517(e,t,i){var a,n;i.d(t,{Y:()=>a}),(n=a||(a={})).bounce="bounce",n.none="none",n.out="out",n.destroy="destroy",n.split="split"},5697(e,t,i){var a,n;i.d(t,{q:()=>a}),(n=a||(a={})).precise="precise",n.percent="percent"},4763(e,t,i){var a,n;i.d(t,{H:()=>a}),(n=a||(a={})).darken="darken",n.enlighten="enlighten"},4121(e,t,i){var a,n;i.d(t,{V:()=>a}),(n=a||(a={})).none="none",n.max="max",n.min="min"},5291(e,t,i){var a,n;i.d(t,{B:()=>a}),(n=a||(a={})).configAdded="configAdded",n.containerInit="containerInit",n.particlesSetup="particlesSetup",n.containerStarted="containerStarted",n.containerStopped="containerStopped",n.containerDestroyed="containerDestroyed",n.containerPaused="containerPaused",n.containerPlay="containerPlay",n.containerBuilt="containerBuilt",n.particleAdded="particleAdded",n.particleDestroyed="particleDestroyed",n.particleRemoved="particleRemoved"},2677(e,t,i){var a,n;i.d(t,{x:()=>a}),(n=a||(a={})).normal="normal",n.inside="inside",n.outside="outside"},1706(e,t,i){var a,n;i.d(t,{S:()=>a}),(n=a||(a={})).max="max",n.min="min",n.random="random"},4157(e,t,i){i.d(t,{A:()=>o});var a=i(523),n=i(5707),s=i(9777);class o extends s.O{animation;constructor(){super(),this.animation=new n.i}static create(e,t){let i=new o;return i.load(e),void 0!==t&&((0,a.Kg)(t)||(0,a.cy)(t)?i.load({value:t}):i.load(t)),i}load(e){if(super.load(e),(0,a.kZ)(e))return;let t=e.animation;void 0!==t&&(void 0===t.enable?this.animation.load(e.animation):this.animation.h.load(t))}}},3852(e,t,i){i.d(t,{Q:()=>l,p:()=>r});var a=i(3627),n=i(1706),s=i(523),o=i(5273);class r{count;decay;delay;enable;speed;sync;constructor(){this.count=0,this.enable=!1,this.speed=1,this.decay=0,this.delay=0,this.sync=!1}load(e){(0,s.kZ)(e)||(void 0!==e.count&&(this.count=(0,o.DT)(e.count)),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.speed&&(this.speed=(0,o.DT)(e.speed)),void 0!==e.decay&&(this.decay=(0,o.DT)(e.decay)),void 0!==e.delay&&(this.delay=(0,o.DT)(e.delay)),void 0!==e.sync&&(this.sync=e.sync))}}class l extends r{mode;startValue;constructor(){super(),this.mode=a.g.auto,this.startValue=n.S.random}load(e){super.load(e),(0,s.kZ)(e)||(void 0!==e.mode&&(this.mode=e.mode),void 0!==e.startValue&&(this.startValue=e.startValue))}}},2211(e,t,i){i.d(t,{V:()=>s});var a=i(9777),n=i(523);class s{color;image;opacity;position;repeat;size;constructor(){this.color=new a.O,this.color.value="",this.image="",this.position="",this.repeat="",this.size="",this.opacity=1}load(e){(0,n.kZ)(e)||(void 0!==e.color&&(this.color=a.O.create(this.color,e.color)),void 0!==e.image&&(this.image=e.image),void 0!==e.position&&(this.position=e.position),void 0!==e.repeat&&(this.repeat=e.repeat),void 0!==e.size&&(this.size=e.size),void 0!==e.opacity&&(this.opacity=e.opacity))}}},4343(e,t,i){i.d(t,{e:()=>o});var a=i(3852),n=i(523),s=i(5273);class o extends a.p{max;min;offset;constructor(e,t){super(),this.min=e,this.max=t,this.offset=0,this.sync=!0}load(e){super.load(e),(0,n.kZ)(e)||(void 0!==e.max&&(this.max=e.max),void 0!==e.min&&(this.min=e.min),void 0!==e.offset&&(this.offset=(0,s.DT)(e.offset)))}}},4369(e,t,i){i.d(t,{m:()=>n});var a=i(523);class n{enable;zIndex;constructor(){this.enable=!0,this.zIndex=0}load(e){(0,a.kZ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.zIndex&&(this.zIndex=e.zIndex))}}},5707(e,t,i){i.d(t,{i:()=>o});var a=i(9889),n=i(4343),s=i(523);class o{h=new n.e(a.L1,a.vS);l=new n.e(a.vd,a.$_);s=new n.e(a.yx,a.eu);load(e){(0,s.kZ)(e)||(this.h.load(e.h),this.s.load(e.s),this.l.load(e.l))}}},3748(e,t,i){i.d(t,{J:()=>d});var a=i(7171),n=i(523),s=i(2211),o=i(4369),r=i(7066),l=i(2439),c=i(5273);class d{autoPlay;background;clear;defaultThemes;delay;detectRetina;duration;fpsLimit;fullScreen;hdr;key;name;palette;particles;pauseOnBlur;pauseOnOutsideViewport;preset;resize;smooth;style;zLayers;_container;_pluginManager;constructor(e,t){this._pluginManager=e,this._container=t,this.autoPlay=!0,this.background=new s.V,this.clear=!0,this.defaultThemes={},this.delay=0,this.fullScreen=new o.m,this.detectRetina=!0,this.duration=0,this.fpsLimit=120,this.hdr=!0,this.particles=(0,l.y)(this._pluginManager,this._container),this.pauseOnBlur=!0,this.pauseOnOutsideViewport=!0,this.resize=new r.z,this.smooth=!1,this.style={},this.zLayers=100}load(e){if((0,n.kZ)(e))return;void 0!==e.preset&&(this.preset=e.preset,(0,a.wJ)(this.preset,e=>{this._importPreset(e)})),void 0!==e.palette&&(this.palette=e.palette,this._importPalette(this.palette)),void 0!==e.autoPlay&&(this.autoPlay=e.autoPlay),void 0!==e.clear&&(this.clear=e.clear),void 0!==e.key&&(this.key=e.key),void 0!==e.name&&(this.name=e.name),void 0!==e.delay&&(this.delay=(0,c.DT)(e.delay));let t=e.detectRetina;void 0!==t&&(this.detectRetina=t),void 0!==e.duration&&(this.duration=(0,c.DT)(e.duration));let i=e.fpsLimit;void 0!==i&&(this.fpsLimit=i),void 0!==e.hdr&&(this.hdr=e.hdr),void 0!==e.pauseOnBlur&&(this.pauseOnBlur=e.pauseOnBlur),void 0!==e.pauseOnOutsideViewport&&(this.pauseOnOutsideViewport=e.pauseOnOutsideViewport),void 0!==e.zLayers&&(this.zLayers=e.zLayers),this.background.load(e.background);let s=e.fullScreen;(0,n.Lm)(s)?this.fullScreen.enable=s:this.fullScreen.load(s),this.particles.load(e.particles),this.resize.load(e.resize),this.style=(0,a.zw)(this.style,e.style),void 0!==e.smooth&&(this.smooth=e.smooth),this._pluginManager.plugins.forEach(t=>{t.loadOptions(this._container,this,e)})}_importPalette=e=>{let t=this._pluginManager.getPalette(e);t&&this.load({background:{color:t.background},blend:{enable:!0,mode:t.blendMode},particles:{fill:{color:t.fill?{value:t.colors}:void 0,enable:t.fill},stroke:t.fill?void 0:t.colors.map(e=>({color:{value:e},width:1}))}})};_importPreset=e=>{this.load(this._pluginManager.getPreset(e))}}},9777(e,t,i){i.d(t,{O:()=>n});var a=i(523);class n{value;constructor(){this.value=""}static create(e,t){let i=new n;return i.load(e),void 0!==t&&((0,a.Kg)(t)||(0,a.cy)(t)?i.load({value:t}):i.load(t)),i}load(e){!(0,a.kZ)(e)&&((0,a.kZ)(e.value)||(this.value=e.value))}}},4040(e,t,i){i.d(t,{w:()=>s});var a=i(7144),n=i(523);class s{horizontal;vertical;constructor(){this.horizontal=new a.F,this.vertical=new a.F}load(e){(0,n.kZ)(e)||(this.horizontal.load(e.horizontal),this.vertical.load(e.vertical))}}},7144(e,t,i){i.d(t,{F:()=>n});var a=i(7292);class n extends a.PV{constructor(){super(),this.value=1}}},9041(e,t,i){i.d(t,{S:()=>o});var a=i(4157),n=i(523),s=i(5273);class o{color;enable;opacity;constructor(){this.enable=!0,this.color=new a.A,this.color.value="#fff",this.opacity=1}load(e){(0,n.kZ)(e)||(void 0!==e.color&&(this.color=a.A.create(this.color,e.color)),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.opacity&&(this.opacity=(0,s.DT)(e.opacity)))}}},4589(e,t,i){i.d(t,{y:()=>h});var a=i(7730),n=i(523),s=i(4666),o=i(4284),r=i(4687),l=i(9668),c=i(3120),d=i(9940),u=i(5273);class h{angle;center;decay;direction;distance;drift;enable;gravity;outModes;path;random;size;speed;spin;straight;vibrate;warp;constructor(){this.angle=new s.h,this.center=new o.Z,this.decay=0,this.distance={},this.direction=a.F.none,this.drift=0,this.enable=!1,this.gravity=new r.y,this.path=new l.v,this.outModes=new c.j,this.random=!1,this.size=!1,this.speed=2,this.spin=new d.t,this.straight=!1,this.vibrate=!1,this.warp=!1}load(e){if((0,n.kZ)(e))return;this.angle.load((0,n.Et)(e.angle)?{value:e.angle}:e.angle),this.center.load(e.center),void 0!==e.decay&&(this.decay=(0,u.DT)(e.decay)),void 0!==e.direction&&(this.direction=e.direction),void 0!==e.distance&&(this.distance=(0,n.Et)(e.distance)?{horizontal:e.distance,vertical:e.distance}:{...e.distance}),void 0!==e.drift&&(this.drift=(0,u.DT)(e.drift)),void 0!==e.enable&&(this.enable=e.enable),this.gravity.load(e.gravity);let t=e.outModes;void 0!==t&&((0,n.Gv)(t)?this.outModes.load(t):this.outModes.load({default:t})),this.path.load(e.path),void 0!==e.random&&(this.random=e.random),void 0!==e.size&&(this.size=e.size),void 0!==e.speed&&(this.speed=(0,u.DT)(e.speed)),this.spin.load(e.spin),void 0!==e.straight&&(this.straight=e.straight),void 0!==e.vibrate&&(this.vibrate=e.vibrate),void 0!==e.warp&&(this.warp=e.warp)}}},4666(e,t,i){i.d(t,{h:()=>s});var a=i(523),n=i(5273);class s{offset;value;constructor(){this.offset=0,this.value=90}load(e){(0,a.kZ)(e)||(void 0!==e.offset&&(this.offset=(0,n.DT)(e.offset)),void 0!==e.value&&(this.value=(0,n.DT)(e.value)))}}},4284(e,t,i){i.d(t,{Z:()=>s});var a=i(5697),n=i(523);class s{mode;radius;x;y;constructor(){this.x=50,this.y=50,this.mode=a.q.percent,this.radius=0}load(e){(0,n.kZ)(e)||(void 0!==e.x&&(this.x=e.x),void 0!==e.y&&(this.y=e.y),void 0!==e.mode&&(this.mode=e.mode),void 0!==e.radius&&(this.radius=e.radius))}}},4687(e,t,i){i.d(t,{y:()=>s});var a=i(523),n=i(5273);class s{acceleration;enable;inverse;maxSpeed;constructor(){this.acceleration=9.81,this.enable=!1,this.inverse=!1,this.maxSpeed=50}load(e){(0,a.kZ)(e)||(void 0!==e.acceleration&&(this.acceleration=(0,n.DT)(e.acceleration)),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.inverse&&(this.inverse=e.inverse),void 0!==e.maxSpeed&&(this.maxSpeed=(0,n.DT)(e.maxSpeed)))}}},3120(e,t,i){i.d(t,{j:()=>s});var a=i(4517),n=i(523);class s{bottom;default;left;right;top;constructor(){this.default=a.Y.out}load(e){(0,n.kZ)(e)||(void 0!==e.default&&(this.default=e.default),this.bottom=e.bottom??e.default,this.left=e.left??e.default,this.right=e.right??e.default,this.top=e.top??e.default)}}},9668(e,t,i){i.d(t,{v:()=>o});var a=i(7292),n=i(7171),s=i(523);class o{clamp;delay;enable;generator;options;constructor(){this.clamp=!0,this.delay=new a.PV,this.enable=!1,this.options={}}load(e){!(0,s.kZ)(e)&&(void 0!==e.clamp&&(this.clamp=e.clamp),this.delay.load(e.delay),void 0!==e.enable&&(this.enable=e.enable),this.generator=e.generator,e.options&&(this.options=(0,n.zw)(this.options,e.options)))}}},9940(e,t,i){i.d(t,{t:()=>o});var a=i(7171),n=i(523),s=i(5273);class o{acceleration;enable;position;constructor(){this.acceleration=0,this.enable=!1}load(e){!(0,n.kZ)(e)&&(void 0!==e.acceleration&&(this.acceleration=(0,s.DT)(e.acceleration)),void 0!==e.enable&&(this.enable=e.enable),e.position&&(this.position=(0,a.zw)({},e.position)))}}},7769(e,t,i){i.d(t,{M:()=>n});var a=i(523);class n{enable;height;width;constructor(){this.enable=!1,this.width=1920,this.height=1080}load(e){if((0,a.kZ)(e))return;void 0!==e.enable&&(this.enable=e.enable);let t=e.width;void 0!==t&&(this.width=t);let i=e.height;void 0!==i&&(this.height=i)}}},7308(e,t,i){i.d(t,{N:()=>o});var a=i(7769),n=i(5693),s=i(523);class o{density;limit;value;constructor(){this.density=new a.M,this.limit=new n.A,this.value=0}load(e){(0,s.kZ)(e)||(this.density.load(e.density),this.limit.load(e.limit),void 0!==e.value&&(this.value=e.value))}}},5693(e,t,i){i.d(t,{A:()=>s});var a=i(8534),n=i(523);class s{mode;value;constructor(){this.mode=a.d.delete,this.value=0}load(e){(0,n.kZ)(e)||(void 0!==e.mode&&(this.mode=e.mode),void 0!==e.value&&(this.value=e.value))}}},477(e,t,i){i.d(t,{Y:()=>o});var a=i(535),n=i(7292),s=i(523);class o extends n.AI{animation;constructor(){super(),this.animation=new a.I,this.value=1}load(e){if((0,s.kZ)(e))return;super.load(e);let t=e.animation;void 0!==t&&this.animation.load(t)}}},535(e,t,i){i.d(t,{I:()=>o});var a=i(4121),n=i(3852),s=i(523);class o extends n.Q{destroy;constructor(){super(),this.destroy=a.V.none,this.speed=2}load(e){super.load(e),(0,s.kZ)(e)||void 0!==e.destroy&&(this.destroy=e.destroy)}}},1975(e,t,i){i.d(t,{U:()=>m});var a=i(7171),n=i(523);class s{close;options;type;constructor(){this.close=!0,this.options={},this.type=[]}load(e){if((0,n.kZ)(e))return;let t=e.options;if(void 0!==t)for(let e in t){let i=t[e];i&&(this.options[e]=(0,a.zw)(this.options[e]??{},i))}void 0!==e.close&&(this.close=e.close),void 0!==e.type&&(this.type=e.type)}}var o=i(9041),r=i(4589),l=i(477),c=i(4040),d=i(7308),u=i(5865),h=i(2181),p=i(8284),v=i(7391);class m{bounce;effect;fill;groups;move;number;opacity;reduceDuplicates;shape;size;stroke;zIndex;_container;_pluginManager;constructor(e,t){this._pluginManager=e,this._container=t,this.bounce=new c.w,this.effect=new s,this.fill=new o.S,this.groups={},this.move=new r.y,this.number=new d.N,this.opacity=new l.Y,this.reduceDuplicates=!1,this.shape=new u.y,this.size=new h.o,this.stroke=new p.t,this.zIndex=new v.P}load(e){if((0,n.kZ)(e))return;if(void 0!==e.groups)for(let t of Object.keys(e.groups)){if(!(t in e.groups))continue;let i=e.groups[t];void 0!==i&&(this.groups[t]=(0,a.zw)(this.groups[t]??{},i))}void 0!==e.reduceDuplicates&&(this.reduceDuplicates=e.reduceDuplicates),this.bounce.load(e.bounce),this.effect.load(e.effect),this.move.load(e.move),this.number.load(e.number),this.opacity.load(e.opacity),this.shape.load(e.shape),this.size.load(e.size),this.zIndex.load(e.zIndex);let t=e.fill;t&&(this.fill=(0,a.wJ)(t,e=>{let t=new o.S;return t.load(e),t}));let i=e.stroke;if(i&&(this.stroke=(0,a.wJ)(i,e=>{let t=new p.t;return t.load(e),t})),this._container){for(let t of this._pluginManager.plugins)t.loadParticlesOptions&&t.loadParticlesOptions(this._container,this,e);let t=this._pluginManager.updaters.get(this._container);if(t)for(let i of t)i.loadOptions&&i.loadOptions(this,e)}}}},5865(e,t,i){i.d(t,{y:()=>s});var a=i(7171),n=i(523);class s{close;options;type;constructor(){this.close=!0,this.options={},this.type="circle"}load(e){if((0,n.kZ)(e))return;let t=e.options;if(void 0!==t)for(let e in t){let i=t[e];i&&(this.options[e]=(0,a.zw)(this.options[e]??{},i))}void 0!==e.close&&(this.close=e.close),void 0!==e.type&&(this.type=e.type)}}},2181(e,t,i){i.d(t,{o:()=>o});var a=i(7292),n=i(5903),s=i(523);class o extends a.AI{animation;constructor(){super(),this.animation=new n.q,this.value=3}load(e){if(super.load(e),(0,s.kZ)(e))return;let t=e.animation;void 0!==t&&this.animation.load(t)}}},5903(e,t,i){i.d(t,{q:()=>o});var a=i(4121),n=i(3852),s=i(523);class o extends n.Q{destroy;constructor(){super(),this.destroy=a.V.none,this.speed=5}load(e){super.load(e),(0,s.kZ)(e)||void 0!==e.destroy&&(this.destroy=e.destroy)}}},8284(e,t,i){i.d(t,{t:()=>o});var a=i(4157),n=i(523),s=i(5273);class o{color;opacity;width;constructor(){this.width=0}load(e){(0,n.kZ)(e)||(void 0!==e.color&&(this.color=a.A.create(this.color,e.color)),void 0!==e.width&&(this.width=(0,s.DT)(e.width)),void 0!==e.opacity&&(this.opacity=(0,s.DT)(e.opacity)))}}},7391(e,t,i){i.d(t,{P:()=>s});var a=i(7292),n=i(523);class s extends a.PV{opacityRate;sizeRate;velocityRate;constructor(){super(),this.opacityRate=1,this.sizeRate=1,this.velocityRate=1}load(e){super.load(e),(0,n.kZ)(e)||(void 0!==e.opacityRate&&(this.opacityRate=e.opacityRate),void 0!==e.sizeRate&&(this.sizeRate=e.sizeRate),void 0!==e.velocityRate&&(this.velocityRate=e.velocityRate))}}},7066(e,t,i){i.d(t,{z:()=>n});var a=i(523);class n{delay;enable;constructor(){this.delay=.5,this.enable=!0}load(e){(0,a.kZ)(e)||(void 0!==e.delay&&(this.delay=e.delay),void 0!==e.enable&&(this.enable=e.enable))}}},7292(e,t,i){i.d(t,{AI:()=>l,Jm:()=>r,PV:()=>o});var a=i(3852),n=i(523),s=i(5273);class o{value;constructor(){this.value=0}load(e){!(0,n.kZ)(e)&&((0,n.kZ)(e.value)||(this.value=(0,s.DT)(e.value)))}}class r extends o{animation=new a.p;load(e){if(super.load(e),(0,n.kZ)(e))return;let t=e.animation;void 0!==t&&this.animation.load(t)}}class l extends r{animation;constructor(){super(),this.animation=new a.Q}load(e){super.load(e)}}},6919(e,t,i){i.d(t,{IU:()=>o,KG:()=>d,Md:()=>s,Sn:()=>n,VG:()=>h,Wb:()=>p,gF:()=>u,k:()=>l,p0:()=>r,z5:()=>c});var a=i(9889);function n(e,t,i){e.fillStyle=i??"rgba(0,0,0,0)",e.fillRect(a.bo.x,a.bo.y,t.width,t.height)}function s(e,t,i,n){if(!i)return;let s=e.globalAlpha;e.globalAlpha=n,e.drawImage(i,a.bo.x,a.bo.y,t.width,t.height),e.globalAlpha=s}function o(e,t){e.clearRect(a.bo.x,a.bo.y,t.width,t.height)}function r(e){let{container:t,context:i,particle:n,delta:s,colorStyles:o,radius:r,opacity:p,transform:v}=e,{effectDrawers:m,shapeDrawers:f}=t,g=n.getPosition(),y=n.getTransformData(v),b=a.Pf,x={x:g.x,y:g.y};i.setTransform(y.a,y.b,y.c,y.d,g.x,g.y),o.fill&&(i.fillStyle=o.fill);let w=!!n.fillEnabled,z=n.strokeWidth??a.Dv;i.lineWidth=z,o.stroke&&(i.strokeStyle=o.stroke);let M={context:i,particle:n,radius:r,drawRadius:r*b,opacity:p,delta:s,pixelRatio:t.retina.pixelRatio,fill:w,stroke:z>a.Dv,transformData:y,position:{...g},drawPosition:x,drawScale:b};for(let e of t.plugins)e.drawParticleTransform?.(M);let S=n.effect?m.get(n.effect):void 0,_=n.shape?f.get(n.shape):void 0;c(S,M),h(_,M),d(_,M),u(_,M),l(S,M),i.resetTransform()}function l(e,t){if(!e?.drawAfter)return;let{particle:i}=t;i.effect&&e.drawAfter(t)}function c(e,t){if(!e?.drawBefore)return;let{particle:i}=t;i.effect&&e.drawBefore(t)}function d(e,t){if(!e)return;let{context:i,fill:a,particle:n,stroke:s}=t;n.shape&&(i.beginPath(),e.draw(t),n.shapeClose&&i.closePath(),s&&i.stroke(),a&&i.fill())}function u(e,t){if(!e?.afterDraw)return;let{particle:i}=t;i.shape&&e.afterDraw(t)}function h(e,t){if(!e?.beforeDraw)return;let{particle:i}=t;i.shape&&e.beforeDraw(t)}function p(e,t,i,a){t.drawParticle&&t.drawParticle(e,i,a)}},2636(e,t,i){i.d(t,{BN:()=>h,EY:()=>_,Jv:()=>A,K6:()=>f,Ko:()=>T,LC:()=>S,OH:()=>w,O_:()=>O,PG:()=>P,R5:()=>m,YL:()=>b,_h:()=>k,ay:()=>x,eg:()=>y,mK:()=>v,pz:()=>R,qe:()=>p,xx:()=>z,yx:()=>F,zI:()=>g});var a=i(5273),n=i(9889),s=i(523),o=i(4763),r=i(197),l=i(7171);let c=new Map;function d(e,t){let i=c.get(e);return i||(i=t(),c.size>=1e3&&[...c.keys()].slice(0,1e3*n.MX).forEach(e=>c.delete(e)),c.set(e,i)),i}function u(e,t){if(t){for(let i of e.colorManagers.values())if(i.accepts(t))return i.parseString(t)}}function h(e,t,i,a=!0){if(!t)return;let n=(0,s.Kg)(t)?{value:t}:t;if((0,s.Kg)(n.value))return p(e,n.value,i,a);if((0,s.cy)(n.value)){let t=(0,l.Vh)(n.value,i,a);if(!t)return;return h(e,{value:t})}for(let t of e.colorManagers.values()){let e=t.handleRangeColor(n);if(e)return e}}function p(e,t,i,a=!0){if(!t)return;let o=(0,s.Kg)(t)?{value:t}:t;if((0,s.Kg)(o.value))return o.value===n.mR?w():u(e,o.value);if((0,s.cy)(o.value)){let t=(0,l.Vh)(o.value,i,a);if(!t)return;return p(e,{value:t})}for(let t of e.colorManagers.values()){let e=t.handleColor(o);if(e)return e}}function v(e,t,i,a=!0){let n=p(e,t,i,a);return n?f(n):void 0}function m(e,t,i,a=!0){let n=h(e,t,i,a);return n?f(n):void 0}function f(e){let t=e.r/n.oi,i=e.g/n.oi,a=e.b/n.oi,s=Math.max(t,i,a),o=Math.min(t,i,a),r={h:n.L1,l:(s+o)*n.MX,s:n.yx};return s!==o&&(r.s=r.l<n.MX?(s-o)/(s+o):(s-o)/(n.gd-s-o),t===s?r.h=(i-a)/(s-o):i===s?r.h=n.gd+(a-t)/(s-o):r.h=n.gd*n.gd+(t-i)/(s-o)),r.l*=n.$_,r.s*=n.eu,r.h*=n.U0,r.h<n.L1&&(r.h+=n.vS),r.h>=n.vS&&(r.h-=n.vS),r}function g(e,t){return u(e,t)?.a}function y(e,t){return u(e,t)}function b(e){let t=(e.h%n.vS+n.vS)%n.vS,i=Math.max(n.yx,Math.min(n.eu,e.s)),a=Math.max(n.vd,Math.min(n.$_,e.l)),s=t/n.vS,o=i/n.eu,r=a/n.$_;if(i===n.yx){let e=Math.round(r*n.oi);return{r:e,g:e,b:e}}let l=(e,t,i)=>(i<0&&i++,i>1&&i--,i*n.zg<1)?e+(t-e)*n.zg*i:i*n.gd<1?t:i*n.Nu<+n.gd?e+(t-e)*(n.gd/n.Nu-i)*n.zg:e,c=r<n.MX?r*(n.aE+o):r+o-r*o,d=n.gd*r-c,u=n.BF/n.Nu;return{r:Math.round(Math.min(n.oi,n.oi*l(d,c,s+u))),g:Math.round(Math.min(n.oi,n.oi*l(d,c,s))),b:Math.round(Math.min(n.oi,n.oi*l(d,c,s-u)))}}function x(e){let t=b(e);return{a:e.a,b:t.b,g:t.g,r:t.r}}function w(e){let t=e??n.Fl,i=n.oi+n.D_,s=()=>Math.floor((0,a.e4)(t,i));return{b:s(),g:s(),r:s()}}function z(e,t,i){let a=i??n.hv;return d(`rgb-${e.r.toFixed(2)}-${e.g.toFixed(2)}-${e.b.toFixed(2)}-${t?"hdr":"sdr"}-${a.toString()}`,()=>{var a,s;return t?M(e,i):(a=e,s=i,`rgba(${a.r.toString()}, ${a.g.toString()}, ${a.b.toString()}, ${(s??n.hv).toString()})`)})}function M(e,t){return`color(display-p3 ${(e.r/n.oi).toString()} ${(e.g/n.oi).toString()} ${(e.b/n.oi).toString()} / ${(t??n.hv).toString()})`}function S(e,t,i){let a=i??n.hv;return d(`hsl-${e.h.toFixed(2)}-${e.s.toFixed(2)}-${e.l.toFixed(2)}-${t?"hdr":"sdr"}-${a.toString()}`,()=>{var a,s,o,r;return t?(a=e,s=i,M(b(a),s)):(o=e,r=i,`hsla(${o.h.toString()}, ${o.s.toString()}%, ${o.l.toString()}%, ${(r??n.hv).toString()})`)})}function _(e,t,i,n){let s=e,o=t;return"r"in s||(s=b(e)),"r"in o||(o=b(t)),{b:(0,a.jh)(s.b,o.b,i,n),g:(0,a.jh)(s.g,o.g,i,n),r:(0,a.jh)(s.r,o.r,i,n)}}function k(e,t,i){if(i===n.mR)return w();if(i!==n.BW)return i;{let i=e.getFillColor()??e.getStrokeColor(),a=t?.getFillColor()??t?.getStrokeColor();if(i&&a&&t)return _(i,a,e.getRadius(),t.getRadius());{let e=i??a;if(e)return b(e)}}}function P(e,t,i,a){let o=(0,s.Kg)(t)?t:t.value;return o===n.mR?a?h(e,{value:o}):i?n.mR:n.BW:o===n.BW?n.BW:h(e,{value:o})}function O(e){return void 0===e?void 0:{h:e.h.value,s:e.s.value,l:e.l.value}}function R(e,t,i){let a={h:{enable:!1,value:e.h,min:n.L1,max:n.vS},s:{enable:!1,value:e.s,min:n.yx,max:n.eu},l:{enable:!1,value:e.l,min:n.vd,max:n.$_}};return t&&(E(a.h,t.h,i),E(a.s,t.s,i),E(a.l,t.l,i)),a}function E(e,t,i){e.enable=t.enable,e.min=t.min,e.max=t.max,e.enable?(e.velocity=(0,a.VG)(t.speed)/n.a5*i,e.decay=n.WH-(0,a.VG)(t.decay),e.status=r.H.increasing,e.loops=n.hK,e.maxLoops=(0,a.VG)(t.count),e.time=n.tR,e.delayTime=(0,a.VG)(t.delay)*n.Xu,t.sync||(e.velocity*=(0,a.G0)(),e.value*=(0,a.G0)()),e.initialValue=e.value,e.offset=(0,a.DT)(t.offset)):e.velocity=n.jn}function T(e,t,i){if(!e.enable||(e.maxLoops??0)>0&&(e.loops??0)>(e.maxLoops??0)||(e.time??=0,(e.delayTime??0)>0&&e.time<(e.delayTime??0)&&(e.time+=i.value),(e.delayTime??0)>0&&e.time<(e.delayTime??0)))return;let n=e.offset?(0,a.vE)(e.offset):0,s=(e.velocity??0)*i.factor+3.6*n,o=e.decay??1,l=e.max,c=e.min;t&&e.status!==r.H.increasing?(e.value-=s,e.value<c&&(e.loops??=0,e.loops++,e.status=r.H.increasing)):(e.value+=s,e.value>l&&(e.loops??=0,e.loops++,t?e.status=r.H.decreasing:e.value-=l)),e.velocity&&1!==o&&(e.velocity*=o),e.value=(0,a.qE)(e.value,c,l)}function A(e,t){if(!e)return;let{h:i,s:a,l:n}=e;T(i,!1,t),T(a,!0,t),T(n,!0,t)}function F(e,t,i){return{h:e.h,s:e.s,l:e.l+(t===o.H.darken?-n.iU:n.iU)*i}}},4035(e,t,i){i.d(t,{B:()=>n,t:()=>s});let a={debug:console.debug,error:(e,t)=>{console.error(`tsParticles - Error - ${e}`,t)},info:console.info,log:console.log,trace:console.trace,verbose:console.log,warning:console.warn};function n(e){a.debug=e.debug,a.error=e.error,a.info=e.info,a.log=e.log,a.verbose=e.verbose,a.warning=e.warning}function s(){return a}},5273(e,t,i){i.d(t,{$m:()=>O,AD:()=>p,DT:()=>function e(t,i){if(t===i||void 0===i&&(0,o.Et)(t))return t;let a=x(t),n=w(t);return void 0!==i?{min:Math.min(a,i),max:Math.max(n,i)}:e(a,n)},G0:()=>u,JY:()=>P,M3:()=>D,Mh:()=>T,Nx:()=>F,OE:()=>d,OW:()=>R,Sc:()=>M,Sg:()=>x,VG:()=>b,W9:()=>w,Yf:()=>S,e4:()=>h,eh:()=>E,gp:()=>_,i0:()=>v,jh:()=>g,l1:()=>A,pu:()=>k,px:()=>m,qE:()=>f,qM:()=>I,vE:()=>y,vr:()=>z});var a=i(7730),n=i(9889),s=i(5700),o=i(523);let r=Math.PI/180,l=Math.random,c={nextFrame:e=>requestAnimationFrame(e),cancel:e=>{cancelAnimationFrame(e)}};function d(e=Math.random){l=e}function u(){return f(l(),0,1-Number.EPSILON)}function h(e,t){return u()*(t-e)+e}function p(e,t){c.nextFrame=e,c.cancel=t}function v(e){return c.nextFrame(e)}function m(e){c.cancel(e)}function f(e,t,i){return Math.min(Math.max(e,t),i)}function g(e,t,i,a){return Math.floor((e*i+t*a)/(i+a))}function y(e){let t=w(e),i=x(e);return t===i&&(i=0),h(i,t)}function b(e){return(0,o.Et)(e)?e:y(e)}function x(e){return(0,o.Et)(e)?e:e.min}function w(e){return(0,o.Et)(e)?e:e.max}function z(e,t){let i=e.x-t.x,a=e.y-t.y;return{dx:i,dy:a,distance:Math.hypot(i,a)}}function M(e,t){let i=e.x-t.x,a=e.y-t.y;return i*i+a*a}function S(e,t){return Math.sqrt(M(e,t))}function _(e,t,i){return M(e,t)<=i*i}function k(e){return e*r}function P(e,t,i){if((0,o.Et)(e))return e*r;switch(e){case a.F.top:return-Math.PI*n.MX;case a.F.topRight:return-Math.PI*n.$G;case a.F.right:return n.Ie;case a.F.bottomRight:return Math.PI*n.$G;case a.F.bottom:return Math.PI*n.MX;case a.F.bottomLeft:return Math.PI*n.Rq;case a.F.left:return Math.PI;case a.F.topLeft:return-Math.PI*n.Rq;case a.F.inside:return Math.atan2(i.y-t.y,i.x-t.x);case a.F.outside:return Math.atan2(t.y-i.y,t.x-i.x);default:return u()*n.R1}}function O(e){let t=s.M.origin;return t.length=1,t.angle=e,t}function R(e,t,i,a){return s.M.create(e.x*(i-a)/(i+a)+t.x*n.gd*a/(i+a),e.y)}function E(e){return e.position?.x!==void 0&&void 0!==e.position.y?{x:e.position.x*e.size.width/n.a5,y:e.position.y*e.size.height/n.a5}:void 0}function T(e){return{x:(e.position?.x??u()*n.a5)*e.size.width/n.a5,y:(e.position?.y??u()*n.a5)*e.size.height/n.a5}}function A(e){let t={x:e.position?.x!==void 0?b(e.position.x):void 0,y:e.position?.y!==void 0?b(e.position.y):void 0};return T({size:e.size,position:t})}function F(e){let{position:t,size:i}=e;return{x:t?.x??u()*i.width,y:t?.y??u()*i.height}}function I(e){let t={x:e.position?.x!==void 0?b(e.position.x):void 0,y:e.position?.y!==void 0?b(e.position.y):void 0};return F({size:e.size,position:t})}function D(e){return e?e.endsWith("%")?parseFloat(e)/n.a5:parseFloat(e):1}},2439(e,t,i){i.d(t,{Z:()=>n,y:()=>s});var a=i(1975);function n(e,...t){for(let i of t)e.load(i)}function s(e,t,...i){let o=new a.U(e,t);return n(o,...i),o}},523(e,t,i){function a(e){return"boolean"==typeof e}function n(e){return"string"==typeof e}function s(e){return"number"==typeof e}function o(e){return"function"==typeof e}function r(e){return"object"==typeof e&&null!==e}function l(e){return Array.isArray(e)}function c(e){return null==e}i.d(t,{Et:()=>s,Gv:()=>r,Kg:()=>n,Lm:()=>a,Tn:()=>o,cy:()=>l,kZ:()=>c})},7171(e,t,i){i.d(t,{AE:()=>S,BR:()=>g,Bj:()=>p,E9:()=>A,HQ:()=>$,Kp:()=>V,O2:()=>M,Ot:()=>C,T5:()=>m,TA:()=>O,Tg:()=>_,Tj:()=>z,UC:()=>I,Vh:()=>w,Xs:()=>E,YC:()=>F,hJ:()=>L,hn:()=>b,lV:()=>f,n0:()=>x,pE:()=>k,q8:()=>v,tG:()=>y,td:()=>D,w3:()=>R,wJ:()=>P,zw:()=>function e(t,...i){for(let a of i){if((0,s.kZ)(a))continue;if(!(0,s.Gv)(a)){t=a;continue}Array.isArray(a)?Array.isArray(t)||(t=[]):(!(0,s.Gv)(t)||Array.isArray(t))&&(t={});let i=Object.keys(a),n=new Set(["__proto__","constructor","prototype"]);if(!i.some(e=>{let t=a[e];return(0,s.Gv)(t)||Array.isArray(t)})){let e=t;for(let t of i)if(!n.has(t)&&t in a){let i=a[t];void 0!==i&&(e[t]=i)}continue}for(let s of i){if(n.has(s))continue;let i=t,o=a[s];i[s]=Array.isArray(o)?o.map(t=>e(void 0,t)):e(i[s],o)}}return t}});var a=i(5273),n=i(9889),s=i(523),o=i(3627),r=i(197),l=i(4121),c=i(5278),d=i(5697),u=i(1706),h=i(5700);function p(e,t){let i=new Map,a=t?.maxSize,n=t?.ttlMs,s=t?.keyFn,o=(e,t=new WeakSet)=>{if(null===e)return"null";let i=typeof e;if("undefined"===i)return"undefined";if("number"===i||"boolean"===i||"string"===i)return JSON.stringify(e);if("function"===i)try{return e.toString()}catch{return'"[Function]"'}if("symbol"===i)try{return e.toString()}catch{return'"[Symbol]"'}if(Array.isArray(e))return`[${e.map(e=>o(e,t)).join(",")}]`;if(t.has(e))return'"[Circular]"';t.add(e);let a=Object.keys(e).sort();return`{${a.map(i=>`${JSON.stringify(i)}:${o(e[i],t)}`).join(",")}}`};return(...t)=>{let r,l=(r=t,s?s(r):o(r)),c=Date.now(),d=i.get(l);if(void 0!==d)if(!n||!(c-d.ts>n))return i.delete(l),i.set(l,{value:d.value,ts:d.ts}),d.value;else i.delete(l);let u=e(...t);if(i.set(l,{value:u,ts:c}),"number"==typeof a&&a>=0)for(;i.size>a;){let e=i.keys().next().value;if(void 0===e)break;i.delete(e)}return u}}function v(){return"u">typeof matchMedia}function m(){return globalThis.document}function f(e){if(v())return matchMedia(e)}function g(e){if("u">typeof IntersectionObserver)return new IntersectionObserver(e)}function y(e){if("u">typeof MutationObserver)return new MutationObserver(e)}function b(e,t){return e===t||(0,s.cy)(t)&&t.includes(e)}function x(e){return Math.floor((0,a.G0)()*e.length)}function w(e,t,i=!0){return e[void 0!==t&&i?t%e.length:x(e)]}function z(e,t,i,a,n){return M(S(e,a??0),t,i,n)}function M(e,t,i,a){let n=!0;return a&&a!==c.v.bottom||(n=e.top<t.height+i.x),n&&(!a||a===c.v.left)&&(n=e.right>i.x),n&&(!a||a===c.v.right)&&(n=e.left<t.width+i.y),n&&(!a||a===c.v.top)&&(n=e.bottom>i.y),n}function S(e,t){return{bottom:e.y+t,left:e.x-t,right:e.x+t,top:e.y-t}}function _(e){return{position:e.getPosition(),radius:e.getRadius(),mass:e.getMass(),velocity:e.velocity,factor:h.M.create((0,a.VG)(e.options.bounce.horizontal.value),(0,a.VG)(e.options.bounce.vertical.value))}}function k(e,t){let{x:i,y:n}=e.velocity.sub(t.velocity),[s,o]=[e.position,t.position],{dx:r,dy:l}=(0,a.vr)(o,s);if(i*r+n*l<0)return;let c=-Math.atan2(l,r),d=e.mass,u=t.mass,h=e.velocity.rotate(c),p=t.velocity.rotate(c),v=(0,a.OW)(h,p,d,u),m=(0,a.OW)(p,h,d,u),f=v.rotate(-c),g=m.rotate(-c);e.velocity.x=f.x*e.factor.x,e.velocity.y=f.y*e.factor.y,t.velocity.x=g.x*t.factor.x,t.velocity.y=g.y*t.factor.y}function P(e,t){return(0,s.cy)(e)?e.map((e,i)=>t(e,i)):t(e,0)}function O(e,t,i){return(0,s.cy)(e)?w(e,t,i):e}function R(e,t){return(0,s.cy)(e)?e.find((e,i)=>t(e,i)):t(e,0)?e:void 0}function E(e,t){let i=e.value,s=e.animation,l={delayTime:(0,a.VG)(s.delay)*n.Xu,enable:s.enable,value:(0,a.VG)(e.value)*t,max:(0,a.W9)(i)*t,min:(0,a.Sg)(i)*t,loops:0,maxLoops:(0,a.VG)(s.count),time:0};if(s.enable){switch(l.decay=1-(0,a.VG)(s.decay),s.mode){case o.g.increase:l.status=r.H.increasing;break;case o.g.decrease:l.status=r.H.decreasing;break;case o.g.random:l.status=(0,a.G0)()>=n.MX?r.H.increasing:r.H.decreasing}let e=s.mode===o.g.auto;switch(s.startValue){case u.S.min:l.value=l.min,e&&(l.status=r.H.increasing);break;case u.S.max:l.value=l.max,e&&(l.status=r.H.decreasing);break;case u.S.random:default:l.value=(0,a.vE)(l),e&&(l.status=(0,a.G0)()>=n.MX?r.H.increasing:r.H.decreasing)}}return l.initialValue=l.value,l}function T(e,t){if(e.mode!==d.q.percent){let{mode:t,...i}=e;return i}return"x"in e?{x:e.x/n.a5*t.width,y:e.y/n.a5*t.height}:{width:e.width/n.a5*t.width,height:e.height/n.a5*t.height}}function A(e,t){return T(e,t)}function F(e,t){return T(e,t)}function I(e,t,i,n,s){if(e.destroyed||!t.enable||(t.maxLoops??0)>0&&(t.loops??0)>(t.maxLoops??0))return;let o=(t.velocity??0)*s.factor,c=t.min,d=t.max,u=t.decay??1;if(t.time??=0,(t.delayTime??0)>0&&t.time<(t.delayTime??0)&&(t.time+=s.value),!((t.delayTime??0)>0)||!(t.time<(t.delayTime??0))){switch(t.status){case r.H.increasing:t.value>=d?(i?t.status=r.H.decreasing:t.value-=d,t.loops??=0,t.loops++):t.value+=o;break;case r.H.decreasing:t.value<=c?(i?t.status=r.H.increasing:t.value+=d,t.loops??=0,t.loops++):t.value-=o}t.velocity&&1!==u&&(t.velocity*=u);var h=t.value;switch(n){case l.V.max:h>=d&&e.destroy();break;case l.V.min:h<=c&&e.destroy()}t.value=(0,a.qE)(t.value,c,d)}}function D(e){let t=m().createElement("div").style;for(let i in e){let a=e[i];if(!(i in e)||(0,s.kZ)(a))continue;let n=e.getPropertyValue?.(a);if(!n)continue;let o=e.getPropertyPriority?.(a);o?t.setProperty(a,n,o):t.setProperty(a,n)}return t}let L=p(function(e){let t=m().createElement("div").style,i={width:"100%",height:"100%",margin:"0",padding:"0",borderWidth:"0",position:"fixed",zIndex:e.toString(10),"z-index":e.toString(10),top:"0",left:"0"};for(let e in i){let a=i[e];void 0!==a&&t.setProperty(e,a)}return t});function V(e,t,i,a,n){if(a){let a={passive:!0};(0,s.Lm)(n)?a.capture=n:void 0!==n&&(a=n),e.addEventListener(t,i,a)}else e.removeEventListener(t,i,n)}async function $(e,t,i,a=!1){let n=t.get(e);return(!n||a)&&(n=await Promise.all([...i.values()].map(t=>t(e))),t.set(e,n)),n}async function C(e,t,i,a=!1){let n=t.get(e);return(!n||a)&&(n=new Map(await Promise.all([...i.entries()].map(([t,i])=>i(e).then(e=>[t,e])))),t.set(e,n)),n}},2540(e,t,i){i.d(t,{HKZ:()=>P.H,A9e:()=>A.A,gmr:()=>M.g,pK_:()=>F.p,H_P:()=>T.H,Jmi:()=>el.Jm,VS$:()=>I.V,dgY:()=>b.dg,jlt:()=>b.jl,evc:()=>D.e,VKE:()=>O.V,mgy:()=>l,Bx4:()=>h.B,SQl:()=>Z.S,mcU:()=>L.m,hqM:()=>r,i74:()=>V.i,dtg:()=>S.d,yUV:()=>j.y,hzL:()=>N.h,Zgv:()=>K.Z,FWc:()=>w.F,y1u:()=>W.y,vU7:()=>J.v,Y4E:()=>et.Y,IhC:()=>ei.I,JYR:()=>$.J,Oit:()=>C.O,Yzx:()=>_.Y,v5k:()=>z.v,j$q:()=>U.j,x_I:()=>R.x,wvn:()=>G.w,F5W:()=>q.F,M1g:()=>ee.M,NeW:()=>Y.N,Ad4:()=>Q.A,UOj:()=>B.U,qiC:()=>k.q,Q4c:()=>F.Q,AIw:()=>el.AI,M_G:()=>b.M_,z0z:()=>er.z,pTR:()=>o,ypk:()=>ea.y,or0:()=>en.o,qvJ:()=>es.q,tKH:()=>X.t,SKz:()=>E.S,tcj:()=>H.t,PVU:()=>el.PV,Miz:()=>x.M,pGL:()=>x.p,Pyx:()=>eo.P,yxh:()=>ed.yx,i0Z:()=>m.i0,O2_:()=>d.O2,n02:()=>d.n0,NxB:()=>m.Nx,qMV:()=>m.qM,ehY:()=>m.eh,MhH:()=>m.Mh,l1q:()=>m.l1,AEc:()=>d.AE,pxm:()=>m.px,Nxk:()=>c.Nx,RFH:()=>c.RF,gpg:()=>m.gp,pEn:()=>d.pE,Tgl:()=>d.Tg,qE8:()=>m.qE,IUd:()=>ec.IU,td3:()=>d.td,OWw:()=>m.OW,EYT:()=>ed.EY,mKQ:()=>ed.mK,qe:()=>ed.qe,nqC:()=>c.nq,WH8:()=>c.WH,zwS:()=>d.zw,aZx:()=>c.aZ,tAJ:()=>c.tA,yjn:()=>c.yj,lA:()=>c.lA,z$P:()=>c.z$,i8E:()=>c.i8,hKc:()=>c.hK,hvP:()=>c.hv,$xb:()=>c.$x,ZpR:()=>c.Zp,xd3:()=>c.xd,rqX:()=>c.rq,Fli:()=>c.Fl,tRb:()=>c.tR,UgP:()=>c.Ug,zss:()=>c.zs,jnW:()=>c.jn,Pf9:()=>c.Pf,puj:()=>m.pu,LDU:()=>c.LD,gdl:()=>c.gd,R1e:()=>c.R1,kac:()=>ec.k,z5n:()=>ec.z5,p0m:()=>ec.p0,Wbn:()=>ec.Wb,KG7:()=>ec.KG,gF3:()=>ec.gF,VGT:()=>ec.VG,Iex:()=>c.Ie,wJ2:()=>d.wJ,w3Z:()=>d.w3,eb4:()=>c.eb,X$G:()=>c.X$,cei:()=>c.ce,YfF:()=>m.Yf,Scl:()=>m.Sc,vrU:()=>m.vr,hJS:()=>d.hJ,pzy:()=>ed.pz,O_i:()=>ed.O_,OtU:()=>d.Ot,HQK:()=>d.HQ,_hh:()=>ed._h,PGG:()=>ed.PG,tZQ:()=>v.t,$mf:()=>m.$m,JYE:()=>m.JY,E90:()=>d.E9,G0i:()=>m.G0,e4g:()=>m.e4,OHq:()=>ed.OH,W9e:()=>m.W9,Sgh:()=>m.Sg,VGA:()=>m.VG,YCE:()=>d.YC,LCf:()=>ed.LC,xxz:()=>ed.xx,vSh:()=>c.vS,L1V:()=>c.L1,U0s:()=>c.U0,MXx:()=>c.MX,q8J:()=>d.q8,YLU:()=>ed.YL,ayx:()=>ed.ay,D_O:()=>c.D_,XsS:()=>d.Xs,hBr:()=>c.hB,cyL:()=>eh.cy,Lmq:()=>eh.Lm,Tnt:()=>eh.Tn,hnD:()=>d.hn,kZJ:()=>eh.kZ,EtT:()=>eh.Et,Gvm:()=>eh.Gv,Tj8:()=>d.Tj,KgX:()=>eh.Kg,Vh1:()=>d.Vh,TA3:()=>d.TA,iUN:()=>c.iU,$_c:()=>c.$_,vd6:()=>c.vd,K3:()=>c.K3,PZY:()=>c.PZ,ZGK:()=>eu.Z,yVN:()=>eu.y,$v4:()=>c.$v,KpY:()=>d.Kp,BjF:()=>d.Bj,BWm:()=>c.BW,XuV:()=>c.Xu,wMU:()=>c.wM,DNI:()=>c.DN,z94:()=>c.z9,ou7:()=>c.ou,Dvh:()=>c.Dv,GWL:()=>c.GW,X_1:()=>c.X_,w20:()=>c.w2,jhA:()=>m.jh,dvp:()=>c.dv,xHs:()=>c.xH,boI:()=>c.bo,SnF:()=>ec.Sn,MdX:()=>ec.Md,M3Y:()=>m.M3,a56:()=>c.a5,BFN:()=>c.BF,$GP:()=>c.$G,mRf:()=>c.mR,vEz:()=>m.vE,R5R:()=>ed.R5,BN0:()=>ed.BN,JC0:()=>c.JC,vFD:()=>c.vF,NFi:()=>c.NF,oiR:()=>c.oi,K6u:()=>ed.K6,euA:()=>c.eu,yxQ:()=>c.yx,aEA:()=>c.aE,T5G:()=>d.T5,BRq:()=>d.BR,lVH:()=>d.lV,tGT:()=>d.tG,ADE:()=>m.AD,Bro:()=>v.B,OEu:()=>m.OE,DT4:()=>m.DT,zgn:()=>c.zg,iXO:()=>c.iX,dmB:()=>c.dm,zIs:()=>ed.zI,egF:()=>ed.eg,RqE:()=>c.Rq,NuQ:()=>c.Nu,Eow:()=>c.Eo,$k3:()=>ep,UC0:()=>d.UC,JvX:()=>ed.Jv,Kog:()=>ed.Ko,nKi:()=>c.nK,RVs:()=>c.RV});var a,n,s,o,r,l,c=i(9889),d=i(7171);class u{_listeners;constructor(){this._listeners=new Map}addEventListener(e,t){this.removeEventListener(e,t);let i=this._listeners.get(e);i||(i=[],this._listeners.set(e,i)),i.push(t)}dispatchEvent(e,t){let i=this._listeners.get(e);i?.forEach(e=>{e(t)})}hasEventListener(e){return!!this._listeners.get(e)}removeAllEventListeners(e){e?this._listeners.delete(e):this._listeners=new Map}removeEventListener(e,t){let i=this._listeners.get(e);if(!i)return;let a=i.length,n=i.indexOf(t);n<c.z9||(a===c.LD?this._listeners.delete(e):i.splice(n,c.LD))}}var h=i(5291);class p{colorManagers=new Map;easingFunctions=new Map;effectDrawers=new Map;initializers={effects:new Map,shapes:new Map,updaters:new Map};palettes=new Map;plugins=[];presets=new Map;shapeDrawers=new Map;updaters=new Map;_allLoadersSet=new Set;_configs=new Map;_engine;_executedSet=new Set;_initialized=!1;_isRunningLoaders=!1;_loadPromises=new Set;constructor(e){this._engine=e}get configs(){let e={};for(let[t,i]of this._configs)e[t]=i;return e}addColorManager(e,t){this.colorManagers.set(e,t)}addConfig(e){let t=e.key??e.name??"default";this._configs.set(t,e),this._engine.dispatchEvent(h.B.configAdded,{data:{name:t,config:e}})}addEasing(e,t){this.easingFunctions.get(e)||this.easingFunctions.set(e,t)}addEffect(e,t){this.initializers.effects.set(e,t)}addPalette(e,t){this.palettes.set(e,t)}addParticleUpdater(e,t){this.initializers.updaters.set(e,t)}addPlugin(e){this.getPlugin(e.id)||this.plugins.push(e)}addPreset(e,t,i=!1){(i||!this.getPreset(e))&&this.presets.set(e,t)}addShape(e,t){for(let i of e)this.initializers.shapes.set(i,t)}clearPlugins(e){this.effectDrawers.delete(e),this.shapeDrawers.delete(e),this.updaters.delete(e)}getEasing(e){return this.easingFunctions.get(e)??(e=>e)}getEffectDrawers(e,t=!1){return(0,d.Ot)(e,this.effectDrawers,this.initializers.effects,t)}getPalette(e){return this.palettes.get(e)}getPlugin(e){return this.plugins.find(t=>t.id===e)}getPreset(e){return this.presets.get(e)}async getShapeDrawers(e,t=!1){return(0,d.Ot)(e,this.shapeDrawers,this.initializers.shapes,t)}async getUpdaters(e,t=!1){return(0,d.HQ)(e,this.updaters,this.initializers.updaters,t)}async init(){if(!this._initialized&&!this._isRunningLoaders){this._isRunningLoaders=!0,this._executedSet=new Set,this._allLoadersSet=new Set(this._loadPromises);try{for(let e of this._allLoadersSet)await this._runLoader(e,this._executedSet,this._allLoadersSet)}finally{this._loadPromises.clear(),this._isRunningLoaders=!1,this._initialized=!0}}}loadParticlesOptions(e,t,...i){let a=this.updaters.get(e);a&&a.forEach(e=>e.loadOptions?.(t,...i))}async register(...e){if(this._initialized)throw Error("Register plugins can only be done before calling tsParticles.load()");for(let t of e)this._isRunningLoaders?await this._runLoader(t,this._executedSet,this._allLoadersSet):this._loadPromises.add(t)}async _runLoader(e,t,i){t.has(e)||(t.add(e),i.add(e),await e(this._engine))}}var v=i(4035),m=i(5273);let f="100%";async function g(e){let t=(0,d.TA)(e.url,e.index);if(!t)return e.fallback;let i=await fetch(t);return i.ok?await i.json():((0,v.t)().error(`${i.status.toString()} while retrieving config file`),e.fallback)}class y{pluginManager=new p(this);_domArray=[];_eventDispatcher=new u;_initialized=!1;get items(){return this._domArray}get version(){return"4.0.0-beta.5"}addEventListener(e,t){this._eventDispatcher.addEventListener(e,t)}checkVersion(e){if(this.version!==e)throw Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${this.version}. Plugin version: ${e}`)}dispatchEvent(e,t){this._eventDispatcher.dispatchEvent(e,t)}async init(){this._initialized||(await this.pluginManager.init(),this._initialized=!0)}item(e){let{items:t}=this,i=t[e];return i?.destroyed?void t.splice(e,c.JC):i}async load(e){var t;let a,n;await this.init();let{Container:s}=await i.e(1510).then(i.bind(i,1510)),o=e.id??e.element?.id??`tsparticles${Math.floor((0,m.G0)()*c.$v).toString()}`,{index:r,url:l}=e,u=l?await g({fallback:e.options,url:l,index:r}):e.options,h=(0,d.TA)(u,r),{items:p}=this,v=p.findIndex(e=>e.id.description===o),y=new s({dispatchCallback:(e,t)=>{this.dispatchEvent(e,t)},id:o,onDestroy:e=>{if(!e)return;let t=this.items,i=t.indexOf(y);i>=c.vF&&t.splice(i,c.JC)},pluginManager:this.pluginManager,sourceOptions:h});if(v>=c.PZ){let e=this.item(v),t=e?c.xH:c.dv;e&&!e.destroyed&&e.destroy(!1),p.splice(v,t,y)}else p.push(y);let b=(e=>{let t,i=(0,d.T5)();if(e instanceof HTMLCanvasElement||e.tagName.toLowerCase()===c.RF)t=e,t.dataset[c.eb]??=c.X$;else{let a=e.getElementsByTagName(c.RF)[c.Nx];a?(t=a).dataset[c.eb]=c.X$:((t=i.createElement(c.RF)).dataset[c.eb]=c.ce,e.appendChild(t))}return t.style.width||=f,t.style.height||=f,t})((t=e.element,a=(0,d.T5)(),(n=t??a.getElementById(o))||((n=a.createElement("canvas")).id=o,n.dataset[c.eb]=c.ce,a.body.append(n)),n));return y.canvas.loadCanvas(b),await y.start(),y}async refresh(e=!0){e&&await Promise.all(this.items.map(e=>e.refresh()))}removeEventListener(e,t){this._eventDispatcher.removeEventListener(e,t)}}var b=i(1745),x=i(5700),w=i(7730);(a=o||(o={})).clockwise="clockwise",a.counterClockwise="counter-clockwise",a.random="random";var z=i(5278),M=i(3627),S=i(8534),_=i(4517),k=i(5697),P=i(4763),O=i(4121);(n=r||(r={})).linear="linear",n.radial="radial",n.random="random";var R=i(2677),E=i(1706);(s=l||(l={})).easeInBack="ease-in-back",s.easeInBounce="ease-in-bounce",s.easeInCirc="ease-in-circ",s.easeInCubic="ease-in-cubic",s.easeInElastic="ease-in-elastic",s.easeInExpo="ease-in-expo",s.easeInGaussian="ease-in-gaussian",s.easeInLinear="ease-in-linear",s.easeInQuad="ease-in-quad",s.easeInQuart="ease-in-quart",s.easeInQuint="ease-in-quint",s.easeInSigmoid="ease-in-sigmoid",s.easeInSine="ease-in-sine",s.easeInSmoothstep="ease-in-smoothstep",s.easeOutBack="ease-out-back",s.easeOutBounce="ease-out-bounce",s.easeOutCirc="ease-out-circ",s.easeOutCubic="ease-out-cubic",s.easeOutElastic="ease-out-elastic",s.easeOutExpo="ease-out-expo",s.easeOutGaussian="ease-out-gaussian",s.easeOutLinear="ease-out-linear",s.easeOutQuad="ease-out-quad",s.easeOutQuart="ease-out-quart",s.easeOutQuint="ease-out-quint",s.easeOutSigmoid="ease-out-sigmoid",s.easeOutSine="ease-out-sine",s.easeOutSmoothstep="ease-out-smoothstep",s.easeInOutBack="ease-in-out-back",s.easeInOutBounce="ease-in-out-bounce",s.easeInOutCirc="ease-in-out-circ",s.easeInOutCubic="ease-in-out-cubic",s.easeInOutElastic="ease-in-out-elastic",s.easeInOutExpo="ease-in-out-expo",s.easeInOutGaussian="ease-in-out-gaussian",s.easeInOutLinear="ease-in-out-linear",s.easeInOutQuad="ease-in-out-quad",s.easeInOutQuart="ease-in-out-quart",s.easeInOutQuint="ease-in-out-quint",s.easeInOutSigmoid="ease-in-out-sigmoid",s.easeInOutSine="ease-in-out-sine",s.easeInOutSmoothstep="ease-in-out-smoothstep";var T=i(197),A=i(4157),F=i(3852),I=i(2211),D=i(4343),L=i(4369),V=i(5707),$=i(3748),C=i(9777),G=i(4040),q=i(7144),B=i(1975),Z=i(9041),H=i(8284),j=i(4589),N=i(4666),K=i(4284),W=i(4687),U=i(3120),J=i(9668),X=i(9940),Y=i(7308),Q=i(5693),ee=i(7769),et=i(477),ei=i(535),ea=i(5865),en=i(2181),es=i(5903),eo=i(7391),er=i(7066),el=i(7292),ec=i(6919),ed=i(2636),eu=i(2439),eh=i(523);let ep=new y;globalThis.tsParticles=ep}},n={};function s(e){var t=n[e];if(void 0!==t)return t.exports;var i=n[e]={exports:{}};return a[e](i,i.exports,s),i.exports}s.m=a,s.d=(e,t)=>{for(var i in t)s.o(t,i)&&!s.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce((t,i)=>(s.f[i](e,t),t),[])),s.u=e=>""+e+".min.js",s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},s.l=(e,t,i,a)=>{if(o[e])return void o[e].push(t);if(void 0!==i)for(var n,r,l=document.getElementsByTagName("script"),c=0;c<l.length;c++){var d=l[c];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")=="@tsparticles/pjs:"+i){n=d;break}}n||(r=!0,(n=document.createElement("script")).charset="utf-8",s.nc&&n.setAttribute("nonce",s.nc),n.setAttribute("data-webpack","@tsparticles/pjs:"+i),n.src=e),o[e]=[t];var u=(t,i)=>{n.onerror=n.onload=null,clearTimeout(h);var a=o[e];if(delete o[e],n.parentNode&&n.parentNode.removeChild(n),a&&a.forEach(e=>e(i)),t)return t(i)},h=setTimeout(u.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=u.bind(null,n.onerror),n.onload=u.bind(null,n.onload),r&&document.head.appendChild(n)},s.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.g.importScripts&&(r=s.g.location+"");var o,r,l=s.g.document;if(!r&&l&&(l.currentScript&&"SCRIPT"===l.currentScript.tagName.toUpperCase()&&(r=l.currentScript.src),!r)){var c=l.getElementsByTagName("script");if(c.length)for(var d=c.length-1;d>-1&&(!r||!/^http(s?):/.test(r));)r=c[d--].src}if(!r)throw Error("Automatic publicPath is not supported in this browser");s.p=r=r.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e={2974:0},s.f.j=(t,i)=>{var a=s.o(e,t)?e[t]:void 0;if(0!==a)if(a)i.push(a[2]);else{var n=new Promise((i,n)=>a=e[t]=[i,n]);i.push(a[2]=n);var o=s.p+s.u(t),r=Error();s.l(o,i=>{if(s.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var n=i&&("load"===i.type?"missing":i.type),o=i&&i.target&&i.target.src;r.message="Loading chunk "+t+` failed.
2
- (`+n+": "+o+")",r.name="ChunkLoadError",r.type=n,r.request=o,a[1](r)}},"chunk-"+t,t)}},t=(t,i)=>{var a,n,[o,r,l]=i,c=0;if(o.some(t=>0!==e[t])){for(a in r)s.o(r,a)&&(s.m[a]=r[a]);l&&l(s)}for(t&&t(i);c<o.length;c++)n=o[c],s.o(e,n)&&e[n]&&e[n][0](),e[n]=0},(i=this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).forEach(t.bind(null,0)),i.push=t.bind(null,i.push.bind(i));var u={};s.r(u),s.d(u,{AlterType:()=>h.HKZ,AnimatableColor:()=>h.A9e,AnimationMode:()=>h.gmr,AnimationOptions:()=>h.pK_,AnimationStatus:()=>h.H_P,AnimationValueWithRandom:()=>h.Jmi,Background:()=>h.VS$,BaseRange:()=>h.dgY,Circle:()=>h.jlt,ColorAnimation:()=>h.evc,DestroyType:()=>h.VKE,EasingType:()=>h.mgy,EventType:()=>h.Bx4,Fill:()=>h.SQl,FullScreen:()=>h.mcU,GradientType:()=>h.hqM,HslAnimation:()=>h.i74,LimitMode:()=>h.dtg,Move:()=>h.yUV,MoveAngle:()=>h.hzL,MoveCenter:()=>h.Zgv,MoveDirection:()=>h.FWc,MoveGravity:()=>h.y1u,MovePath:()=>h.vU7,Opacity:()=>h.Y4E,OpacityAnimation:()=>h.IhC,Options:()=>h.JYR,OptionsColor:()=>h.Oit,OutMode:()=>h.Yzx,OutModeDirection:()=>h.v5k,OutModes:()=>h.j$q,ParticleOutType:()=>h.x_I,ParticlesBounce:()=>h.wvn,ParticlesBounceFactor:()=>h.F5W,ParticlesDensity:()=>h.M1g,ParticlesNumber:()=>h.NeW,ParticlesNumberLimit:()=>h.Ad4,ParticlesOptions:()=>h.UOj,PixelMode:()=>h.qiC,RangedAnimationOptions:()=>h.Q4c,RangedAnimationValueWithRandom:()=>h.AIw,Rectangle:()=>h.M_G,ResizeEvent:()=>h.z0z,RotateDirection:()=>h.pTR,Shape:()=>h.ypk,Size:()=>h.or0,SizeAnimation:()=>h.qvJ,Spin:()=>h.tKH,StartValueType:()=>h.SKz,Stroke:()=>h.tcj,ValueWithRandom:()=>h.PVU,Vector:()=>h.Miz,Vector3d:()=>h.pGL,ZIndex:()=>h.Pyx,alterHsl:()=>h.yxh,animate:()=>h.i0Z,areBoundsInside:()=>h.O2_,arrayRandomIndex:()=>h.n02,calcExactPositionOrRandomFromSize:()=>h.NxB,calcExactPositionOrRandomFromSizeRanged:()=>h.qMV,calcPositionFromSize:()=>h.ehY,calcPositionOrRandomFromSize:()=>h.MhH,calcPositionOrRandomFromSizeRanged:()=>h.l1q,calculateBounds:()=>h.AEc,cancelAnimation:()=>h.pxm,canvasFirstIndex:()=>h.Nxk,canvasTag:()=>h.RFH,checkDistance:()=>h.gpg,circleBounce:()=>h.pEn,circleBounceDataFromParticle:()=>h.Tgl,clamp:()=>h.qE8,clear:()=>h.IUd,cloneStyle:()=>h.td3,collisionVelocity:()=>h.OWw,colorMix:()=>h.EYT,colorToHsl:()=>h.mKQ,colorToRgb:()=>h.qe,countOffset:()=>h.nqC,decayOffset:()=>h.WH8,deepExtend:()=>h.zwS,defaultAlpha:()=>h.aZx,defaultAngle:()=>h.tAJ,defaultCompositeValue:()=>h.yjn,defaultDensityFactor:()=>h.lA,defaultFps:()=>h.z$P,defaultFpsLimit:()=>h.i8E,defaultLoops:()=>h.hKc,defaultOpacity:()=>h.hvP,defaultRatio:()=>h.$xb,defaultReduceFactor:()=>h.ZpR,defaultRemoveQuantity:()=>h.xd3,defaultRetryCount:()=>h.rqX,defaultRgbMin:()=>h.Fli,defaultTime:()=>h.tRb,defaultTransform:()=>h.UgP,defaultTransformValue:()=>h.zss,defaultVelocity:()=>h.jnW,defaultZoom:()=>h.Pf9,degToRad:()=>h.puj,deleteCount:()=>h.LDU,double:()=>h.gdl,doublePI:()=>h.R1e,drawAfterEffect:()=>h.kac,drawBeforeEffect:()=>h.z5n,drawParticle:()=>h.p0m,drawParticlePlugin:()=>h.Wbn,drawShape:()=>h.KG7,drawShapeAfterDraw:()=>h.gF3,drawShapeBeforeDraw:()=>h.VGT,empty:()=>h.Iex,executeOnSingleOrMultiple:()=>h.wJ2,findItemFromSingleOrMultiple:()=>h.w3Z,generatedAttribute:()=>h.eb4,generatedFalse:()=>h.X$G,generatedTrue:()=>h.cei,getDistance:()=>h.YfF,getDistanceSq:()=>h.Scl,getDistances:()=>h.vrU,getFullScreenStyle:()=>h.hJS,getHslAnimationFromHsl:()=>h.pzy,getHslFromAnimation:()=>h.O_i,getItemMapFromInitializer:()=>h.OtU,getItemsFromInitializer:()=>h.HQK,getLinkColor:()=>h._hh,getLinkRandomColor:()=>h.PGG,getLogger:()=>h.tZQ,getParticleBaseVelocity:()=>h.$mf,getParticleDirectionAngle:()=>h.JYE,getPosition:()=>h.E90,getRandom:()=>h.G0i,getRandomInRange:()=>h.e4g,getRandomRgbColor:()=>h.OHq,getRangeMax:()=>h.W9e,getRangeMin:()=>h.Sgh,getRangeValue:()=>h.VGA,getSize:()=>h.YCE,getStyleFromHsl:()=>h.LCf,getStyleFromRgb:()=>h.xxz,hMax:()=>h.vSh,hMin:()=>h.L1V,hPhase:()=>h.U0s,half:()=>h.MXx,hasMatchMedia:()=>h.q8J,hslToRgb:()=>h.YLU,hslaToRgba:()=>h.ayx,identity:()=>h.D_O,initParticleNumericAnimationValue:()=>h.XsS,initPjs:()=>m,inverseFactorNumerator:()=>h.hBr,isArray:()=>h.cyL,isBoolean:()=>h.Lmq,isFunction:()=>h.Tnt,isInArray:()=>h.hnD,isNull:()=>h.kZJ,isNumber:()=>h.EtT,isObject:()=>h.Gvm,isPointInside:()=>h.Tj8,isString:()=>h.KgX,itemFromArray:()=>h.Vh1,itemFromSingleOrMultiple:()=>h.TA3,lFactor:()=>h.iUN,lMax:()=>h.$_c,lMin:()=>h.vd6,lengthOffset:()=>h.K3,loadMinIndex:()=>h.PZY,loadOptions:()=>h.ZGK,loadParticlesOptions:()=>h.yVN,loadRandomFactor:()=>h.$v4,manageListener:()=>h.KpY,memoize:()=>h.BjF,midColorValue:()=>h.BWm,millisecondsToSeconds:()=>h.XuV,minCount:()=>h.wMU,minFpsLimit:()=>h.DNI,minIndex:()=>h.z94,minLimit:()=>h.ou7,minStrokeWidth:()=>h.Dvh,minVelocity:()=>h.GWL,minZ:()=>h.X_1,minimumSize:()=>h.w20,mix:()=>h.jhA,none:()=>h.dvp,one:()=>h.xHs,originPoint:()=>h.boI,paintBase:()=>h.SnF,paintImage:()=>h.MdX,parseAlpha:()=>h.M3Y,percentDenominator:()=>h.a56,phaseNumerator:()=>h.BFN,quarter:()=>h.$GP,randomColorValue:()=>h.mRf,randomInRangeValue:()=>h.vEz,rangeColorToHsl:()=>h.R5R,rangeColorToRgb:()=>h.BN0,removeDeleteCount:()=>h.JC0,removeMinIndex:()=>h.vFD,resizeEvent:()=>h.NFi,rgbMax:()=>h.oiR,rgbToHsl:()=>h.K6u,sMax:()=>h.euA,sMin:()=>h.yxQ,sNormalizedOffset:()=>h.aEA,safeDocument:()=>h.T5G,safeIntersectionObserver:()=>h.BRq,safeMatchMedia:()=>h.lVH,safeMutationObserver:()=>h.tGT,setAnimationFunctions:()=>h.ADE,setLogger:()=>h.Bro,setRandom:()=>h.OEu,setRangeValue:()=>h.DT4,sextuple:()=>h.zgn,spatialHashGridCellSize:()=>h.iXO,squareExp:()=>h.dmB,stringToAlpha:()=>h.zIs,stringToRgb:()=>h.egF,threeQuarter:()=>h.RqE,triple:()=>h.NuQ,tryCountIncrement:()=>h.Eow,tsParticles:()=>h.$k3,updateAnimation:()=>h.UC0,updateColor:()=>h.JvX,updateColorValue:()=>h.Kog,visibilityChangeEvent:()=>h.nKi,zIndexFactorOffset:()=>h.RVs});var h=s(2540);class p{_container;static init(e){let t=new p,i=e.selector;if(!i)throw Error("No selector provided");let a=(0,h.T5G)().querySelector(i);if(!a)throw Error("No element found for selector");return(async n=>{await n.load({element:a,id:i.replace(".","").replace("!",""),options:{fullScreen:{enable:!1},particles:{color:{value:e.color??"!000000"},links:{color:"random",distance:e.minDistance??120,enable:e.connectParticles??!1},move:{enable:!0,speed:e.speed??.5},number:{value:e.maxParticles??100},size:{value:{min:1,max:e.sizeVariations??3}}},responsive:e.responsive?.map(t=>({maxWidth:t.breakpoint,options:{particles:{color:{value:t.options?.color},links:{distance:t.options?.minDistance,enable:t.options?.connectParticles},number:{value:e.maxParticles},move:{enable:!0,speed:t.options?.speed},size:{value:t.options?.sizeVariations}}}}))}}).then(e=>{t._container=e})})(h.$k3),t}destroy(){let e=this._container;e?.destroy()}pauseAnimation(){let e=this._container;e?.pause()}resumeAnimation(){let e=this._container;e?.play()}}let v={particles:{number:{value:400,density:{enable:!0,value_area:800}},color:{value:"#fff"},shape:{type:"circle",stroke:{width:0,color:"#ff0000"},polygon:{nb_sides:5},image:{src:"",width:100,height:100}},opacity:{value:1,random:!1,anim:{enable:!1,speed:2,opacity_min:0,sync:!1}},size:{value:20,random:!1,anim:{enable:!1,speed:20,size_min:0,sync:!1}},line_linked:{enable:!0,distance:100,color:"#fff",opacity:1,width:1},move:{enable:!0,speed:2,direction:"none",random:!1,straight:!1,out_mode:"out",bounce:!1,attract:{enable:!1,rotateX:3e3,rotateY:3e3}}},interactivity:{detect_on:"canvas",events:{onhover:{enable:!0,mode:"grab"},onclick:{enable:!0,mode:"push"},resize:!0},modes:{grab:{distance:100,line_linked:{opacity:1}},bubble:{distance:200,size:80,duration:.4,opacity:1,speed:3},repulse:{distance:200,duration:.4},push:{particles_nb:4},remove:{particles_nb:2}}},retina_detect:!1},m=async e=>{let t;e.checkVersion("4.0.0-beta.5"),await e.pluginManager.register(async e=>{let[{loadFull:t},{loadResponsivePlugin:i}]=await Promise.all([s.e(264).then(s.bind(s,264)),s.e(4567).then(s.bind(s,4567))]);await t(e),await i(e)});let{particlesJS:i,pJSDom:a}=((t=async(t,i)=>{let a=(0,h.zwS)({},v,i);return await e.load({id:t,options:{fullScreen:{enable:!1},detectRetina:a.retina_detect,smooth:!0,interactivity:{detectsOn:a.interactivity.detect_on,events:{onHover:{enable:a.interactivity.events.onhover.enable,mode:a.interactivity.events.onhover.mode},onClick:{enable:a.interactivity.events.onclick.enable,mode:a.interactivity.events.onclick.mode}},modes:{grab:{distance:a.interactivity.modes.grab.distance,links:{opacity:a.interactivity.modes.grab.line_linked.opacity}},bubble:{distance:a.interactivity.modes.bubble.distance,size:a.interactivity.modes.bubble.size,duration:a.interactivity.modes.bubble.duration,opacity:a.interactivity.modes.bubble.opacity,speed:a.interactivity.modes.bubble.speed},repulse:{distance:a.interactivity.modes.repulse.distance,duration:a.interactivity.modes.repulse.duration},push:{quantity:a.interactivity.modes.push.particles_nb},remove:{quantity:a.interactivity.modes.remove.particles_nb}}},particles:{attract:{enable:a.particles.move.attract.enable,rotate:{x:a.particles.move.attract.rotateX,y:a.particles.move.attract.rotateY}},collisions:{enable:a.particles.move.bounce},number:{value:a.particles.number.value,density:{enable:a.particles.number.density.enable,width:a.particles.number.density.value_area}},color:{value:a.particles.color.value},stroke:{width:a.particles.shape.stroke.width,color:{value:a.particles.shape.stroke.color}},shape:{type:a.particles.shape.type,options:{polygon:{sides:a.particles.shape.polygon.nb_sides},image:{src:a.particles.shape.image.src,width:a.particles.shape.image.width,height:a.particles.shape.image.height}}},opacity:{value:a.particles.opacity.random?{min:a.particles.opacity.anim.enable?a.particles.opacity.anim.opacity_min:0,max:a.particles.opacity.value}:a.particles.opacity.value,animation:{enable:a.particles.opacity.anim.enable,speed:a.particles.opacity.anim.speed,sync:a.particles.opacity.anim.sync}},size:{value:a.particles.size.random?{min:a.particles.size.anim.enable?a.particles.size.anim.size_min:0,max:a.particles.size.value}:a.particles.size.value,animation:{enable:a.particles.size.anim.enable,speed:a.particles.size.anim.speed,sync:a.particles.size.anim.sync}},links:{enable:a.particles.line_linked.enable,distance:a.particles.line_linked.distance,color:a.particles.line_linked.color,opacity:a.particles.line_linked.opacity,width:a.particles.line_linked.width},move:{enable:a.particles.move.enable,speed:a.particles.move.speed/3,direction:a.particles.move.direction,random:a.particles.move.random,straight:a.particles.move.straight,outModes:a.particles.move.out_mode}},resize:{enable:a.interactivity.events.resize}}})}).load=(t,i,a)=>{e.load({id:t,url:i}).then(e=>{a(e)}).catch(()=>{a(void 0)})},t.setOnClickHandler=t=>{e.pluginManager.setOnClickHandler?.(t)},{particlesJS:t,pJSDom:e.items});globalThis.particlesJS=i,globalThis.pJSDom=a,globalThis.Particles=p};return u})());
1
+ !function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i=t();for(var a in i)("object"==typeof exports?exports:e)[a]=i[a]}}(this,()=>(()=>{"use strict";var e,t,i,a={5560(e,t,i){i.d(t,{$G:()=>L,$_:()=>T,$v:()=>W,$x:()=>_,BF:()=>ef,BW:()=>p,DN:()=>N,D_:()=>ec,Dv:()=>ed,Eo:()=>Q,Fl:()=>eg,GW:()=>$,Ie:()=>D,JC:()=>Z,K3:()=>es,L1:()=>A,LD:()=>er,MX:()=>l,NF:()=>s,Nu:()=>ep,Nx:()=>K,PZ:()=>U,Pf:()=>ew,R1:()=>m,RF:()=>x,RV:()=>q,Rq:()=>V,U0:()=>I,Ug:()=>u,WH:()=>Y,X$:()=>b,X_:()=>ee,Xu:()=>c,Zp:()=>k,a5:()=>r,aE:()=>em,aZ:()=>g,bo:()=>d,ce:()=>y,dm:()=>z,dv:()=>X,eb:()=>a,eu:()=>E,gd:()=>v,hB:()=>P,hK:()=>eb,hv:()=>B,i8:()=>j,iU:()=>eu,iX:()=>M,jn:()=>ey,lA:()=>eo,mR:()=>h,nK:()=>o,nq:()=>ei,oi:()=>O,ou:()=>et,rq:()=>w,tA:()=>el,tR:()=>ex,vF:()=>H,vS:()=>R,vd:()=>eh,w2:()=>G,wM:()=>ea,xH:()=>J,xd:()=>S,yj:()=>n,yx:()=>F,z$:()=>f,z9:()=>en,zg:()=>ev,zs:()=>C});let a="generated",n="source-over",s="resize",o="visibilitychange",r=100,l=.5,c=1e3,d={x:0,y:0,z:0},u={a:1,b:0,c:0,d:1},h="random",p="mid",v=2,m=2*Math.PI,f=60,g=1,y="true",b="false",x="canvas",w=0,z=2,M=100,S=1,_=1,k=1,P=1,O=255,R=360,E=100,T=100,A=0,F=0,I=60,D=0,L=.25,V=.75,$=0,C=1,G=0,q=1,B=1,Z=1,H=0,j=120,N=0,K=0,W=1e4,U=0,J=1,X=0,Y=1,Q=1,ee=0,et=0,ei=1,ea=0,en=0,es=1,eo=1,er=1,el=0,ec=1,ed=0,eu=1,eh=0,ep=3,ev=6,em=1,ef=1,eg=0,ey=0,eb=0,ex=0,ew=1},1045(e,t,i){i.d(t,{dg:()=>r,jl:()=>l,M_:()=>c}),(a=n||(n={})).circle="circle",a.rectangle="rectangle";var a,n,s=i(5286),o=i(5560);class r{position;type;constructor(e,t,i){this.position={x:e,y:t},this.type=i}_resetPosition(e,t){this.position.x=e,this.position.y=t}}class l extends r{radius;constructor(e,t,i){super(e,t,n.circle),this.radius=i}contains(e){return(0,s.gp)(e,this.position,this.radius)}intersects(e){let t=this.position,i=e.position,a=this.radius,s=Math.abs(i.x-t.x),r=Math.abs(i.y-t.y);if(e instanceof l||e.type===n.circle)return a+e.radius>Math.hypot(s,r);if(e instanceof c||e.type===n.rectangle){let{width:t,height:i}=e.size;return Math.pow(s-t,o.dm)+Math.pow(r-i,o.dm)<=a**o.dm||s<=a+t&&r<=a+i||s<=t||r<=i}return!1}reset(e,t,i){return this._resetPosition(e,t),this.radius=i,this}}class c extends r{size;constructor(e,t,i,a){super(e,t,n.rectangle),this.size={height:a,width:i}}contains(e){let t=this.size.width,i=this.size.height,a=this.position;return e.x>=a.x&&e.x<=a.x+t&&e.y>=a.y&&e.y<=a.y+i}intersects(e){if(e instanceof l)return e.intersects(this);if(!(e instanceof c))return!1;let t=this.size.width,i=this.size.height,a=this.position,n=e.position,s=e.size,o=s.width,r=s.height;return n.x<a.x+t&&n.x+o>a.x&&n.y<a.y+i&&n.y+r>a.y}reset(e,t,i,a){return this._resetPosition(e,t),this.size.width=i,this.size.height=a,this}}},6129(e,t,i){i.d(t,{M:()=>o,p:()=>s});var a=i(5560);function n(e){return"z"in e?e.z:a.bo.z}class s{x;y;z;constructor(e=a.bo.x,t=a.bo.y,i=a.bo.z){this.x=e,this.y=t,this.z=i}static get origin(){return s.create(a.bo.x,a.bo.y,a.bo.z)}get angle(){return Math.atan2(this.y,this.x)}set angle(e){this._updateFromAngle(e,this.length)}get length(){return Math.sqrt(this.getLengthSq())}set length(e){this._updateFromAngle(this.angle,e)}static clone(e){return s.create(e.x,e.y,n(e))}static create(e,t,i){return"number"==typeof e?new s(e,t??a.bo.y,i??a.bo.z):new s(e.x,e.y,n(e))}add(e){return s.create(this.x+e.x,this.y+e.y,this.z+n(e))}addTo(e){this.x+=e.x,this.y+=e.y,this.z+=n(e)}copy(){return s.clone(this)}div(e){return s.create(this.x/e,this.y/e,this.z/e)}divTo(e){this.x/=e,this.y/=e,this.z/=e}getLengthSq(){return this.x**a.dm+this.y**a.dm}mult(e){return s.create(this.x*e,this.y*e,this.z*e)}multTo(e){this.x*=e,this.y*=e,this.z*=e}normalize(){let e=this.length;e!=a.dv&&this.multTo(a.hB/e)}rotate(e){return s.create(this.x*Math.cos(e)-this.y*Math.sin(e),this.x*Math.sin(e)+this.y*Math.cos(e),a.bo.z)}setTo(e){this.x=e.x,this.y=e.y,this.z=n(e)}sub(e){return s.create(this.x-e.x,this.y-e.y,this.z-n(e))}subFrom(e){this.x-=e.x,this.y-=e.y,this.z-=n(e)}_updateFromAngle(e,t){this.x=Math.cos(e)*t,this.y=Math.sin(e)*t}}class o extends s{constructor(e=a.bo.x,t=a.bo.y){super(e,t,a.bo.z)}static get origin(){return o.create(a.bo.x,a.bo.y)}static clone(e){return o.create(e.x,e.y)}static create(e,t){return"number"==typeof e?new o(e,t??a.bo.y):new o(e.x,e.y)}}},7662(e,t,i){var a,n;i.d(t,{H:()=>a}),(n=a||(a={})).increasing="increasing",n.decreasing="decreasing"},1907(e,t,i){var a,n;i.d(t,{F:()=>a}),(n=a||(a={})).bottom="bottom",n.bottomLeft="bottom-left",n.bottomRight="bottom-right",n.left="left",n.none="none",n.right="right",n.top="top",n.topLeft="top-left",n.topRight="top-right",n.outside="outside",n.inside="inside"},8545(e,t,i){var a,n;i.d(t,{v:()=>a}),(n=a||(a={})).bottom="bottom",n.left="left",n.right="right",n.top="top"},1668(e,t,i){var a,n;i.d(t,{g:()=>a}),(n=a||(a={})).auto="auto",n.increase="increase",n.decrease="decrease",n.random="random"},6101(e,t,i){var a,n;i.d(t,{d:()=>a}),(n=a||(a={})).delete="delete",n.wait="wait"},1946(e,t,i){var a,n;i.d(t,{Y:()=>a}),(n=a||(a={})).bounce="bounce",n.none="none",n.out="out",n.destroy="destroy",n.split="split"},5354(e,t,i){var a,n;i.d(t,{q:()=>a}),(n=a||(a={})).precise="precise",n.percent="percent"},3832(e,t,i){var a,n;i.d(t,{H:()=>a}),(n=a||(a={})).darken="darken",n.enlighten="enlighten"},9718(e,t,i){var a,n;i.d(t,{V:()=>a}),(n=a||(a={})).none="none",n.max="max",n.min="min"},8356(e,t,i){var a,n;i.d(t,{B:()=>a}),(n=a||(a={})).configAdded="configAdded",n.containerInit="containerInit",n.particlesSetup="particlesSetup",n.containerStarted="containerStarted",n.containerStopped="containerStopped",n.containerDestroyed="containerDestroyed",n.containerPaused="containerPaused",n.containerPlay="containerPlay",n.containerBuilt="containerBuilt",n.particleAdded="particleAdded",n.particleDestroyed="particleDestroyed",n.particleRemoved="particleRemoved"},1386(e,t,i){var a,n;i.d(t,{x:()=>a}),(n=a||(a={})).normal="normal",n.inside="inside",n.outside="outside"},4819(e,t,i){var a,n;i.d(t,{S:()=>a}),(n=a||(a={})).max="max",n.min="min",n.random="random"},602(e,t,i){i.d(t,{A:()=>o});var a=i(7420),n=i(3478),s=i(1196);class o extends s.O{animation;constructor(){super(),this.animation=new n.i}static create(e,t){let i=new o;return i.load(e),void 0!==t&&((0,a.Kg)(t)||(0,a.cy)(t)?i.load({value:t}):i.load(t)),i}load(e){if(super.load(e),(0,a.kZ)(e))return;let t=e.animation;void 0!==t&&(void 0===t.enable?this.animation.load(e.animation):this.animation.h.load(t))}}},5501(e,t,i){i.d(t,{Q:()=>l,p:()=>r});var a=i(1668),n=i(4819),s=i(7420),o=i(5286);class r{count;decay;delay;enable;speed;sync;constructor(){this.count=0,this.enable=!1,this.speed=1,this.decay=0,this.delay=0,this.sync=!1}load(e){(0,s.kZ)(e)||(void 0!==e.count&&(this.count=(0,o.DT)(e.count)),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.speed&&(this.speed=(0,o.DT)(e.speed)),void 0!==e.decay&&(this.decay=(0,o.DT)(e.decay)),void 0!==e.delay&&(this.delay=(0,o.DT)(e.delay)),void 0!==e.sync&&(this.sync=e.sync))}}class l extends r{mode;startValue;constructor(){super(),this.mode=a.g.auto,this.startValue=n.S.random}load(e){super.load(e),(0,s.kZ)(e)||(void 0!==e.mode&&(this.mode=e.mode),void 0!==e.startValue&&(this.startValue=e.startValue))}}},9172(e,t,i){i.d(t,{V:()=>s});var a=i(1196),n=i(7420);class s{color;image;opacity;position;repeat;size;constructor(){this.color=new a.O,this.color.value="",this.image="",this.position="",this.repeat="",this.size="",this.opacity=1}load(e){(0,n.kZ)(e)||(void 0!==e.color&&(this.color=a.O.create(this.color,e.color)),void 0!==e.image&&(this.image=e.image),void 0!==e.position&&(this.position=e.position),void 0!==e.repeat&&(this.repeat=e.repeat),void 0!==e.size&&(this.size=e.size),void 0!==e.opacity&&(this.opacity=e.opacity))}}},338(e,t,i){i.d(t,{e:()=>o});var a=i(5501),n=i(7420),s=i(5286);class o extends a.p{max;min;offset;constructor(e,t){super(),this.min=e,this.max=t,this.offset=0,this.sync=!0}load(e){super.load(e),(0,n.kZ)(e)||(void 0!==e.max&&(this.max=e.max),void 0!==e.min&&(this.min=e.min),void 0!==e.offset&&(this.offset=(0,s.DT)(e.offset)))}}},8886(e,t,i){i.d(t,{m:()=>n});var a=i(7420);class n{enable;zIndex;constructor(){this.enable=!0,this.zIndex=0}load(e){(0,a.kZ)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.zIndex&&(this.zIndex=e.zIndex))}}},3478(e,t,i){i.d(t,{i:()=>o});var a=i(5560),n=i(338),s=i(7420);class o{h=new n.e(a.L1,a.vS);l=new n.e(a.vd,a.$_);s=new n.e(a.yx,a.eu);load(e){(0,s.kZ)(e)||(this.h.load(e.h),this.s.load(e.s),this.l.load(e.l))}}},2215(e,t,i){i.d(t,{J:()=>d});var a=i(5244),n=i(7420),s=i(9172),o=i(8886),r=i(3897),l=i(714),c=i(5286);class d{autoPlay;background;clear;defaultThemes;delay;detectRetina;duration;fpsLimit;fullScreen;hdr;key;name;palette;particles;pauseOnBlur;pauseOnOutsideViewport;preset;resize;smooth;style;zLayers;_container;_pluginManager;constructor(e,t){this._pluginManager=e,this._container=t,this.autoPlay=!0,this.background=new s.V,this.clear=!0,this.defaultThemes={},this.delay=0,this.fullScreen=new o.m,this.detectRetina=!0,this.duration=0,this.fpsLimit=120,this.hdr=!0,this.particles=(0,l.y)(this._pluginManager,this._container),this.pauseOnBlur=!0,this.pauseOnOutsideViewport=!0,this.resize=new r.z,this.smooth=!1,this.style={},this.zLayers=100}load(e){if((0,n.kZ)(e))return;void 0!==e.preset&&(this.preset=e.preset,(0,a.wJ)(this.preset,e=>{this._importPreset(e)})),void 0!==e.palette&&(this.palette=e.palette,this._importPalette(this.palette)),void 0!==e.autoPlay&&(this.autoPlay=e.autoPlay),void 0!==e.clear&&(this.clear=e.clear),void 0!==e.key&&(this.key=e.key),void 0!==e.name&&(this.name=e.name),void 0!==e.delay&&(this.delay=(0,c.DT)(e.delay));let t=e.detectRetina;void 0!==t&&(this.detectRetina=t),void 0!==e.duration&&(this.duration=(0,c.DT)(e.duration));let i=e.fpsLimit;void 0!==i&&(this.fpsLimit=i),void 0!==e.hdr&&(this.hdr=e.hdr),void 0!==e.pauseOnBlur&&(this.pauseOnBlur=e.pauseOnBlur),void 0!==e.pauseOnOutsideViewport&&(this.pauseOnOutsideViewport=e.pauseOnOutsideViewport),void 0!==e.zLayers&&(this.zLayers=e.zLayers),this.background.load(e.background);let s=e.fullScreen;(0,n.Lm)(s)?this.fullScreen.enable=s:this.fullScreen.load(s),this.particles.load(e.particles),this.resize.load(e.resize),this.style=(0,a.zw)(this.style,e.style),void 0!==e.smooth&&(this.smooth=e.smooth),this._pluginManager.plugins.forEach(t=>{t.loadOptions(this._container,this,e)})}_importPalette=e=>{let t=this._pluginManager.getPalette(e);t&&this.load({background:{color:t.background},blend:{enable:!0,mode:t.blendMode},particles:{palette:e}})};_importPreset=e=>{this.load(this._pluginManager.getPreset(e))}}},1196(e,t,i){i.d(t,{O:()=>n});var a=i(7420);class n{value;constructor(){this.value=""}static create(e,t){let i=new n;return i.load(e),void 0!==t&&((0,a.Kg)(t)||(0,a.cy)(t)?i.load({value:t}):i.load(t)),i}load(e){!(0,a.kZ)(e)&&((0,a.kZ)(e.value)||(this.value=e.value))}}},4505(e,t,i){i.d(t,{w:()=>s});var a=i(2506),n=i(7420);class s{horizontal;vertical;constructor(){this.horizontal=new a.F,this.vertical=new a.F}load(e){(0,n.kZ)(e)||(this.horizontal.load(e.horizontal),this.vertical.load(e.vertical))}}},2506(e,t,i){i.d(t,{F:()=>n});var a=i(8239);class n extends a.PV{constructor(){super(),this.value=1}}},5940(e,t,i){i.d(t,{S:()=>o});var a=i(602),n=i(7420),s=i(5286);class o{color;enable;opacity;constructor(){this.enable=!0,this.color=new a.A,this.color.value="#fff",this.opacity=1}load(e){(0,n.kZ)(e)||(void 0!==e.color&&(this.color=a.A.create(this.color,e.color)),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.opacity&&(this.opacity=(0,s.DT)(e.opacity)))}}},6142(e,t,i){i.d(t,{y:()=>h});var a=i(1907),n=i(7420),s=i(9447),o=i(6019),r=i(414),l=i(9345),c=i(7563),d=i(5487),u=i(5286);class h{angle;center;decay;direction;distance;drift;enable;gravity;outModes;path;random;size;speed;spin;straight;vibrate;warp;constructor(){this.angle=new s.h,this.center=new o.Z,this.decay=0,this.distance={},this.direction=a.F.none,this.drift=0,this.enable=!1,this.gravity=new r.y,this.path=new l.v,this.outModes=new c.j,this.random=!1,this.size=!1,this.speed=2,this.spin=new d.t,this.straight=!1,this.vibrate=!1,this.warp=!1}load(e){if((0,n.kZ)(e))return;this.angle.load((0,n.Et)(e.angle)?{value:e.angle}:e.angle),this.center.load(e.center),void 0!==e.decay&&(this.decay=(0,u.DT)(e.decay)),void 0!==e.direction&&(this.direction=e.direction),void 0!==e.distance&&(this.distance=(0,n.Et)(e.distance)?{horizontal:e.distance,vertical:e.distance}:{...e.distance}),void 0!==e.drift&&(this.drift=(0,u.DT)(e.drift)),void 0!==e.enable&&(this.enable=e.enable),this.gravity.load(e.gravity);let t=e.outModes;void 0!==t&&((0,n.Gv)(t)?this.outModes.load(t):this.outModes.load({default:t})),this.path.load(e.path),void 0!==e.random&&(this.random=e.random),void 0!==e.size&&(this.size=e.size),void 0!==e.speed&&(this.speed=(0,u.DT)(e.speed)),this.spin.load(e.spin),void 0!==e.straight&&(this.straight=e.straight),void 0!==e.vibrate&&(this.vibrate=e.vibrate),void 0!==e.warp&&(this.warp=e.warp)}}},9447(e,t,i){i.d(t,{h:()=>s});var a=i(7420),n=i(5286);class s{offset;value;constructor(){this.offset=0,this.value=90}load(e){(0,a.kZ)(e)||(void 0!==e.offset&&(this.offset=(0,n.DT)(e.offset)),void 0!==e.value&&(this.value=(0,n.DT)(e.value)))}}},6019(e,t,i){i.d(t,{Z:()=>s});var a=i(5354),n=i(7420);class s{mode;radius;x;y;constructor(){this.x=50,this.y=50,this.mode=a.q.percent,this.radius=0}load(e){(0,n.kZ)(e)||(void 0!==e.x&&(this.x=e.x),void 0!==e.y&&(this.y=e.y),void 0!==e.mode&&(this.mode=e.mode),void 0!==e.radius&&(this.radius=e.radius))}}},414(e,t,i){i.d(t,{y:()=>s});var a=i(7420),n=i(5286);class s{acceleration;enable;inverse;maxSpeed;constructor(){this.acceleration=9.81,this.enable=!1,this.inverse=!1,this.maxSpeed=50}load(e){(0,a.kZ)(e)||(void 0!==e.acceleration&&(this.acceleration=(0,n.DT)(e.acceleration)),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.inverse&&(this.inverse=e.inverse),void 0!==e.maxSpeed&&(this.maxSpeed=(0,n.DT)(e.maxSpeed)))}}},7563(e,t,i){i.d(t,{j:()=>s});var a=i(1946),n=i(7420);class s{bottom;default;left;right;top;constructor(){this.default=a.Y.out}load(e){(0,n.kZ)(e)||(void 0!==e.default&&(this.default=e.default),this.bottom=e.bottom??e.default,this.left=e.left??e.default,this.right=e.right??e.default,this.top=e.top??e.default)}}},9345(e,t,i){i.d(t,{v:()=>o});var a=i(8239),n=i(5244),s=i(7420);class o{clamp;delay;enable;generator;options;constructor(){this.clamp=!0,this.delay=new a.PV,this.enable=!1,this.options={}}load(e){!(0,s.kZ)(e)&&(void 0!==e.clamp&&(this.clamp=e.clamp),this.delay.load(e.delay),void 0!==e.enable&&(this.enable=e.enable),this.generator=e.generator,e.options&&(this.options=(0,n.zw)(this.options,e.options)))}}},5487(e,t,i){i.d(t,{t:()=>o});var a=i(5244),n=i(7420),s=i(5286);class o{acceleration;enable;position;constructor(){this.acceleration=0,this.enable=!1}load(e){!(0,n.kZ)(e)&&(void 0!==e.acceleration&&(this.acceleration=(0,s.DT)(e.acceleration)),void 0!==e.enable&&(this.enable=e.enable),e.position&&(this.position=(0,a.zw)({},e.position)))}}},7086(e,t,i){i.d(t,{M:()=>n});var a=i(7420);class n{enable;height;width;constructor(){this.enable=!1,this.width=1920,this.height=1080}load(e){if((0,a.kZ)(e))return;void 0!==e.enable&&(this.enable=e.enable);let t=e.width;void 0!==t&&(this.width=t);let i=e.height;void 0!==i&&(this.height=i)}}},7501(e,t,i){i.d(t,{N:()=>o});var a=i(7086),n=i(9682),s=i(7420);class o{density;limit;value;constructor(){this.density=new a.M,this.limit=new n.A,this.value=0}load(e){(0,s.kZ)(e)||(this.density.load(e.density),this.limit.load(e.limit),void 0!==e.value&&(this.value=e.value))}}},9682(e,t,i){i.d(t,{A:()=>s});var a=i(6101),n=i(7420);class s{mode;value;constructor(){this.mode=a.d.delete,this.value=0}load(e){(0,n.kZ)(e)||(void 0!==e.mode&&(this.mode=e.mode),void 0!==e.value&&(this.value=e.value))}}},4666(e,t,i){i.d(t,{Y:()=>o});var a=i(4770),n=i(8239),s=i(7420);class o extends n.AI{animation;constructor(){super(),this.animation=new a.I,this.value=1}load(e){if((0,s.kZ)(e))return;super.load(e);let t=e.animation;void 0!==t&&this.animation.load(t)}}},4770(e,t,i){i.d(t,{I:()=>o});var a=i(9718),n=i(5501),s=i(7420);class o extends n.Q{destroy;constructor(){super(),this.destroy=a.V.none,this.speed=2}load(e){super.load(e),(0,s.kZ)(e)||void 0!==e.destroy&&(this.destroy=e.destroy)}}},8008(e,t,i){i.d(t,{U:()=>m});var a=i(5244),n=i(7420);class s{close;options;type;constructor(){this.close=!0,this.options={},this.type=[]}load(e){if((0,n.kZ)(e))return;let t=e.options;if(void 0!==t)for(let e in t){let i=t[e];i&&(this.options[e]=(0,a.zw)(this.options[e]??{},i))}void 0!==e.close&&(this.close=e.close),void 0!==e.type&&(this.type=e.type)}}var o=i(5940),r=i(6142),l=i(4666),c=i(4505),d=i(7501),u=i(9430),h=i(8806),p=i(7793),v=i(148);class m{bounce;effect;fill;groups;move;number;opacity;palette;reduceDuplicates;shape;size;stroke;zIndex;_container;_pluginManager;constructor(e,t){this._pluginManager=e,this._container=t,this.bounce=new c.w,this.effect=new s,this.fill=new o.S,this.groups={},this.move=new r.y,this.number=new d.N,this.opacity=new l.Y,this.reduceDuplicates=!1,this.shape=new u.y,this.size=new h.o,this.stroke=new p.t,this.zIndex=new v.P}load(e){if((0,n.kZ)(e))return;if(e.palette&&(this.palette=e.palette,this._importPalette(this.palette)),void 0!==e.groups)for(let t of Object.keys(e.groups)){if(!(t in e.groups))continue;let i=e.groups[t];void 0!==i&&(this.groups[t]=(0,a.zw)(this.groups[t]??{},i))}void 0!==e.reduceDuplicates&&(this.reduceDuplicates=e.reduceDuplicates),this.bounce.load(e.bounce),this.effect.load(e.effect),this.move.load(e.move),this.number.load(e.number),this.opacity.load(e.opacity),this.shape.load(e.shape),this.size.load(e.size),this.zIndex.load(e.zIndex);let t=e.fill;t&&(this.fill=(0,a.wJ)(t,e=>{let t=new o.S;return t.load(e),t}));let i=e.stroke;if(i&&(this.stroke=(0,a.wJ)(i,e=>{let t=new p.t;return t.load(e),t})),this._container){for(let t of this._pluginManager.plugins)t.loadParticlesOptions&&t.loadParticlesOptions(this._container,this,e);let t=this._pluginManager.updaters.get(this._container);if(t)for(let i of t)i.loadOptions&&i.loadOptions(this,e)}}_importPalette=e=>{let t=this._pluginManager.getPalette(e);t&&this.load({fill:{color:t.fill?{value:t.colors}:void 0,enable:t.fill},stroke:t.fill?void 0:t.colors.map(e=>({color:{value:e},width:1})),blend:{enable:!0,mode:t.blendMode}})}}},9430(e,t,i){i.d(t,{y:()=>s});var a=i(5244),n=i(7420);class s{close;options;type;constructor(){this.close=!0,this.options={},this.type="circle"}load(e){if((0,n.kZ)(e))return;let t=e.options;if(void 0!==t)for(let e in t){let i=t[e];i&&(this.options[e]=(0,a.zw)(this.options[e]??{},i))}void 0!==e.close&&(this.close=e.close),void 0!==e.type&&(this.type=e.type)}}},8806(e,t,i){i.d(t,{o:()=>o});var a=i(8239),n=i(7502),s=i(7420);class o extends a.AI{animation;constructor(){super(),this.animation=new n.q,this.value=3}load(e){if(super.load(e),(0,s.kZ)(e))return;let t=e.animation;void 0!==t&&this.animation.load(t)}}},7502(e,t,i){i.d(t,{q:()=>o});var a=i(9718),n=i(5501),s=i(7420);class o extends n.Q{destroy;constructor(){super(),this.destroy=a.V.none,this.speed=5}load(e){super.load(e),(0,s.kZ)(e)||void 0!==e.destroy&&(this.destroy=e.destroy)}}},7793(e,t,i){i.d(t,{t:()=>o});var a=i(602),n=i(7420),s=i(5286);class o{color;opacity;width;constructor(){this.width=0}load(e){(0,n.kZ)(e)||(void 0!==e.color&&(this.color=a.A.create(this.color,e.color)),void 0!==e.width&&(this.width=(0,s.DT)(e.width)),void 0!==e.opacity&&(this.opacity=(0,s.DT)(e.opacity)))}}},148(e,t,i){i.d(t,{P:()=>s});var a=i(8239),n=i(7420);class s extends a.PV{opacityRate;sizeRate;velocityRate;constructor(){super(),this.opacityRate=1,this.sizeRate=1,this.velocityRate=1}load(e){super.load(e),(0,n.kZ)(e)||(void 0!==e.opacityRate&&(this.opacityRate=e.opacityRate),void 0!==e.sizeRate&&(this.sizeRate=e.sizeRate),void 0!==e.velocityRate&&(this.velocityRate=e.velocityRate))}}},3897(e,t,i){i.d(t,{z:()=>n});var a=i(7420);class n{delay;enable;constructor(){this.delay=.5,this.enable=!0}load(e){(0,a.kZ)(e)||(void 0!==e.delay&&(this.delay=e.delay),void 0!==e.enable&&(this.enable=e.enable))}}},8239(e,t,i){i.d(t,{AI:()=>l,Jm:()=>r,PV:()=>o});var a=i(5501),n=i(7420),s=i(5286);class o{value;constructor(){this.value=0}load(e){!(0,n.kZ)(e)&&((0,n.kZ)(e.value)||(this.value=(0,s.DT)(e.value)))}}class r extends o{animation=new a.p;load(e){if(super.load(e),(0,n.kZ)(e))return;let t=e.animation;void 0!==t&&this.animation.load(t)}}class l extends r{animation;constructor(){super(),this.animation=new a.Q}load(e){super.load(e)}}},1912(e,t,i){i.d(t,{IU:()=>o,KG:()=>d,Md:()=>s,Sn:()=>n,VG:()=>h,Wb:()=>p,gF:()=>u,k:()=>l,p0:()=>r,z5:()=>c});var a=i(5560);function n(e,t,i){e.fillStyle=i??"rgba(0,0,0,0)",e.fillRect(a.bo.x,a.bo.y,t.width,t.height)}function s(e,t,i,n){if(!i)return;let s=e.globalAlpha;e.globalAlpha=n,e.drawImage(i,a.bo.x,a.bo.y,t.width,t.height),e.globalAlpha=s}function o(e,t){e.clearRect(a.bo.x,a.bo.y,t.width,t.height)}function r(e){let{container:t,context:i,particle:n,delta:s,colorStyles:o,radius:r,opacity:p,transform:v}=e,{effectDrawers:m,shapeDrawers:f}=t,g=n.getPosition(),y=n.getTransformData(v),b=a.Pf,x={x:g.x,y:g.y};i.setTransform(y.a,y.b,y.c,y.d,g.x,g.y),o.fill&&(i.fillStyle=o.fill);let w=!!n.fillEnabled,z=n.strokeWidth??a.Dv;i.lineWidth=z,o.stroke&&(i.strokeStyle=o.stroke);let M={context:i,particle:n,radius:r,drawRadius:r*b,opacity:p,delta:s,pixelRatio:t.retina.pixelRatio,fill:w,stroke:z>a.Dv,transformData:y,position:{...g},drawPosition:x,drawScale:b};for(let e of t.plugins)e.drawParticleTransform?.(M);let S=n.effect?m.get(n.effect):void 0,_=n.shape?f.get(n.shape):void 0;c(S,M),h(_,M),d(_,M),u(_,M),l(S,M),i.resetTransform()}function l(e,t){if(!e?.drawAfter)return;let{particle:i}=t;i.effect&&e.drawAfter(t)}function c(e,t){if(!e?.drawBefore)return;let{particle:i}=t;i.effect&&e.drawBefore(t)}function d(e,t){if(!e)return;let{context:i,fill:a,particle:n,stroke:s}=t;n.shape&&(i.beginPath(),e.draw(t),n.shapeClose&&i.closePath(),s&&i.stroke(),a&&i.fill())}function u(e,t){if(!e?.afterDraw)return;let{particle:i}=t;i.shape&&e.afterDraw(t)}function h(e,t){if(!e?.beforeDraw)return;let{particle:i}=t;i.shape&&e.beforeDraw(t)}function p(e,t,i,a){t.drawParticle&&t.drawParticle(e,i,a)}},8329(e,t,i){i.d(t,{BN:()=>h,EY:()=>_,Jv:()=>A,K6:()=>f,Ko:()=>T,LC:()=>S,OH:()=>w,O_:()=>O,PG:()=>P,R5:()=>m,YL:()=>b,_h:()=>k,ay:()=>x,eg:()=>y,mK:()=>v,pz:()=>R,qe:()=>p,xx:()=>z,yx:()=>F,zI:()=>g});var a=i(5286),n=i(5560),s=i(7420),o=i(3832),r=i(7662),l=i(5244);let c=new Map;function d(e,t){let i=c.get(e);return i||(i=t(),c.size>=1e3&&[...c.keys()].slice(0,1e3*n.MX).forEach(e=>c.delete(e)),c.set(e,i)),i}function u(e,t){if(t){for(let i of e.colorManagers.values())if(i.accepts(t))return i.parseString(t)}}function h(e,t,i,a=!0){if(!t)return;let n=(0,s.Kg)(t)?{value:t}:t;if((0,s.Kg)(n.value))return p(e,n.value,i,a);if((0,s.cy)(n.value)){let t=(0,l.Vh)(n.value,i,a);if(!t)return;return h(e,{value:t})}for(let t of e.colorManagers.values()){let e=t.handleRangeColor(n);if(e)return e}}function p(e,t,i,a=!0){if(!t)return;let o=(0,s.Kg)(t)?{value:t}:t;if((0,s.Kg)(o.value))return o.value===n.mR?w():u(e,o.value);if((0,s.cy)(o.value)){let t=(0,l.Vh)(o.value,i,a);if(!t)return;return p(e,{value:t})}for(let t of e.colorManagers.values()){let e=t.handleColor(o);if(e)return e}}function v(e,t,i,a=!0){let n=p(e,t,i,a);return n?f(n):void 0}function m(e,t,i,a=!0){let n=h(e,t,i,a);return n?f(n):void 0}function f(e){let t=e.r/n.oi,i=e.g/n.oi,a=e.b/n.oi,s=Math.max(t,i,a),o=Math.min(t,i,a),r={h:n.L1,l:(s+o)*n.MX,s:n.yx};return s!==o&&(r.s=r.l<n.MX?(s-o)/(s+o):(s-o)/(n.gd-s-o),t===s?r.h=(i-a)/(s-o):i===s?r.h=n.gd+(a-t)/(s-o):r.h=n.gd*n.gd+(t-i)/(s-o)),r.l*=n.$_,r.s*=n.eu,r.h*=n.U0,r.h<n.L1&&(r.h+=n.vS),r.h>=n.vS&&(r.h-=n.vS),r}function g(e,t){return u(e,t)?.a}function y(e,t){return u(e,t)}function b(e){let t=(e.h%n.vS+n.vS)%n.vS,i=Math.max(n.yx,Math.min(n.eu,e.s)),a=Math.max(n.vd,Math.min(n.$_,e.l)),s=t/n.vS,o=i/n.eu,r=a/n.$_;if(i===n.yx){let e=Math.round(r*n.oi);return{r:e,g:e,b:e}}let l=(e,t,i)=>(i<0&&i++,i>1&&i--,i*n.zg<1)?e+(t-e)*n.zg*i:i*n.gd<1?t:i*n.Nu<+n.gd?e+(t-e)*(n.gd/n.Nu-i)*n.zg:e,c=r<n.MX?r*(n.aE+o):r+o-r*o,d=n.gd*r-c,u=n.BF/n.Nu;return{r:Math.round(Math.min(n.oi,n.oi*l(d,c,s+u))),g:Math.round(Math.min(n.oi,n.oi*l(d,c,s))),b:Math.round(Math.min(n.oi,n.oi*l(d,c,s-u)))}}function x(e){let t=b(e);return{a:e.a,b:t.b,g:t.g,r:t.r}}function w(e){let t=e??n.Fl,i=n.oi+n.D_,s=()=>Math.floor((0,a.e4)(t,i));return{b:s(),g:s(),r:s()}}function z(e,t,i){let a=i??n.hv;return d(`rgb-${e.r.toFixed(2)}-${e.g.toFixed(2)}-${e.b.toFixed(2)}-${t?"hdr":"sdr"}-${a.toString()}`,()=>{var a,s;return t?M(e,i):(a=e,s=i,`rgba(${a.r.toString()}, ${a.g.toString()}, ${a.b.toString()}, ${(s??n.hv).toString()})`)})}function M(e,t){return`color(display-p3 ${(e.r/n.oi).toString()} ${(e.g/n.oi).toString()} ${(e.b/n.oi).toString()} / ${(t??n.hv).toString()})`}function S(e,t,i){let a=i??n.hv;return d(`hsl-${e.h.toFixed(2)}-${e.s.toFixed(2)}-${e.l.toFixed(2)}-${t?"hdr":"sdr"}-${a.toString()}`,()=>{var a,s,o,r;return t?(a=e,s=i,M(b(a),s)):(o=e,r=i,`hsla(${o.h.toString()}, ${o.s.toString()}%, ${o.l.toString()}%, ${(r??n.hv).toString()})`)})}function _(e,t,i,n){let s=e,o=t;return"r"in s||(s=b(e)),"r"in o||(o=b(t)),{b:(0,a.jh)(s.b,o.b,i,n),g:(0,a.jh)(s.g,o.g,i,n),r:(0,a.jh)(s.r,o.r,i,n)}}function k(e,t,i){if(i===n.mR)return w();if(i!==n.BW)return i;{let i=e.getFillColor()??e.getStrokeColor(),a=t?.getFillColor()??t?.getStrokeColor();if(i&&a&&t)return _(i,a,e.getRadius(),t.getRadius());{let e=i??a;if(e)return b(e)}}}function P(e,t,i,a){let o=(0,s.Kg)(t)?t:t.value;return o===n.mR?a?h(e,{value:o}):i?n.mR:n.BW:o===n.BW?n.BW:h(e,{value:o})}function O(e){return void 0===e?void 0:{h:e.h.value,s:e.s.value,l:e.l.value}}function R(e,t,i){let a={h:{enable:!1,value:e.h,min:n.L1,max:n.vS},s:{enable:!1,value:e.s,min:n.yx,max:n.eu},l:{enable:!1,value:e.l,min:n.vd,max:n.$_}};return t&&(E(a.h,t.h,i),E(a.s,t.s,i),E(a.l,t.l,i)),a}function E(e,t,i){e.enable=t.enable,e.min=t.min,e.max=t.max,e.enable?(e.velocity=(0,a.VG)(t.speed)/n.a5*i,e.decay=n.WH-(0,a.VG)(t.decay),e.status=r.H.increasing,e.loops=n.hK,e.maxLoops=(0,a.VG)(t.count),e.time=n.tR,e.delayTime=(0,a.VG)(t.delay)*n.Xu,t.sync||(e.velocity*=(0,a.G0)(),e.value*=(0,a.G0)()),e.initialValue=e.value,e.offset=(0,a.DT)(t.offset)):e.velocity=n.jn}function T(e,t,i){if(!e.enable||(e.maxLoops??0)>0&&(e.loops??0)>(e.maxLoops??0)||(e.time??=0,(e.delayTime??0)>0&&e.time<(e.delayTime??0)&&(e.time+=i.value),(e.delayTime??0)>0&&e.time<(e.delayTime??0)))return;let n=e.offset?(0,a.vE)(e.offset):0,s=(e.velocity??0)*i.factor+3.6*n,o=e.decay??1,l=e.max,c=e.min;t&&e.status!==r.H.increasing?(e.value-=s,e.value<c&&(e.loops??=0,e.loops++,e.status=r.H.increasing)):(e.value+=s,e.value>l&&(e.loops??=0,e.loops++,t?e.status=r.H.decreasing:e.value-=l)),e.velocity&&1!==o&&(e.velocity*=o),e.value=(0,a.qE)(e.value,c,l)}function A(e,t){if(!e)return;let{h:i,s:a,l:n}=e;T(i,!1,t),T(a,!0,t),T(n,!0,t)}function F(e,t,i){return{h:e.h,s:e.s,l:e.l+(t===o.H.darken?-n.iU:n.iU)*i}}},7382(e,t,i){i.d(t,{B:()=>n,t:()=>s});let a={debug:console.debug,error:(e,t)=>{console.error(`tsParticles - Error - ${e}`,t)},info:console.info,log:console.log,trace:console.trace,verbose:console.log,warning:console.warn};function n(e){a.debug=e.debug,a.error=e.error,a.info=e.info,a.log=e.log,a.verbose=e.verbose,a.warning=e.warning}function s(){return a}},5286(e,t,i){i.d(t,{$m:()=>O,AD:()=>p,DT:()=>function e(t,i){if(t===i||void 0===i&&(0,o.Et)(t))return t;let a=x(t),n=w(t);return void 0!==i?{min:Math.min(a,i),max:Math.max(n,i)}:e(a,n)},G0:()=>u,JY:()=>P,M3:()=>D,Mh:()=>T,Nx:()=>F,OE:()=>d,OW:()=>R,Sc:()=>M,Sg:()=>x,VG:()=>b,W9:()=>w,Yf:()=>S,e4:()=>h,eh:()=>E,gp:()=>_,i0:()=>v,jh:()=>g,l1:()=>A,pu:()=>k,px:()=>m,qE:()=>f,qM:()=>I,vE:()=>y,vr:()=>z});var a=i(1907),n=i(5560),s=i(6129),o=i(7420);let r=Math.PI/180,l=Math.random,c={nextFrame:e=>requestAnimationFrame(e),cancel:e=>{cancelAnimationFrame(e)}};function d(e=Math.random){l=e}function u(){return f(l(),0,1-Number.EPSILON)}function h(e,t){return u()*(t-e)+e}function p(e,t){c.nextFrame=e,c.cancel=t}function v(e){return c.nextFrame(e)}function m(e){c.cancel(e)}function f(e,t,i){return Math.min(Math.max(e,t),i)}function g(e,t,i,a){return Math.floor((e*i+t*a)/(i+a))}function y(e){let t=w(e),i=x(e);return t===i&&(i=0),h(i,t)}function b(e){return(0,o.Et)(e)?e:y(e)}function x(e){return(0,o.Et)(e)?e:e.min}function w(e){return(0,o.Et)(e)?e:e.max}function z(e,t){let i=e.x-t.x,a=e.y-t.y;return{dx:i,dy:a,distance:Math.hypot(i,a)}}function M(e,t){let i=e.x-t.x,a=e.y-t.y;return i*i+a*a}function S(e,t){return Math.sqrt(M(e,t))}function _(e,t,i){return M(e,t)<=i*i}function k(e){return e*r}function P(e,t,i){if((0,o.Et)(e))return e*r;switch(e){case a.F.top:return-Math.PI*n.MX;case a.F.topRight:return-Math.PI*n.$G;case a.F.right:return n.Ie;case a.F.bottomRight:return Math.PI*n.$G;case a.F.bottom:return Math.PI*n.MX;case a.F.bottomLeft:return Math.PI*n.Rq;case a.F.left:return Math.PI;case a.F.topLeft:return-Math.PI*n.Rq;case a.F.inside:return Math.atan2(i.y-t.y,i.x-t.x);case a.F.outside:return Math.atan2(t.y-i.y,t.x-i.x);default:return u()*n.R1}}function O(e){let t=s.M.origin;return t.length=1,t.angle=e,t}function R(e,t,i,a){return s.M.create(e.x*(i-a)/(i+a)+t.x*n.gd*a/(i+a),e.y)}function E(e){return e.position?.x!==void 0&&void 0!==e.position.y?{x:e.position.x*e.size.width/n.a5,y:e.position.y*e.size.height/n.a5}:void 0}function T(e){return{x:(e.position?.x??u()*n.a5)*e.size.width/n.a5,y:(e.position?.y??u()*n.a5)*e.size.height/n.a5}}function A(e){let t={x:e.position?.x!==void 0?b(e.position.x):void 0,y:e.position?.y!==void 0?b(e.position.y):void 0};return T({size:e.size,position:t})}function F(e){let{position:t,size:i}=e;return{x:t?.x??u()*i.width,y:t?.y??u()*i.height}}function I(e){let t={x:e.position?.x!==void 0?b(e.position.x):void 0,y:e.position?.y!==void 0?b(e.position.y):void 0};return F({size:e.size,position:t})}function D(e){return e?e.endsWith("%")?parseFloat(e)/n.a5:parseFloat(e):1}},714(e,t,i){i.d(t,{Z:()=>n,y:()=>s});var a=i(8008);function n(e,...t){for(let i of t)e.load(i)}function s(e,t,...i){let o=new a.U(e,t);return n(o,...i),o}},7420(e,t,i){function a(e){return"boolean"==typeof e}function n(e){return"string"==typeof e}function s(e){return"number"==typeof e}function o(e){return"function"==typeof e}function r(e){return"object"==typeof e&&null!==e}function l(e){return Array.isArray(e)}function c(e){return null==e}i.d(t,{Et:()=>s,Gv:()=>r,Kg:()=>n,Lm:()=>a,Tn:()=>o,cy:()=>l,kZ:()=>c})},5244(e,t,i){i.d(t,{AE:()=>S,BR:()=>g,Bj:()=>p,E9:()=>A,HQ:()=>$,Kp:()=>V,O2:()=>M,Ot:()=>C,T5:()=>m,TA:()=>O,Tg:()=>_,Tj:()=>z,UC:()=>I,Vh:()=>w,Xs:()=>E,YC:()=>F,hJ:()=>L,hn:()=>b,lV:()=>f,n0:()=>x,pE:()=>k,q8:()=>v,tG:()=>y,td:()=>D,w3:()=>R,wJ:()=>P,zw:()=>function e(t,...i){for(let a of i){if((0,s.kZ)(a))continue;if(!(0,s.Gv)(a)){t=a;continue}Array.isArray(a)?Array.isArray(t)||(t=[]):(!(0,s.Gv)(t)||Array.isArray(t))&&(t={});let i=Object.keys(a),n=new Set(["__proto__","constructor","prototype"]);if(!i.some(e=>{let t=a[e];return(0,s.Gv)(t)||Array.isArray(t)})){let e=t;for(let t of i)if(!n.has(t)&&t in a){let i=a[t];void 0!==i&&(e[t]=i)}continue}for(let s of i){if(n.has(s))continue;let i=t,o=a[s];i[s]=Array.isArray(o)?o.map(t=>e(void 0,t)):e(i[s],o)}}return t}});var a=i(5286),n=i(5560),s=i(7420),o=i(1668),r=i(7662),l=i(9718),c=i(8545),d=i(5354),u=i(4819),h=i(6129);function p(e,t){let i=new Map,a=t?.maxSize,n=t?.ttlMs,s=t?.keyFn,o=(e,t=new WeakSet)=>{if(null===e)return"null";let i=typeof e;if("undefined"===i)return"undefined";if("number"===i||"boolean"===i||"string"===i)return JSON.stringify(e);if("function"===i)try{return e.toString()}catch{return'"[Function]"'}if("symbol"===i)try{return e.toString()}catch{return'"[Symbol]"'}if(Array.isArray(e))return`[${e.map(e=>o(e,t)).join(",")}]`;if(t.has(e))return'"[Circular]"';t.add(e);let a=Object.keys(e).sort();return`{${a.map(i=>`${JSON.stringify(i)}:${o(e[i],t)}`).join(",")}}`};return(...t)=>{let r,l=(r=t,s?s(r):o(r)),c=Date.now(),d=i.get(l);if(void 0!==d)if(!n||!(c-d.ts>n))return i.delete(l),i.set(l,{value:d.value,ts:d.ts}),d.value;else i.delete(l);let u=e(...t);if(i.set(l,{value:u,ts:c}),"number"==typeof a&&a>=0)for(;i.size>a;){let e=i.keys().next().value;if(void 0===e)break;i.delete(e)}return u}}function v(){return"u">typeof matchMedia}function m(){return globalThis.document}function f(e){if(v())return matchMedia(e)}function g(e){if("u">typeof IntersectionObserver)return new IntersectionObserver(e)}function y(e){if("u">typeof MutationObserver)return new MutationObserver(e)}function b(e,t){return e===t||(0,s.cy)(t)&&t.includes(e)}function x(e){return Math.floor((0,a.G0)()*e.length)}function w(e,t,i=!0){return e[void 0!==t&&i?t%e.length:x(e)]}function z(e,t,i,a,n){return M(S(e,a??0),t,i,n)}function M(e,t,i,a){let n=!0;return a&&a!==c.v.bottom||(n=e.top<t.height+i.x),n&&(!a||a===c.v.left)&&(n=e.right>i.x),n&&(!a||a===c.v.right)&&(n=e.left<t.width+i.y),n&&(!a||a===c.v.top)&&(n=e.bottom>i.y),n}function S(e,t){return{bottom:e.y+t,left:e.x-t,right:e.x+t,top:e.y-t}}function _(e){return{position:e.getPosition(),radius:e.getRadius(),mass:e.getMass(),velocity:e.velocity,factor:h.M.create((0,a.VG)(e.options.bounce.horizontal.value),(0,a.VG)(e.options.bounce.vertical.value))}}function k(e,t){let{x:i,y:n}=e.velocity.sub(t.velocity),[s,o]=[e.position,t.position],{dx:r,dy:l}=(0,a.vr)(o,s);if(i*r+n*l<0)return;let c=-Math.atan2(l,r),d=e.mass,u=t.mass,h=e.velocity.rotate(c),p=t.velocity.rotate(c),v=(0,a.OW)(h,p,d,u),m=(0,a.OW)(p,h,d,u),f=v.rotate(-c),g=m.rotate(-c);e.velocity.x=f.x*e.factor.x,e.velocity.y=f.y*e.factor.y,t.velocity.x=g.x*t.factor.x,t.velocity.y=g.y*t.factor.y}function P(e,t){return(0,s.cy)(e)?e.map((e,i)=>t(e,i)):t(e,0)}function O(e,t,i){return(0,s.cy)(e)?w(e,t,i):e}function R(e,t){return(0,s.cy)(e)?e.find((e,i)=>t(e,i)):t(e,0)?e:void 0}function E(e,t){let i=e.value,s=e.animation,l={delayTime:(0,a.VG)(s.delay)*n.Xu,enable:s.enable,value:(0,a.VG)(e.value)*t,max:(0,a.W9)(i)*t,min:(0,a.Sg)(i)*t,loops:0,maxLoops:(0,a.VG)(s.count),time:0};if(s.enable){switch(l.decay=1-(0,a.VG)(s.decay),s.mode){case o.g.increase:l.status=r.H.increasing;break;case o.g.decrease:l.status=r.H.decreasing;break;case o.g.random:l.status=(0,a.G0)()>=n.MX?r.H.increasing:r.H.decreasing}let e=s.mode===o.g.auto;switch(s.startValue){case u.S.min:l.value=l.min,e&&(l.status=r.H.increasing);break;case u.S.max:l.value=l.max,e&&(l.status=r.H.decreasing);break;case u.S.random:default:l.value=(0,a.vE)(l),e&&(l.status=(0,a.G0)()>=n.MX?r.H.increasing:r.H.decreasing)}}return l.initialValue=l.value,l}function T(e,t){if(e.mode!==d.q.percent){let{mode:t,...i}=e;return i}return"x"in e?{x:e.x/n.a5*t.width,y:e.y/n.a5*t.height}:{width:e.width/n.a5*t.width,height:e.height/n.a5*t.height}}function A(e,t){return T(e,t)}function F(e,t){return T(e,t)}function I(e,t,i,n,s){if(e.destroyed||!t.enable||(t.maxLoops??0)>0&&(t.loops??0)>(t.maxLoops??0))return;let o=(t.velocity??0)*s.factor,c=t.min,d=t.max,u=t.decay??1;if(t.time??=0,(t.delayTime??0)>0&&t.time<(t.delayTime??0)&&(t.time+=s.value),!((t.delayTime??0)>0)||!(t.time<(t.delayTime??0))){switch(t.status){case r.H.increasing:t.value+=o;break;case r.H.decreasing:t.value-=o}switch(t.velocity&&1!==u&&(t.velocity*=u),t.status){case r.H.increasing:t.value>=d&&(i?t.status=r.H.decreasing:t.value-=d,t.loops??=0,t.loops++);break;case r.H.decreasing:t.value<=c&&(i?t.status=r.H.increasing:t.value+=d,t.loops??=0,t.loops++)}var h=t.value;switch(n){case l.V.max:h>=d&&e.destroy();break;case l.V.min:h<=c&&e.destroy()}e.destroyed||(t.value=(0,a.qE)(t.value,c,d))}}function D(e){let t=m().createElement("div").style;for(let i in e){let a=e[i];if(!(i in e)||(0,s.kZ)(a))continue;let n=e.getPropertyValue?.(a);if(!n)continue;let o=e.getPropertyPriority?.(a);o?t.setProperty(a,n,o):t.setProperty(a,n)}return t}let L=p(function(e){let t=m().createElement("div").style,i={width:"100%",height:"100%",margin:"0",padding:"0",borderWidth:"0",position:"fixed",zIndex:e.toString(10),"z-index":e.toString(10),top:"0",left:"0"};for(let e in i){let a=i[e];void 0!==a&&t.setProperty(e,a)}return t});function V(e,t,i,a,n){if(a){let a={passive:!0};(0,s.Lm)(n)?a.capture=n:void 0!==n&&(a=n),e.addEventListener(t,i,a)}else e.removeEventListener(t,i,n)}async function $(e,t,i,a=!1){let n=t.get(e);return(!n||a)&&(n=await Promise.all([...i.values()].map(t=>t(e))),t.set(e,n)),n}async function C(e,t,i,a=!1){let n=t.get(e);return(!n||a)&&(n=new Map(await Promise.all([...i.entries()].map(([t,i])=>i(e).then(e=>[t,e])))),t.set(e,n)),n}},8753(e,t,i){i.d(t,{HKZ:()=>P.H,A9e:()=>A.A,gmr:()=>M.g,pK_:()=>F.p,H_P:()=>T.H,Jmi:()=>el.Jm,VS$:()=>I.V,dgY:()=>b.dg,jlt:()=>b.jl,evc:()=>D.e,VKE:()=>O.V,mgy:()=>l,Bx4:()=>h.B,SQl:()=>Z.S,mcU:()=>L.m,hqM:()=>r,i74:()=>V.i,dtg:()=>S.d,yUV:()=>j.y,hzL:()=>N.h,Zgv:()=>K.Z,FWc:()=>w.F,y1u:()=>W.y,vU7:()=>J.v,Y4E:()=>et.Y,IhC:()=>ei.I,JYR:()=>$.J,Oit:()=>C.O,Yzx:()=>_.Y,v5k:()=>z.v,j$q:()=>U.j,x_I:()=>R.x,wvn:()=>G.w,F5W:()=>q.F,M1g:()=>ee.M,NeW:()=>Y.N,Ad4:()=>Q.A,UOj:()=>B.U,qiC:()=>k.q,Q4c:()=>F.Q,AIw:()=>el.AI,M_G:()=>b.M_,z0z:()=>er.z,pTR:()=>o,ypk:()=>ea.y,or0:()=>en.o,qvJ:()=>es.q,tKH:()=>X.t,SKz:()=>E.S,tcj:()=>H.t,PVU:()=>el.PV,Miz:()=>x.M,pGL:()=>x.p,Pyx:()=>eo.P,yxh:()=>ed.yx,i0Z:()=>m.i0,O2_:()=>d.O2,n02:()=>d.n0,NxB:()=>m.Nx,qMV:()=>m.qM,ehY:()=>m.eh,MhH:()=>m.Mh,l1q:()=>m.l1,AEc:()=>d.AE,pxm:()=>m.px,Nxk:()=>c.Nx,RFH:()=>c.RF,gpg:()=>m.gp,pEn:()=>d.pE,Tgl:()=>d.Tg,qE8:()=>m.qE,IUd:()=>ec.IU,td3:()=>d.td,OWw:()=>m.OW,EYT:()=>ed.EY,mKQ:()=>ed.mK,qe:()=>ed.qe,nqC:()=>c.nq,WH8:()=>c.WH,zwS:()=>d.zw,aZx:()=>c.aZ,tAJ:()=>c.tA,yjn:()=>c.yj,lA:()=>c.lA,z$P:()=>c.z$,i8E:()=>c.i8,hKc:()=>c.hK,hvP:()=>c.hv,$xb:()=>c.$x,ZpR:()=>c.Zp,xd3:()=>c.xd,rqX:()=>c.rq,Fli:()=>c.Fl,tRb:()=>c.tR,UgP:()=>c.Ug,zss:()=>c.zs,jnW:()=>c.jn,Pf9:()=>c.Pf,puj:()=>m.pu,LDU:()=>c.LD,gdl:()=>c.gd,R1e:()=>c.R1,kac:()=>ec.k,z5n:()=>ec.z5,p0m:()=>ec.p0,Wbn:()=>ec.Wb,KG7:()=>ec.KG,gF3:()=>ec.gF,VGT:()=>ec.VG,Iex:()=>c.Ie,wJ2:()=>d.wJ,w3Z:()=>d.w3,eb4:()=>c.eb,X$G:()=>c.X$,cei:()=>c.ce,YfF:()=>m.Yf,Scl:()=>m.Sc,vrU:()=>m.vr,hJS:()=>d.hJ,pzy:()=>ed.pz,O_i:()=>ed.O_,OtU:()=>d.Ot,HQK:()=>d.HQ,_hh:()=>ed._h,PGG:()=>ed.PG,tZQ:()=>v.t,$mf:()=>m.$m,JYE:()=>m.JY,E90:()=>d.E9,G0i:()=>m.G0,e4g:()=>m.e4,OHq:()=>ed.OH,W9e:()=>m.W9,Sgh:()=>m.Sg,VGA:()=>m.VG,YCE:()=>d.YC,LCf:()=>ed.LC,xxz:()=>ed.xx,vSh:()=>c.vS,L1V:()=>c.L1,U0s:()=>c.U0,MXx:()=>c.MX,q8J:()=>d.q8,YLU:()=>ed.YL,ayx:()=>ed.ay,D_O:()=>c.D_,XsS:()=>d.Xs,hBr:()=>c.hB,cyL:()=>eh.cy,Lmq:()=>eh.Lm,Tnt:()=>eh.Tn,hnD:()=>d.hn,kZJ:()=>eh.kZ,EtT:()=>eh.Et,Gvm:()=>eh.Gv,Tj8:()=>d.Tj,KgX:()=>eh.Kg,Vh1:()=>d.Vh,TA3:()=>d.TA,iUN:()=>c.iU,$_c:()=>c.$_,vd6:()=>c.vd,K3:()=>c.K3,PZY:()=>c.PZ,ZGK:()=>eu.Z,yVN:()=>eu.y,$v4:()=>c.$v,KpY:()=>d.Kp,BjF:()=>d.Bj,BWm:()=>c.BW,XuV:()=>c.Xu,wMU:()=>c.wM,DNI:()=>c.DN,z94:()=>c.z9,ou7:()=>c.ou,Dvh:()=>c.Dv,GWL:()=>c.GW,X_1:()=>c.X_,w20:()=>c.w2,jhA:()=>m.jh,dvp:()=>c.dv,xHs:()=>c.xH,boI:()=>c.bo,SnF:()=>ec.Sn,MdX:()=>ec.Md,M3Y:()=>m.M3,a56:()=>c.a5,BFN:()=>c.BF,$GP:()=>c.$G,mRf:()=>c.mR,vEz:()=>m.vE,R5R:()=>ed.R5,BN0:()=>ed.BN,JC0:()=>c.JC,vFD:()=>c.vF,NFi:()=>c.NF,oiR:()=>c.oi,K6u:()=>ed.K6,euA:()=>c.eu,yxQ:()=>c.yx,aEA:()=>c.aE,T5G:()=>d.T5,BRq:()=>d.BR,lVH:()=>d.lV,tGT:()=>d.tG,ADE:()=>m.AD,Bro:()=>v.B,OEu:()=>m.OE,DT4:()=>m.DT,zgn:()=>c.zg,iXO:()=>c.iX,dmB:()=>c.dm,zIs:()=>ed.zI,egF:()=>ed.eg,RqE:()=>c.Rq,NuQ:()=>c.Nu,Eow:()=>c.Eo,$k3:()=>ep,UC0:()=>d.UC,JvX:()=>ed.Jv,Kog:()=>ed.Ko,nKi:()=>c.nK,RVs:()=>c.RV});var a,n,s,o,r,l,c=i(5560),d=i(5244);class u{_listeners;constructor(){this._listeners=new Map}addEventListener(e,t){this.removeEventListener(e,t);let i=this._listeners.get(e);i||(i=[],this._listeners.set(e,i)),i.push(t)}dispatchEvent(e,t){let i=this._listeners.get(e);i?.forEach(e=>{e(t)})}hasEventListener(e){return!!this._listeners.get(e)}removeAllEventListeners(e){e?this._listeners.delete(e):this._listeners=new Map}removeEventListener(e,t){let i=this._listeners.get(e);if(!i)return;let a=i.length,n=i.indexOf(t);n<c.z9||(a===c.LD?this._listeners.delete(e):i.splice(n,c.LD))}}var h=i(8356);class p{colorManagers=new Map;easingFunctions=new Map;effectDrawers=new Map;initializers={effects:new Map,shapes:new Map,updaters:new Map};palettes=new Map;plugins=[];presets=new Map;shapeDrawers=new Map;updaters=new Map;_allLoadersSet=new Set;_configs=new Map;_engine;_executedSet=new Set;_initialized=!1;_isRunningLoaders=!1;_loadPromises=new Set;constructor(e){this._engine=e}get configs(){let e={};for(let[t,i]of this._configs)e[t]=i;return e}addColorManager(e,t){this.colorManagers.set(e,t)}addConfig(e){let t=e.key??e.name??"default";this._configs.set(t,e),this._engine.dispatchEvent(h.B.configAdded,{data:{name:t,config:e}})}addEasing(e,t){this.easingFunctions.get(e)||this.easingFunctions.set(e,t)}addEffect(e,t){this.initializers.effects.set(e,t)}addPalette(e,t){this.palettes.set(e,t)}addParticleUpdater(e,t){this.initializers.updaters.set(e,t)}addPlugin(e){this.getPlugin(e.id)||this.plugins.push(e)}addPreset(e,t,i=!1){(i||!this.getPreset(e))&&this.presets.set(e,t)}addShape(e,t){for(let i of e)this.initializers.shapes.set(i,t)}clearPlugins(e){this.effectDrawers.delete(e),this.shapeDrawers.delete(e),this.updaters.delete(e)}getEasing(e){return this.easingFunctions.get(e)??(e=>e)}getEffectDrawers(e,t=!1){return(0,d.Ot)(e,this.effectDrawers,this.initializers.effects,t)}getPalette(e){return this.palettes.get(e)}getPlugin(e){return this.plugins.find(t=>t.id===e)}getPreset(e){return this.presets.get(e)}async getShapeDrawers(e,t=!1){return(0,d.Ot)(e,this.shapeDrawers,this.initializers.shapes,t)}async getUpdaters(e,t=!1){return(0,d.HQ)(e,this.updaters,this.initializers.updaters,t)}async init(){if(!this._initialized&&!this._isRunningLoaders){this._isRunningLoaders=!0,this._executedSet=new Set,this._allLoadersSet=new Set(this._loadPromises);try{for(let e of this._allLoadersSet)await this._runLoader(e,this._executedSet,this._allLoadersSet)}finally{this._loadPromises.clear(),this._isRunningLoaders=!1,this._initialized=!0}}}loadParticlesOptions(e,t,...i){let a=this.updaters.get(e);a&&a.forEach(e=>e.loadOptions?.(t,...i))}async register(...e){if(this._initialized)throw Error("Register plugins can only be done before calling tsParticles.load()");for(let t of e)this._isRunningLoaders?await this._runLoader(t,this._executedSet,this._allLoadersSet):this._loadPromises.add(t)}async _runLoader(e,t,i){t.has(e)||(t.add(e),i.add(e),await e(this._engine))}}var v=i(7382),m=i(5286);let f="100%";async function g(e){let t=(0,d.TA)(e.url,e.index);if(!t)return e.fallback;let i=await fetch(t);return i.ok?await i.json():((0,v.t)().error(`${i.status.toString()} while retrieving config file`),e.fallback)}class y{pluginManager=new p(this);_domArray=[];_eventDispatcher=new u;_initialized=!1;get items(){return this._domArray}get version(){return"4.0.0-beta.8"}addEventListener(e,t){this._eventDispatcher.addEventListener(e,t)}checkVersion(e){if(this.version!==e)throw Error(`The tsParticles version is different from the loaded plugins version. Engine version: ${this.version}. Plugin version: ${e}`)}dispatchEvent(e,t){this._eventDispatcher.dispatchEvent(e,t)}async init(){this._initialized||(await this.pluginManager.init(),this._initialized=!0)}item(e){let{items:t}=this,i=t[e];return i?.destroyed?void t.splice(e,c.JC):i}async load(e){var t;let a,n;await this.init();let{Container:s}=await i.e(648).then(i.bind(i,648)),o=e.id??e.element?.id??`tsparticles${Math.floor((0,m.G0)()*c.$v).toString()}`,{index:r,url:l}=e,u=l?await g({fallback:e.options,url:l,index:r}):e.options,h=(0,d.TA)(u,r),{items:p}=this,v=p.findIndex(e=>e.id.description===o),y=new s({dispatchCallback:(e,t)=>{this.dispatchEvent(e,t)},id:o,onDestroy:e=>{if(!e)return;let t=this.items,i=t.indexOf(y);i>=c.vF&&t.splice(i,c.JC)},pluginManager:this.pluginManager,sourceOptions:h});if(v>=c.PZ){let e=this.item(v),t=e?c.xH:c.dv;e&&!e.destroyed&&e.destroy(!1),p.splice(v,t,y)}else p.push(y);let b=(e=>{let t,i=(0,d.T5)();if(e instanceof HTMLCanvasElement||e.tagName.toLowerCase()===c.RF)t=e,t.dataset[c.eb]??=c.X$;else{let a=e.getElementsByTagName(c.RF)[c.Nx];a?(t=a).dataset[c.eb]=c.X$:((t=i.createElement(c.RF)).dataset[c.eb]=c.ce,e.appendChild(t))}return t.style.width||=f,t.style.height||=f,t})((t=e.element,a=(0,d.T5)(),(n=t??a.getElementById(o))||((n=a.createElement("canvas")).id=o,n.dataset[c.eb]=c.ce,a.body.append(n)),n));return y.canvas.loadCanvas(b),await y.start(),y}async refresh(e=!0){e&&await Promise.all(this.items.map(e=>e.refresh()))}removeEventListener(e,t){this._eventDispatcher.removeEventListener(e,t)}}var b=i(1045),x=i(6129),w=i(1907);(a=o||(o={})).clockwise="clockwise",a.counterClockwise="counter-clockwise",a.random="random";var z=i(8545),M=i(1668),S=i(6101),_=i(1946),k=i(5354),P=i(3832),O=i(9718);(n=r||(r={})).linear="linear",n.radial="radial",n.random="random";var R=i(1386),E=i(4819);(s=l||(l={})).easeInBack="ease-in-back",s.easeInBounce="ease-in-bounce",s.easeInCirc="ease-in-circ",s.easeInCubic="ease-in-cubic",s.easeInElastic="ease-in-elastic",s.easeInExpo="ease-in-expo",s.easeInGaussian="ease-in-gaussian",s.easeInLinear="ease-in-linear",s.easeInQuad="ease-in-quad",s.easeInQuart="ease-in-quart",s.easeInQuint="ease-in-quint",s.easeInSigmoid="ease-in-sigmoid",s.easeInSine="ease-in-sine",s.easeInSmoothstep="ease-in-smoothstep",s.easeOutBack="ease-out-back",s.easeOutBounce="ease-out-bounce",s.easeOutCirc="ease-out-circ",s.easeOutCubic="ease-out-cubic",s.easeOutElastic="ease-out-elastic",s.easeOutExpo="ease-out-expo",s.easeOutGaussian="ease-out-gaussian",s.easeOutLinear="ease-out-linear",s.easeOutQuad="ease-out-quad",s.easeOutQuart="ease-out-quart",s.easeOutQuint="ease-out-quint",s.easeOutSigmoid="ease-out-sigmoid",s.easeOutSine="ease-out-sine",s.easeOutSmoothstep="ease-out-smoothstep",s.easeInOutBack="ease-in-out-back",s.easeInOutBounce="ease-in-out-bounce",s.easeInOutCirc="ease-in-out-circ",s.easeInOutCubic="ease-in-out-cubic",s.easeInOutElastic="ease-in-out-elastic",s.easeInOutExpo="ease-in-out-expo",s.easeInOutGaussian="ease-in-out-gaussian",s.easeInOutLinear="ease-in-out-linear",s.easeInOutQuad="ease-in-out-quad",s.easeInOutQuart="ease-in-out-quart",s.easeInOutQuint="ease-in-out-quint",s.easeInOutSigmoid="ease-in-out-sigmoid",s.easeInOutSine="ease-in-out-sine",s.easeInOutSmoothstep="ease-in-out-smoothstep";var T=i(7662),A=i(602),F=i(5501),I=i(9172),D=i(338),L=i(8886),V=i(3478),$=i(2215),C=i(1196),G=i(4505),q=i(2506),B=i(8008),Z=i(5940),H=i(7793),j=i(6142),N=i(9447),K=i(6019),W=i(414),U=i(7563),J=i(9345),X=i(5487),Y=i(7501),Q=i(9682),ee=i(7086),et=i(4666),ei=i(4770),ea=i(9430),en=i(8806),es=i(7502),eo=i(148),er=i(3897),el=i(8239),ec=i(1912),ed=i(8329),eu=i(714),eh=i(7420);let ep=new y;globalThis.tsParticles=ep}},n={};function s(e){var t=n[e];if(void 0!==t)return t.exports;var i=n[e]={exports:{}};return a[e](i,i.exports,s),i.exports}s.m=a,s.d=(e,t)=>{for(var i in t)s.o(t,i)&&!s.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},s.f={},s.e=e=>Promise.all(Object.keys(s.f).reduce((t,i)=>(s.f[i](e,t),t),[])),s.u=e=>""+e+".min.js",s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),o={},s.l=(e,t,i,a)=>{if(o[e])return void o[e].push(t);if(void 0!==i)for(var n,r,l=document.getElementsByTagName("script"),c=0;c<l.length;c++){var d=l[c];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")=="@tsparticles/pjs:"+i){n=d;break}}n||(r=!0,(n=document.createElement("script")).charset="utf-8",s.nc&&n.setAttribute("nonce",s.nc),n.setAttribute("data-webpack","@tsparticles/pjs:"+i),n.src=e),o[e]=[t];var u=(t,i)=>{n.onerror=n.onload=null,clearTimeout(h);var a=o[e];if(delete o[e],n.parentNode&&n.parentNode.removeChild(n),a&&a.forEach(e=>e(i)),t)return t(i)},h=setTimeout(u.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=u.bind(null,n.onerror),n.onload=u.bind(null,n.onload),r&&document.head.appendChild(n)},s.r=e=>{"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.g.importScripts&&(r=s.g.location+"");var o,r,l=s.g.document;if(!r&&l&&(l.currentScript&&"SCRIPT"===l.currentScript.tagName.toUpperCase()&&(r=l.currentScript.src),!r)){var c=l.getElementsByTagName("script");if(c.length)for(var d=c.length-1;d>-1&&(!r||!/^http(s?):/.test(r));)r=c[d--].src}if(!r)throw Error("Automatic publicPath is not supported in this browser");s.p=r=r.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),e={2974:0},s.f.j=(t,i)=>{var a=s.o(e,t)?e[t]:void 0;if(0!==a)if(a)i.push(a[2]);else{var n=new Promise((i,n)=>a=e[t]=[i,n]);i.push(a[2]=n);var o=s.p+s.u(t),r=Error();s.l(o,i=>{if(s.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var n=i&&("load"===i.type?"missing":i.type),o=i&&i.target&&i.target.src;r.message="Loading chunk "+t+` failed.
2
+ (`+n+": "+o+")",r.name="ChunkLoadError",r.type=n,r.request=o,a[1](r)}},"chunk-"+t,t)}},t=(t,i)=>{var a,n,[o,r,l]=i,c=0;if(o.some(t=>0!==e[t])){for(a in r)s.o(r,a)&&(s.m[a]=r[a]);l&&l(s)}for(t&&t(i);c<o.length;c++)n=o[c],s.o(e,n)&&e[n]&&e[n][0](),e[n]=0},(i=this.webpackChunk_tsparticles_pjs=this.webpackChunk_tsparticles_pjs||[]).forEach(t.bind(null,0)),i.push=t.bind(null,i.push.bind(i));var u={};s.r(u),s.d(u,{AlterType:()=>h.HKZ,AnimatableColor:()=>h.A9e,AnimationMode:()=>h.gmr,AnimationOptions:()=>h.pK_,AnimationStatus:()=>h.H_P,AnimationValueWithRandom:()=>h.Jmi,Background:()=>h.VS$,BaseRange:()=>h.dgY,Circle:()=>h.jlt,ColorAnimation:()=>h.evc,DestroyType:()=>h.VKE,EasingType:()=>h.mgy,EventType:()=>h.Bx4,Fill:()=>h.SQl,FullScreen:()=>h.mcU,GradientType:()=>h.hqM,HslAnimation:()=>h.i74,LimitMode:()=>h.dtg,Move:()=>h.yUV,MoveAngle:()=>h.hzL,MoveCenter:()=>h.Zgv,MoveDirection:()=>h.FWc,MoveGravity:()=>h.y1u,MovePath:()=>h.vU7,Opacity:()=>h.Y4E,OpacityAnimation:()=>h.IhC,Options:()=>h.JYR,OptionsColor:()=>h.Oit,OutMode:()=>h.Yzx,OutModeDirection:()=>h.v5k,OutModes:()=>h.j$q,ParticleOutType:()=>h.x_I,ParticlesBounce:()=>h.wvn,ParticlesBounceFactor:()=>h.F5W,ParticlesDensity:()=>h.M1g,ParticlesNumber:()=>h.NeW,ParticlesNumberLimit:()=>h.Ad4,ParticlesOptions:()=>h.UOj,PixelMode:()=>h.qiC,RangedAnimationOptions:()=>h.Q4c,RangedAnimationValueWithRandom:()=>h.AIw,Rectangle:()=>h.M_G,ResizeEvent:()=>h.z0z,RotateDirection:()=>h.pTR,Shape:()=>h.ypk,Size:()=>h.or0,SizeAnimation:()=>h.qvJ,Spin:()=>h.tKH,StartValueType:()=>h.SKz,Stroke:()=>h.tcj,ValueWithRandom:()=>h.PVU,Vector:()=>h.Miz,Vector3d:()=>h.pGL,ZIndex:()=>h.Pyx,alterHsl:()=>h.yxh,animate:()=>h.i0Z,areBoundsInside:()=>h.O2_,arrayRandomIndex:()=>h.n02,calcExactPositionOrRandomFromSize:()=>h.NxB,calcExactPositionOrRandomFromSizeRanged:()=>h.qMV,calcPositionFromSize:()=>h.ehY,calcPositionOrRandomFromSize:()=>h.MhH,calcPositionOrRandomFromSizeRanged:()=>h.l1q,calculateBounds:()=>h.AEc,cancelAnimation:()=>h.pxm,canvasFirstIndex:()=>h.Nxk,canvasTag:()=>h.RFH,checkDistance:()=>h.gpg,circleBounce:()=>h.pEn,circleBounceDataFromParticle:()=>h.Tgl,clamp:()=>h.qE8,clear:()=>h.IUd,cloneStyle:()=>h.td3,collisionVelocity:()=>h.OWw,colorMix:()=>h.EYT,colorToHsl:()=>h.mKQ,colorToRgb:()=>h.qe,countOffset:()=>h.nqC,decayOffset:()=>h.WH8,deepExtend:()=>h.zwS,defaultAlpha:()=>h.aZx,defaultAngle:()=>h.tAJ,defaultCompositeValue:()=>h.yjn,defaultDensityFactor:()=>h.lA,defaultFps:()=>h.z$P,defaultFpsLimit:()=>h.i8E,defaultLoops:()=>h.hKc,defaultOpacity:()=>h.hvP,defaultRatio:()=>h.$xb,defaultReduceFactor:()=>h.ZpR,defaultRemoveQuantity:()=>h.xd3,defaultRetryCount:()=>h.rqX,defaultRgbMin:()=>h.Fli,defaultTime:()=>h.tRb,defaultTransform:()=>h.UgP,defaultTransformValue:()=>h.zss,defaultVelocity:()=>h.jnW,defaultZoom:()=>h.Pf9,degToRad:()=>h.puj,deleteCount:()=>h.LDU,double:()=>h.gdl,doublePI:()=>h.R1e,drawAfterEffect:()=>h.kac,drawBeforeEffect:()=>h.z5n,drawParticle:()=>h.p0m,drawParticlePlugin:()=>h.Wbn,drawShape:()=>h.KG7,drawShapeAfterDraw:()=>h.gF3,drawShapeBeforeDraw:()=>h.VGT,empty:()=>h.Iex,executeOnSingleOrMultiple:()=>h.wJ2,findItemFromSingleOrMultiple:()=>h.w3Z,generatedAttribute:()=>h.eb4,generatedFalse:()=>h.X$G,generatedTrue:()=>h.cei,getDistance:()=>h.YfF,getDistanceSq:()=>h.Scl,getDistances:()=>h.vrU,getFullScreenStyle:()=>h.hJS,getHslAnimationFromHsl:()=>h.pzy,getHslFromAnimation:()=>h.O_i,getItemMapFromInitializer:()=>h.OtU,getItemsFromInitializer:()=>h.HQK,getLinkColor:()=>h._hh,getLinkRandomColor:()=>h.PGG,getLogger:()=>h.tZQ,getParticleBaseVelocity:()=>h.$mf,getParticleDirectionAngle:()=>h.JYE,getPosition:()=>h.E90,getRandom:()=>h.G0i,getRandomInRange:()=>h.e4g,getRandomRgbColor:()=>h.OHq,getRangeMax:()=>h.W9e,getRangeMin:()=>h.Sgh,getRangeValue:()=>h.VGA,getSize:()=>h.YCE,getStyleFromHsl:()=>h.LCf,getStyleFromRgb:()=>h.xxz,hMax:()=>h.vSh,hMin:()=>h.L1V,hPhase:()=>h.U0s,half:()=>h.MXx,hasMatchMedia:()=>h.q8J,hslToRgb:()=>h.YLU,hslaToRgba:()=>h.ayx,identity:()=>h.D_O,initParticleNumericAnimationValue:()=>h.XsS,initPjs:()=>m,inverseFactorNumerator:()=>h.hBr,isArray:()=>h.cyL,isBoolean:()=>h.Lmq,isFunction:()=>h.Tnt,isInArray:()=>h.hnD,isNull:()=>h.kZJ,isNumber:()=>h.EtT,isObject:()=>h.Gvm,isPointInside:()=>h.Tj8,isString:()=>h.KgX,itemFromArray:()=>h.Vh1,itemFromSingleOrMultiple:()=>h.TA3,lFactor:()=>h.iUN,lMax:()=>h.$_c,lMin:()=>h.vd6,lengthOffset:()=>h.K3,loadMinIndex:()=>h.PZY,loadOptions:()=>h.ZGK,loadParticlesOptions:()=>h.yVN,loadRandomFactor:()=>h.$v4,manageListener:()=>h.KpY,memoize:()=>h.BjF,midColorValue:()=>h.BWm,millisecondsToSeconds:()=>h.XuV,minCount:()=>h.wMU,minFpsLimit:()=>h.DNI,minIndex:()=>h.z94,minLimit:()=>h.ou7,minStrokeWidth:()=>h.Dvh,minVelocity:()=>h.GWL,minZ:()=>h.X_1,minimumSize:()=>h.w20,mix:()=>h.jhA,none:()=>h.dvp,one:()=>h.xHs,originPoint:()=>h.boI,paintBase:()=>h.SnF,paintImage:()=>h.MdX,parseAlpha:()=>h.M3Y,percentDenominator:()=>h.a56,phaseNumerator:()=>h.BFN,quarter:()=>h.$GP,randomColorValue:()=>h.mRf,randomInRangeValue:()=>h.vEz,rangeColorToHsl:()=>h.R5R,rangeColorToRgb:()=>h.BN0,removeDeleteCount:()=>h.JC0,removeMinIndex:()=>h.vFD,resizeEvent:()=>h.NFi,rgbMax:()=>h.oiR,rgbToHsl:()=>h.K6u,sMax:()=>h.euA,sMin:()=>h.yxQ,sNormalizedOffset:()=>h.aEA,safeDocument:()=>h.T5G,safeIntersectionObserver:()=>h.BRq,safeMatchMedia:()=>h.lVH,safeMutationObserver:()=>h.tGT,setAnimationFunctions:()=>h.ADE,setLogger:()=>h.Bro,setRandom:()=>h.OEu,setRangeValue:()=>h.DT4,sextuple:()=>h.zgn,spatialHashGridCellSize:()=>h.iXO,squareExp:()=>h.dmB,stringToAlpha:()=>h.zIs,stringToRgb:()=>h.egF,threeQuarter:()=>h.RqE,triple:()=>h.NuQ,tryCountIncrement:()=>h.Eow,tsParticles:()=>h.$k3,updateAnimation:()=>h.UC0,updateColor:()=>h.JvX,updateColorValue:()=>h.Kog,visibilityChangeEvent:()=>h.nKi,zIndexFactorOffset:()=>h.RVs});var h=s(8753);class p{_container;static init(e){let t=new p,i=e.selector;if(!i)throw Error("No selector provided");let a=(0,h.T5G)().querySelector(i);if(!a)throw Error("No element found for selector");return(async n=>{await n.load({element:a,id:i.replace(".","").replace("!",""),options:{fullScreen:{enable:!1},particles:{color:{value:e.color??"!000000"},links:{color:"random",distance:e.minDistance??120,enable:e.connectParticles??!1},move:{enable:!0,speed:e.speed??.5},number:{value:e.maxParticles??100},size:{value:{min:1,max:e.sizeVariations??3}}},responsive:e.responsive?.map(t=>({maxWidth:t.breakpoint,options:{particles:{color:{value:t.options?.color},links:{distance:t.options?.minDistance,enable:t.options?.connectParticles},number:{value:e.maxParticles},move:{enable:!0,speed:t.options?.speed},size:{value:t.options?.sizeVariations}}}}))}}).then(e=>{t._container=e})})(h.$k3),t}destroy(){let e=this._container;e?.destroy()}pauseAnimation(){let e=this._container;e?.pause()}resumeAnimation(){let e=this._container;e?.play()}}let v={particles:{number:{value:400,density:{enable:!0,value_area:800}},color:{value:"#fff"},shape:{type:"circle",stroke:{width:0,color:"#ff0000"},polygon:{nb_sides:5},image:{src:"",width:100,height:100}},opacity:{value:1,random:!1,anim:{enable:!1,speed:2,opacity_min:0,sync:!1}},size:{value:20,random:!1,anim:{enable:!1,speed:20,size_min:0,sync:!1}},line_linked:{enable:!0,distance:100,color:"#fff",opacity:1,width:1},move:{enable:!0,speed:2,direction:"none",random:!1,straight:!1,out_mode:"out",bounce:!1,attract:{enable:!1,rotateX:3e3,rotateY:3e3}}},interactivity:{detect_on:"canvas",events:{onhover:{enable:!0,mode:"grab"},onclick:{enable:!0,mode:"push"},resize:!0},modes:{grab:{distance:100,line_linked:{opacity:1}},bubble:{distance:200,size:80,duration:.4,opacity:1,speed:3},repulse:{distance:200,duration:.4},push:{particles_nb:4},remove:{particles_nb:2}}},retina_detect:!1},m=async e=>{let t;e.checkVersion("4.0.0-beta.8"),await e.pluginManager.register(async e=>{let[{loadFull:t},{loadResponsivePlugin:i}]=await Promise.all([s.e(3729).then(s.bind(s,3729)),s.e(8192).then(s.bind(s,8192))]);await t(e),await i(e)});let{particlesJS:i,pJSDom:a}=((t=async(t,i)=>{let a=(0,h.zwS)({},v,i);return await e.load({id:t,options:{fullScreen:{enable:!1},detectRetina:a.retina_detect,smooth:!0,interactivity:{detectsOn:a.interactivity.detect_on,events:{onHover:{enable:a.interactivity.events.onhover.enable,mode:a.interactivity.events.onhover.mode},onClick:{enable:a.interactivity.events.onclick.enable,mode:a.interactivity.events.onclick.mode}},modes:{grab:{distance:a.interactivity.modes.grab.distance,links:{opacity:a.interactivity.modes.grab.line_linked.opacity}},bubble:{distance:a.interactivity.modes.bubble.distance,size:a.interactivity.modes.bubble.size,duration:a.interactivity.modes.bubble.duration,opacity:a.interactivity.modes.bubble.opacity,speed:a.interactivity.modes.bubble.speed},repulse:{distance:a.interactivity.modes.repulse.distance,duration:a.interactivity.modes.repulse.duration},push:{quantity:a.interactivity.modes.push.particles_nb},remove:{quantity:a.interactivity.modes.remove.particles_nb}}},particles:{attract:{enable:a.particles.move.attract.enable,rotate:{x:a.particles.move.attract.rotateX,y:a.particles.move.attract.rotateY}},collisions:{enable:a.particles.move.bounce},number:{value:a.particles.number.value,density:{enable:a.particles.number.density.enable,width:a.particles.number.density.value_area}},color:{value:a.particles.color.value},stroke:{width:a.particles.shape.stroke.width,color:{value:a.particles.shape.stroke.color}},shape:{type:a.particles.shape.type,options:{polygon:{sides:a.particles.shape.polygon.nb_sides},image:{src:a.particles.shape.image.src,width:a.particles.shape.image.width,height:a.particles.shape.image.height}}},opacity:{value:a.particles.opacity.random?{min:a.particles.opacity.anim.enable?a.particles.opacity.anim.opacity_min:0,max:a.particles.opacity.value}:a.particles.opacity.value,animation:{enable:a.particles.opacity.anim.enable,speed:a.particles.opacity.anim.speed,sync:a.particles.opacity.anim.sync}},size:{value:a.particles.size.random?{min:a.particles.size.anim.enable?a.particles.size.anim.size_min:0,max:a.particles.size.value}:a.particles.size.value,animation:{enable:a.particles.size.anim.enable,speed:a.particles.size.anim.speed,sync:a.particles.size.anim.sync}},links:{enable:a.particles.line_linked.enable,distance:a.particles.line_linked.distance,color:a.particles.line_linked.color,opacity:a.particles.line_linked.opacity,width:a.particles.line_linked.width},move:{enable:a.particles.move.enable,speed:a.particles.move.speed/3,direction:a.particles.move.direction,random:a.particles.move.random,straight:a.particles.move.straight,outModes:a.particles.move.out_mode}},resize:{enable:a.interactivity.events.resize}}})}).load=(t,i,a)=>{e.load({id:t,url:i}).then(e=>{a(e)}).catch(()=>{a(void 0)})},t.setOnClickHandler=t=>{e.pluginManager.setOnClickHandler?.(t)},{particlesJS:t,pJSDom:e.items});globalThis.particlesJS=i,globalThis.pJSDom=a,globalThis.Particles=p};return u})());