three-nebula 10.0.3 → 11.1.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 (247) hide show
  1. package/.claude/rules/no-coauthor.md +4 -0
  2. package/CHANGELOG.md +33 -0
  3. package/dist/three-nebula.cjs +109 -0
  4. package/dist/three-nebula.cjs.map +1 -0
  5. package/dist/three-nebula.mjs +2968 -0
  6. package/dist/three-nebula.mjs.map +1 -0
  7. package/dist/three-nebula.umd.js +109 -0
  8. package/dist/three-nebula.umd.js.map +1 -0
  9. package/package.json +32 -56
  10. package/specs/01-emitter-hierarchy.md +200 -0
  11. package/specs/02-determinism-scrubbing.md +188 -0
  12. package/specs/03-sound-renderer.md +183 -0
  13. package/specs/04-schema-versioning.md +140 -0
  14. package/specs/05-content-addressed-assets.md +288 -0
  15. package/specs/README.md +80 -0
  16. package/build/cjs/behaviour/Alpha.js +0 -189
  17. package/build/cjs/behaviour/Attraction.js +0 -189
  18. package/build/cjs/behaviour/Behaviour.js +0 -253
  19. package/build/cjs/behaviour/Collision.js +0 -146
  20. package/build/cjs/behaviour/Color.js +0 -148
  21. package/build/cjs/behaviour/CrossZone.js +0 -141
  22. package/build/cjs/behaviour/Force.js +0 -126
  23. package/build/cjs/behaviour/Gravity.js +0 -78
  24. package/build/cjs/behaviour/RandomDrift.js +0 -153
  25. package/build/cjs/behaviour/Repulsion.js +0 -123
  26. package/build/cjs/behaviour/Rotate.js +0 -265
  27. package/build/cjs/behaviour/Scale.js +0 -177
  28. package/build/cjs/behaviour/Spring.js +0 -133
  29. package/build/cjs/behaviour/constants.js +0 -28
  30. package/build/cjs/behaviour/index.js +0 -112
  31. package/build/cjs/behaviour/types.js +0 -33
  32. package/build/cjs/constants/index.js +0 -61
  33. package/build/cjs/core/Particle.js +0 -390
  34. package/build/cjs/core/Pool.js +0 -203
  35. package/build/cjs/core/System.js +0 -366
  36. package/build/cjs/core/constants.js +0 -163
  37. package/build/cjs/core/fromJSON.js +0 -128
  38. package/build/cjs/core/fromJSONAsync.js +0 -239
  39. package/build/cjs/core/index.js +0 -32
  40. package/build/cjs/core/three/Euler.js +0 -233
  41. package/build/cjs/core/three/Math.js +0 -91
  42. package/build/cjs/core/three/Matrix4.js +0 -745
  43. package/build/cjs/core/three/Quaternion.js +0 -451
  44. package/build/cjs/core/three/Vector3.js +0 -464
  45. package/build/cjs/core/three/constants.js +0 -298
  46. package/build/cjs/core/three/index.js +0 -48
  47. package/build/cjs/core/types.js +0 -13
  48. package/build/cjs/debug/Debug.js +0 -209
  49. package/build/cjs/debug/constants.js +0 -19
  50. package/build/cjs/debug/index.js +0 -24
  51. package/build/cjs/debug/log.js +0 -38
  52. package/build/cjs/ease/index.js +0 -149
  53. package/build/cjs/emitter/Emitter.js +0 -791
  54. package/build/cjs/emitter/FollowEmitter.js +0 -146
  55. package/build/cjs/emitter/constants.js +0 -20
  56. package/build/cjs/emitter/index.js +0 -24
  57. package/build/cjs/emitter/types.js +0 -11
  58. package/build/cjs/events/EventDispatcher.js +0 -105
  59. package/build/cjs/events/constants.js +0 -23
  60. package/build/cjs/events/index.js +0 -27
  61. package/build/cjs/index.js +0 -151
  62. package/build/cjs/initializer/Body.js +0 -122
  63. package/build/cjs/initializer/BodySprite.js +0 -146
  64. package/build/cjs/initializer/Initializer.js +0 -109
  65. package/build/cjs/initializer/InitializerUtil.js +0 -54
  66. package/build/cjs/initializer/Life.js +0 -106
  67. package/build/cjs/initializer/Mass.js +0 -101
  68. package/build/cjs/initializer/Position.js +0 -152
  69. package/build/cjs/initializer/Radius.js +0 -118
  70. package/build/cjs/initializer/Rate.js +0 -150
  71. package/build/cjs/initializer/Texture.js +0 -139
  72. package/build/cjs/initializer/Velocity/PolarVelocity.js +0 -102
  73. package/build/cjs/initializer/Velocity/RadialVelocity.js +0 -111
  74. package/build/cjs/initializer/Velocity/VectorVelocity.js +0 -108
  75. package/build/cjs/initializer/Velocity/Velocity.js +0 -94
  76. package/build/cjs/initializer/Velocity/index.js +0 -32
  77. package/build/cjs/initializer/constants.js +0 -43
  78. package/build/cjs/initializer/index.js +0 -100
  79. package/build/cjs/initializer/types.js +0 -35
  80. package/build/cjs/math/ArraySpan.js +0 -103
  81. package/build/cjs/math/Box.js +0 -46
  82. package/build/cjs/math/ColorSpan.js +0 -113
  83. package/build/cjs/math/MathUtils.js +0 -57
  84. package/build/cjs/math/Polar3D.js +0 -115
  85. package/build/cjs/math/Span.js +0 -88
  86. package/build/cjs/math/Vector3D.js +0 -76
  87. package/build/cjs/math/constants.js +0 -35
  88. package/build/cjs/math/index.js +0 -122
  89. package/build/cjs/math/integration.js +0 -59
  90. package/build/cjs/math/types.js +0 -19
  91. package/build/cjs/renderer/BaseRenderer.js +0 -108
  92. package/build/cjs/renderer/CustomRenderer.js +0 -65
  93. package/build/cjs/renderer/GPURenderer/Desktop/index.js +0 -350
  94. package/build/cjs/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +0 -13
  95. package/build/cjs/renderer/GPURenderer/Desktop/shaders/index.js +0 -22
  96. package/build/cjs/renderer/GPURenderer/Desktop/shaders/vertexShader.js +0 -17
  97. package/build/cjs/renderer/GPURenderer/Mobile/index.js +0 -364
  98. package/build/cjs/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +0 -13
  99. package/build/cjs/renderer/GPURenderer/Mobile/shaders/index.js +0 -22
  100. package/build/cjs/renderer/GPURenderer/Mobile/shaders/vertexShader.js +0 -15
  101. package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/constants.js +0 -53
  102. package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/index.js +0 -93
  103. package/build/cjs/renderer/GPURenderer/common/TextureAtlas/constants.js +0 -9
  104. package/build/cjs/renderer/GPURenderer/common/TextureAtlas/index.js +0 -221
  105. package/build/cjs/renderer/GPURenderer/common/constants.js +0 -22
  106. package/build/cjs/renderer/GPURenderer/common/index.js +0 -38
  107. package/build/cjs/renderer/GPURenderer/common/shaders/constants.js +0 -9
  108. package/build/cjs/renderer/GPURenderer/common/stores/Target.js +0 -43
  109. package/build/cjs/renderer/GPURenderer/common/stores/UniqueList.js +0 -51
  110. package/build/cjs/renderer/GPURenderer/common/stores/index.js +0 -22
  111. package/build/cjs/renderer/GPURenderer/index.js +0 -97
  112. package/build/cjs/renderer/MeshRenderer.js +0 -136
  113. package/build/cjs/renderer/SpriteRenderer.js +0 -63
  114. package/build/cjs/renderer/index.js +0 -40
  115. package/build/cjs/renderer/types.js +0 -21
  116. package/build/cjs/utils/ColorUtil.js +0 -39
  117. package/build/cjs/utils/PUID.js +0 -26
  118. package/build/cjs/utils/THREEUtil.js +0 -40
  119. package/build/cjs/utils/Util.js +0 -69
  120. package/build/cjs/utils/index.js +0 -61
  121. package/build/cjs/utils/uid.js +0 -14
  122. package/build/cjs/zone/BoxZone.js +0 -178
  123. package/build/cjs/zone/LineZone.js +0 -101
  124. package/build/cjs/zone/MeshZone.js +0 -101
  125. package/build/cjs/zone/PointZone.js +0 -99
  126. package/build/cjs/zone/ScreenZone.js +0 -164
  127. package/build/cjs/zone/SphereZone.js +0 -155
  128. package/build/cjs/zone/Zone.js +0 -172
  129. package/build/cjs/zone/index.js +0 -56
  130. package/build/cjs/zone/types.js +0 -21
  131. package/build/esm/behaviour/Alpha.js +0 -134
  132. package/build/esm/behaviour/Attraction.js +0 -135
  133. package/build/esm/behaviour/Behaviour.js +0 -215
  134. package/build/esm/behaviour/Collision.js +0 -100
  135. package/build/esm/behaviour/Color.js +0 -101
  136. package/build/esm/behaviour/CrossZone.js +0 -82
  137. package/build/esm/behaviour/Force.js +0 -83
  138. package/build/esm/behaviour/Gravity.js +0 -40
  139. package/build/esm/behaviour/RandomDrift.js +0 -97
  140. package/build/esm/behaviour/Repulsion.js +0 -81
  141. package/build/esm/behaviour/Rotate.js +0 -214
  142. package/build/esm/behaviour/Scale.js +0 -131
  143. package/build/esm/behaviour/Spring.js +0 -90
  144. package/build/esm/behaviour/constants.js +0 -11
  145. package/build/esm/behaviour/index.js +0 -14
  146. package/build/esm/behaviour/types.js +0 -14
  147. package/build/esm/constants/index.js +0 -42
  148. package/build/esm/core/Particle.js +0 -357
  149. package/build/esm/core/Pool.js +0 -161
  150. package/build/esm/core/System.js +0 -320
  151. package/build/esm/core/constants.js +0 -127
  152. package/build/esm/core/fromJSON.js +0 -107
  153. package/build/esm/core/fromJSONAsync.js +0 -210
  154. package/build/esm/core/index.js +0 -4
  155. package/build/esm/core/three/Euler.js +0 -224
  156. package/build/esm/core/three/Math.js +0 -84
  157. package/build/esm/core/three/Matrix4.js +0 -739
  158. package/build/esm/core/three/Quaternion.js +0 -445
  159. package/build/esm/core/three/Vector3.js +0 -457
  160. package/build/esm/core/three/constants.js +0 -148
  161. package/build/esm/core/three/index.js +0 -5
  162. package/build/esm/core/types.js +0 -4
  163. package/build/esm/debug/Debug.js +0 -195
  164. package/build/esm/debug/constants.js +0 -7
  165. package/build/esm/debug/index.js +0 -3
  166. package/build/esm/debug/log.js +0 -31
  167. package/build/esm/ease/index.js +0 -113
  168. package/build/esm/emitter/Emitter.js +0 -701
  169. package/build/esm/emitter/FollowEmitter.js +0 -97
  170. package/build/esm/emitter/constants.js +0 -7
  171. package/build/esm/emitter/index.js +0 -3
  172. package/build/esm/emitter/types.js +0 -3
  173. package/build/esm/events/EventDispatcher.js +0 -82
  174. package/build/esm/events/constants.js +0 -9
  175. package/build/esm/events/index.js +0 -4
  176. package/build/esm/index.js +0 -13
  177. package/build/esm/initializer/Body.js +0 -83
  178. package/build/esm/initializer/BodySprite.js +0 -108
  179. package/build/esm/initializer/Initializer.js +0 -84
  180. package/build/esm/initializer/InitializerUtil.js +0 -48
  181. package/build/esm/initializer/Life.js +0 -66
  182. package/build/esm/initializer/Mass.js +0 -60
  183. package/build/esm/initializer/Position.js +0 -98
  184. package/build/esm/initializer/Radius.js +0 -75
  185. package/build/esm/initializer/Rate.js +0 -107
  186. package/build/esm/initializer/Texture.js +0 -101
  187. package/build/esm/initializer/Velocity/PolarVelocity.js +0 -63
  188. package/build/esm/initializer/Velocity/RadialVelocity.js +0 -72
  189. package/build/esm/initializer/Velocity/VectorVelocity.js +0 -69
  190. package/build/esm/initializer/Velocity/Velocity.js +0 -52
  191. package/build/esm/initializer/Velocity/index.js +0 -4
  192. package/build/esm/initializer/constants.js +0 -26
  193. package/build/esm/initializer/index.js +0 -11
  194. package/build/esm/initializer/types.js +0 -15
  195. package/build/esm/math/ArraySpan.js +0 -62
  196. package/build/esm/math/Box.js +0 -25
  197. package/build/esm/math/ColorSpan.js +0 -71
  198. package/build/esm/math/MathUtils.js +0 -48
  199. package/build/esm/math/Polar3D.js +0 -81
  200. package/build/esm/math/Span.js +0 -63
  201. package/build/esm/math/Vector3D.js +0 -34
  202. package/build/esm/math/constants.js +0 -24
  203. package/build/esm/math/index.js +0 -10
  204. package/build/esm/math/integration.js +0 -47
  205. package/build/esm/math/types.js +0 -7
  206. package/build/esm/renderer/BaseRenderer.js +0 -78
  207. package/build/esm/renderer/CustomRenderer.js +0 -23
  208. package/build/esm/renderer/GPURenderer/Desktop/index.js +0 -331
  209. package/build/esm/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +0 -23
  210. package/build/esm/renderer/GPURenderer/Desktop/shaders/index.js +0 -3
  211. package/build/esm/renderer/GPURenderer/Desktop/shaders/vertexShader.js +0 -33
  212. package/build/esm/renderer/GPURenderer/Mobile/index.js +0 -349
  213. package/build/esm/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +0 -20
  214. package/build/esm/renderer/GPURenderer/Mobile/shaders/index.js +0 -3
  215. package/build/esm/renderer/GPURenderer/Mobile/shaders/vertexShader.js +0 -30
  216. package/build/esm/renderer/GPURenderer/common/ParticleBuffer/constants.js +0 -27
  217. package/build/esm/renderer/GPURenderer/common/ParticleBuffer/index.js +0 -70
  218. package/build/esm/renderer/GPURenderer/common/TextureAtlas/constants.js +0 -2
  219. package/build/esm/renderer/GPURenderer/common/TextureAtlas/index.js +0 -206
  220. package/build/esm/renderer/GPURenderer/common/constants.js +0 -13
  221. package/build/esm/renderer/GPURenderer/common/index.js +0 -4
  222. package/build/esm/renderer/GPURenderer/common/shaders/constants.js +0 -2
  223. package/build/esm/renderer/GPURenderer/common/stores/Target.js +0 -24
  224. package/build/esm/renderer/GPURenderer/common/stores/UniqueList.js +0 -29
  225. package/build/esm/renderer/GPURenderer/common/stores/index.js +0 -3
  226. package/build/esm/renderer/GPURenderer/index.js +0 -57
  227. package/build/esm/renderer/MeshRenderer.js +0 -94
  228. package/build/esm/renderer/SpriteRenderer.js +0 -26
  229. package/build/esm/renderer/index.js +0 -5
  230. package/build/esm/renderer/types.js +0 -8
  231. package/build/esm/utils/ColorUtil.js +0 -32
  232. package/build/esm/utils/PUID.js +0 -19
  233. package/build/esm/utils/THREEUtil.js +0 -31
  234. package/build/esm/utils/Util.js +0 -60
  235. package/build/esm/utils/index.js +0 -13
  236. package/build/esm/utils/uid.js +0 -3
  237. package/build/esm/zone/BoxZone.js +0 -133
  238. package/build/esm/zone/LineZone.js +0 -61
  239. package/build/esm/zone/MeshZone.js +0 -60
  240. package/build/esm/zone/PointZone.js +0 -59
  241. package/build/esm/zone/ScreenZone.js +0 -116
  242. package/build/esm/zone/SphereZone.js +0 -113
  243. package/build/esm/zone/Zone.js +0 -141
  244. package/build/esm/zone/index.js +0 -7
  245. package/build/esm/zone/types.js +0 -8
  246. package/build/three-nebula.js +0 -2
  247. package/build/three-nebula.js.map +0 -1
