@tsparticles/slim 3.0.3 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/1147.min.js +2 -0
  2. package/1147.min.js.LICENSE.txt +1 -0
  3. package/1196.min.js +2 -0
  4. package/1196.min.js.LICENSE.txt +1 -0
  5. package/1264.min.js +2 -0
  6. package/1264.min.js.LICENSE.txt +1 -0
  7. package/1308.min.js +2 -0
  8. package/1308.min.js.LICENSE.txt +1 -0
  9. package/1364.min.js +2 -0
  10. package/1364.min.js.LICENSE.txt +1 -0
  11. package/1472.min.js +2 -0
  12. package/1472.min.js.LICENSE.txt +1 -0
  13. package/1513.min.js +2 -0
  14. package/1513.min.js.LICENSE.txt +1 -0
  15. package/1808.min.js +2 -0
  16. package/1808.min.js.LICENSE.txt +1 -0
  17. package/1810.min.js +2 -0
  18. package/1810.min.js.LICENSE.txt +1 -0
  19. package/1831.min.js +2 -0
  20. package/1831.min.js.LICENSE.txt +1 -0
  21. package/196.min.js +2 -0
  22. package/196.min.js.LICENSE.txt +1 -0
  23. package/1982.min.js +2 -0
  24. package/1982.min.js.LICENSE.txt +1 -0
  25. package/2121.min.js +2 -0
  26. package/2121.min.js.LICENSE.txt +1 -0
  27. package/2124.min.js +2 -0
  28. package/2124.min.js.LICENSE.txt +1 -0
  29. package/2173.min.js +2 -0
  30. package/2173.min.js.LICENSE.txt +1 -0
  31. package/2200.min.js +2 -0
  32. package/2200.min.js.LICENSE.txt +1 -0
  33. package/2486.min.js +2 -0
  34. package/2486.min.js.LICENSE.txt +1 -0
  35. package/256.min.js +2 -0
  36. package/256.min.js.LICENSE.txt +1 -0
  37. package/2580.min.js +2 -0
  38. package/2580.min.js.LICENSE.txt +1 -0
  39. package/2720.min.js +2 -0
  40. package/2720.min.js.LICENSE.txt +1 -0
  41. package/2765.min.js +2 -0
  42. package/2765.min.js.LICENSE.txt +1 -0
  43. package/2870.min.js +2 -0
  44. package/2870.min.js.LICENSE.txt +1 -0
  45. package/2890.min.js +2 -0
  46. package/2890.min.js.LICENSE.txt +1 -0
  47. package/290.min.js +2 -0
  48. package/290.min.js.LICENSE.txt +1 -0
  49. package/2946.min.js +2 -0
  50. package/2946.min.js.LICENSE.txt +1 -0
  51. package/3141.min.js +2 -0
  52. package/3141.min.js.LICENSE.txt +1 -0
  53. package/3255.min.js +2 -0
  54. package/3255.min.js.LICENSE.txt +1 -0
  55. package/3457.min.js +2 -0
  56. package/3457.min.js.LICENSE.txt +1 -0
  57. package/3486.min.js +2 -0
  58. package/3486.min.js.LICENSE.txt +1 -0
  59. package/3597.min.js +2 -0
  60. package/3597.min.js.LICENSE.txt +1 -0
  61. package/3648.min.js +2 -0
  62. package/3648.min.js.LICENSE.txt +1 -0
  63. package/3733.min.js +2 -0
  64. package/3733.min.js.LICENSE.txt +1 -0
  65. package/3869.min.js +2 -0
  66. package/3869.min.js.LICENSE.txt +1 -0
  67. package/3904.min.js +2 -0
  68. package/3904.min.js.LICENSE.txt +1 -0
  69. package/409.min.js +2 -0
  70. package/409.min.js.LICENSE.txt +1 -0
  71. package/4314.min.js +2 -0
  72. package/4314.min.js.LICENSE.txt +1 -0
  73. package/4328.min.js +2 -0
  74. package/4328.min.js.LICENSE.txt +1 -0
  75. package/4687.min.js +2 -0
  76. package/4687.min.js.LICENSE.txt +1 -0
  77. package/4732.min.js +2 -0
  78. package/4732.min.js.LICENSE.txt +1 -0
  79. package/4737.min.js +2 -0
  80. package/4737.min.js.LICENSE.txt +1 -0
  81. package/4866.min.js +2 -0
  82. package/4866.min.js.LICENSE.txt +1 -0
  83. package/4922.min.js +2 -0
  84. package/4922.min.js.LICENSE.txt +1 -0
  85. package/4973.min.js +2 -0
  86. package/4973.min.js.LICENSE.txt +1 -0
  87. package/4994.min.js +2 -0
  88. package/4994.min.js.LICENSE.txt +1 -0
  89. package/5120.min.js +2 -0
  90. package/5120.min.js.LICENSE.txt +1 -0
  91. package/5243.min.js +2 -0
  92. package/5243.min.js.LICENSE.txt +1 -0
  93. package/5308.min.js +2 -0
  94. package/5308.min.js.LICENSE.txt +1 -0
  95. package/5329.min.js +2 -0
  96. package/5329.min.js.LICENSE.txt +1 -0
  97. package/533.min.js +2 -0
  98. package/533.min.js.LICENSE.txt +1 -0
  99. package/5437.min.js +2 -0
  100. package/5437.min.js.LICENSE.txt +1 -0
  101. package/5444.min.js +2 -0
  102. package/5444.min.js.LICENSE.txt +1 -0
  103. package/5523.min.js +2 -0
  104. package/5523.min.js.LICENSE.txt +1 -0
  105. package/5647.min.js +2 -0
  106. package/5647.min.js.LICENSE.txt +1 -0
  107. package/5715.min.js +2 -0
  108. package/5715.min.js.LICENSE.txt +1 -0
  109. package/5819.min.js +2 -0
  110. package/5819.min.js.LICENSE.txt +1 -0
  111. package/6072.min.js +2 -0
  112. package/6072.min.js.LICENSE.txt +1 -0
  113. package/6132.min.js +2 -0
  114. package/6132.min.js.LICENSE.txt +1 -0
  115. package/6634.min.js +2 -0
  116. package/6634.min.js.LICENSE.txt +1 -0
  117. package/6772.min.js +2 -0
  118. package/6772.min.js.LICENSE.txt +1 -0
  119. package/69.min.js +2 -0
  120. package/69.min.js.LICENSE.txt +1 -0
  121. package/7031.min.js +2 -0
  122. package/7031.min.js.LICENSE.txt +1 -0
  123. package/7049.min.js +2 -0
  124. package/7049.min.js.LICENSE.txt +1 -0
  125. package/7077.min.js +2 -0
  126. package/7077.min.js.LICENSE.txt +1 -0
  127. package/7108.min.js +2 -0
  128. package/7108.min.js.LICENSE.txt +1 -0
  129. package/7331.min.js +2 -0
  130. package/7331.min.js.LICENSE.txt +1 -0
  131. package/7423.min.js +2 -0
  132. package/7423.min.js.LICENSE.txt +1 -0
  133. package/7517.min.js +2 -0
  134. package/7517.min.js.LICENSE.txt +1 -0
  135. package/7725.min.js +2 -0
  136. package/7725.min.js.LICENSE.txt +1 -0
  137. package/7757.min.js +2 -0
  138. package/7757.min.js.LICENSE.txt +1 -0
  139. package/7769.min.js +2 -0
  140. package/7769.min.js.LICENSE.txt +1 -0
  141. package/7835.min.js +2 -0
  142. package/7835.min.js.LICENSE.txt +1 -0
  143. package/7859.min.js +2 -0
  144. package/7859.min.js.LICENSE.txt +1 -0
  145. package/7886.min.js +2 -0
  146. package/7886.min.js.LICENSE.txt +1 -0
  147. package/7890.min.js +2 -0
  148. package/7890.min.js.LICENSE.txt +1 -0
  149. package/8158.min.js +2 -0
  150. package/8158.min.js.LICENSE.txt +1 -0
  151. package/8883.min.js +2 -0
  152. package/8883.min.js.LICENSE.txt +1 -0
  153. package/889.min.js +2 -0
  154. package/889.min.js.LICENSE.txt +1 -0
  155. package/9062.min.js +2 -0
  156. package/9062.min.js.LICENSE.txt +1 -0
  157. package/9126.min.js +2 -0
  158. package/9126.min.js.LICENSE.txt +1 -0
  159. package/9133.min.js +2 -0
  160. package/9133.min.js.LICENSE.txt +1 -0
  161. package/9376.min.js +2 -0
  162. package/9376.min.js.LICENSE.txt +1 -0
  163. package/9431.min.js +2 -0
  164. package/9431.min.js.LICENSE.txt +1 -0
  165. package/9530.min.js +2 -0
  166. package/9530.min.js.LICENSE.txt +1 -0
  167. package/9532.min.js +2 -0
  168. package/9532.min.js.LICENSE.txt +1 -0
  169. package/9921.min.js +2 -0
  170. package/9921.min.js.LICENSE.txt +1 -0
  171. package/basic_dist_browser_index_js.js +30 -0
  172. package/browser/bundle.js +1 -1
  173. package/browser/index.js +1 -25
  174. package/cjs/bundle.js +1 -1
  175. package/cjs/index.js +49 -50
  176. package/engine_dist_browser_Core_Container_js.js +90 -0
  177. package/engine_dist_browser_Core_Particle_js.js +30 -0
  178. package/esm/bundle.js +1 -1
  179. package/esm/index.js +1 -25
  180. package/interactions_external_attract_dist_browser_Attractor_js.js +30 -0
  181. package/interactions_external_attract_dist_browser_Utils_js.js +30 -0
  182. package/interactions_external_attract_dist_browser_index_js.js +50 -0
  183. package/interactions_external_bounce_dist_browser_Bouncer_js.js +30 -0
  184. package/interactions_external_bounce_dist_browser_Utils_js.js +30 -0
  185. package/interactions_external_bounce_dist_browser_index_js.js +50 -0
  186. package/interactions_external_bubble_dist_browser_Bubbler_js.js +40 -0
  187. package/interactions_external_bubble_dist_browser_index_js.js +90 -0
  188. package/interactions_external_connect_dist_browser_Connector_js.js +40 -0
  189. package/interactions_external_connect_dist_browser_index_js.js +70 -0
  190. package/interactions_external_grab_dist_browser_Grabber_js.js +40 -0
  191. package/interactions_external_grab_dist_browser_index_js.js +70 -0
  192. package/interactions_external_pause_dist_browser_Pauser_js.js +30 -0
  193. package/interactions_external_pause_dist_browser_index_js.js +30 -0
  194. package/interactions_external_push_dist_browser_Pusher_js.js +30 -0
  195. package/interactions_external_push_dist_browser_index_js.js +50 -0
  196. package/interactions_external_remove_dist_browser_Remover_js.js +30 -0
  197. package/interactions_external_remove_dist_browser_index_js.js +50 -0
  198. package/interactions_external_repulse_dist_browser_Repulser_js.js +30 -0
  199. package/interactions_external_repulse_dist_browser_index_js.js +90 -0
  200. package/interactions_external_slow_dist_browser_Slower_js.js +30 -0
  201. package/interactions_external_slow_dist_browser_index_js.js +50 -0
  202. package/interactions_particles_attract_dist_browser_Attractor_js.js +30 -0
  203. package/interactions_particles_attract_dist_browser_index_js.js +30 -0
  204. package/interactions_particles_collisions_dist_browser_Absorb_js.js +30 -0
  205. package/interactions_particles_collisions_dist_browser_Bounce_js.js +30 -0
  206. package/interactions_particles_collisions_dist_browser_Collider_js.js +40 -0
  207. package/interactions_particles_collisions_dist_browser_Destroy_js.js +40 -0
  208. package/interactions_particles_collisions_dist_browser_index_js.js +30 -0
  209. package/interactions_particles_links_dist_browser_CircleWarp_js.js +30 -0
  210. package/interactions_particles_links_dist_browser_LinkInstance_js.js +40 -0
  211. package/interactions_particles_links_dist_browser_Linker_js.js +30 -0
  212. package/interactions_particles_links_dist_browser_index_js.js +110 -0
  213. package/move_base_dist_browser_BaseMover_js.js +30 -0
  214. package/move_base_dist_browser_Utils_js.js +30 -0
  215. package/move_base_dist_browser_index_js.js +30 -0
  216. package/move_parallax_dist_browser_ParallaxMover_js.js +30 -0
  217. package/move_parallax_dist_browser_index_js.js +30 -0
  218. package/package.json +27 -33
  219. package/plugins_easings_quad_dist_browser_index_js.js +30 -0
  220. package/report.html +3 -3
  221. package/shapes_circle_dist_browser_CircleDrawer_js.js +30 -0
  222. package/shapes_circle_dist_browser_Utils_js.js +30 -0
  223. package/shapes_circle_dist_browser_index_js.js +30 -0
  224. package/shapes_emoji_dist_browser_EmojiDrawer_js.js +30 -0
  225. package/shapes_emoji_dist_browser_Utils_js.js +30 -0
  226. package/shapes_emoji_dist_browser_index_js.js +40 -0
  227. package/shapes_image_dist_browser_GifUtils_Utils_js.js +50 -0
  228. package/shapes_image_dist_browser_ImageDrawer_js.js +30 -0
  229. package/shapes_image_dist_browser_ImagePreloader_js.js +40 -0
  230. package/shapes_image_dist_browser_index_js.js +40 -0
  231. package/shapes_line_dist_browser_LineDrawer_js.js +30 -0
  232. package/shapes_line_dist_browser_Utils_js.js +30 -0
  233. package/shapes_line_dist_browser_index_js.js +30 -0
  234. package/shapes_polygon_dist_browser_PolygonDrawer_js.js +40 -0
  235. package/shapes_polygon_dist_browser_TriangleDrawer_js.js +40 -0
  236. package/shapes_polygon_dist_browser_Utils_js.js +30 -0
  237. package/shapes_polygon_dist_browser_index_js.js +30 -0
  238. package/shapes_square_dist_browser_SquareDrawer_js.js +30 -0
  239. package/shapes_square_dist_browser_Utils_js.js +30 -0
  240. package/shapes_square_dist_browser_index_js.js +30 -0
  241. package/shapes_star_dist_browser_StarDrawer_js.js +30 -0
  242. package/shapes_star_dist_browser_Utils_js.js +30 -0
  243. package/shapes_star_dist_browser_index_js.js +30 -0
  244. package/tsparticles.slim.bundle.js +2119 -10293
  245. package/tsparticles.slim.bundle.min.js +1 -1
  246. package/tsparticles.slim.bundle.min.js.LICENSE.txt +1 -1
  247. package/tsparticles.slim.js +180 -174
  248. package/tsparticles.slim.min.js +1 -1
  249. package/tsparticles.slim.min.js.LICENSE.txt +1 -1
  250. package/umd/bundle.js +1 -1
  251. package/umd/index.js +51 -51
  252. package/updaters_color_dist_browser_ColorUpdater_js.js +30 -0
  253. package/updaters_color_dist_browser_index_js.js +30 -0
  254. package/updaters_life_dist_browser_LifeUpdater_js.js +60 -0
  255. package/updaters_life_dist_browser_Utils_js.js +30 -0
  256. package/updaters_life_dist_browser_index_js.js +30 -0
  257. package/updaters_opacity_dist_browser_OpacityUpdater_js.js +30 -0
  258. package/updaters_opacity_dist_browser_index_js.js +30 -0
  259. package/updaters_outModes_dist_browser_BounceOutMode_js.js +30 -0
  260. package/updaters_outModes_dist_browser_DestroyOutMode_js.js +30 -0
  261. package/updaters_outModes_dist_browser_NoneOutMode_js.js +30 -0
  262. package/updaters_outModes_dist_browser_OutOfCanvasUpdater_js.js +30 -0
  263. package/updaters_outModes_dist_browser_OutOutMode_js.js +30 -0
  264. package/updaters_outModes_dist_browser_Utils_js.js +30 -0
  265. package/updaters_outModes_dist_browser_index_js.js +30 -0
  266. package/updaters_rotate_dist_browser_RotateUpdater_js.js +50 -0
  267. package/updaters_rotate_dist_browser_index_js.js +30 -0
  268. package/updaters_size_dist_browser_SizeUpdater_js.js +30 -0
  269. package/updaters_size_dist_browser_index_js.js +30 -0
  270. package/updaters_strokeColor_dist_browser_StrokeColorUpdater_js.js +30 -0
  271. package/updaters_strokeColor_dist_browser_index_js.js +30 -0
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_slim"] = this["webpackChunk_tsparticles_slim"] || []).push([["plugins_easings_quad_dist_browser_index_js"],{
19
+
20
+ /***/ "../../plugins/easings/quad/dist/browser/index.js":
21
+ /*!********************************************************!*\
22
+ !*** ../../plugins/easings/quad/dist/browser/index.js ***!
23
+ \********************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEasingQuadPlugin: () => (/* binding */ loadEasingQuadPlugin)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nasync function loadEasingQuadPlugin() {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.addEasing)(\"ease-in-quad\", value => value ** 2);\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.addEasing)(\"ease-out-quad\", value => 1 - (1 - value) ** 2);\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.addEasing)(\"ease-in-out-quad\", value => value < 0.5 ? 2 * value ** 2 : 1 - (-2 * value + 2) ** 2 / 2);\n await Promise.resolve();\n}\n\n//# sourceURL=webpack://@tsparticles/slim/../../plugins/easings/quad/dist/browser/index.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
package/report.html CHANGED
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8"/>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
- <title>@tsparticles/slim [26 Dec 2023 at 19:34]</title>
6
+ <title>@tsparticles/slim [31 Jan 2024 at 02:14]</title>
7
7
  <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
8
8
 
9
9
  <script>
@@ -31,8 +31,8 @@
31
31
  <body>
32
32
  <div id="app"></div>
33
33
  <script>
34
- window.chartData = [{"label":"tsparticles.slim.bundle.js","isAsset":true,"statSize":311749,"parsedSize":310408,"gzipSize":55556,"groups":[{"label":"dist/browser","path":"./dist/browser","statSize":311749,"groups":[{"id":764,"label":"bundle.js + 194 modules (concatenated)","path":"./dist/browser/bundle.js + 194 modules (concatenated)","statSize":311749,"parsedSize":310408,"gzipSize":55556,"concatenated":true,"groups":[{"label":"dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/dist/browser","statSize":3316,"groups":[{"id":null,"label":"bundle.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/dist/browser/bundle.js","statSize":161,"parsedSize":160,"gzipSize":28,"inaccurateSizes":true},{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/dist/browser/index.js","statSize":3155,"parsedSize":3141,"gzipSize":562,"inaccurateSizes":true}],"parsedSize":3301,"gzipSize":590,"inaccurateSizes":true},{"label":"..","path":"./dist/browser/bundle.js + 194 modules (concatenated)/..","statSize":307717,"groups":[{"label":"engine/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser","statSize":157171,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/index.js","statSize":246,"parsedSize":244,"gzipSize":43,"inaccurateSizes":true},{"id":null,"label":"init.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/init.js","statSize":481,"parsedSize":478,"gzipSize":85,"inaccurateSizes":true},{"label":"Utils","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Utils","statSize":31629,"groups":[{"id":null,"label":"Utils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Utils/Utils.js","statSize":11126,"parsedSize":11078,"gzipSize":1982,"inaccurateSizes":true},{"id":null,"label":"NumberUtils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Utils/NumberUtils.js","statSize":4334,"parsedSize":4315,"gzipSize":772,"inaccurateSizes":true},{"id":null,"label":"CanvasUtils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Utils/CanvasUtils.js","statSize":4416,"parsedSize":4397,"gzipSize":786,"inaccurateSizes":true},{"id":null,"label":"ColorUtils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Utils/ColorUtils.js","statSize":8040,"parsedSize":8005,"gzipSize":1432,"inaccurateSizes":true},{"id":null,"label":"OptionsUtils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Utils/OptionsUtils.js","statSize":436,"parsedSize":434,"gzipSize":77,"inaccurateSizes":true},{"id":null,"label":"HslColorManager.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Utils/HslColorManager.js","statSize":1215,"parsedSize":1209,"gzipSize":216,"inaccurateSizes":true},{"id":null,"label":"RgbColorManager.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Utils/RgbColorManager.js","statSize":1053,"parsedSize":1048,"gzipSize":187,"inaccurateSizes":true},{"id":null,"label":"EventDispatcher.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Utils/EventDispatcher.js","statSize":1009,"parsedSize":1004,"gzipSize":179,"inaccurateSizes":true}],"parsedSize":31492,"gzipSize":5636,"inaccurateSizes":true},{"id":null,"label":"exports.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/exports.js","statSize":4900,"parsedSize":4878,"gzipSize":873,"inaccurateSizes":true},{"label":"Core","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core","statSize":83773,"groups":[{"id":null,"label":"Engine.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Engine.js","statSize":7881,"parsedSize":7847,"gzipSize":1404,"inaccurateSizes":true},{"label":"Utils","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Utils","statSize":21490,"groups":[{"id":null,"label":"Vector.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Utils/Vector.js","statSize":336,"parsedSize":334,"gzipSize":59,"inaccurateSizes":true},{"id":null,"label":"Vector3d.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Utils/Vector3d.js","statSize":2398,"parsedSize":2387,"gzipSize":427,"inaccurateSizes":true},{"id":null,"label":"Constants.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Utils/Constants.js","statSize":587,"parsedSize":584,"gzipSize":104,"inaccurateSizes":true},{"id":null,"label":"Circle.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Utils/Circle.js","statSize":1057,"parsedSize":1052,"gzipSize":188,"inaccurateSizes":true},{"id":null,"label":"Rectangle.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Utils/Rectangle.js","statSize":913,"parsedSize":909,"gzipSize":162,"inaccurateSizes":true},{"id":null,"label":"Range.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Utils/Range.js","statSize":100,"parsedSize":99,"gzipSize":17,"inaccurateSizes":true},{"id":null,"label":"Point.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Utils/Point.js","statSize":122,"parsedSize":121,"gzipSize":21,"inaccurateSizes":true},{"id":null,"label":"ExternalInteractorBase.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Utils/ExternalInteractorBase.js","statSize":130,"parsedSize":129,"gzipSize":23,"inaccurateSizes":true},{"id":null,"label":"ParticlesInteractorBase.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Utils/ParticlesInteractorBase.js","statSize":132,"parsedSize":131,"gzipSize":23,"inaccurateSizes":true},{"id":null,"label":"EventListeners.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Utils/EventListeners.js","statSize":12224,"parsedSize":12171,"gzipSize":2178,"inaccurateSizes":true},{"id":null,"label":"QuadTree.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Utils/QuadTree.js","statSize":1891,"parsedSize":1882,"gzipSize":336,"inaccurateSizes":true},{"id":null,"label":"InteractionManager.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Utils/InteractionManager.js","statSize":1600,"parsedSize":1593,"gzipSize":285,"inaccurateSizes":true}],"parsedSize":21397,"gzipSize":3829,"inaccurateSizes":true},{"id":null,"label":"Container.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Container.js","statSize":13602,"parsedSize":13543,"gzipSize":2423,"inaccurateSizes":true},{"id":null,"label":"Canvas.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Canvas.js","statSize":13991,"parsedSize":13930,"gzipSize":2493,"inaccurateSizes":true},{"id":null,"label":"Particles.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Particles.js","statSize":11156,"parsedSize":11108,"gzipSize":1988,"inaccurateSizes":true},{"id":null,"label":"Retina.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Retina.js","statSize":1689,"parsedSize":1681,"gzipSize":300,"inaccurateSizes":true},{"id":null,"label":"Particle.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Core/Particle.js","statSize":13964,"parsedSize":13903,"gzipSize":2488,"inaccurateSizes":true}],"parsedSize":83412,"gzipSize":14928,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes","statSize":36142,"groups":[{"id":null,"label":"Options.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Options.js","statSize":5435,"parsedSize":5411,"gzipSize":968,"inaccurateSizes":true},{"label":"Background","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Background","statSize":815,"groups":[{"id":null,"label":"Background.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Background/Background.js","statSize":815,"parsedSize":811,"gzipSize":145,"inaccurateSizes":true}],"parsedSize":811,"gzipSize":145,"inaccurateSizes":true},{"id":null,"label":"OptionsColor.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/OptionsColor.js","statSize":536,"parsedSize":533,"gzipSize":95,"inaccurateSizes":true},{"label":"BackgroundMask","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/BackgroundMask","statSize":1193,"groups":[{"id":null,"label":"BackgroundMask.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/BackgroundMask/BackgroundMask.js","statSize":753,"parsedSize":749,"gzipSize":134,"inaccurateSizes":true},{"id":null,"label":"BackgroundMaskCover.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js","statSize":440,"parsedSize":438,"gzipSize":78,"inaccurateSizes":true}],"parsedSize":1187,"gzipSize":212,"inaccurateSizes":true},{"label":"Interactivity","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Interactivity","statSize":3745,"groups":[{"id":null,"label":"Interactivity.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Interactivity/Interactivity.js","statSize":503,"parsedSize":500,"gzipSize":89,"inaccurateSizes":true},{"label":"Events","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Interactivity/Events","statSize":2739,"groups":[{"id":null,"label":"Events.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Interactivity/Events/Events.js","statSize":821,"parsedSize":817,"gzipSize":146,"inaccurateSizes":true},{"id":null,"label":"ClickEvent.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Interactivity/Events/ClickEvent.js","statSize":296,"parsedSize":294,"gzipSize":52,"inaccurateSizes":true},{"id":null,"label":"DivEvent.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Interactivity/Events/DivEvent.js","statSize":500,"parsedSize":497,"gzipSize":89,"inaccurateSizes":true},{"id":null,"label":"HoverEvent.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Interactivity/Events/HoverEvent.js","statSize":413,"parsedSize":411,"gzipSize":73,"inaccurateSizes":true},{"id":null,"label":"Parallax.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Interactivity/Events/Parallax.js","statSize":395,"parsedSize":393,"gzipSize":70,"inaccurateSizes":true},{"id":null,"label":"ResizeEvent.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Interactivity/Events/ResizeEvent.js","statSize":314,"parsedSize":312,"gzipSize":55,"inaccurateSizes":true}],"parsedSize":2727,"gzipSize":488,"inaccurateSizes":true},{"label":"Modes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Interactivity/Modes","statSize":503,"groups":[{"id":null,"label":"Modes.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Interactivity/Modes/Modes.js","statSize":503,"parsedSize":500,"gzipSize":89,"inaccurateSizes":true}],"parsedSize":500,"gzipSize":89,"inaccurateSizes":true}],"parsedSize":3728,"gzipSize":667,"inaccurateSizes":true},{"id":null,"label":"ManualParticle.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/ManualParticle.js","statSize":397,"parsedSize":395,"gzipSize":70,"inaccurateSizes":true},{"id":null,"label":"Responsive.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Responsive.js","statSize":572,"parsedSize":569,"gzipSize":101,"inaccurateSizes":true},{"label":"Theme","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Theme","statSize":855,"groups":[{"id":null,"label":"Theme.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Theme/Theme.js","statSize":465,"parsedSize":462,"gzipSize":82,"inaccurateSizes":true},{"id":null,"label":"ThemeDefault.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Theme/ThemeDefault.js","statSize":390,"parsedSize":388,"gzipSize":69,"inaccurateSizes":true}],"parsedSize":851,"gzipSize":152,"inaccurateSizes":true},{"label":"Particles","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles","statSize":18510,"groups":[{"id":null,"label":"ParticlesOptions.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/ParticlesOptions.js","statSize":3102,"parsedSize":3088,"gzipSize":552,"inaccurateSizes":true},{"label":"Collisions","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Collisions","statSize":1422,"groups":[{"id":null,"label":"Collisions.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Collisions/Collisions.js","statSize":905,"parsedSize":901,"gzipSize":161,"inaccurateSizes":true},{"id":null,"label":"CollisionsAbsorb.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Collisions/CollisionsAbsorb.js","statSize":204,"parsedSize":203,"gzipSize":36,"inaccurateSizes":true},{"id":null,"label":"CollisionsOverlap.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Collisions/CollisionsOverlap.js","statSize":313,"parsedSize":311,"gzipSize":55,"inaccurateSizes":true}],"parsedSize":1415,"gzipSize":253,"inaccurateSizes":true},{"label":"Bounce","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Bounce","statSize":537,"groups":[{"id":null,"label":"ParticlesBounce.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js","statSize":360,"parsedSize":358,"gzipSize":64,"inaccurateSizes":true},{"id":null,"label":"ParticlesBounceFactor.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Bounce/ParticlesBounceFactor.js","statSize":177,"parsedSize":176,"gzipSize":31,"inaccurateSizes":true}],"parsedSize":534,"gzipSize":95,"inaccurateSizes":true},{"label":"Move","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Move","statSize":7212,"groups":[{"id":null,"label":"Move.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Move/Move.js","statSize":2663,"parsedSize":2651,"gzipSize":474,"inaccurateSizes":true},{"id":null,"label":"MoveAngle.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Move/MoveAngle.js","statSize":391,"parsedSize":389,"gzipSize":69,"inaccurateSizes":true},{"id":null,"label":"MoveAttract.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Move/MoveAttract.js","statSize":706,"parsedSize":702,"gzipSize":125,"inaccurateSizes":true},{"id":null,"label":"MoveGravity.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Move/MoveGravity.js","statSize":638,"parsedSize":635,"gzipSize":113,"inaccurateSizes":true},{"label":"Path","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Move/Path","statSize":647,"groups":[{"id":null,"label":"MovePath.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Move/Path/MovePath.js","statSize":647,"parsedSize":644,"gzipSize":115,"inaccurateSizes":true}],"parsedSize":644,"gzipSize":115,"inaccurateSizes":true},{"id":null,"label":"MoveTrail.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Move/MoveTrail.js","statSize":466,"parsedSize":463,"gzipSize":83,"inaccurateSizes":true},{"id":null,"label":"Spin.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Move/Spin.js","statSize":543,"parsedSize":540,"gzipSize":96,"inaccurateSizes":true},{"id":null,"label":"MoveCenter.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Move/MoveCenter.js","statSize":455,"parsedSize":453,"gzipSize":81,"inaccurateSizes":true},{"id":null,"label":"OutModes.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Move/OutModes.js","statSize":384,"parsedSize":382,"gzipSize":68,"inaccurateSizes":true},{"id":null,"label":"MoveTrailFill.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Move/MoveTrailFill.js","statSize":319,"parsedSize":317,"gzipSize":56,"inaccurateSizes":true}],"parsedSize":7180,"gzipSize":1285,"inaccurateSizes":true},{"label":"Opacity","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Opacity","statSize":862,"groups":[{"id":null,"label":"Opacity.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Opacity/Opacity.js","statSize":491,"parsedSize":488,"gzipSize":87,"inaccurateSizes":true},{"id":null,"label":"OpacityAnimation.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js","statSize":371,"parsedSize":369,"gzipSize":66,"inaccurateSizes":true}],"parsedSize":858,"gzipSize":153,"inaccurateSizes":true},{"id":null,"label":"Shadow.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Shadow.js","statSize":743,"parsedSize":739,"gzipSize":132,"inaccurateSizes":true},{"label":"Shape","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Shape","statSize":726,"groups":[{"id":null,"label":"Shape.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Shape/Shape.js","statSize":726,"parsedSize":722,"gzipSize":129,"inaccurateSizes":true}],"parsedSize":722,"gzipSize":129,"inaccurateSizes":true},{"label":"Size","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Size","statSize":847,"groups":[{"id":null,"label":"Size.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Size/Size.js","statSize":479,"parsedSize":476,"gzipSize":85,"inaccurateSizes":true},{"id":null,"label":"SizeAnimation.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Size/SizeAnimation.js","statSize":368,"parsedSize":366,"gzipSize":65,"inaccurateSizes":true}],"parsedSize":843,"gzipSize":150,"inaccurateSizes":true},{"id":null,"label":"Stroke.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Stroke.js","statSize":532,"parsedSize":529,"gzipSize":94,"inaccurateSizes":true},{"label":"ZIndex","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/ZIndex","statSize":563,"groups":[{"id":null,"label":"ZIndex.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/ZIndex/ZIndex.js","statSize":563,"parsedSize":560,"gzipSize":100,"inaccurateSizes":true}],"parsedSize":560,"gzipSize":100,"inaccurateSizes":true},{"label":"Number","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Number","statSize":1239,"groups":[{"id":null,"label":"ParticlesNumber.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumber.js","statSize":485,"parsedSize":482,"gzipSize":86,"inaccurateSizes":true},{"id":null,"label":"ParticlesDensity.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Number/ParticlesDensity.js","statSize":450,"parsedSize":448,"gzipSize":80,"inaccurateSizes":true},{"id":null,"label":"ParticlesNumberLimit.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js","statSize":304,"parsedSize":302,"gzipSize":54,"inaccurateSizes":true}],"parsedSize":1233,"gzipSize":220,"inaccurateSizes":true},{"label":"Effect","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Effect","statSize":725,"groups":[{"id":null,"label":"Effect.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/Particles/Effect/Effect.js","statSize":725,"parsedSize":721,"gzipSize":129,"inaccurateSizes":true}],"parsedSize":721,"gzipSize":129,"inaccurateSizes":true}],"parsedSize":18430,"gzipSize":3298,"inaccurateSizes":true},{"id":null,"label":"AnimatableColor.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/AnimatableColor.js","statSize":922,"parsedSize":918,"gzipSize":164,"inaccurateSizes":true},{"id":null,"label":"HslAnimation.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/HslAnimation.js","statSize":341,"parsedSize":339,"gzipSize":60,"inaccurateSizes":true},{"id":null,"label":"ColorAnimation.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/ColorAnimation.js","statSize":421,"parsedSize":419,"gzipSize":75,"inaccurateSizes":true},{"id":null,"label":"AnimationOptions.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/AnimationOptions.js","statSize":1189,"parsedSize":1183,"gzipSize":211,"inaccurateSizes":true},{"id":null,"label":"ValueWithRandom.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/ValueWithRandom.js","statSize":909,"parsedSize":905,"gzipSize":161,"inaccurateSizes":true},{"label":"FullScreen","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/FullScreen","statSize":302,"groups":[{"id":null,"label":"FullScreen.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../engine/dist/browser/Options/Classes/FullScreen/FullScreen.js","statSize":302,"parsedSize":300,"gzipSize":53,"inaccurateSizes":true}],"parsedSize":300,"gzipSize":53,"inaccurateSizes":true}],"parsedSize":35986,"gzipSize":6440,"inaccurateSizes":true}],"parsedSize":156494,"gzipSize":28009,"inaccurateSizes":true},{"label":"plugins/easings/quad/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../plugins/easings/quad/dist/browser","statSize":312,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../plugins/easings/quad/dist/browser/index.js","statSize":312,"parsedSize":310,"gzipSize":55,"inaccurateSizes":true}],"parsedSize":310,"gzipSize":55,"inaccurateSizes":true},{"label":"shapes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes","statSize":34462,"groups":[{"label":"emoji/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/emoji/dist/browser","statSize":3296,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/emoji/dist/browser/index.js","statSize":189,"parsedSize":188,"gzipSize":33,"inaccurateSizes":true},{"id":null,"label":"EmojiDrawer.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/emoji/dist/browser/EmojiDrawer.js","statSize":3107,"parsedSize":3093,"gzipSize":553,"inaccurateSizes":true}],"parsedSize":3281,"gzipSize":587,"inaccurateSizes":true},{"label":"image/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/image/dist/browser","statSize":25885,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/image/dist/browser/index.js","statSize":1516,"parsedSize":1509,"gzipSize":270,"inaccurateSizes":true},{"id":null,"label":"Utils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/image/dist/browser/Utils.js","statSize":3207,"parsedSize":3193,"gzipSize":571,"inaccurateSizes":true},{"id":null,"label":"ImageDrawer.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/image/dist/browser/ImageDrawer.js","statSize":6817,"parsedSize":6787,"gzipSize":1214,"inaccurateSizes":true},{"id":null,"label":"ImagePreloader.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/image/dist/browser/ImagePreloader.js","statSize":774,"parsedSize":770,"gzipSize":137,"inaccurateSizes":true},{"label":"GifUtils","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/image/dist/browser/GifUtils","statSize":12981,"groups":[{"id":null,"label":"Utils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/image/dist/browser/GifUtils/Utils.js","statSize":11636,"parsedSize":11585,"gzipSize":2073,"inaccurateSizes":true},{"id":null,"label":"Constants.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/image/dist/browser/GifUtils/Constants.js","statSize":89,"parsedSize":88,"gzipSize":15,"inaccurateSizes":true},{"id":null,"label":"ByteStream.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/image/dist/browser/GifUtils/ByteStream.js","statSize":1256,"parsedSize":1250,"gzipSize":223,"inaccurateSizes":true}],"parsedSize":12925,"gzipSize":2313,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/image/dist/browser/Options/Classes","statSize":590,"groups":[{"id":null,"label":"Preload.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/image/dist/browser/Options/Classes/Preload.js","statSize":590,"parsedSize":587,"gzipSize":105,"inaccurateSizes":true}],"parsedSize":587,"gzipSize":105,"inaccurateSizes":true}],"parsedSize":25773,"gzipSize":4612,"inaccurateSizes":true},{"label":"polygon/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/polygon/dist/browser","statSize":2384,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/polygon/dist/browser/index.js","statSize":542,"parsedSize":539,"gzipSize":96,"inaccurateSizes":true},{"id":null,"label":"PolygonDrawer.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/polygon/dist/browser/PolygonDrawer.js","statSize":455,"parsedSize":453,"gzipSize":81,"inaccurateSizes":true},{"id":null,"label":"TriangleDrawer.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/polygon/dist/browser/TriangleDrawer.js","statSize":405,"parsedSize":403,"gzipSize":72,"inaccurateSizes":true},{"id":null,"label":"PolygonDrawerBase.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/polygon/dist/browser/PolygonDrawerBase.js","statSize":982,"parsedSize":977,"gzipSize":174,"inaccurateSizes":true}],"parsedSize":2373,"gzipSize":424,"inaccurateSizes":true},{"label":"square/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/square/dist/browser","statSize":522,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/square/dist/browser/index.js","statSize":189,"parsedSize":188,"gzipSize":33,"inaccurateSizes":true},{"id":null,"label":"SquareDrawer.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/square/dist/browser/SquareDrawer.js","statSize":333,"parsedSize":331,"gzipSize":59,"inaccurateSizes":true}],"parsedSize":519,"gzipSize":93,"inaccurateSizes":true},{"label":"star/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/star/dist/browser","statSize":916,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/star/dist/browser/index.js","statSize":169,"parsedSize":168,"gzipSize":30,"inaccurateSizes":true},{"id":null,"label":"StarDrawer.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/star/dist/browser/StarDrawer.js","statSize":747,"parsedSize":743,"gzipSize":133,"inaccurateSizes":true}],"parsedSize":912,"gzipSize":163,"inaccurateSizes":true},{"label":"line/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/line/dist/browser","statSize":488,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/line/dist/browser/index.js","statSize":169,"parsedSize":168,"gzipSize":30,"inaccurateSizes":true},{"id":null,"label":"LineDrawer.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/line/dist/browser/LineDrawer.js","statSize":319,"parsedSize":317,"gzipSize":56,"inaccurateSizes":true}],"parsedSize":485,"gzipSize":86,"inaccurateSizes":true},{"label":"circle/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/circle/dist/browser","statSize":971,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/circle/dist/browser/index.js","statSize":179,"parsedSize":178,"gzipSize":31,"inaccurateSizes":true},{"id":null,"label":"CircleDrawer.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../shapes/circle/dist/browser/CircleDrawer.js","statSize":792,"parsedSize":788,"gzipSize":141,"inaccurateSizes":true}],"parsedSize":966,"gzipSize":173,"inaccurateSizes":true}],"parsedSize":34313,"gzipSize":6141,"inaccurateSizes":true},{"label":"interactions","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions","statSize":73006,"groups":[{"label":"external","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external","statSize":50659,"groups":[{"label":"attract/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/attract/dist/browser","statSize":6309,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/attract/dist/browser/index.js","statSize":325,"parsedSize":323,"gzipSize":57,"inaccurateSizes":true},{"id":null,"label":"Attractor.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/attract/dist/browser/Attractor.js","statSize":5261,"parsedSize":5238,"gzipSize":937,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/attract/dist/browser/Options/Classes","statSize":723,"groups":[{"id":null,"label":"Attract.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/attract/dist/browser/Options/Classes/Attract.js","statSize":723,"parsedSize":719,"gzipSize":128,"inaccurateSizes":true}],"parsedSize":719,"gzipSize":128,"inaccurateSizes":true}],"parsedSize":6281,"gzipSize":1124,"inaccurateSizes":true},{"label":"bounce/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/bounce/dist/browser","statSize":4302,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/bounce/dist/browser/index.js","statSize":307,"parsedSize":305,"gzipSize":54,"inaccurateSizes":true},{"id":null,"label":"Bouncer.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/bounce/dist/browser/Bouncer.js","statSize":3787,"parsedSize":3770,"gzipSize":674,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/bounce/dist/browser/Options/Classes","statSize":208,"groups":[{"id":null,"label":"Bounce.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/bounce/dist/browser/Options/Classes/Bounce.js","statSize":208,"parsedSize":207,"gzipSize":37,"inaccurateSizes":true}],"parsedSize":207,"gzipSize":37,"inaccurateSizes":true}],"parsedSize":4283,"gzipSize":766,"inaccurateSizes":true},{"label":"bubble/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/bubble/dist/browser","statSize":14196,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/bubble/dist/browser/index.js","statSize":509,"parsedSize":506,"gzipSize":90,"inaccurateSizes":true},{"id":null,"label":"Bubbler.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/bubble/dist/browser/Bubbler.js","statSize":11607,"parsedSize":11557,"gzipSize":2068,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/bubble/dist/browser/Options/Classes","statSize":1626,"groups":[{"id":null,"label":"Bubble.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/bubble/dist/browser/Options/Classes/Bubble.js","statSize":419,"parsedSize":417,"gzipSize":74,"inaccurateSizes":true},{"id":null,"label":"BubbleBase.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/bubble/dist/browser/Options/Classes/BubbleBase.js","statSize":893,"parsedSize":889,"gzipSize":159,"inaccurateSizes":true},{"id":null,"label":"BubbleDiv.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/bubble/dist/browser/Options/Classes/BubbleDiv.js","statSize":314,"parsedSize":312,"gzipSize":55,"inaccurateSizes":true}],"parsedSize":1619,"gzipSize":289,"inaccurateSizes":true},{"id":null,"label":"Utils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/bubble/dist/browser/Utils.js","statSize":454,"parsedSize":452,"gzipSize":80,"inaccurateSizes":true}],"parsedSize":14134,"gzipSize":2529,"inaccurateSizes":true},{"label":"connect/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/connect/dist/browser","statSize":4954,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/connect/dist/browser/index.js","statSize":423,"parsedSize":421,"gzipSize":75,"inaccurateSizes":true},{"id":null,"label":"Connector.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/connect/dist/browser/Connector.js","statSize":2369,"parsedSize":2358,"gzipSize":422,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/connect/dist/browser/Options/Classes","statSize":636,"groups":[{"id":null,"label":"Connect.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/connect/dist/browser/Options/Classes/Connect.js","statSize":426,"parsedSize":424,"gzipSize":75,"inaccurateSizes":true},{"id":null,"label":"ConnectLinks.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/connect/dist/browser/Options/Classes/ConnectLinks.js","statSize":210,"parsedSize":209,"gzipSize":37,"inaccurateSizes":true}],"parsedSize":633,"gzipSize":113,"inaccurateSizes":true},{"id":null,"label":"Utils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/connect/dist/browser/Utils.js","statSize":1526,"parsedSize":1519,"gzipSize":271,"inaccurateSizes":true}],"parsedSize":4932,"gzipSize":882,"inaccurateSizes":true},{"label":"grab/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/grab/dist/browser","statSize":4538,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/grab/dist/browser/index.js","statSize":399,"parsedSize":397,"gzipSize":71,"inaccurateSizes":true},{"id":null,"label":"Grabber.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/grab/dist/browser/Grabber.js","statSize":2709,"parsedSize":2697,"gzipSize":482,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/grab/dist/browser/Options/Classes","statSize":882,"groups":[{"id":null,"label":"Grab.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/grab/dist/browser/Options/Classes/Grab.js","statSize":317,"parsedSize":315,"gzipSize":56,"inaccurateSizes":true},{"id":null,"label":"GrabLinks.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/grab/dist/browser/Options/Classes/GrabLinks.js","statSize":565,"parsedSize":562,"gzipSize":100,"inaccurateSizes":true}],"parsedSize":878,"gzipSize":157,"inaccurateSizes":true},{"id":null,"label":"Utils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/grab/dist/browser/Utils.js","statSize":548,"parsedSize":545,"gzipSize":97,"inaccurateSizes":true}],"parsedSize":4518,"gzipSize":808,"inaccurateSizes":true},{"label":"pause/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/pause/dist/browser","statSize":761,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/pause/dist/browser/index.js","statSize":208,"parsedSize":207,"gzipSize":37,"inaccurateSizes":true},{"id":null,"label":"Pauser.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/pause/dist/browser/Pauser.js","statSize":553,"parsedSize":550,"gzipSize":98,"inaccurateSizes":true}],"parsedSize":757,"gzipSize":135,"inaccurateSizes":true},{"label":"push/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/push/dist/browser","statSize":2103,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/push/dist/browser/index.js","statSize":296,"parsedSize":294,"gzipSize":52,"inaccurateSizes":true},{"id":null,"label":"Pusher.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/push/dist/browser/Pusher.js","statSize":1231,"parsedSize":1225,"gzipSize":219,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/push/dist/browser/Options/Classes","statSize":576,"groups":[{"id":null,"label":"Push.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/push/dist/browser/Options/Classes/Push.js","statSize":576,"parsedSize":573,"gzipSize":102,"inaccurateSizes":true}],"parsedSize":573,"gzipSize":102,"inaccurateSizes":true}],"parsedSize":2093,"gzipSize":374,"inaccurateSizes":true},{"label":"remove/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/remove/dist/browser","statSize":1530,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/remove/dist/browser/index.js","statSize":307,"parsedSize":305,"gzipSize":54,"inaccurateSizes":true},{"id":null,"label":"Remover.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/remove/dist/browser/Remover.js","statSize":923,"parsedSize":919,"gzipSize":164,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/remove/dist/browser/Options/Classes","statSize":300,"groups":[{"id":null,"label":"Remove.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/remove/dist/browser/Options/Classes/Remove.js","statSize":300,"parsedSize":298,"gzipSize":53,"inaccurateSizes":true}],"parsedSize":298,"gzipSize":53,"inaccurateSizes":true}],"parsedSize":1523,"gzipSize":272,"inaccurateSizes":true},{"label":"repulse/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/repulse/dist/browser","statSize":9518,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/repulse/dist/browser/index.js","statSize":528,"parsedSize":525,"gzipSize":94,"inaccurateSizes":true},{"id":null,"label":"Repulser.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/repulse/dist/browser/Repulser.js","statSize":7517,"parsedSize":7484,"gzipSize":1339,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/repulse/dist/browser/Options/Classes","statSize":1473,"groups":[{"id":null,"label":"Repulse.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/repulse/dist/browser/Options/Classes/Repulse.js","statSize":426,"parsedSize":424,"gzipSize":75,"inaccurateSizes":true},{"id":null,"label":"RepulseBase.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/repulse/dist/browser/Options/Classes/RepulseBase.js","statSize":729,"parsedSize":725,"gzipSize":129,"inaccurateSizes":true},{"id":null,"label":"RepulseDiv.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/repulse/dist/browser/Options/Classes/RepulseDiv.js","statSize":318,"parsedSize":316,"gzipSize":56,"inaccurateSizes":true}],"parsedSize":1466,"gzipSize":262,"inaccurateSizes":true}],"parsedSize":9477,"gzipSize":1696,"inaccurateSizes":true},{"label":"slow/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/slow/dist/browser","statSize":2448,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/slow/dist/browser/index.js","statSize":296,"parsedSize":294,"gzipSize":52,"inaccurateSizes":true},{"id":null,"label":"Slower.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/slow/dist/browser/Slower.js","statSize":1857,"parsedSize":1849,"gzipSize":330,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/slow/dist/browser/Options/Classes","statSize":295,"groups":[{"id":null,"label":"Slow.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/external/slow/dist/browser/Options/Classes/Slow.js","statSize":295,"parsedSize":293,"gzipSize":52,"inaccurateSizes":true}],"parsedSize":293,"gzipSize":52,"inaccurateSizes":true}],"parsedSize":2437,"gzipSize":436,"inaccurateSizes":true}],"parsedSize":50441,"gzipSize":9027,"inaccurateSizes":true},{"label":"particles","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles","statSize":22347,"groups":[{"label":"attract/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/attract/dist/browser","statSize":1527,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/attract/dist/browser/index.js","statSize":223,"parsedSize":222,"gzipSize":39,"inaccurateSizes":true},{"id":null,"label":"Attractor.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/attract/dist/browser/Attractor.js","statSize":1304,"parsedSize":1298,"gzipSize":232,"inaccurateSizes":true}],"parsedSize":1520,"gzipSize":272,"inaccurateSizes":true},{"label":"collisions/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/collisions/dist/browser","statSize":3678,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/collisions/dist/browser/index.js","statSize":226,"parsedSize":225,"gzipSize":40,"inaccurateSizes":true},{"id":null,"label":"Collider.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/collisions/dist/browser/Collider.js","statSize":1215,"parsedSize":1209,"gzipSize":216,"inaccurateSizes":true},{"id":null,"label":"ResolveCollision.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/collisions/dist/browser/ResolveCollision.js","statSize":466,"parsedSize":463,"gzipSize":83,"inaccurateSizes":true},{"id":null,"label":"Absorb.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/collisions/dist/browser/Absorb.js","statSize":770,"parsedSize":766,"gzipSize":137,"inaccurateSizes":true},{"id":null,"label":"Bounce.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/collisions/dist/browser/Bounce.js","statSize":509,"parsedSize":506,"gzipSize":90,"inaccurateSizes":true},{"id":null,"label":"Destroy.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/collisions/dist/browser/Destroy.js","statSize":492,"parsedSize":489,"gzipSize":87,"inaccurateSizes":true}],"parsedSize":3662,"gzipSize":655,"inaccurateSizes":true},{"label":"links/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/links/dist/browser","statSize":17142,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/links/dist/browser/index.js","statSize":576,"parsedSize":573,"gzipSize":102,"inaccurateSizes":true},{"id":null,"label":"interaction.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/links/dist/browser/interaction.js","statSize":201,"parsedSize":200,"gzipSize":35,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/links/dist/browser/Options/Classes","statSize":2440,"groups":[{"id":null,"label":"Links.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/links/dist/browser/Options/Classes/Links.js","statSize":1407,"parsedSize":1400,"gzipSize":250,"inaccurateSizes":true},{"id":null,"label":"LinksShadow.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/links/dist/browser/Options/Classes/LinksShadow.js","statSize":478,"parsedSize":475,"gzipSize":85,"inaccurateSizes":true},{"id":null,"label":"LinksTriangle.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/links/dist/browser/Options/Classes/LinksTriangle.js","statSize":555,"parsedSize":552,"gzipSize":98,"inaccurateSizes":true}],"parsedSize":2429,"gzipSize":434,"inaccurateSizes":true},{"id":null,"label":"plugin.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/links/dist/browser/plugin.js","statSize":388,"parsedSize":386,"gzipSize":69,"inaccurateSizes":true},{"id":null,"label":"Linker.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/links/dist/browser/Linker.js","statSize":3430,"parsedSize":3415,"gzipSize":611,"inaccurateSizes":true},{"id":null,"label":"LinkInstance.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/links/dist/browser/LinkInstance.js","statSize":5588,"parsedSize":5563,"gzipSize":995,"inaccurateSizes":true},{"id":null,"label":"CircleWarp.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/links/dist/browser/CircleWarp.js","statSize":1228,"parsedSize":1222,"gzipSize":218,"inaccurateSizes":true},{"id":null,"label":"Utils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../interactions/particles/links/dist/browser/Utils.js","statSize":3291,"parsedSize":3276,"gzipSize":586,"inaccurateSizes":true}],"parsedSize":17068,"gzipSize":3054,"inaccurateSizes":true}],"parsedSize":22250,"gzipSize":3982,"inaccurateSizes":true}],"parsedSize":72691,"gzipSize":13010,"inaccurateSizes":true},{"label":"updaters","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters","statSize":34042,"groups":[{"label":"life/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/life/dist/browser","statSize":4068,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/life/dist/browser/index.js","statSize":206,"parsedSize":205,"gzipSize":36,"inaccurateSizes":true},{"id":null,"label":"LifeUpdater.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/life/dist/browser/LifeUpdater.js","statSize":2805,"parsedSize":2792,"gzipSize":499,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/life/dist/browser/Options/Classes","statSize":1057,"groups":[{"id":null,"label":"Life.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/life/dist/browser/Options/Classes/Life.js","statSize":432,"parsedSize":430,"gzipSize":76,"inaccurateSizes":true},{"id":null,"label":"LifeDelay.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/life/dist/browser/Options/Classes/LifeDelay.js","statSize":311,"parsedSize":309,"gzipSize":55,"inaccurateSizes":true},{"id":null,"label":"LifeDuration.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/life/dist/browser/Options/Classes/LifeDuration.js","statSize":314,"parsedSize":312,"gzipSize":55,"inaccurateSizes":true}],"parsedSize":1052,"gzipSize":188,"inaccurateSizes":true}],"parsedSize":4050,"gzipSize":724,"inaccurateSizes":true},{"label":"rotate/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/rotate/dist/browser","statSize":4129,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/rotate/dist/browser/index.js","statSize":216,"parsedSize":215,"gzipSize":38,"inaccurateSizes":true},{"id":null,"label":"RotateUpdater.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/rotate/dist/browser/RotateUpdater.js","statSize":2752,"parsedSize":2740,"gzipSize":490,"inaccurateSizes":true},{"label":"Options/Classes","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/rotate/dist/browser/Options/Classes","statSize":1161,"groups":[{"id":null,"label":"Rotate.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/rotate/dist/browser/Options/Classes/Rotate.js","statSize":588,"parsedSize":585,"gzipSize":104,"inaccurateSizes":true},{"id":null,"label":"RotateAnimation.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/rotate/dist/browser/Options/Classes/RotateAnimation.js","statSize":573,"parsedSize":570,"gzipSize":102,"inaccurateSizes":true}],"parsedSize":1156,"gzipSize":206,"inaccurateSizes":true}],"parsedSize":4111,"gzipSize":735,"inaccurateSizes":true},{"label":"strokeColor/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/strokeColor/dist/browser","statSize":3666,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/strokeColor/dist/browser/index.js","statSize":241,"parsedSize":239,"gzipSize":42,"inaccurateSizes":true},{"id":null,"label":"StrokeColorUpdater.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/strokeColor/dist/browser/StrokeColorUpdater.js","statSize":1413,"parsedSize":1406,"gzipSize":251,"inaccurateSizes":true},{"id":null,"label":"Utils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/strokeColor/dist/browser/Utils.js","statSize":2012,"parsedSize":2003,"gzipSize":358,"inaccurateSizes":true}],"parsedSize":3650,"gzipSize":653,"inaccurateSizes":true},{"label":"color/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/color/dist/browser","statSize":3172,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/color/dist/browser/index.js","statSize":211,"parsedSize":210,"gzipSize":37,"inaccurateSizes":true},{"id":null,"label":"ColorUpdater.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/color/dist/browser/ColorUpdater.js","statSize":974,"parsedSize":969,"gzipSize":173,"inaccurateSizes":true},{"id":null,"label":"Utils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/color/dist/browser/Utils.js","statSize":1987,"parsedSize":1978,"gzipSize":354,"inaccurateSizes":true}],"parsedSize":3158,"gzipSize":565,"inaccurateSizes":true},{"label":"opacity/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/opacity/dist/browser","statSize":3146,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/opacity/dist/browser/index.js","statSize":221,"parsedSize":220,"gzipSize":39,"inaccurateSizes":true},{"id":null,"label":"OpacityUpdater.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/opacity/dist/browser/OpacityUpdater.js","statSize":1228,"parsedSize":1222,"gzipSize":218,"inaccurateSizes":true},{"id":null,"label":"Utils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/opacity/dist/browser/Utils.js","statSize":1697,"parsedSize":1689,"gzipSize":302,"inaccurateSizes":true}],"parsedSize":3132,"gzipSize":560,"inaccurateSizes":true},{"label":"outModes/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/outModes/dist/browser","statSize":13020,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/outModes/dist/browser/index.js","statSize":235,"parsedSize":233,"gzipSize":41,"inaccurateSizes":true},{"id":null,"label":"OutOfCanvasUpdater.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/outModes/dist/browser/OutOfCanvasUpdater.js","statSize":1149,"parsedSize":1144,"gzipSize":204,"inaccurateSizes":true},{"id":null,"label":"BounceOutMode.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/outModes/dist/browser/BounceOutMode.js","statSize":1230,"parsedSize":1224,"gzipSize":219,"inaccurateSizes":true},{"id":null,"label":"DestroyOutMode.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/outModes/dist/browser/DestroyOutMode.js","statSize":1146,"parsedSize":1141,"gzipSize":204,"inaccurateSizes":true},{"id":null,"label":"NoneOutMode.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/outModes/dist/browser/NoneOutMode.js","statSize":1498,"parsedSize":1491,"gzipSize":266,"inaccurateSizes":true},{"id":null,"label":"OutOutMode.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/outModes/dist/browser/OutOutMode.js","statSize":5027,"parsedSize":5005,"gzipSize":895,"inaccurateSizes":true},{"id":null,"label":"Utils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/outModes/dist/browser/Utils.js","statSize":2735,"parsedSize":2723,"gzipSize":487,"inaccurateSizes":true}],"parsedSize":12963,"gzipSize":2320,"inaccurateSizes":true},{"label":"size/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/size/dist/browser","statSize":2841,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/size/dist/browser/index.js","statSize":190,"parsedSize":189,"gzipSize":33,"inaccurateSizes":true},{"id":null,"label":"SizeUpdater.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/size/dist/browser/SizeUpdater.js","statSize":963,"parsedSize":958,"gzipSize":171,"inaccurateSizes":true},{"id":null,"label":"Utils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../updaters/size/dist/browser/Utils.js","statSize":1688,"parsedSize":1680,"gzipSize":300,"inaccurateSizes":true}],"parsedSize":2828,"gzipSize":506,"inaccurateSizes":true}],"parsedSize":33895,"gzipSize":6066,"inaccurateSizes":true},{"label":"move","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../move","statSize":8724,"groups":[{"label":"parallax/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../move/parallax/dist/browser","statSize":1376,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../move/parallax/dist/browser/index.js","statSize":192,"parsedSize":191,"gzipSize":34,"inaccurateSizes":true},{"id":null,"label":"ParallaxMover.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../move/parallax/dist/browser/ParallaxMover.js","statSize":1184,"parsedSize":1178,"gzipSize":210,"inaccurateSizes":true}],"parsedSize":1370,"gzipSize":245,"inaccurateSizes":true},{"label":"base/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../move/base/dist/browser","statSize":7348,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../move/base/dist/browser/index.js","statSize":172,"parsedSize":171,"gzipSize":30,"inaccurateSizes":true},{"id":null,"label":"BaseMover.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../move/base/dist/browser/BaseMover.js","statSize":2635,"parsedSize":2623,"gzipSize":469,"inaccurateSizes":true},{"id":null,"label":"Utils.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/../move/base/dist/browser/Utils.js","statSize":4541,"parsedSize":4521,"gzipSize":809,"inaccurateSizes":true}],"parsedSize":7316,"gzipSize":1309,"inaccurateSizes":true}],"parsedSize":8686,"gzipSize":1554,"inaccurateSizes":true}],"parsedSize":306393,"gzipSize":54837,"inaccurateSizes":true},{"label":"basic/dist/browser","path":"./dist/browser/bundle.js + 194 modules (concatenated)/basic/dist/browser","statSize":716,"groups":[{"id":null,"label":"index.js","path":"./dist/browser/bundle.js + 194 modules (concatenated)/basic/dist/browser/index.js","statSize":716,"parsedSize":712,"gzipSize":127,"inaccurateSizes":true}],"parsedSize":712,"gzipSize":127,"inaccurateSizes":true}]}],"parsedSize":310408,"gzipSize":55556}],"isInitialByEntrypoint":{"tsparticles.slim.bundle":true}}];
35
- window.entrypoints = ["tsparticles.slim.bundle","tsparticles.slim.bundle.min"];
34
+ window.chartData = [];
35
+ window.entrypoints = ["tsparticles.slim.bundle.min"];
36
36
  window.defaultSizes = "parsed";
37
37
  </script>
38
38
  </body>
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_slim"] = this["webpackChunk_tsparticles_slim"] || []).push([["shapes_circle_dist_browser_CircleDrawer_js"],{
19
+
20
+ /***/ "../../shapes/circle/dist/browser/CircleDrawer.js":
21
+ /*!********************************************************!*\
22
+ !*** ../../shapes/circle/dist/browser/CircleDrawer.js ***!
23
+ \********************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CircleDrawer: () => (/* binding */ CircleDrawer)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n\nconst sides = 12,\n maxAngle = 360,\n minAngle = 0;\nclass CircleDrawer {\n async draw(data) {\n const {\n drawCircle\n } = await __webpack_require__.e(/*! import() */ \"shapes_circle_dist_browser_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/circle/dist/browser/Utils.js\"));\n drawCircle(data);\n }\n getSidesCount() {\n return sides;\n }\n async particleInit(container, particle) {\n const shapeData = particle.shapeData,\n angle = shapeData?.angle ?? {\n max: maxAngle,\n min: minAngle\n };\n particle.circleRange = !(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isObject)(angle) ? {\n min: minAngle,\n max: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.degToRad)(angle)\n } : {\n min: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.degToRad)(angle.min),\n max: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.degToRad)(angle.max)\n };\n await Promise.resolve();\n }\n}\n\n//# sourceURL=webpack://@tsparticles/slim/../../shapes/circle/dist/browser/CircleDrawer.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_slim"] = this["webpackChunk_tsparticles_slim"] || []).push([["shapes_circle_dist_browser_Utils_js"],{
19
+
20
+ /***/ "../../shapes/circle/dist/browser/Utils.js":
21
+ /*!*************************************************!*\
22
+ !*** ../../shapes/circle/dist/browser/Utils.js ***!
23
+ \*************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawCircle: () => (/* binding */ drawCircle)\n/* harmony export */ });\nconst double = 2,\n doublePI = Math.PI * double,\n minAngle = 0,\n origin = {\n x: 0,\n y: 0\n };\nfunction drawCircle(data) {\n const {\n context,\n particle,\n radius\n } = data;\n if (!particle.circleRange) {\n particle.circleRange = {\n min: minAngle,\n max: doublePI\n };\n }\n const circleRange = particle.circleRange;\n context.arc(origin.x, origin.y, radius, circleRange.min, circleRange.max, false);\n}\n\n//# sourceURL=webpack://@tsparticles/slim/../../shapes/circle/dist/browser/Utils.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_slim"] = this["webpackChunk_tsparticles_slim"] || []).push([["shapes_circle_dist_browser_index_js"],{
19
+
20
+ /***/ "../../shapes/circle/dist/browser/index.js":
21
+ /*!*************************************************!*\
22
+ !*** ../../shapes/circle/dist/browser/index.js ***!
23
+ \*************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadCircleShape: () => (/* binding */ loadCircleShape)\n/* harmony export */ });\nasync function loadCircleShape(engine, refresh = true) {\n const {\n CircleDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_circle_dist_browser_CircleDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./CircleDrawer.js */ \"../../shapes/circle/dist/browser/CircleDrawer.js\"));\n await engine.addShape(\"circle\", new CircleDrawer(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/slim/../../shapes/circle/dist/browser/index.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_slim"] = this["webpackChunk_tsparticles_slim"] || []).push([["shapes_emoji_dist_browser_EmojiDrawer_js"],{
19
+
20
+ /***/ "../../shapes/emoji/dist/browser/EmojiDrawer.js":
21
+ /*!******************************************************!*\
22
+ !*** ../../shapes/emoji/dist/browser/EmojiDrawer.js ***!
23
+ \******************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ EmojiDrawer: () => (/* binding */ EmojiDrawer)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"../../engine/dist/browser/index.js\");\n/* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Constants.js */ \"../../shapes/emoji/dist/browser/Constants.js\");\n\n\nconst defaultFont = '\"Twemoji Mozilla\", Apple Color Emoji, \"Segoe UI Emoji\", \"Noto Color Emoji\", \"EmojiOne Color\"';\nclass EmojiDrawer {\n constructor() {\n this._emojiShapeDict = new Map();\n }\n destroy() {\n for (const [key, emojiData] of this._emojiShapeDict) {\n if (emojiData instanceof ImageBitmap) {\n emojiData?.close();\n this._emojiShapeDict.delete(key);\n }\n }\n }\n async draw(data) {\n const {\n drawEmoji\n } = await __webpack_require__.e(/*! import() */ \"shapes_emoji_dist_browser_Utils_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./Utils.js */ \"../../shapes/emoji/dist/browser/Utils.js\"));\n drawEmoji(data);\n }\n async init(container) {\n const options = container.actualOptions;\n if (!_Constants_js__WEBPACK_IMPORTED_MODULE_1__.validTypes.find(t => (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isInArray)(t, options.particles.shape.type))) {\n return;\n }\n const promises = [(0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.loadFont)(defaultFont)],\n shapeOptions = _Constants_js__WEBPACK_IMPORTED_MODULE_1__.validTypes.map(t => options.particles.shape.options[t]).find(t => !!t);\n if (shapeOptions) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(shapeOptions, shape => {\n if (shape.font) {\n promises.push((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.loadFont)(shape.font));\n }\n });\n }\n await Promise.all(promises);\n }\n particleDestroy(particle) {\n delete particle.emojiData;\n }\n async particleInit(container, particle) {\n const double = 2,\n shapeData = particle.shapeData;\n if (!shapeData?.value) {\n return;\n }\n const emoji = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.itemFromSingleOrMultiple)(shapeData.value, particle.randomIndexData),\n font = shapeData.font ?? defaultFont;\n if (!emoji) {\n return;\n }\n const key = `${emoji}_${font}`,\n existingData = this._emojiShapeDict.get(key);\n if (existingData) {\n particle.emojiData = existingData;\n return;\n }\n const canvasSize = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeMax)(particle.size.value) * double;\n let emojiData;\n const maxSize = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeMax)(particle.size.value);\n if (typeof OffscreenCanvas !== \"undefined\") {\n const canvas = new OffscreenCanvas(canvasSize, canvasSize),\n context = canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n context.font = `400 ${maxSize * double}px ${font}`;\n context.textBaseline = \"middle\";\n context.textAlign = \"center\";\n context.fillText(emoji, maxSize, maxSize);\n emojiData = canvas.transferToImageBitmap();\n } else {\n const canvas = document.createElement(\"canvas\");\n canvas.width = canvasSize;\n canvas.height = canvasSize;\n const context = canvas.getContext(\"2d\");\n if (!context) {\n return;\n }\n context.font = `400 ${maxSize * double}px ${font}`;\n context.textBaseline = \"middle\";\n context.textAlign = \"center\";\n context.fillText(emoji, maxSize, maxSize);\n emojiData = canvas;\n }\n this._emojiShapeDict.set(key, emojiData);\n particle.emojiData = emojiData;\n await Promise.resolve();\n }\n}\n\n//# sourceURL=webpack://@tsparticles/slim/../../shapes/emoji/dist/browser/EmojiDrawer.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
@@ -0,0 +1,30 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_slim"] = this["webpackChunk_tsparticles_slim"] || []).push([["shapes_emoji_dist_browser_Utils_js"],{
19
+
20
+ /***/ "../../shapes/emoji/dist/browser/Utils.js":
21
+ /*!************************************************!*\
22
+ !*** ../../shapes/emoji/dist/browser/Utils.js ***!
23
+ \************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ drawEmoji: () => (/* binding */ drawEmoji)\n/* harmony export */ });\nfunction drawEmoji(data) {\n const {\n context,\n particle,\n radius,\n opacity\n } = data,\n emojiData = particle.emojiData,\n double = 2,\n diameter = radius * double,\n previousAlpha = context.globalAlpha;\n if (!emojiData) {\n return;\n }\n context.globalAlpha = opacity;\n context.drawImage(emojiData, -radius, -radius, diameter, diameter);\n context.globalAlpha = previousAlpha;\n}\n\n//# sourceURL=webpack://@tsparticles/slim/../../shapes/emoji/dist/browser/Utils.js?");
27
+
28
+ /***/ })
29
+
30
+ }]);
@@ -0,0 +1,40 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_slim"] = this["webpackChunk_tsparticles_slim"] || []).push([["shapes_emoji_dist_browser_index_js"],{
19
+
20
+ /***/ "../../shapes/emoji/dist/browser/Constants.js":
21
+ /*!****************************************************!*\
22
+ !*** ../../shapes/emoji/dist/browser/Constants.js ***!
23
+ \****************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ validTypes: () => (/* binding */ validTypes)\n/* harmony export */ });\nconst validTypes = [\"emoji\"];\n\n//# sourceURL=webpack://@tsparticles/slim/../../shapes/emoji/dist/browser/Constants.js?");
27
+
28
+ /***/ }),
29
+
30
+ /***/ "../../shapes/emoji/dist/browser/index.js":
31
+ /*!************************************************!*\
32
+ !*** ../../shapes/emoji/dist/browser/index.js ***!
33
+ \************************************************/
34
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35
+
36
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadEmojiShape: () => (/* binding */ loadEmojiShape)\n/* harmony export */ });\n/* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Constants.js */ \"../../shapes/emoji/dist/browser/Constants.js\");\n\nasync function loadEmojiShape(engine, refresh = true) {\n const {\n EmojiDrawer\n } = await __webpack_require__.e(/*! import() */ \"shapes_emoji_dist_browser_EmojiDrawer_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./EmojiDrawer.js */ \"../../shapes/emoji/dist/browser/EmojiDrawer.js\"));\n await engine.addShape(_Constants_js__WEBPACK_IMPORTED_MODULE_0__.validTypes, new EmojiDrawer(), refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/slim/../../shapes/emoji/dist/browser/index.js?");
37
+
38
+ /***/ })
39
+
40
+ }]);
@@ -0,0 +1,50 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v3.2.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_slim"] = this["webpackChunk_tsparticles_slim"] || []).push([["shapes_image_dist_browser_GifUtils_Utils_js"],{
19
+
20
+ /***/ "../../shapes/image/dist/browser/GifUtils/ByteStream.js":
21
+ /*!**************************************************************!*\
22
+ !*** ../../shapes/image/dist/browser/GifUtils/ByteStream.js ***!
23
+ \**************************************************************/
24
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
25
+
26
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ ByteStream: () => (/* binding */ ByteStream)\n/* harmony export */ });\nclass ByteStream {\n constructor(bytes) {\n this.pos = 0;\n this.data = new Uint8ClampedArray(bytes);\n }\n getString(count) {\n const slice = this.data.slice(this.pos, this.pos + count);\n this.pos += slice.length;\n return slice.reduce((acc, curr) => acc + String.fromCharCode(curr), \"\");\n }\n nextByte() {\n return this.data[this.pos++];\n }\n nextTwoBytes() {\n const increment = 2,\n previous = 1,\n shift = 8;\n this.pos += increment;\n return this.data[this.pos - increment] + (this.data[this.pos - previous] << shift);\n }\n readSubBlocks() {\n let blockString = \"\",\n size = 0;\n const minCount = 0,\n emptySize = 0;\n do {\n size = this.data[this.pos++];\n for (let count = size; --count >= minCount; blockString += String.fromCharCode(this.data[this.pos++])) {}\n } while (size !== emptySize);\n return blockString;\n }\n readSubBlocksBin() {\n let size = this.data[this.pos],\n len = 0;\n const emptySize = 0,\n increment = 1;\n for (let offset = 0; size !== emptySize; offset += size + increment, size = this.data[this.pos + offset]) {\n len += size;\n }\n const blockData = new Uint8Array(len);\n size = this.data[this.pos++];\n for (let i = 0; size !== emptySize; size = this.data[this.pos++]) {\n for (let count = size; --count >= emptySize; blockData[i++] = this.data[this.pos++]) {}\n }\n return blockData;\n }\n skipSubBlocks() {\n for (const increment = 1, noData = 0; this.data[this.pos] !== noData; this.pos += this.data[this.pos] + increment) {}\n this.pos++;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/slim/../../shapes/image/dist/browser/GifUtils/ByteStream.js?");
27
+
28
+ /***/ }),
29
+
30
+ /***/ "../../shapes/image/dist/browser/GifUtils/Constants.js":
31
+ /*!*************************************************************!*\
32
+ !*** ../../shapes/image/dist/browser/GifUtils/Constants.js ***!
33
+ \*************************************************************/
34
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
35
+
36
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InterlaceOffsets: () => (/* binding */ InterlaceOffsets),\n/* harmony export */ InterlaceSteps: () => (/* binding */ InterlaceSteps)\n/* harmony export */ });\nconst InterlaceOffsets = [0, 4, 2, 1];\nconst InterlaceSteps = [8, 8, 4, 2];\n\n//# sourceURL=webpack://@tsparticles/slim/../../shapes/image/dist/browser/GifUtils/Constants.js?");
37
+
38
+ /***/ }),
39
+
40
+ /***/ "../../shapes/image/dist/browser/GifUtils/Utils.js":
41
+ /*!*********************************************************!*\
42
+ !*** ../../shapes/image/dist/browser/GifUtils/Utils.js ***!
43
+ \*********************************************************/
44
+ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
45
+
46
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ decodeGIF: () => (/* binding */ decodeGIF),\n/* harmony export */ drawGif: () => (/* binding */ drawGif),\n/* harmony export */ getGIFLoopAmount: () => (/* binding */ getGIFLoopAmount),\n/* harmony export */ loadGifImage: () => (/* binding */ loadGifImage)\n/* harmony export */ });\n/* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Constants.js */ \"../../shapes/image/dist/browser/GifUtils/Constants.js\");\n/* harmony import */ var _ByteStream_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ByteStream.js */ \"../../shapes/image/dist/browser/GifUtils/ByteStream.js\");\n\n\nconst origin = {\n x: 0,\n y: 0\n },\n defaultFrame = 0,\n half = 0.5,\n initialTime = 0,\n firstIndex = 0,\n defaultLoopCount = 0;\nfunction parseColorTable(byteStream, count) {\n const colors = [];\n for (let i = 0; i < count; i++) {\n colors.push({\n r: byteStream.data[byteStream.pos],\n g: byteStream.data[byteStream.pos + 1],\n b: byteStream.data[byteStream.pos + 2]\n });\n byteStream.pos += 3;\n }\n return colors;\n}\nfunction parseExtensionBlock(byteStream, gif, getFrameIndex, getTransparencyIndex) {\n switch (byteStream.nextByte()) {\n case 249:\n {\n const frame = gif.frames[getFrameIndex(false)];\n byteStream.pos++;\n const packedByte = byteStream.nextByte();\n frame.GCreserved = (packedByte & 0xe0) >>> 5;\n frame.disposalMethod = (packedByte & 0x1c) >>> 2;\n frame.userInputDelayFlag = (packedByte & 2) === 2;\n const transparencyFlag = (packedByte & 1) === 1;\n frame.delayTime = byteStream.nextTwoBytes() * 0xa;\n const transparencyIndex = byteStream.nextByte();\n if (transparencyFlag) {\n getTransparencyIndex(transparencyIndex);\n }\n byteStream.pos++;\n break;\n }\n case 255:\n {\n byteStream.pos++;\n const applicationExtension = {\n identifier: byteStream.getString(8),\n authenticationCode: byteStream.getString(3),\n data: byteStream.readSubBlocksBin()\n };\n gif.applicationExtensions.push(applicationExtension);\n break;\n }\n case 254:\n {\n gif.comments.push([getFrameIndex(false), byteStream.readSubBlocks()]);\n break;\n }\n case 1:\n {\n if (gif.globalColorTable.length === 0) {\n throw new EvalError(\"plain text extension without global color table\");\n }\n byteStream.pos++;\n gif.frames[getFrameIndex(false)].plainTextData = {\n left: byteStream.nextTwoBytes(),\n top: byteStream.nextTwoBytes(),\n width: byteStream.nextTwoBytes(),\n height: byteStream.nextTwoBytes(),\n charSize: {\n width: byteStream.nextTwoBytes(),\n height: byteStream.nextTwoBytes()\n },\n foregroundColor: byteStream.nextByte(),\n backgroundColor: byteStream.nextByte(),\n text: byteStream.readSubBlocks()\n };\n break;\n }\n default:\n byteStream.skipSubBlocks();\n break;\n }\n}\nasync function parseImageBlock(byteStream, gif, avgAlpha, getFrameIndex, getTransparencyIndex, progressCallback) {\n const frame = gif.frames[getFrameIndex(true)];\n frame.left = byteStream.nextTwoBytes();\n frame.top = byteStream.nextTwoBytes();\n frame.width = byteStream.nextTwoBytes();\n frame.height = byteStream.nextTwoBytes();\n const packedByte = byteStream.nextByte(),\n localColorTableFlag = (packedByte & 0x80) === 0x80,\n interlacedFlag = (packedByte & 0x40) === 0x40;\n frame.sortFlag = (packedByte & 0x20) === 0x20;\n frame.reserved = (packedByte & 0x18) >>> 3;\n const localColorCount = 1 << (packedByte & 7) + 1;\n if (localColorTableFlag) {\n frame.localColorTable = parseColorTable(byteStream, localColorCount);\n }\n const getColor = index => {\n const {\n r,\n g,\n b\n } = (localColorTableFlag ? frame.localColorTable : gif.globalColorTable)[index];\n if (index !== getTransparencyIndex(null)) {\n return {\n r,\n g,\n b,\n a: 255\n };\n }\n return {\n r,\n g,\n b,\n a: avgAlpha ? ~~((r + g + b) / 3) : 0\n };\n };\n const image = (() => {\n try {\n return new ImageData(frame.width, frame.height, {\n colorSpace: \"srgb\"\n });\n } catch (error) {\n if (error instanceof DOMException && error.name === \"IndexSizeError\") {\n return null;\n }\n throw error;\n }\n })();\n if (image == null) {\n throw new EvalError(\"GIF frame size is to large\");\n }\n const minCodeSize = byteStream.nextByte(),\n imageData = byteStream.readSubBlocksBin(),\n clearCode = 1 << minCodeSize;\n const readBits = (pos, len) => {\n const bytePos = pos >>> 3,\n bitPos = pos & 7;\n return (imageData[bytePos] + (imageData[bytePos + 1] << 8) + (imageData[bytePos + 2] << 16) & (1 << len) - 1 << bitPos) >>> bitPos;\n };\n if (interlacedFlag) {\n for (let code = 0, size = minCodeSize + 1, pos = 0, dic = [[0]], pass = 0; pass < 4; pass++) {\n if (_Constants_js__WEBPACK_IMPORTED_MODULE_0__.InterlaceOffsets[pass] < frame.height) {\n let pixelPos = 0,\n lineIndex = 0,\n exit = false;\n while (!exit) {\n const last = code;\n code = readBits(pos, size);\n pos += size + 1;\n if (code === clearCode) {\n size = minCodeSize + 1;\n dic.length = clearCode + 2;\n for (let i = 0; i < dic.length; i++) {\n dic[i] = i < clearCode ? [i] : [];\n }\n } else {\n if (code >= dic.length) {\n dic.push(dic[last].concat(dic[last][0]));\n } else if (last !== clearCode) {\n dic.push(dic[last].concat(dic[code][0]));\n }\n for (const item of dic[code]) {\n const {\n r,\n g,\n b,\n a\n } = getColor(item);\n image.data.set([r, g, b, a], _Constants_js__WEBPACK_IMPORTED_MODULE_0__.InterlaceOffsets[pass] * frame.width + _Constants_js__WEBPACK_IMPORTED_MODULE_0__.InterlaceSteps[pass] * lineIndex + pixelPos % (frame.width * 4));\n pixelPos += 4;\n }\n if (dic.length === 1 << size && size < 0xc) {\n size++;\n }\n }\n if (pixelPos === frame.width * 4 * (lineIndex + 1)) {\n lineIndex++;\n if (_Constants_js__WEBPACK_IMPORTED_MODULE_0__.InterlaceOffsets[pass] + _Constants_js__WEBPACK_IMPORTED_MODULE_0__.InterlaceSteps[pass] * lineIndex >= frame.height) {\n exit = true;\n }\n }\n }\n }\n progressCallback?.(byteStream.pos / (byteStream.data.length - 1), getFrameIndex(false) + 1, image, {\n x: frame.left,\n y: frame.top\n }, {\n width: gif.width,\n height: gif.height\n });\n }\n frame.image = image;\n frame.bitmap = await createImageBitmap(image);\n } else {\n let code = 0,\n size = minCodeSize + 1,\n pos = 0,\n pixelPos = -4,\n exit = false;\n const dic = [[0]];\n while (!exit) {\n const last = code;\n code = readBits(pos, size);\n pos += size;\n if (code === clearCode) {\n size = minCodeSize + 1;\n dic.length = clearCode + 2;\n for (let i = 0; i < dic.length; i++) {\n dic[i] = i < clearCode ? [i] : [];\n }\n } else {\n if (code === clearCode + 1) {\n exit = true;\n break;\n }\n if (code >= dic.length) {\n dic.push(dic[last].concat(dic[last][0]));\n } else if (last !== clearCode) {\n dic.push(dic[last].concat(dic[code][0]));\n }\n for (const item of dic[code]) {\n const {\n r,\n g,\n b,\n a\n } = getColor(item);\n image.data.set([r, g, b, a], pixelPos += 4);\n }\n if (dic.length >= 1 << size && size < 0xc) {\n size++;\n }\n }\n }\n frame.image = image;\n frame.bitmap = await createImageBitmap(image);\n progressCallback?.((byteStream.pos + 1) / byteStream.data.length, getFrameIndex(false) + 1, frame.image, {\n x: frame.left,\n y: frame.top\n }, {\n width: gif.width,\n height: gif.height\n });\n }\n}\nasync function parseBlock(byteStream, gif, avgAlpha, getFrameIndex, getTransparencyIndex, progressCallback) {\n switch (byteStream.nextByte()) {\n case 59:\n return true;\n case 44:\n await parseImageBlock(byteStream, gif, avgAlpha, getFrameIndex, getTransparencyIndex, progressCallback);\n break;\n case 33:\n parseExtensionBlock(byteStream, gif, getFrameIndex, getTransparencyIndex);\n break;\n default:\n throw new EvalError(\"undefined block found\");\n }\n return false;\n}\nfunction getGIFLoopAmount(gif) {\n for (const extension of gif.applicationExtensions) {\n if (extension.identifier + extension.authenticationCode !== \"NETSCAPE2.0\") {\n continue;\n }\n return extension.data[1] + (extension.data[2] << 8);\n }\n return NaN;\n}\nasync function decodeGIF(gifURL, progressCallback, avgAlpha) {\n if (!avgAlpha) avgAlpha = false;\n const res = await fetch(gifURL);\n if (!res.ok && res.status === 404) {\n throw new EvalError(\"file not found\");\n }\n const buffer = await res.arrayBuffer();\n const gif = {\n width: 0,\n height: 0,\n totalTime: 0,\n colorRes: 0,\n pixelAspectRatio: 0,\n frames: [],\n sortFlag: false,\n globalColorTable: [],\n backgroundImage: new ImageData(1, 1, {\n colorSpace: \"srgb\"\n }),\n comments: [],\n applicationExtensions: []\n },\n byteStream = new _ByteStream_js__WEBPACK_IMPORTED_MODULE_1__.ByteStream(new Uint8ClampedArray(buffer));\n if (byteStream.getString(6) !== \"GIF89a\") {\n throw new Error(\"not a supported GIF file\");\n }\n gif.width = byteStream.nextTwoBytes();\n gif.height = byteStream.nextTwoBytes();\n const packedByte = byteStream.nextByte(),\n globalColorTableFlag = (packedByte & 0x80) === 0x80;\n gif.colorRes = (packedByte & 0x70) >>> 4;\n gif.sortFlag = (packedByte & 8) === 8;\n const globalColorCount = 1 << (packedByte & 7) + 1,\n backgroundColorIndex = byteStream.nextByte();\n gif.pixelAspectRatio = byteStream.nextByte();\n if (gif.pixelAspectRatio !== 0) {\n gif.pixelAspectRatio = (gif.pixelAspectRatio + 0xf) / 0x40;\n }\n if (globalColorTableFlag) {\n gif.globalColorTable = parseColorTable(byteStream, globalColorCount);\n }\n const backgroundImage = (() => {\n try {\n return new ImageData(gif.width, gif.height, {\n colorSpace: \"srgb\"\n });\n } catch (error) {\n if (error instanceof DOMException && error.name === \"IndexSizeError\") {\n return null;\n }\n throw error;\n }\n })();\n if (backgroundImage == null) {\n throw new Error(\"GIF frame size is to large\");\n }\n const {\n r,\n g,\n b\n } = gif.globalColorTable[backgroundColorIndex];\n backgroundImage.data.set(globalColorTableFlag ? [r, g, b, 255] : [0, 0, 0, 0]);\n for (let i = 4; i < backgroundImage.data.length; i *= 2) {\n backgroundImage.data.copyWithin(i, 0, i);\n }\n gif.backgroundImage = backgroundImage;\n let frameIndex = -1,\n incrementFrameIndex = true,\n transparencyIndex = -1;\n const getframeIndex = increment => {\n if (increment) {\n incrementFrameIndex = true;\n }\n return frameIndex;\n };\n const getTransparencyIndex = newValue => {\n if (newValue != null) {\n transparencyIndex = newValue;\n }\n return transparencyIndex;\n };\n try {\n do {\n if (incrementFrameIndex) {\n gif.frames.push({\n left: 0,\n top: 0,\n width: 0,\n height: 0,\n disposalMethod: 0,\n image: new ImageData(1, 1, {\n colorSpace: \"srgb\"\n }),\n plainTextData: null,\n userInputDelayFlag: false,\n delayTime: 0,\n sortFlag: false,\n localColorTable: [],\n reserved: 0,\n GCreserved: 0\n });\n frameIndex++;\n transparencyIndex = -1;\n incrementFrameIndex = false;\n }\n } while (!(await parseBlock(byteStream, gif, avgAlpha, getframeIndex, getTransparencyIndex, progressCallback)));\n gif.frames.length--;\n for (const frame of gif.frames) {\n if (frame.userInputDelayFlag && frame.delayTime === 0) {\n gif.totalTime = Infinity;\n break;\n }\n gif.totalTime += frame.delayTime;\n }\n return gif;\n } catch (error) {\n if (error instanceof EvalError) {\n throw new Error(`error while parsing frame ${frameIndex} \"${error.message}\"`);\n }\n throw error;\n }\n}\nfunction drawGif(data) {\n const {\n context,\n radius,\n particle,\n delta\n } = data,\n image = particle.image;\n if (!image?.gifData || !image.gif) {\n return;\n }\n const offscreenCanvas = new OffscreenCanvas(image.gifData.width, image.gifData.height),\n offscreenContext = offscreenCanvas.getContext(\"2d\");\n if (!offscreenContext) {\n throw new Error(\"could not create offscreen canvas context\");\n }\n offscreenContext.imageSmoothingQuality = \"low\";\n offscreenContext.imageSmoothingEnabled = false;\n offscreenContext.clearRect(origin.x, origin.y, offscreenCanvas.width, offscreenCanvas.height);\n if (particle.gifLoopCount === undefined) {\n particle.gifLoopCount = image.gifLoopCount ?? defaultLoopCount;\n }\n let frameIndex = particle.gifFrame ?? defaultFrame;\n const pos = {\n x: -image.gifData.width * half,\n y: -image.gifData.height * half\n },\n frame = image.gifData.frames[frameIndex];\n if (particle.gifTime === undefined) {\n particle.gifTime = initialTime;\n }\n if (!frame.bitmap) {\n return;\n }\n context.scale(radius / image.gifData.width, radius / image.gifData.height);\n switch (frame.disposalMethod) {\n case 4:\n case 5:\n case 6:\n case 7:\n case 0:\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n offscreenContext.clearRect(origin.x, origin.y, offscreenCanvas.width, offscreenCanvas.height);\n break;\n case 1:\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n break;\n case 2:\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n offscreenContext.clearRect(origin.x, origin.y, offscreenCanvas.width, offscreenCanvas.height);\n if (!image.gifData.globalColorTable.length) {\n offscreenContext.putImageData(image.gifData.frames[firstIndex].image, pos.x + frame.left, pos.y + frame.top);\n } else {\n offscreenContext.putImageData(image.gifData.backgroundImage, pos.x, pos.y);\n }\n break;\n case 3:\n {\n const previousImageData = offscreenContext.getImageData(origin.x, origin.y, offscreenCanvas.width, offscreenCanvas.height);\n offscreenContext.drawImage(frame.bitmap, frame.left, frame.top);\n context.drawImage(offscreenCanvas, pos.x, pos.y);\n offscreenContext.clearRect(origin.x, origin.y, offscreenCanvas.width, offscreenCanvas.height);\n offscreenContext.putImageData(previousImageData, origin.x, origin.y);\n }\n break;\n }\n particle.gifTime += delta.value;\n if (particle.gifTime > frame.delayTime) {\n particle.gifTime -= frame.delayTime;\n if (++frameIndex >= image.gifData.frames.length) {\n if (--particle.gifLoopCount <= defaultLoopCount) {\n return;\n }\n frameIndex = firstIndex;\n offscreenContext.clearRect(origin.x, origin.y, offscreenCanvas.width, offscreenCanvas.height);\n }\n particle.gifFrame = frameIndex;\n }\n context.scale(image.gifData.width / radius, image.gifData.height / radius);\n}\nasync function loadGifImage(image) {\n if (image.type !== \"gif\") {\n const {\n loadImage\n } = await Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ../Utils.js */ \"../../shapes/image/dist/browser/Utils.js\"));\n await loadImage(image);\n return;\n }\n image.loading = true;\n try {\n image.gifData = await decodeGIF(image.source);\n image.gifLoopCount = getGIFLoopAmount(image.gifData) ?? defaultLoopCount;\n if (!image.gifLoopCount) {\n image.gifLoopCount = Infinity;\n }\n } catch {\n image.error = true;\n }\n image.loading = false;\n}\n\n//# sourceURL=webpack://@tsparticles/slim/../../shapes/image/dist/browser/GifUtils/Utils.js?");
47
+
48
+ /***/ })
49
+
50
+ }]);