@@ -1,366 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = void 0;
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _events = _interopRequireWildcard(require("../events"));
17
-
18
- var _constants = require("./constants");
19
-
20
- var _Emitter = _interopRequireDefault(require("../emitter/Emitter"));
21
-
22
- var _constants2 = require("../math/constants");
23
-
24
- var _constants3 = require("../constants");
25
-
26
- var _Pool = _interopRequireDefault(require("./Pool"));
27
-
28
- var _fromJSON2 = _interopRequireDefault(require("./fromJSON"));
29
-
30
- var _fromJSONAsync2 = _interopRequireDefault(require("./fromJSONAsync"));
31
-
32
- var _types = require("./types");
33
-
34
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
35
-
36
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
37
-
38
- /**
39
- * The core of the three-system particle engine.
40
- * A System instance can contain multiple emitters, each with their own initializers
41
- * and behaviours.
42
- *
43
- */
44
- var System = /*#__PURE__*/function () {
45
- /**
46
- * Constructs a System instance.
47
- *
48
- * @param {object} THREE - ThreeJs
49
- * @param {number} [preParticles=POOL_MAX] - The number of particles to start with
50
- * @param {string} [integrationType=INTEGRATION_TYPE_EULER] - The integration type to use
51
- * @return void
52
- */
53
- function System() {
54
- var preParticles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants3.POOL_MAX;
55
- var integrationType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _constants2.INTEGRATION_TYPE_EULER;
56
- (0, _classCallCheck2["default"])(this, System);
57
-
58
- /**
59
- * @desc The class type.
60
- * @type {string}
61
- */
62
- this.type = _types.CORE_TYPE_SYSTEM;
63
- /**
64
- * @desc Determines if the system can update or not. Set to false when destroying
65
- * to ensure that external calls to update do not throw errors.
66
- * @type {boolean}
67
- */
68
-
69
- this.canUpdate = true;
70
- /**
71
- * @desc The number of particles to start with.
72
- * @type {number}
73
- */
74
-
75
- this.preParticles = preParticles;
76
- /**
77
- * @desc The integration algorithm type to use.
78
- * @param {string}
79
- */
80
-
81
- this.integrationType = integrationType;
82
- /**
83
- * @desc The emitters in the particle system.
84
- * @type {array<Emitter>}
85
- */
86
-
87
- this.emitters = [];
88
- /**
89
- * @desc The renderers for the system.
90
- * @type {array<Renderer>}
91
- */
92
-
93
- this.renderers = [];
94
- /**
95
- * @desc A pool used to manage the internal system cache of objects
96
- * @type {Pool}
97
- */
98
-
99
- this.pool = new _Pool["default"]();
100
- /**
101
- * @desc Internal event dispatcher
102
- * @type {EventDispatcher}
103
- */
104
-
105
- this.eventDispatcher = new _events["default"]();
106
- }
107
- /**
108
- * Creates a System instance from a JSON object.
109
- *
110
- * @param {object} json - The JSON to create the System instance from
111
- * @param {object} THREE - The Web GL Api to use eg., THREE
112
- * @return {System}
113
- *
114
- * @deprecated use fromJSONAsync instead
115
- */
116
-
117
-
118
- (0, _createClass2["default"])(System, [{
119
- key: "dispatch",
120
-
121
- /**
122
- * Proxy method for the internal event dispatcher's dispatchEvent method.
123
- *
124
- * @param {string} event - The event to dispatch
125
- * @param {object<System|Emitter|Particle>} [target=this] - The event target
126
- */
127
- value: function dispatch(event) {
128
- var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this;
129
- this.eventDispatcher.dispatchEvent(event, target);
130
- }
131
- /**
132
- * Adds a renderer to the System instance and initializes it.
133
- *
134
- * @param {Renderer} renderer - The renderer to add
135
- * @return {System}
136
- */
137
-
138
- }, {
139
- key: "addRenderer",
140
- value: function addRenderer(renderer) {
141
- this.renderers.push(renderer);
142
- renderer.init(this);
143
- return this;
144
- }
145
- /**
146
- * Removes a renderer from the System instance.
147
- *
148
- * @param {Renderer} renderer
149
- * @return {System}
150
- */
151
-
152
- }, {
153
- key: "removeRenderer",
154
- value: function removeRenderer(renderer) {
155
- this.renderers.splice(this.renderers.indexOf(renderer), 1);
156
- renderer.remove(this);
157
- return this;
158
- }
159
- /**
160
- * Adds an emitter to the System instance.
161
- * Dispatches the EMITTER_ADDED event.
162
- *
163
- * @param {Emitter} emitter - The emitter to add
164
- * @return {System}
165
- */
166
-
167
- }, {
168
- key: "addEmitter",
169
- value: function addEmitter(emitter) {
170
- var index = this.emitters.length;
171
- emitter.parent = this;
172
- emitter.index = index;
173
- this.emitters.push(emitter);
174
- this.dispatch(_events.EMITTER_ADDED, emitter);
175
- return this;
176
- }
177
- /**
178
- * Removes an emitter from the System instance.
179
- * Dispatches the EMITTER_REMOVED event.
180
- *
181
- * @param {Emitter} emitter - The emitter to remove
182
- * @return {System}
183
- */
184
-
185
- }, {
186
- key: "removeEmitter",
187
- value: function removeEmitter(emitter) {
188
- if (emitter.parent !== this) {
189
- return this;
190
- }
191
-
192
- emitter.parent = null;
193
- emitter.index = undefined;
194
- this.emitters.splice(this.emitters.indexOf(emitter), 1);
195
- this.dispatch(_events.EMITTER_REMOVED, emitter);
196
- return this;
197
- }
198
- /**
199
- * Wires up life cycle methods and causes a system's emitters to emit particles.
200
- * Expects emitters to have their totalEmitTimes and life set already.
201
- * Inifnite systems will resolve immediately.
202
- *
203
- * @param {object} hooks - Functions to hook into the life cycle API
204
- * @param {function} hooks.onStart - Called when the system starts to emit particles
205
- * @param {function} hooks.onUpdate - Called each time the system updates
206
- * @param {function} hooks.onEnd - Called when the system's emitters have all died
207
- * @return {Promise}
208
- */
209
-
210
- }, {
211
- key: "emit",
212
- value: function emit(_ref) {
213
- var onStart = _ref.onStart,
214
- onUpdate = _ref.onUpdate,
215
- onEnd = _ref.onEnd;
216
-
217
- if (onStart) {
218
- onStart();
219
- }
220
-
221
- if (onUpdate) {
222
- this.eventDispatcher.addEventListener(_events.SYSTEM_UPDATE, onUpdate);
223
- }
224
-
225
- var emitters = this.emitters.map(function (emitter) {
226
- var life = emitter.life;
227
-
228
- if (life === Infinity) {
229
- if (onEnd) {
230
- onEnd();
231
- }
232
-
233
- emitter.experimental_emit();
234
- return Promise.resolve();
235
- }
236
-
237
- return new Promise(function (resolve) {
238
- emitter.addOnEmitterDeadEventListener(function () {
239
- if (onEnd) {
240
- onEnd();
241
- }
242
-
243
- resolve();
244
- });
245
- emitter.experimental_emit();
246
- });
247
- });
248
-
249
- try {
250
- return Promise.all(emitters);
251
- } catch (e) {
252
- console.warn(e);
253
- }
254
- }
255
- /**
256
- * Updates the particle system based on the delta passed.
257
- *
258
- * @example
259
- * animate = () => {
260
- * threeRenderer.render(threeScene, threeCamera);
261
- * system.update();
262
- * requestAnimationFrame(animate);
263
- * }
264
- * animate();
265
- *
266
- * @param {number} delta - Delta time
267
- * @return {Promise}
268
- */
269
-
270
- }, {
271
- key: "update",
272
- value: function update() {
273
- var delta = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants.DEFAULT_SYSTEM_DELTA;
274
- var d = delta || _constants.DEFAULT_SYSTEM_DELTA;
275
-
276
- if (this.canUpdate) {
277
- if (d > 0) {
278
- var i = this.emitters.length;
279
-
280
- while (i--) {
281
- var emitter = this.emitters[i];
282
- emitter.update(d);
283
- emitter.isEmitting && this.dispatch(_events.SYSTEM_UPDATE);
284
- }
285
- }
286
-
287
- this.dispatch(_events.SYSTEM_UPDATE_AFTER);
288
- }
289
-
290
- return Promise.resolve();
291
- }
292
- /**
293
- * Gets a count of the total number of particles in the system.
294
- *
295
- * @return {integer}
296
- */
297
-
298
- }, {
299
- key: "getCount",
300
- value: function getCount() {
301
- var length = this.emitters.length;
302
- var total = 0;
303
- var i;
304
-
305
- for (i = 0; i < length; i++) {
306
- total += this.emitters[i].particles.length;
307
- }
308
-
309
- return total;
310
- }
311
- /**
312
- * Destroys all emitters, renderers and the Nebula pool.
313
- * Ensures that this.update will not perform any operations while the system
314
- * is being destroyed.
315
- *
316
- * @return void
317
- */
318
-
319
- }, {
320
- key: "destroy",
321
- value: function destroy() {
322
- var length = this.emitters.length;
323
- this.canUpdate = false;
324
-
325
- for (var e = 0; e < length; e++) {
326
- this.emitters[e] && this.emitters[e].destroy();
327
- delete this.emitters[e];
328
- }
329
-
330
- for (var r = 0; r < length; r++) {
331
- if (this.renderers[r] && this.renderers[r].destroy) {
332
- this.renderers[r].destroy();
333
- delete this.renderers[r];
334
- }
335
- }
336
-
337
- this.emitters.length = 0;
338
- this.pool.destroy();
339
- this.canUpdate = true;
340
- }
341
- }], [{
342
- key: "fromJSON",
343
- value: function fromJSON(json, THREE) {
344
- return (0, _fromJSON2["default"])(json, THREE, System, _Emitter["default"]);
345
- }
346
- /**
347
- * Loads a System instance from JSON asynchronously. Ensures all textures are
348
- * fully loaded before resolving with the instantiated System instance.
349
- *
350
- * @param {object} json - The JSON to create the System instance from
351
- * @param {object} THREE - The Web GL Api to use eg., THREE
352
- * @param {?object} options - Optional config options
353
- * @return {Promise<System>}
354
- */
355
-
356
- }, {
357
- key: "fromJSONAsync",
358
- value: function fromJSONAsync(json, THREE, options) {
359
- return (0, _fromJSONAsync2["default"])(json, THREE, System, _Emitter["default"], options);
360
- }
361
- }]);
362
- return System;
363
- }();
364
-
365
- exports["default"] = System;
366
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL1N5c3RlbS5qcyJdLCJuYW1lcyI6WyJTeXN0ZW0iLCJwcmVQYXJ0aWNsZXMiLCJQT09MX01BWCIsImludGVncmF0aW9uVHlwZSIsIklOVEVHUkFUSU9OX1RZUEVfRVVMRVIiLCJ0eXBlIiwiY2FuVXBkYXRlIiwiZW1pdHRlcnMiLCJyZW5kZXJlcnMiLCJwb29sIiwiUG9vbCIsImV2ZW50RGlzcGF0Y2hlciIsIkV2ZW50RGlzcGF0Y2hlciIsImV2ZW50IiwidGFyZ2V0IiwiZGlzcGF0Y2hFdmVudCIsInJlbmRlcmVyIiwicHVzaCIsImluaXQiLCJzcGxpY2UiLCJpbmRleE9mIiwicmVtb3ZlIiwiZW1pdHRlciIsImluZGV4IiwibGVuZ3RoIiwicGFyZW50IiwiZGlzcGF0Y2giLCJFTUlUVEVSX0FEREVEIiwidW5kZWZpbmVkIiwiRU1JVFRFUl9SRU1PVkVEIiwib25TdGFydCIsIm9uVXBkYXRlIiwib25FbmQiLCJhZGRFdmVudExpc3RlbmVyIiwiU1lTVEVNX1VQREFURSIsIm1hcCIsImxpZmUiLCJJbmZpbml0eSIsImV4cGVyaW1lbnRhbF9lbWl0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJhZGRPbkVtaXR0ZXJEZWFkRXZlbnRMaXN0ZW5lciIsImFsbCIsImUiLCJjb25zb2xlIiwid2FybiIsImRlbHRhIiwiREVGQVVMVF9TWVNURU1fREVMVEEiLCJkIiwiaSIsInVwZGF0ZSIsImlzRW1pdHRpbmciLCJTWVNURU1fVVBEQVRFX0FGVEVSIiwidG90YWwiLCJwYXJ0aWNsZXMiLCJkZXN0cm95IiwiciIsImpzb24iLCJUSFJFRSIsIkVtaXR0ZXIiLCJvcHRpb25zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFPQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ3FCQSxNO0FBQ25CO0FBQ0Y7QUFDQTtBQUNBO0FB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bUIsQ0FBQyxFQUE3QixFQUFpQztBQUMvQixhQUFLcEMsUUFBTCxDQUFjb0MsQ0FBZCxLQUFvQixLQUFLcEMsUUFBTCxDQUFjb0MsQ0FBZCxFQUFpQlksT0FBakIsRUFBcEI7QUFDQSxlQUFPLEtBQUtoRCxRQUFMLENBQWNvQyxDQUFkLENBQVA7QUFDRDs7QUFFRCxXQUFLLElBQUlhLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUdoQyxNQUFwQixFQUE0QmdDLENBQUMsRUFBN0IsRUFBaUM7QUFDL0IsWUFBSSxLQUFLaEQsU0FBTCxDQUFlZ0QsQ0FBZixLQUFxQixLQUFLaEQsU0FBTCxDQUFlZ0QsQ0FBZixFQUFrQkQsT0FBM0MsRUFBb0Q7QUFDbEQsZUFBSy9DLFNBQUwsQ0FBZWdELENBQWYsRUFBa0JELE9BQWxCO0FBQ0EsaUJBQU8sS0FBSy9DLFNBQUwsQ0FBZWdELENBQWYsQ0FBUDtBQUNEO0FBQ0Y7O0FBRUQsV0FBS2pELFFBQUwsQ0FBY2lCLE1BQWQsR0FBdUIsQ0FBdkI7QUFDQSxXQUFLZixJQUFMLENBQVU4QyxPQUFWO0FBQ0EsV0FBS2pELFNBQUwsR0FBaUIsSUFBakI7QUFDRDs7OzZCQW5PZW1ELEksRUFBTUMsSyxFQUFPO0FBQzNCLGFBQU8sMkJBQVNELElBQVQsRUFBZUMsS0FBZixFQUFzQjFELE1BQXRCLEVBQThCMkQsbUJBQTlCLENBQVA7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztrQ0FDdUJGLEksRUFBTUMsSyxFQUFPRSxPLEVBQVM7QUFDekMsYUFBTyxnQ0FBY0gsSUFBZCxFQUFvQkMsS0FBcEIsRUFBMkIxRCxNQUEzQixFQUFtQzJELG1CQUFuQyxFQUE0Q0MsT0FBNUMsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEV2ZW50RGlzcGF0Y2hlciwge1xuICBFTUlUVEVSX0FEREVELFxuICBFTUlUVEVSX1JFTU9WRUQsXG4gIFNZU1RFTV9VUERBVEUsXG4gIFNZU1RFTV9VUERBVEVfQUZURVIsXG59IGZyb20gJy4uL2V2ZW50cyc7XG5cbmltcG9ydCB7IERFRkFVTFRfU1lTVEVNX0RFTFRBIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IEVtaXR0ZXIgZnJvbSAnLi4vZW1pdHRlci9FbWl0dGVyJztcbmltcG9ydCB7IElOVEVHUkFUSU9OX1RZUEVfRVVMRVIgfSBmcm9tICcuLi9tYXRoL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBQT09MX01BWCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgUG9vbCBmcm9tICcuL1Bvb2wnO1xuaW1wb3J0IGZyb21KU09OIGZyb20gJy4vZnJvbUpTT04nO1xuaW1wb3J0IGZyb21KU09OQXN5bmMgZnJvbSAnLi9mcm9tSlNPTkFzeW5jJztcbmltcG9ydCB7IENPUkVfVFlQRV9TWVNURU0gYXMgdHlwZSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIFRoZSBjb3JlIG9mIHRoZSB0aHJlZS1zeXN0ZW0gcGFydGljbGUgZW5naW5lLlxuICogQSBTeXN0ZW0gaW5zdGFuY2UgY2FuIGNvbnRhaW4gbXVsdGlwbGUgZW1pdHRlcnMsIGVhY2ggd2l0aCB0aGVpciBvd24gaW5pdGlhbGl6ZXJzXG4gKiBhbmQgYmVoYXZpb3Vycy5cbiAqXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFN5c3RlbSB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgU3lzdGVtIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0gVEhSRUUgLSBUaHJlZUpzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbcHJlUGFydGljbGVzPVBPT0xfTUFYXSAtIFRoZSBudW1iZXIgb2YgcGFydGljbGVzIHRvIHN0YXJ0IHdpdGhcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtpbnRlZ3JhdGlvblR5cGU9SU5URUdSQVRJT05fVFlQRV9FVUxFUl0gLSBUaGUgaW50ZWdyYXRpb24gdHlwZSB0byB1c2VcbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcmVQYXJ0aWNsZXMgPSBQT09MX01BWCxcbiAgICBpbnRlZ3JhdGlvblR5cGUgPSBJTlRFR1JBVElPTl9UWVBFX0VVTEVSXG4gICkge1xuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSBjbGFzcyB0eXBlLlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgdGhpcy50eXBlID0gdHlwZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIERldGVybWluZXMgaWYgdGhlIHN5c3RlbSBjYW4gdXBkYXRlIG9yIG5vdC4gU2V0IHRvIGZhbHNlIHdoZW4gZGVzdHJveWluZ1xuICAgICAqIHRvIGVuc3VyZSB0aGF0IGV4dGVybmFsIGNhbGxzIHRvIHVwZGF0ZSBkbyBub3QgdGhyb3cgZXJyb3JzLlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIHRoaXMuY2FuVXBkYXRlID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSBudW1iZXIgb2YgcGFydGljbGVzIHRvIHN0YXJ0IHdpdGguXG4gICAgICogQHR5cGUge251bWJlcn1cbiAgICAgKi9cbiAgICB0aGlzLnByZVBhcnRpY2xlcyA9IHByZVBhcnRpY2xlcztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSBpbnRlZ3JhdGlvbiBhbGdvcml0aG0gdHlwZSB0byB1c2UuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9XG4gICAgICovXG4gICAgdGhpcy5pbnRlZ3JhdGlvblR5cGUgPSBpbnRlZ3JhdGlvblR5cGU7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgZW1pdHRlcnMgaW4gdGhlIHBhcnRpY2xlIHN5c3RlbS5cbiAgICAgKiBAdHlwZSB7YXJyYXk8RW1pdHRlcj59XG4gICAgICovXG4gICAgdGhpcy5lbWl0dGVycyA9IFtdO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIHJlbmRlcmVycyBmb3IgdGhlIHN5c3RlbS5cbiAgICAgKiBAdHlwZSB7YXJyYXk8UmVuZGVyZXI+fVxuICAgICAqL1xuICAgIHRoaXMucmVuZGVyZXJzID0gW107XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBBIHBvb2wgdXNlZCB0byBtYW5hZ2UgdGhlIGludGVybmFsIHN5c3RlbSBjYWNoZSBvZiBvYmplY3RzXG4gICAgICogQHR5cGUge1Bvb2x9XG4gICAgICovXG4gICAgdGhpcy5wb29sID0gbmV3IFBvb2woKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIEludGVybmFsIGV2ZW50IGRpc3BhdGNoZXJcbiAgICAgKiBAdHlwZSB7RXZlbnREaXNwYXRjaGVyfVxuICAgICAqL1xuICAgIHRoaXMuZXZlbnREaXNwYXRjaGVyID0gbmV3IEV2ZW50RGlzcGF0Y2hlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBTeXN0ZW0gaW5zdGFuY2UgZnJvbSBhIEpTT04gb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0ganNvbiAtIFRoZSBKU09OIHRvIGNyZWF0ZSB0aGUgU3lzdGVtIGluc3RhbmNlIGZyb21cbiAgICogQHBhcmFtIHtvYmplY3R9IFRIUkVFIC0gVGhlIFdlYiBHTCBBcGkgdG8gdXNlIGVnLiwgVEhSRUVcbiAgICogQHJldHVybiB7U3lzdGVtfVxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCB1c2UgZnJvbUpTT05Bc3luYyBpbnN0ZWFkXG4gICAqL1xuICBzdGF0aWMgZnJvbUpTT04oanNvbiwgVEhSRUUpIHtcbiAgICByZXR1cm4gZnJvbUpTT04oanNvbiwgVEhSRUUsIFN5c3RlbSwgRW1pdHRlcik7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgYSBTeXN0ZW0gaW5zdGFuY2UgZnJvbSBKU09OIGFzeW5jaHJvbm91c2x5LiBFbnN1cmVzIGFsbCB0ZXh0dXJlcyBhcmVcbiAgICogZnVsbHkgbG9hZGVkIGJlZm9yZSByZXNvbHZpbmcgd2l0aCB0aGUgaW5zdGFudGlhdGVkIFN5c3RlbSBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IGpzb24gLSBUaGUgSlNPTiB0byBjcmVhdGUgdGhlIFN5c3RlbSBpbnN0YW5jZSBmcm9tXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBUSFJFRSAtIFRoZSBXZWIgR0wgQXBpIHRvIHVzZSBlZy4sIFRIUkVFXG4gICAqIEBwYXJhbSB7P29iamVjdH0gb3B0aW9ucyAtIE9wdGlvbmFsIGNvbmZpZyBvcHRpb25zXG4gICAqIEByZXR1cm4ge1Byb21pc2U8U3lzdGVtPn1cbiAgICovXG4gIHN0YXRpYyBmcm9tSlNPTkFzeW5jKGpzb24sIFRIUkVFLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIGZyb21KU09OQXN5bmMoanNvbiwgVEhSRUUsIFN5c3RlbSwgRW1pdHRlciwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUHJveHkgbWV0aG9kIGZvciB0aGUgaW50ZXJuYWwgZXZlbnQgZGlzcGF0Y2hlcidzIGRpc3BhdGNoRXZlbnQgbWV0aG9kLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnQgLSBUaGUgZXZlbnQgdG8gZGlzcGF0Y2hcbiAgICogQHBhcmFtIHtvYmplY3Q8U3lzdGVtfEVtaXR0ZXJ8UGFydGljbGU+fSBbdGFyZ2V0PXRoaXNdIC0gVGhlIGV2ZW50IHRhcmdldFxuICAgKi9cbiAgZGlzcGF0Y2goZXZlbnQsIHRhcmdldCA9IHRoaXMpIHtcbiAgICB0aGlzLmV2ZW50RGlzcGF0Y2hlci5kaXNwYXRjaEV2ZW50KGV2ZW50LCB0YXJnZXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSByZW5kZXJlciB0byB0aGUgU3lzdGVtIGluc3RhbmNlIGFuZCBpbml0aWFsaXplcyBpdC5cbiAgICpcbiAgICogQHBhcmFtIHtSZW5kZXJlcn0gcmVuZGVyZXIgLSBUaGUgcmVuZGVyZXIgdG8gYWRkXG4gICAqIEByZXR1cm4ge1N5c3RlbX1cbiAgICovXG4gIGFkZFJlbmRlcmVyKHJlbmRlcmVyKSB7XG4gICAgdGhpcy5yZW5kZXJlcnMucHVzaChyZW5kZXJlcik7XG4gICAgcmVuZGVyZXIuaW5pdCh0aGlzKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSByZW5kZXJlciBmcm9tIHRoZSBTeXN0ZW0gaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVuZGVyZXJ9IHJlbmRlcmVyXG4gICAqIEByZXR1cm4ge1N5c3RlbX1cbiAgICovXG4gIHJlbW92ZVJlbmRlcmVyKHJlbmRlcmVyKSB7XG4gICAgdGhpcy5yZW5kZXJlcnMuc3BsaWNlKHRoaXMucmVuZGVyZXJzLmluZGV4T2YocmVuZGVyZXIpLCAxKTtcbiAgICByZW5kZXJlci5yZW1vdmUodGhpcyk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFuIGVtaXR0ZXIgdG8gdGhlIFN5c3RlbSBpbnN0YW5jZS5cbiAgICogRGlzcGF0Y2hlcyB0aGUgRU1JVFRFUl9BRERFRCBldmVudC5cbiAgICpcbiAgICogQHBhcmFtIHtFbWl0dGVyfSBlbWl0dGVyIC0gVGhlIGVtaXR0ZXIgdG8gYWRkXG4gICAqIEByZXR1cm4ge1N5c3RlbX1cbiAgICovXG4gIGFkZEVtaXR0ZXIoZW1pdHRlcikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5lbWl0dGVycy5sZW5ndGg7XG5cbiAgICBlbWl0dGVyLnBhcmVudCA9IHRoaXM7XG4gICAgZW1pdHRlci5pbmRleCA9IGluZGV4O1xuXG4gICAgdGhpcy5lbWl0dGVycy5wdXNoKGVtaXR0ZXIpO1xuICAgIHRoaXMuZGlzcGF0Y2goRU1JVFRFUl9BRERFRCwgZW1pdHRlcik7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGFuIGVtaXR0ZXIgZnJvbSB0aGUgU3lzdGVtIGluc3RhbmNlLlxuICAgKiBEaXNwYXRjaGVzIHRoZSBFTUlUVEVSX1JFTU9WRUQgZXZlbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7RW1pdHRlcn0gZW1pdHRlciAtIFRoZSBlbWl0dGVyIHRvIHJlbW92ZVxuICAgKiBAcmV0dXJuIHtTeXN0ZW19XG4gICAqL1xuICByZW1vdmVFbWl0dGVyKGVtaXR0ZXIpIHtcbiAgICBpZiAoZW1pdHRlci5wYXJlbnQgIT09IHRoaXMpIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIGVtaXR0ZXIucGFyZW50ID0gbnVsbDtcbiAgICBlbWl0dGVyLmluZGV4ID0gdW5kZWZpbmVkO1xuXG4gICAgdGhpcy5lbWl0dGVycy5zcGxpY2UodGhpcy5lbWl0dGVycy5pbmRleE9mKGVtaXR0ZXIpLCAxKTtcbiAgICB0aGlzLmRpc3BhdGNoKEVNSVRURVJfUkVNT1ZFRCwgZW1pdHRlcik7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBXaXJlcyB1cCBsaWZlIGN5Y2xlIG1ldGhvZHMgYW5kIGNhdXNlcyBhIHN5c3RlbSdzIGVtaXR0ZXJzIHRvIGVtaXQgcGFydGljbGVzLlxuICAgKiBFeHBlY3RzIGVtaXR0ZXJzIHRvIGhhdmUgdGhlaXIgdG90YWxFbWl0VGltZXMgYW5kIGxpZmUgc2V0IGFscmVhZHkuXG4gICAqIEluaWZuaXRlIHN5c3RlbXMgd2lsbCByZXNvbHZlIGltbWVkaWF0ZWx5LlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0gaG9va3MgLSBGdW5jdGlvbnMgdG8gaG9vayBpbnRvIHRoZSBsaWZlIGN5Y2xlIEFQSVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBob29rcy5vblN0YXJ0IC0gQ2FsbGVkIHdoZW4gdGhlIHN5c3RlbSBzdGFydHMgdG8gZW1pdCBwYXJ0aWNsZXNcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gaG9va3Mub25VcGRhdGUgLSBDYWxsZWQgZWFjaCB0aW1lIHRoZSBzeXN0ZW0gdXBkYXRlc1xuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBob29rcy5vbkVuZCAtIENhbGxlZCB3aGVuIHRoZSBzeXN0ZW0ncyBlbWl0dGVycyBoYXZlIGFsbCBkaWVkXG4gICAqIEByZXR1cm4ge1Byb21pc2V9XG4gICAqL1xuICBlbWl0KHsgb25TdGFydCwgb25VcGRhdGUsIG9uRW5kIH0pIHtcbiAgICBpZiAob25TdGFydCkge1xuICAgICAgb25TdGFydCgpO1xuICAgIH1cblxuICAgIGlmIChvblVwZGF0ZSkge1xuICAgICAgdGhpcy5ldmVudERpc3BhdGNoZXIuYWRkRXZlbnRMaXN0ZW5lcihTWVNURU1fVVBEQVRFLCBvblVwZGF0ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgZW1pdHRlcnMgPSB0aGlzLmVtaXR0ZXJzLm1hcChlbWl0dGVyID0+IHtcbiAgICAgIGNvbnN0IHsgbGlmZSB9ID0gZW1pdHRlcjtcblxuICAgICAgaWYgKGxpZmUgPT09IEluZmluaXR5KSB7XG4gICAgICAgIGlmIChvbkVuZCkge1xuICAgICAgICAgIG9uRW5kKCk7XG4gICAgICAgIH1cblxuICAgICAgICBlbWl0dGVyLmV4cGVyaW1lbnRhbF9lbWl0KCk7XG5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICAgIGVtaXR0ZXIuYWRkT25FbWl0dGVyRGVhZEV2ZW50TGlzdGVuZXIoKCkgPT4ge1xuICAgICAgICAgIGlmIChvbkVuZCkge1xuICAgICAgICAgICAgb25FbmQoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGVtaXR0ZXIuZXhwZXJpbWVudGFsX2VtaXQoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBQcm9taXNlLmFsbChlbWl0dGVycyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS53YXJuKGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBwYXJ0aWNsZSBzeXN0ZW0gYmFzZWQgb24gdGhlIGRlbHRhIHBhc3NlZC5cbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogYW5pbWF0ZSA9ICgpID0+IHtcbiAgICogICB0aHJlZVJlbmRlcmVyLnJlbmRlcih0aHJlZVNjZW5lLCB0aHJlZUNhbWVyYSk7XG4gICAqICAgc3lzdGVtLnVwZGF0ZSgpO1xuICAgKiAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShhbmltYXRlKTtcbiAgICogfVxuICAgKiBhbmltYXRlKCk7XG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBkZWx0YSAtIERlbHRhIHRpbWVcbiAgICogQHJldHVybiB7UHJvbWlzZX1cbiAgICovXG4gIHVwZGF0ZShkZWx0YSA9IERFRkFVTFRfU1lTVEVNX0RFTFRBKSB7XG4gICAgY29uc3QgZCA9IGRlbHRhIHx8IERFRkFVTFRfU1lTVEVNX0RFTFRBO1xuXG4gICAgaWYgKHRoaXMuY2FuVXBkYXRlKSB7XG4gICAgICBpZiAoZCA+IDApIHtcbiAgICAgICAgbGV0IGkgPSB0aGlzLmVtaXR0ZXJzLmxlbmd0aDtcblxuICAgICAgICB3aGlsZSAoaS0tKSB7XG4gICAgICAgICAgY29uc3QgZW1pdHRlciA9IHRoaXMuZW1pdHRlcnNbaV07XG5cbiAgICAgICAgICBlbWl0dGVyLnVwZGF0ZShkKTtcbiAgICAgICAgICBlbWl0dGVyLmlzRW1pdHRpbmcgJiYgdGhpcy5kaXNwYXRjaChTWVNURU1fVVBEQVRFKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLmRpc3BhdGNoKFNZU1RFTV9VUERBVEVfQUZURVIpO1xuICAgIH1cblxuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgY291bnQgb2YgdGhlIHRvdGFsIG51bWJlciBvZiBwYXJ0aWNsZXMgaW4gdGhlIHN5c3RlbS5cbiAgICpcbiAgICogQHJldHVybiB7aW50ZWdlcn1cbiAgICovXG4gIGdldENvdW50KCkge1xuICAgIGNvbnN0IGxlbmd0aCA9IHRoaXMuZW1pdHRlcnMubGVuZ3RoO1xuXG4gICAgbGV0IHRvdGFsID0gMDtcblxuICAgIGxldCBpO1xuXG4gICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICB0b3RhbCArPSB0aGlzLmVtaXR0ZXJzW2ldLnBhcnRpY2xlcy5sZW5ndGg7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRvdGFsO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIGFsbCBlbWl0dGVycywgcmVuZGVyZXJzIGFuZCB0aGUgTmVidWxhIHBvb2wuXG4gICAqIEVuc3VyZXMgdGhhdCB0aGlzLnVwZGF0ZSB3aWxsIG5vdCBwZXJmb3JtIGFueSBvcGVyYXRpb25zIHdoaWxlIHRoZSBzeXN0ZW1cbiAgICogaXMgYmVpbmcgZGVzdHJveWVkLlxuICAgKlxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGRlc3Ryb3koKSB7XG4gICAgY29uc3QgbGVuZ3RoID0gdGhpcy5lbWl0dGVycy5sZW5ndGg7XG5cbiAgICB0aGlzLmNhblVwZGF0ZSA9IGZhbHNlO1xuXG4gICAgZm9yIChsZXQgZSA9IDA7IGUgPCBsZW5ndGg7IGUrKykge1xuICAgICAgdGhpcy5lbWl0dGVyc1tlXSAmJiB0aGlzLmVtaXR0ZXJzW2VdLmRlc3Ryb3koKTtcbiAgICAgIGRlbGV0ZSB0aGlzLmVtaXR0ZXJzW2VdO1xuICAgIH1cblxuICAgIGZvciAobGV0IHIgPSAwOyByIDwgbGVuZ3RoOyByKyspIHtcbiAgICAgIGlmICh0aGlzLnJlbmRlcmVyc1tyXSAmJiB0aGlzLnJlbmRlcmVyc1tyXS5kZXN0cm95KSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXJzW3JdLmRlc3Ryb3koKTtcbiAgICAgICAgZGVsZXRlIHRoaXMucmVuZGVyZXJzW3JdO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZW1pdHRlcnMubGVuZ3RoID0gMDtcbiAgICB0aGlzLnBvb2wuZGVzdHJveSgpO1xuICAgIHRoaXMuY2FuVXBkYXRlID0gdHJ1ZTtcbiAgfVxufVxuIl19
@@ -1,163 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "INITIALIZER_TYPES_THAT_REQUIRE_THREE", {
7
- enumerable: true,
8
- get: function get() {
9
- return _types2.INITIALIZER_TYPES_THAT_REQUIRE_THREE;
10
- }
11
- });
12
- exports.SUPPORTED_JSON_ZONE_TYPES = exports.SUPPORTED_JSON_RENDERER_TYPES = exports.SUPPORTED_JSON_BEHAVIOUR_TYPES = exports.SUPPORTED_JSON_INITIALIZER_TYPES = exports.DEFAULT_SYSTEM_DELTA = exports.DEFAULT_EASING = exports.DEFAULT_USE_ALPHA = exports.DEFAULT_USE_COLOR = exports.DEFAULT_SCALE = exports.DEFAULT_ALPHA = exports.DEFAULT_RADIUS = exports.DEFAULT_MASS = exports.DEFAULT_PARENT = exports.DEFAULT_BODY = exports.DEFAULT_INDEX = exports.DEFAULT_SLEEP = exports.DEFAULT_DEAD = exports.DEFAULT_ENERGY = exports.DEFAULT_AGE = exports.DEFAULT_LIFE = void 0;
13
-
14
- var _types = require("../behaviour/types");
15
-
16
- var _types2 = require("../initializer/types");
17
-
18
- var _types3 = require("../zone/types");
19
-
20
- var _types4 = require("../renderer/types");
21
-
22
- var _ease = require("../ease");
23
-
24
- /**
25
- * @desc Default particle life
26
- * @type {number}
27
- */
28
- var DEFAULT_LIFE = Infinity;
29
- /**
30
- * @desc Default particle age
31
- * @type {number}
32
- */
33
-
34
- exports.DEFAULT_LIFE = DEFAULT_LIFE;
35
- var DEFAULT_AGE = 0;
36
- /**
37
- * @desc Default particle energy
38
- * @type {number}
39
- */
40
-
41
- exports.DEFAULT_AGE = DEFAULT_AGE;
42
- var DEFAULT_ENERGY = 1;
43
- /**
44
- * @desc Default particle dead
45
- * @type {boolean}
46
- */
47
-
48
- exports.DEFAULT_ENERGY = DEFAULT_ENERGY;
49
- var DEFAULT_DEAD = false;
50
- /**
51
- * @desc Default particle sleep
52
- * @type {boolean}
53
- */
54
-
55
- exports.DEFAULT_DEAD = DEFAULT_DEAD;
56
- var DEFAULT_SLEEP = false;
57
- /**
58
- * @desc Default particle index
59
- * @type {number}
60
- */
61
-
62
- exports.DEFAULT_SLEEP = DEFAULT_SLEEP;
63
- var DEFAULT_INDEX = 0;
64
- /**
65
- * @desc Default particle body
66
- * @type {?object}
67
- */
68
-
69
- exports.DEFAULT_INDEX = DEFAULT_INDEX;
70
- var DEFAULT_BODY = null;
71
- /**
72
- * @desc Default particle parent
73
- * @type {?Emitter}
74
- */
75
-
76
- exports.DEFAULT_BODY = DEFAULT_BODY;
77
- var DEFAULT_PARENT = null;
78
- /**
79
- * @desc Default particle mass
80
- * @type {number}
81
- */
82
-
83
- exports.DEFAULT_PARENT = DEFAULT_PARENT;
84
- var DEFAULT_MASS = 1;
85
- /**
86
- * @desc Default particle radius
87
- * @type {number}
88
- */
89
-
90
- exports.DEFAULT_MASS = DEFAULT_MASS;
91
- var DEFAULT_RADIUS = 10;
92
- /**
93
- * @desc Default particle alpha
94
- * @type {number}
95
- */
96
-
97
- exports.DEFAULT_RADIUS = DEFAULT_RADIUS;
98
- var DEFAULT_ALPHA = 1;
99
- /**
100
- * @desc Default particle scale
101
- * @type {number}
102
- */
103
-
104
- exports.DEFAULT_ALPHA = DEFAULT_ALPHA;
105
- var DEFAULT_SCALE = 1;
106
- /**
107
- * @desc Default particle useColor
108
- * @type {boolean}
109
- */
110
-
111
- exports.DEFAULT_SCALE = DEFAULT_SCALE;
112
- var DEFAULT_USE_COLOR = false;
113
- /**
114
- * @desc Default particle useAlpha
115
- * @type {boolean}
116
- */
117
-
118
- exports.DEFAULT_USE_COLOR = DEFAULT_USE_COLOR;
119
- var DEFAULT_USE_ALPHA = false;
120
- /**
121
- * @desc Default particle easing
122
- * @type {function}
123
- */
124
-
125
- exports.DEFAULT_USE_ALPHA = DEFAULT_USE_ALPHA;
126
- var DEFAULT_EASING = _ease.easeLinear;
127
- /**
128
- * @desc The default delta provided to the System instance
129
- * @type {number}
130
- */
131
-
132
- exports.DEFAULT_EASING = DEFAULT_EASING;
133
- var DEFAULT_SYSTEM_DELTA = 0.0167;
134
- /**
135
- * @desc The types of initializers supported by the System.fromJSON method.
136
- * @type {array<string>}
137
- */
138
-
139
- exports.DEFAULT_SYSTEM_DELTA = DEFAULT_SYSTEM_DELTA;
140
- var SUPPORTED_JSON_INITIALIZER_TYPES = [_types2.INITIALIZER_TYPE_POSITION, _types2.INITIALIZER_TYPE_LIFE, _types2.INITIALIZER_TYPE_RADIUS, _types2.INITIALIZER_TYPE_MASS, _types2.INITIALIZER_TYPE_BODY, _types2.INITIALIZER_TYPE_BODY_SPRITE, _types2.INITIALIZER_TYPE_TEXTURE, _types2.INITIALIZER_TYPE_POLAR_VELOCITY, _types2.INITIALIZER_TYPE_RADIAL_VELOCITY, _types2.INITIALIZER_TYPE_VECTOR_VELOCITY];
141
- /**
142
- * @desc The types of behaviours supported by the System.fromJSON method.
143
- * @type {array<string>}
144
- */
145
-
146
- exports.SUPPORTED_JSON_INITIALIZER_TYPES = SUPPORTED_JSON_INITIALIZER_TYPES;
147
- var SUPPORTED_JSON_BEHAVIOUR_TYPES = [_types.BEHAVIOUR_TYPE_ALPHA, _types.BEHAVIOUR_TYPE_ATTRACTION, _types.BEHAVIOUR_TYPE_COLOR, _types.BEHAVIOUR_TYPE_CROSS_ZONE, _types.BEHAVIOUR_TYPE_FORCE, _types.BEHAVIOUR_TYPE_GRAVITY, _types.BEHAVIOUR_TYPE_RANDOM_DRIFT, _types.BEHAVIOUR_TYPE_REPULSION, _types.BEHAVIOUR_TYPE_ROTATE, _types.BEHAVIOUR_TYPE_SCALE, _types.BEHAVIOUR_TYPE_SPRING];
148
- /**
149
- * @desc The types of renderers supported by the System.fromJSON method.
150
- * @type {array<string>}
151
- */
152
-
153
- exports.SUPPORTED_JSON_BEHAVIOUR_TYPES = SUPPORTED_JSON_BEHAVIOUR_TYPES;
154
- var SUPPORTED_JSON_RENDERER_TYPES = [_types4.RENDERER_TYPE_SPRITE];
155
- /**
156
- * @desc The types of zones supported by the System.fromJSON method.
157
- * @type {array<string>}
158
- */
159
-
160
- exports.SUPPORTED_JSON_RENDERER_TYPES = SUPPORTED_JSON_RENDERER_TYPES;
161
- var SUPPORTED_JSON_ZONE_TYPES = [_types3.ZONE_TYPE_BOX, _types3.ZONE_TYPE_LINE, _types3.ZONE_TYPE_MESH, _types3.ZONE_TYPE_POINT, _types3.ZONE_TYPE_SPHERE];
162
- exports.SUPPORTED_JSON_ZONE_TYPES = SUPPORTED_JSON_ZONE_TYPES;
163
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL2NvbnN0YW50cy5qcyJdLCJuYW1lcyI6WyJERUZBVUxUX0xJRkUiLCJJbmZpbml0eSIsIkRFRkFVTFRfQUdFIiwiREVGQVVMVF9FTkVSR1kiLCJERUZBVUxUX0RFQUQiLCJERUZBVUxUX1NMRUVQIiwiREVGQVVMVF9JTkRFWCIsIkRFRkFVTFRfQk9EWSIsIkRFRkFVTFRfUEFSRU5UIiwiREVGQVVMVF9NQVNTIiwiREVGQVVMVF9SQURJVVMiLCJERUZBVUxUX0FMUEhBIiwiREVGQVVMVF9TQ0FMRSIsIkRFRkFVTFRfVVNFX0NPTE9SIiwiREVGQVVMVF9VU0VfQUxQSEEiLCJERUZBVUxUX0VBU0lORyIsImVhc2VMaW5lYXIiLCJERUZBVUxUX1NZU1RFTV9ERUxUQSIsIlNVUFBPUlRFRF9KU09OX0lOSVRJQUxJWkVSX1RZUEVTIiwiSU5JVElBTElaRVJfVFlQRV9QT1NJVElPTiIsIklOSVRJQUxJWkVSX1RZUEVfTElGRSIsIklOSVRJQUxJWkVSX1RZUEVfUkFESVVTIiwiSU5JVElBTElaRVJfVFlQRV9NQVNTIiwiSU5JVElBTElaRVJfVFlQRV9CT0RZIiwiSU5JVElBTElaRVJfVFlQRV9CT0RZX1NQUklURSIsIklOSVRJQUxJWkVSX1RZUEVfVEVYVFVSRSIsIklOSVRJQUxJWkVSX1RZUEVfUE9MQVJfVkVMT0NJVFkiLCJJTklUSUFMSVpFUl9UWVBFX1JBRElBTF9WRUxPQ0lUWSIsIklOSVRJQUxJWkVSX1RZUEVfVkVDVE9SX1ZFTE9DSVRZIiwiU1VQUE9SVEVEX0pTT05fQkVIQVZJT1VSX1RZUEVTIiwiQkVIQVZJT1VSX1RZUEVfQUxQSEEiLCJCRUhBVklPVVJfVFlQRV9BVFRSQUNUSU9OIiwiQkVIQVZJT1VSX1RZUEVfQ09MT1IiLCJCRUhBVklPVVJfVFlQRV9DUk9TU19aT05FIiwiQkVIQVZJT1VSX1RZUEVfRk9SQ0UiLCJCRUhBVklPVVJfVFlQRV9HUkFWSVRZIiwiQkVIQVZJT1VSX1RZUEVfUkFORE9NX0RSSUZUIiwiQkVIQVZJT1VSX1RZUEVfUkVQVUxTSU9OIiwiQkVIQVZJT1VSX1RZUEVfUk9UQVRFIiwiQkVIQVZJT1VSX1RZUEVfU0NBTEUiLCJCRUhBVklPVVJfVFlQRV9TUFJJTkciLCJTVVBQT1JURURfSlNPTl9SRU5ERVJFUl9UWVBFUyIsIlJFTkRFUkVSX1RZUEVfU1BSSVRFIiwiU1VQUE9SVEVEX0pTT05fWk9ORV9UWVBFUyIsIlpPTkVfVFlQRV9CT1giLCJaT05FX1RZUEVfTElORSIsIlpPTkVfVFlQRV9NRVNIIiwiWk9ORV9UWVBFX1BPSU5UIiwiWk9ORV9UWVBFX1NQSEVSRSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQWFBOztBQVlBOztBQVFBOztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sSUFBTUEsWUFBWSxHQUFHQyxRQUFyQjtBQUNQO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxXQUFXLEdBQUcsQ0FBcEI7QUFDUDtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsY0FBYyxHQUFHLENBQXZCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLFlBQVksR0FBRyxLQUFyQjtBQUNQO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxhQUFhLEdBQUcsS0FBdEI7QUFFUDtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsYUFBYSxHQUFHLENBQXRCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLFlBQVksR0FBRyxJQUFyQjtBQUNQO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxjQUFjLEdBQUcsSUFBdkI7QUFDUDtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsWUFBWSxHQUFHLENBQXJCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGNBQWMsR0FBRyxFQUF2QjtBQUNQO0FBQ0E7QUFDQTtBQUNBOzs7QUFDTyxJQUFNQyxhQUFhLEdBQUcsQ0FBdEI7QUFDUDtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsYUFBYSxHQUFHLENBQXRCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGlCQUFpQixHQUFHLEtBQTFCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGlCQUFpQixHQUFHLEtBQTFCO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGNBQWMsR0FBR0MsZ0JBQXZCO0FBRVA7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLG9CQUFvQixHQUFHLE1BQTdCO0FBRVA7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLGdDQUFnQyxHQUFHLENBQzlDQyxpQ0FEOEMsRUFFOUNDLDZCQUY4QyxFQUc5Q0MsK0JBSDhDLEVBSTlDQyw2QkFKOEMsRUFLOUNDLDZCQUw4QyxFQU05Q0Msb0NBTjhDLEVBTzlDQyxnQ0FQOEMsRUFROUNDLHVDQVI4QyxFQVM5Q0Msd0NBVDhDLEVBVTlDQyx3Q0FWOEMsQ0FBekM7QUFhUDtBQUNBO0FBQ0E7QUFDQTs7O0FBQ08sSUFBTUMsOEJBQThCLEdBQUcsQ0FDNUNDLDJCQUQ0QyxFQUU1Q0MsZ0NBRjRDLEVBRzVDQywyQkFINEMsRUFJNUNDLGdDQUo0QyxFQUs1Q0MsMkJBTDRDLEVBTTVDQyw2QkFONEMsRUFPNUNDLGtDQVA0QyxFQVE1Q0MsK0JBUjRDLEVBUzVDQyw0QkFUNEMsRUFVNUNDLDJCQVY0QyxFQVc1Q0MsNEJBWDRDLENBQXZDO0FBY1A7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLDZCQUE2QixHQUFHLENBQUNDLDRCQUFELENBQXRDO0FBRVA7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLElBQU1DLHlCQUF5QixHQUFHLENBQ3ZDQyxxQkFEdUMsRUFFdkNDLHNCQUZ1QyxFQUd2Q0Msc0JBSHVDLEVBSXZDQyx1QkFKdUMsRUFLdkNDLHdCQUx1QyxDQUFsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJFSEFWSU9VUl9UWVBFX0FMUEhBLFxuICBCRUhBVklPVVJfVFlQRV9BVFRSQUNUSU9OLFxuICBCRUhBVklPVVJfVFlQRV9DT0xPUixcbiAgQkVIQVZJT1VSX1RZUEVfQ1JPU1NfWk9ORSxcbiAgQkVIQVZJT1VSX1RZUEVfRk9SQ0UsXG4gIEJFSEFWSU9VUl9UWVBFX0dSQVZJVFksXG4gIEJFSEFWSU9VUl9UWVBFX1JBTkRPTV9EUklGVCxcbiAgQkVIQVZJT1VSX1RZUEVfUkVQVUxTSU9OLFxuICBCRUhBVklPVVJfVFlQRV9ST1RBVEUsXG4gIEJFSEFWSU9VUl9UWVBFX1NDQUxFLFxuICBCRUhBVklPVVJfVFlQRV9TUFJJTkcsXG59IGZyb20gJy4uL2JlaGF2aW91ci90eXBlcyc7XG5pbXBvcnQge1xuICBJTklUSUFMSVpFUl9UWVBFX0JPRFksXG4gIElOSVRJQUxJWkVSX1RZUEVfQk9EWV9TUFJJVEUsXG4gIElOSVRJQUxJWkVSX1RZUEVfTElGRSxcbiAgSU5JVElBTElaRVJfVFlQRV9NQVNTLFxuICBJTklUSUFMSVpFUl9UWVBFX1BPTEFSX1ZFTE9DSVRZLFxuICBJTklUSUFMSVpFUl9UWVBFX1BPU0lUSU9OLFxuICBJTklUSUFMSVpFUl9UWVBFX1JBRElBTF9WRUxPQ0lUWSxcbiAgSU5JVElBTElaRVJfVFlQRV9SQURJVVMsXG4gIElOSVRJQUxJWkVSX1RZUEVfVEVYVFVSRSxcbiAgSU5JVElBTElaRVJfVFlQRV9WRUNUT1JfVkVMT0NJVFksXG59IGZyb20gJy4uL2luaXRpYWxpemVyL3R5cGVzJztcbmltcG9ydCB7XG4gIFpPTkVfVFlQRV9CT1gsXG4gIFpPTkVfVFlQRV9MSU5FLFxuICBaT05FX1RZUEVfTUVTSCxcbiAgWk9ORV9UWVBFX1BPSU5ULFxuICBaT05FX1RZUEVfU1BIRVJFLFxufSBmcm9tICcuLi96b25lL3R5cGVzJztcblxuaW1wb3J0IHsgUkVOREVSRVJfVFlQRV9TUFJJVEUgfSBmcm9tICcuLi9yZW5kZXJlci90eXBlcyc7XG5pbXBvcnQgeyBlYXNlTGluZWFyIH0gZnJvbSAnLi4vZWFzZSc7XG5cbi8qKlxuICogQGRlc2MgRGVmYXVsdCBwYXJ0aWNsZSBsaWZlXG4gKiBAdHlwZSB7bnVtYmVyfVxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9MSUZFID0gSW5maW5pdHk7XG4vKipcbiAqIEBkZXNjIERlZmF1bHQgcGFydGljbGUgYWdlXG4gKiBAdHlwZSB7bnVtYmVyfVxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9BR0UgPSAwO1xuLyoqXG4gKiBAZGVzYyBEZWZhdWx0IHBhcnRpY2xlIGVuZXJneVxuICogQHR5cGUge251bWJlcn1cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRU5FUkdZID0gMTtcbi8qKlxuICogQGRlc2MgRGVmYXVsdCBwYXJ0aWNsZSBkZWFkXG4gKiBAdHlwZSB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfREVBRCA9IGZhbHNlO1xuLyoqXG4gKiBAZGVzYyBEZWZhdWx0IHBhcnRpY2xlIHNsZWVwXG4gKiBAdHlwZSB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0xFRVAgPSBmYWxzZTtcblxuLyoqXG4gKiBAZGVzYyBEZWZhdWx0IHBhcnRpY2xlIGluZGV4XG4gKiBAdHlwZSB7bnVtYmVyfVxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTkRFWCA9IDA7XG4vKipcbiAqIEBkZXNjIERlZmF1bHQgcGFydGljbGUgYm9keVxuICogQHR5cGUgez9vYmplY3R9XG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0JPRFkgPSBudWxsO1xuLyoqXG4gKiBAZGVzYyBEZWZhdWx0IHBhcnRpY2xlIHBhcmVudFxuICogQHR5cGUgez9FbWl0dGVyfVxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9QQVJFTlQgPSBudWxsO1xuLyoqXG4gKiBAZGVzYyBEZWZhdWx0IHBhcnRpY2xlIG1hc3NcbiAqIEB0eXBlIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BU1MgPSAxO1xuLyoqXG4gKiBAZGVzYyBEZWZhdWx0IHBhcnRpY2xlIHJhZGl1c1xuICogQHR5cGUge251bWJlcn1cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUkFESVVTID0gMTA7XG4vKipcbiAqIEBkZXNjIERlZmF1bHQgcGFydGljbGUgYWxwaGFcbiAqIEB0eXBlIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FMUEhBID0gMTtcbi8qKlxuICogQGRlc2MgRGVmYXVsdCBwYXJ0aWNsZSBzY2FsZVxuICogQHR5cGUge251bWJlcn1cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU0NBTEUgPSAxO1xuLyoqXG4gKiBAZGVzYyBEZWZhdWx0IHBhcnRpY2xlIHVzZUNvbG9yXG4gKiBAdHlwZSB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfVVNFX0NPTE9SID0gZmFsc2U7XG4vKipcbiAqIEBkZXNjIERlZmF1bHQgcGFydGljbGUgdXNlQWxwaGFcbiAqIEB0eXBlIHtib29sZWFufVxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9VU0VfQUxQSEEgPSBmYWxzZTtcbi8qKlxuICogQGRlc2MgRGVmYXVsdCBwYXJ0aWNsZSBlYXNpbmdcbiAqIEB0eXBlIHtmdW5jdGlvbn1cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRUFTSU5HID0gZWFzZUxpbmVhcjtcblxuLyoqXG4gKiBAZGVzYyBUaGUgZGVmYXVsdCBkZWx0YSBwcm92aWRlZCB0byB0aGUgU3lzdGVtIGluc3RhbmNlXG4gKiBAdHlwZSB7bnVtYmVyfVxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9TWVNURU1fREVMVEEgPSAwLjAxNjc7XG5cbi8qKlxuICogQGRlc2MgVGhlIHR5cGVzIG9mIGluaXRpYWxpemVycyBzdXBwb3J0ZWQgYnkgdGhlIFN5c3RlbS5mcm9tSlNPTiBtZXRob2QuXG4gKiBAdHlwZSB7YXJyYXk8c3RyaW5nPn1cbiAqL1xuZXhwb3J0IGNvbnN0IFNVUFBPUlRFRF9KU09OX0lOSVRJQUxJWkVSX1RZUEVTID0gW1xuICBJTklUSUFMSVpFUl9UWVBFX1BPU0lUSU9OLFxuICBJTklUSUFMSVpFUl9UWVBFX0xJRkUsXG4gIElOSVRJQUxJWkVSX1RZUEVfUkFESVVTLFxuICBJTklUSUFMSVpFUl9UWVBFX01BU1MsXG4gIElOSVRJQUxJWkVSX1RZUEVfQk9EWSxcbiAgSU5JVElBTElaRVJfVFlQRV9CT0RZX1NQUklURSxcbiAgSU5JVElBTElaRVJfVFlQRV9URVhUVVJFLFxuICBJTklUSUFMSVpFUl9UWVBFX1BPTEFSX1ZFTE9DSVRZLFxuICBJTklUSUFMSVpFUl9UWVBFX1JBRElBTF9WRUxPQ0lUWSxcbiAgSU5JVElBTElaRVJfVFlQRV9WRUNUT1JfVkVMT0NJVFksXG5dO1xuXG4vKipcbiAqIEBkZXNjIFRoZSB0eXBlcyBvZiBiZWhhdmlvdXJzIHN1cHBvcnRlZCBieSB0aGUgU3lzdGVtLmZyb21KU09OIG1ldGhvZC5cbiAqIEB0eXBlIHthcnJheTxzdHJpbmc+fVxuICovXG5leHBvcnQgY29uc3QgU1VQUE9SVEVEX0pTT05fQkVIQVZJT1VSX1RZUEVTID0gW1xuICBCRUhBVklPVVJfVFlQRV9BTFBIQSxcbiAgQkVIQVZJT1VSX1RZUEVfQVRUUkFDVElPTixcbiAgQkVIQVZJT1VSX1RZUEVfQ09MT1IsXG4gIEJFSEFWSU9VUl9UWVBFX0NST1NTX1pPTkUsXG4gIEJFSEFWSU9VUl9UWVBFX0ZPUkNFLFxuICBCRUhBVklPVVJfVFlQRV9HUkFWSVRZLFxuICBCRUhBVklPVVJfVFlQRV9SQU5ET01fRFJJRlQsXG4gIEJFSEFWSU9VUl9UWVBFX1JFUFVMU0lPTixcbiAgQkVIQVZJT1VSX1RZUEVfUk9UQVRFLFxuICBCRUhBVklPVVJfVFlQRV9TQ0FMRSxcbiAgQkVIQVZJT1VSX1RZUEVfU1BSSU5HLFxuXTtcblxuLyoqXG4gKiBAZGVzYyBUaGUgdHlwZXMgb2YgcmVuZGVyZXJzIHN1cHBvcnRlZCBieSB0aGUgU3lzdGVtLmZyb21KU09OIG1ldGhvZC5cbiAqIEB0eXBlIHthcnJheTxzdHJpbmc+fVxuICovXG5leHBvcnQgY29uc3QgU1VQUE9SVEVEX0pTT05fUkVOREVSRVJfVFlQRVMgPSBbUkVOREVSRVJfVFlQRV9TUFJJVEVdO1xuXG4vKipcbiAqIEBkZXNjIFRoZSB0eXBlcyBvZiB6b25lcyBzdXBwb3J0ZWQgYnkgdGhlIFN5c3RlbS5mcm9tSlNPTiBtZXRob2QuXG4gKiBAdHlwZSB7YXJyYXk8c3RyaW5nPn1cbiAqL1xuZXhwb3J0IGNvbnN0IFNVUFBPUlRFRF9KU09OX1pPTkVfVFlQRVMgPSBbXG4gIFpPTkVfVFlQRV9CT1gsXG4gIFpPTkVfVFlQRV9MSU5FLFxuICBaT05FX1RZUEVfTUVTSCxcbiAgWk9ORV9UWVBFX1BPSU5ULFxuICBaT05FX1RZUEVfU1BIRVJFLFxuXTtcblxuZXhwb3J0IHsgSU5JVElBTElaRVJfVFlQRVNfVEhBVF9SRVFVSVJFX1RIUkVFIH0gZnJvbSAnLi4vaW5pdGlhbGl6ZXIvdHlwZXMnO1xuIl19