three-nebula 10.0.2 → 11.0.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 (170) hide show
  1. package/.claude/rules/no-coauthor.md +4 -0
  2. package/CHANGELOG.md +23 -0
  3. package/build/cjs/behaviour/Alpha.js +2 -2
  4. package/build/cjs/behaviour/Attraction.js +2 -2
  5. package/build/cjs/behaviour/Behaviour.js +1 -1
  6. package/build/cjs/behaviour/Collision.js +2 -2
  7. package/build/cjs/behaviour/Color.js +2 -2
  8. package/build/cjs/behaviour/CrossZone.js +8 -4
  9. package/build/cjs/behaviour/Force.js +2 -2
  10. package/build/cjs/behaviour/Gravity.js +2 -2
  11. package/build/cjs/behaviour/RandomDrift.js +2 -2
  12. package/build/cjs/behaviour/Repulsion.js +2 -2
  13. package/build/cjs/behaviour/Rotate.js +5 -5
  14. package/build/cjs/behaviour/Scale.js +2 -2
  15. package/build/cjs/behaviour/Spring.js +2 -2
  16. package/build/cjs/constants/index.js +1 -1
  17. package/build/cjs/core/Particle.js +1 -1
  18. package/build/cjs/core/Pool.js +1 -1
  19. package/build/cjs/core/System.js +8 -4
  20. package/build/cjs/core/constants.js +2 -2
  21. package/build/cjs/core/fromJSON.js +6 -2
  22. package/build/cjs/core/fromJSONAsync.js +8 -4
  23. package/build/cjs/core/three/Euler.js +1 -1
  24. package/build/cjs/core/three/Math.js +1 -1
  25. package/build/cjs/core/three/Matrix4.js +1 -1
  26. package/build/cjs/core/three/Quaternion.js +1 -1
  27. package/build/cjs/core/three/Vector3.js +1 -1
  28. package/build/cjs/debug/Debug.js +1 -1
  29. package/build/cjs/debug/log.js +1 -1
  30. package/build/cjs/ease/index.js +1 -1
  31. package/build/cjs/emitter/Emitter.js +17 -6
  32. package/build/cjs/emitter/FollowEmitter.js +2 -2
  33. package/build/cjs/events/EventDispatcher.js +3 -3
  34. package/build/cjs/initializer/Body.js +2 -2
  35. package/build/cjs/initializer/BodySprite.js +3 -3
  36. package/build/cjs/initializer/Initializer.js +1 -1
  37. package/build/cjs/initializer/InitializerUtil.js +1 -1
  38. package/build/cjs/initializer/Life.js +2 -2
  39. package/build/cjs/initializer/Mass.js +2 -2
  40. package/build/cjs/initializer/Position.js +8 -4
  41. package/build/cjs/initializer/Radius.js +2 -2
  42. package/build/cjs/initializer/Rate.js +2 -2
  43. package/build/cjs/initializer/Rotation.js +95 -0
  44. package/build/cjs/initializer/Texture.js +3 -3
  45. package/build/cjs/initializer/Velocity/PolarVelocity.js +2 -2
  46. package/build/cjs/initializer/Velocity/RadialVelocity.js +2 -2
  47. package/build/cjs/initializer/Velocity/VectorVelocity.js +2 -2
  48. package/build/cjs/initializer/Velocity/Velocity.js +2 -2
  49. package/build/cjs/initializer/constants.js +1 -1
  50. package/build/cjs/initializer/index.js +9 -1
  51. package/build/cjs/initializer/types.js +4 -2
  52. package/build/cjs/math/ArraySpan.js +2 -2
  53. package/build/cjs/math/Box.js +1 -1
  54. package/build/cjs/math/ColorSpan.js +2 -2
  55. package/build/cjs/math/MathUtils.js +1 -1
  56. package/build/cjs/math/Polar3D.js +1 -1
  57. package/build/cjs/math/Span.js +1 -1
  58. package/build/cjs/math/Vector3D.js +1 -1
  59. package/build/cjs/math/constants.js +1 -1
  60. package/build/cjs/math/index.js +5 -1
  61. package/build/cjs/math/integration.js +1 -1
  62. package/build/cjs/renderer/BaseRenderer.js +1 -1
  63. package/build/cjs/renderer/CustomRenderer.js +1 -1
  64. package/build/cjs/renderer/GPURenderer/Desktop/index.js +25 -4
  65. package/build/cjs/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +2 -2
  66. package/build/cjs/renderer/GPURenderer/Desktop/shaders/vertexShader.js +2 -2
  67. package/build/cjs/renderer/GPURenderer/Mobile/index.js +25 -4
  68. package/build/cjs/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +2 -2
  69. package/build/cjs/renderer/GPURenderer/Mobile/shaders/vertexShader.js +2 -2
  70. package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/constants.js +9 -4
  71. package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/index.js +1 -1
  72. package/build/cjs/renderer/GPURenderer/common/TextureAtlas/index.js +1 -1
  73. package/build/cjs/renderer/GPURenderer/common/stores/Target.js +3 -1
  74. package/build/cjs/renderer/GPURenderer/common/stores/UniqueList.js +1 -1
  75. package/build/cjs/renderer/GPURenderer/index.js +2 -2
  76. package/build/cjs/renderer/MeshRenderer.js +9 -9
  77. package/build/cjs/renderer/SpriteRenderer.js +7 -2
  78. package/build/cjs/utils/index.js +1 -1
  79. package/build/cjs/utils/uid.js +3 -5
  80. package/build/cjs/zone/BoxZone.js +2 -2
  81. package/build/cjs/zone/LineZone.js +2 -2
  82. package/build/cjs/zone/MeshZone.js +2 -2
  83. package/build/cjs/zone/PointZone.js +6 -4
  84. package/build/cjs/zone/ScreenZone.js +2 -2
  85. package/build/cjs/zone/SphereZone.js +6 -4
  86. package/build/cjs/zone/Zone.js +1 -1
  87. package/build/esm/behaviour/Alpha.js +1 -1
  88. package/build/esm/behaviour/Attraction.js +1 -1
  89. package/build/esm/behaviour/Behaviour.js +1 -1
  90. package/build/esm/behaviour/Collision.js +1 -1
  91. package/build/esm/behaviour/Color.js +1 -1
  92. package/build/esm/behaviour/CrossZone.js +1 -1
  93. package/build/esm/behaviour/Force.js +1 -1
  94. package/build/esm/behaviour/Gravity.js +1 -1
  95. package/build/esm/behaviour/RandomDrift.js +1 -1
  96. package/build/esm/behaviour/Repulsion.js +1 -1
  97. package/build/esm/behaviour/Rotate.js +4 -4
  98. package/build/esm/behaviour/Scale.js +1 -1
  99. package/build/esm/behaviour/Spring.js +1 -1
  100. package/build/esm/constants/index.js +1 -1
  101. package/build/esm/core/Particle.js +1 -1
  102. package/build/esm/core/Pool.js +1 -1
  103. package/build/esm/core/System.js +2 -2
  104. package/build/esm/core/constants.js +3 -3
  105. package/build/esm/core/fromJSON.js +1 -1
  106. package/build/esm/core/fromJSONAsync.js +2 -2
  107. package/build/esm/core/three/Euler.js +1 -1
  108. package/build/esm/core/three/Math.js +1 -1
  109. package/build/esm/core/three/Matrix4.js +1 -1
  110. package/build/esm/core/three/Quaternion.js +1 -1
  111. package/build/esm/core/three/Vector3.js +1 -1
  112. package/build/esm/debug/Debug.js +1 -1
  113. package/build/esm/debug/log.js +1 -1
  114. package/build/esm/ease/index.js +1 -1
  115. package/build/esm/emitter/Emitter.js +11 -4
  116. package/build/esm/emitter/FollowEmitter.js +1 -1
  117. package/build/esm/events/EventDispatcher.js +3 -3
  118. package/build/esm/initializer/Body.js +1 -1
  119. package/build/esm/initializer/BodySprite.js +2 -2
  120. package/build/esm/initializer/Initializer.js +1 -1
  121. package/build/esm/initializer/InitializerUtil.js +1 -1
  122. package/build/esm/initializer/Life.js +1 -1
  123. package/build/esm/initializer/Mass.js +1 -1
  124. package/build/esm/initializer/Position.js +3 -2
  125. package/build/esm/initializer/Radius.js +1 -1
  126. package/build/esm/initializer/Rate.js +1 -1
  127. package/build/esm/initializer/Rotation.js +54 -0
  128. package/build/esm/initializer/Texture.js +2 -2
  129. package/build/esm/initializer/Velocity/PolarVelocity.js +1 -1
  130. package/build/esm/initializer/Velocity/RadialVelocity.js +1 -1
  131. package/build/esm/initializer/Velocity/VectorVelocity.js +1 -1
  132. package/build/esm/initializer/Velocity/Velocity.js +1 -1
  133. package/build/esm/initializer/constants.js +1 -1
  134. package/build/esm/initializer/index.js +2 -1
  135. package/build/esm/initializer/types.js +2 -1
  136. package/build/esm/math/ArraySpan.js +1 -1
  137. package/build/esm/math/Box.js +1 -1
  138. package/build/esm/math/ColorSpan.js +1 -1
  139. package/build/esm/math/MathUtils.js +1 -1
  140. package/build/esm/math/Polar3D.js +1 -1
  141. package/build/esm/math/Span.js +1 -1
  142. package/build/esm/math/constants.js +1 -1
  143. package/build/esm/math/integration.js +1 -1
  144. package/build/esm/renderer/BaseRenderer.js +1 -1
  145. package/build/esm/renderer/GPURenderer/Desktop/index.js +29 -3
  146. package/build/esm/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +8 -1
  147. package/build/esm/renderer/GPURenderer/Desktop/shaders/vertexShader.js +4 -1
  148. package/build/esm/renderer/GPURenderer/Mobile/index.js +29 -3
  149. package/build/esm/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +8 -1
  150. package/build/esm/renderer/GPURenderer/Mobile/shaders/vertexShader.js +4 -1
  151. package/build/esm/renderer/GPURenderer/common/ParticleBuffer/constants.js +6 -3
  152. package/build/esm/renderer/GPURenderer/common/ParticleBuffer/index.js +1 -1
  153. package/build/esm/renderer/GPURenderer/common/TextureAtlas/index.js +1 -1
  154. package/build/esm/renderer/GPURenderer/common/stores/Target.js +3 -1
  155. package/build/esm/renderer/GPURenderer/common/stores/UniqueList.js +1 -1
  156. package/build/esm/renderer/GPURenderer/index.js +1 -1
  157. package/build/esm/renderer/MeshRenderer.js +7 -8
  158. package/build/esm/renderer/SpriteRenderer.js +5 -1
  159. package/build/esm/utils/index.js +1 -1
  160. package/build/esm/utils/uid.js +2 -2
  161. package/build/esm/zone/BoxZone.js +1 -1
  162. package/build/esm/zone/LineZone.js +1 -1
  163. package/build/esm/zone/MeshZone.js +1 -1
  164. package/build/esm/zone/PointZone.js +5 -3
  165. package/build/esm/zone/ScreenZone.js +1 -1
  166. package/build/esm/zone/SphereZone.js +5 -3
  167. package/build/esm/zone/Zone.js +1 -1
  168. package/build/three-nebula.js +1 -1
  169. package/build/three-nebula.js.map +1 -1
  170. package/package.json +31 -31
@@ -0,0 +1,4 @@
1
+ Never add AI attribution to git commits or PR descriptions. This includes:
2
+ - "Co-Authored-By" lines
3
+ - "Generated with Claude Code" or similar attribution lines
4
+ - Any other AI/assistant attribution or branding
package/CHANGELOG.md CHANGED
@@ -5,6 +5,29 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## `v11.0.0` - 2026-07-14
9
+
10
+ ### Changed
11
+
12
+ - Upgraded supported `three` from r127 to r185. Rendered output differs on modern three (sRGB output, physically-correct lighting) — validate your scenes
13
+ - Upgraded `uuid` from v3 to v11
14
+ - CI now runs on Node 20 / 22 (dropped 12 / 14) and no longer depends on the unmaintained `bundlesize`
15
+
16
+ ### Added
17
+
18
+ - Deterministic visual-regression harness (`vr/`) that diffs the example renders against a committed golden master
19
+
20
+ ### Fixed
21
+
22
+ - Ported the Snow example off three's removed `Geometry.vertices` API
23
+
24
+ ## `v10.0.3` - 2021-11-05
25
+
26
+ ### Changed
27
+
28
+ - All current security vulnerabilities in dependencies have been resolved
29
+ - Node v10 support dropped in dev due to webpack / babel upgrades, this version has been removed from CI
30
+
8
31
  ## `v10.0.2` - 2021-08-02
9
32
 
10
33
  ### Fixed
@@ -31,7 +31,7 @@ var _types = require("./types");
31
31
 
32
32
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
33
33
 
34
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
34
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
35
 
36
36
  /**
37
37
  * Behaviour that applies an alpha transition effect to particles.
@@ -186,4 +186,4 @@ var Alpha = /*#__PURE__*/function (_Behaviour) {
186
186
  }(_Behaviour2["default"]);
187
187
 
188
188
  exports["default"] = Alpha;
189
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvQWxwaGEuanMiXSwibmFtZXMiOlsiQWxwaGEiLCJhbHBoYUEiLCJhbHBoYUIiLCJsaWZlIiwiZWFzaW5nIiwiaXNFbmFibGVkIiwidHlwZSIsInJlc2V0Iiwic2FtZSIsInVuZGVmaW5lZCIsInBhcnRpY2xlIiwidXNlQWxwaGEiLCJ0cmFuc2Zvcm0iLCJnZXRWYWx1ZSIsInRpbWUiLCJpbmRleCIsImVuZXJnaXplIiwiYWxwaGEiLCJNYXRoVXRpbHMiLCJsZXJwIiwiZW5lcmd5IiwiUEFSVElDTEVfQUxQSEFfVEhSRVNIT0xEIiwiX3NhbWUiLCJqc29uIiwiQmVoYXZpb3VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUE7Ozs7SUFJcUJBLEs7Ozs7O0FBQ25COzs7Ozs7Ozs7O0FBVUEsbUJBQXVFO0FBQUE7O0FBQUEsUUFBM0RDLE1BQTJELHVFQUFsRCxDQUFrRDtBQUFBLFFBQS9DQyxNQUErQyx1RUFBdEMsSUFBc0M7QUFBQSxRQUFoQ0MsSUFBZ0M7QUFBQSxRQUExQkMsTUFBMEI7QUFBQSxRQUFsQkMsU0FBa0IsdUVBQU4sSUFBTTtBQUFBO0FBQ3JFLDhCQUFNRixJQUFOLEVBQVlDLE1BQVosRUFBb0JFLDJCQUFwQixFQUEwQkQsU0FBMUI7QUFFQTs7Ozs7QUFJQSxVQUFLSixNQUFMLEdBQWNBLE1BQWQ7QUFFQTs7Ozs7QUFJQSxVQUFLQyxNQUFMLEdBQWNBLE1BQWQ7O0FBRUEsVUFBS0ssS0FBTCxDQUFXTixNQUFYLEVBQW1CQyxNQUFuQjs7QUFmcUU7QUFnQnRFO0FBRUQ7Ozs7Ozs7Ozs7QUFzQkE7Ozs7Ozs7Ozs0QkFTK0M7QUFBQSxVQUF6Q0QsTUFBeUMsdUVBQWhDLENBQWdDO0FBQUEsVUFBN0JDLE1BQTZCLHVFQUFwQixJQUFvQjtBQUFBLFVBQWRDLElBQWM7QUFBQSxVQUFSQyxNQUFRO0FBQzdDLFdBQUtJLElBQUwsR0FBWU4sTUFBTSxLQUFLLElBQVgsSUFBbUJBLE1BQU0sS0FBS08sU0FBOUIsR0FBMEMsSUFBMUMsR0FBaUQsS0FBN0Q7QUFDQSxXQUFLUixNQUFMLEdBQWMsc0JBQVdBLE1BQVgsQ0FBZDtBQUNBLFdBQUtDLE1BQUwsR0FBYyxzQkFBV0EsTUFBWCxDQUFkO0FBRUFDLE1BQUFBLElBQUksdUdBQWdCQSxJQUFoQixFQUFzQkMsTUFBdEIsQ0FBSjtBQUNEO0FBRUQ7Ozs7Ozs7OzsrQkFNV00sUSxFQUFVO0FBQ25CQSxNQUFBQSxRQUFRLENBQUNDLFFBQVQsR0FBb0IsSUFBcEI7QUFDQUQsTUFBQUEsUUFBUSxDQUFDRSxTQUFULENBQW1CWCxNQUFuQixHQUE0QixLQUFLQSxNQUFMLENBQVlZLFFBQVosRUFBNUI7QUFFQUgsTUFBQUEsUUFBUSxDQUFDRSxTQUFULENBQW1CVixNQUFuQixHQUE0QixLQUFLTSxJQUFMLEdBQ3hCRSxRQUFRLENBQUNFLFNBQVQsQ0FBbUJYLE1BREssR0FFeEIsS0FBS0MsTUFBTCxDQUFZVyxRQUFaLEVBRko7QUFHRDtBQUVEOzs7Ozs7Ozs7OzsyQkFRT0gsUSxFQUFVSSxJLEVBQU1DLEssRUFBTztBQUM1QixXQUFLQyxRQUFMLENBQWNOLFFBQWQsRUFBd0JJLElBQXhCLEVBQThCQyxLQUE5QjtBQUVBTCxNQUFBQSxRQUFRLENBQUNPLEtBQVQsR0FBaUJDLGdCQUFVQyxJQUFWLENBQ2ZULFFBQVEsQ0FBQ0UsU0FBVCxDQUFtQlgsTUFESixFQUVmUyxRQUFRLENBQUNFLFNBQVQsQ0FBbUJWLE1BRkosRUFHZixLQUFLa0IsTUFIVSxDQUFqQjs7QUFNQSxVQUFJVixRQUFRLENBQUNPLEtBQVQsR0FBaUJJLG1DQUFyQixFQUErQztBQUM3Q1gsUUFBQUEsUUFBUSxDQUFDTyxLQUFULEdBQWlCLENBQWpCO0FBQ0Q7QUFDRjtBQUVEOzs7Ozs7Ozs7Ozs7O3dCQXZFVztBQUNULGFBQU8sS0FBS0ssS0FBWjtBQUNEO0FBRUQ7Ozs7Ozs7c0JBTVNkLEksRUFBTTtBQUNiOzs7QUFHQSxXQUFLYyxLQUFMLEdBQWFkLElBQWI7QUFDRDs7OzZCQWtFZWUsSSxFQUFNO0FBQUEsVUFDWnRCLE1BRFksR0FDdUNzQixJQUR2QyxDQUNadEIsTUFEWTtBQUFBLFVBQ0pDLE1BREksR0FDdUNxQixJQUR2QyxDQUNKckIsTUFESTtBQUFBLFVBQ0lDLElBREosR0FDdUNvQixJQUR2QyxDQUNJcEIsSUFESjtBQUFBLFVBQ1VDLE1BRFYsR0FDdUNtQixJQUR2QyxDQUNVbkIsTUFEVjtBQUFBLDRCQUN1Q21CLElBRHZDLENBQ2tCbEIsU0FEbEI7QUFBQSxVQUNrQkEsU0FEbEIsZ0NBQzhCLElBRDlCO0FBR3BCLGFBQU8sSUFBSUwsS0FBSixDQUFVQyxNQUFWLEVBQWtCQyxNQUFsQixFQUEwQkMsSUFBMUIsRUFBZ0MsMkJBQWdCQyxNQUFoQixDQUFoQyxFQUF5REMsU0FBekQsQ0FBUDtBQUNEOzs7RUF2SGdDbUIsc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXRoVXRpbHMsIGNyZWF0ZVNwYW4gfSBmcm9tICcuLi9tYXRoJztcblxuaW1wb3J0IEJlaGF2aW91ciBmcm9tICcuL0JlaGF2aW91cic7XG5pbXBvcnQgeyBQQVJUSUNMRV9BTFBIQV9USFJFU0hPTEQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRFYXNpbmdCeU5hbWUgfSBmcm9tICcuLi9lYXNlJztcbmltcG9ydCB7IEJFSEFWSU9VUl9UWVBFX0FMUEhBIGFzIHR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBCZWhhdmlvdXIgdGhhdCBhcHBsaWVzIGFuIGFscGhhIHRyYW5zaXRpb24gZWZmZWN0IHRvIHBhcnRpY2xlcy5cbiAqXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFscGhhIGV4dGVuZHMgQmVoYXZpb3VyIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYW4gQWxwaGEgYmVoYXZpb3VyIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gYWxwaGFBIC0gVGhlIHN0YXJ0aW5nIGFscGhhIHZhbHVlXG4gICAqIEBwYXJhbSB7P251bWJlcn0gYWxwaGFCIC0gVGhlIGVuZGluZyBhbHBoYSB2YWx1ZVxuICAgKiBAcGFyYW0ge251bWJlcn0gbGlmZSAtIFRoZSBsaWZlIG9mIHRoZSBiZWhhdmlvdXJcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGVhc2luZyBlcXVhdGlvbiB0byB1c2UgZm9yIHRyYW5zZm9ybXNcbiAgICogQHBhcmFtIHtib29sZWFufSBbaXNFbmFibGVkPXRydWVdIC0gRGV0ZXJtaW5lcyBpZiB0aGUgYmVoYXZpb3VyIHdpbGwgYmUgYXBwbGllZCBvciBub3RcbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICBjb25zdHJ1Y3RvcihhbHBoYUEgPSAxLCBhbHBoYUIgPSBudWxsLCBsaWZlLCBlYXNpbmcsIGlzRW5hYmxlZCA9IHRydWUpIHtcbiAgICBzdXBlcihsaWZlLCBlYXNpbmcsIHR5cGUsIGlzRW5hYmxlZCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgc3RhcnRpbmcgYWxwaGEgdmFsdWVcbiAgICAgKiBAdHlwZSB7bnVtYmVyfFNwYW59XG4gICAgICovXG4gICAgdGhpcy5hbHBoYUEgPSBhbHBoYUE7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgZW5kaW5nIGFscGhhIHZhbHVlXG4gICAgICogQHR5cGUge251bWJlcnxTcGFufVxuICAgICAqL1xuICAgIHRoaXMuYWxwaGFCID0gYWxwaGFCO1xuXG4gICAgdGhpcy5yZXNldChhbHBoYUEsIGFscGhhQik7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgX3NhbWUgcHJvcGVydHkgd2hpY2ggZGV0ZXJtaW5lcyBpZiB0aGUgYWxwaGEgYXJlIHRoZSBzYW1lLlxuICAgKlxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgZ2V0IHNhbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NhbWU7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgX3NhbWUgcHJvcGVydHkgd2hpY2ggZGV0ZXJtaW5lcyBpZiB0aGUgYWxwaGEgYXJlIHRoZSBzYW1lLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHNhbWVcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIHNldCBzYW1lKHNhbWUpIHtcbiAgICAvKipcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICB0aGlzLl9zYW1lID0gc2FtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIGJlaGF2aW91ciBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gYWxwaGFBIC0gdGhlIHN0YXJ0aW5nIGFscGhhIHZhbHVlXG4gICAqIEBwYXJhbSB7P251bWJlcn0gYWxwaGFCIC0gdGhlIGVuZGluZyBhbHBoYSB2YWx1ZVxuICAgKiBAcGFyYW0ge251bWJlcn0gbGlmZSAtIHRoZSBsaWZlIG9mIHRoZSBiZWhhdmlvdXJcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gdGhlIGVhc2luZyBlcXVhdGlvbiB0byB1c2UgZm9yIHRyYW5zZm9ybXNcbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICByZXNldChhbHBoYUEgPSAxLCBhbHBoYUIgPSBudWxsLCBsaWZlLCBlYXNpbmcpIHtcbiAgICB0aGlzLnNhbWUgPSBhbHBoYUIgPT09IG51bGwgfHwgYWxwaGFCID09PSB1bmRlZmluZWQgPyB0cnVlIDogZmFsc2U7XG4gICAgdGhpcy5hbHBoYUEgPSBjcmVhdGVTcGFuKGFscGhhQSk7XG4gICAgdGhpcy5hbHBoYUIgPSBjcmVhdGVTcGFuKGFscGhhQik7XG5cbiAgICBsaWZlICYmIHN1cGVyLnJlc2V0KGxpZmUsIGVhc2luZyk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGJlaGF2aW91ciBvbiBhIHBhcnRpY2xlLlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0gcGFydGljbGUgLSB0aGUgcGFydGljbGUgdG8gaW5pdGlhbGl6ZSB0aGUgYmVoYXZpb3VyIG9uXG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgaW5pdGlhbGl6ZShwYXJ0aWNsZSkge1xuICAgIHBhcnRpY2xlLnVzZUFscGhhID0gdHJ1ZTtcbiAgICBwYXJ0aWNsZS50cmFuc2Zvcm0uYWxwaGFBID0gdGhpcy5hbHBoYUEuZ2V0VmFsdWUoKTtcblxuICAgIHBhcnRpY2xlLnRyYW5zZm9ybS5hbHBoYUIgPSB0aGlzLnNhbWVcbiAgICAgID8gcGFydGljbGUudHJhbnNmb3JtLmFscGhhQVxuICAgICAgOiB0aGlzLmFscGhhQi5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE11dGF0ZXMgdGhlIHRhcmdldCdzIGFscGhhL29wYWNpdHkgcHJvcGVydHkuXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBwYXJ0aWNsZSAtIHRoZSBwYXJ0aWNsZSB0byBhcHBseSB0aGUgYmVoYXZpb3VyIHRvXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0aW1lIC0gZW5naW5lIHRpbWVcbiAgICogQHBhcmFtIHtpbnRlZ2VyfSBpbmRleCAtIHRoZSBwYXJ0aWNsZSBpbmRleFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIG11dGF0ZShwYXJ0aWNsZSwgdGltZSwgaW5kZXgpIHtcbiAgICB0aGlzLmVuZXJnaXplKHBhcnRpY2xlLCB0aW1lLCBpbmRleCk7XG5cbiAgICBwYXJ0aWNsZS5hbHBoYSA9IE1hdGhVdGlscy5sZXJwKFxuICAgICAgcGFydGljbGUudHJhbnNmb3JtLmFscGhhQSxcbiAgICAgIHBhcnRpY2xlLnRyYW5zZm9ybS5hbHBoYUIsXG4gICAgICB0aGlzLmVuZXJneVxuICAgICk7XG5cbiAgICBpZiAocGFydGljbGUuYWxwaGEgPCBQQVJUSUNMRV9BTFBIQV9USFJFU0hPTEQpIHtcbiAgICAgIHBhcnRpY2xlLmFscGhhID0gMDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIEJvZHkgaW5pdGlhbGl6ZXIgZnJvbSBKU09OLlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0ganNvbiAtIFRoZSBKU09OIHRvIGNvbnN0cnVjdCB0aGUgaW5zdGFuY2UgZnJvbS5cbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGpzb24uYWxwaGFBIC0gVGhlIHN0YXJ0aW5nIGFscGhhIHZhbHVlXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLmFscGhhQiAtIFRoZSBlbmRpbmcgYWxwaGEgdmFsdWVcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGpzb24ubGlmZSAtIFRoZSBsaWZlIG9mIHRoZSBiZWhhdmlvdXJcbiAgICogQHByb3BlcnR5IHtzdHJpbmd9IGpzb24uZWFzaW5nIC0gVGhlIGVhc2luZyBlcXVhdGlvbiB0byB1c2UgZm9yIHRyYW5zZm9ybXNcbiAgICogQHJldHVybiB7Qm9keX1cbiAgICovXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgY29uc3QgeyBhbHBoYUEsIGFscGhhQiwgbGlmZSwgZWFzaW5nLCBpc0VuYWJsZWQgPSB0cnVlIH0gPSBqc29uO1xuXG4gICAgcmV0dXJuIG5ldyBBbHBoYShhbHBoYUEsIGFscGhhQiwgbGlmZSwgZ2V0RWFzaW5nQnlOYW1lKGVhc2luZyksIGlzRW5hYmxlZCk7XG4gIH1cbn1cbiJdfQ==
189
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvQWxwaGEuanMiXSwibmFtZXMiOlsiQWxwaGEiLCJhbHBoYUEiLCJhbHBoYUIiLCJsaWZlIiwiZWFzaW5nIiwiaXNFbmFibGVkIiwidHlwZSIsInJlc2V0Iiwic2FtZSIsInVuZGVmaW5lZCIsInBhcnRpY2xlIiwidXNlQWxwaGEiLCJ0cmFuc2Zvcm0iLCJnZXRWYWx1ZSIsInRpbWUiLCJpbmRleCIsImVuZXJnaXplIiwiYWxwaGEiLCJNYXRoVXRpbHMiLCJsZXJwIiwiZW5lcmd5IiwiUEFSVElDTEVfQUxQSEFfVEhSRVNIT0xEIiwiX3NhbWUiLCJqc29uIiwiQmVoYXZpb3VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7SUFDcUJBLEs7Ozs7O0FBQ25CO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0UsbUJBQXVFO0FBQUE7O0FBQUEsUUFBM0RDLE1BQTJELHVFQUFsRCxDQUFrRDtBQUFBLFFBQS9DQyxNQUErQyx1RUFBdEMsSUFBc0M7QUFBQSxRQUFoQ0MsSUFBZ0M7QUFBQSxRQUExQkMsTUFBMEI7QUFBQSxRQUFsQkMsU0FBa0IsdUVBQU4sSUFBTTtBQUFBO0FBQ3JFLDhCQUFNRixJQUFOLEVBQVlDLE1BQVosRUFBb0JFLDJCQUFwQixFQUEwQkQsU0FBMUI7QUFFQTtBQUNKO0FBQ0E7QUFDQTs7QUFDSSxVQUFLSixNQUFMLEdBQWNBLE1BQWQ7QUFFQTtBQUNKO0FBQ0E7QUFDQTs7QUFDSSxVQUFLQyxNQUFMLEdBQWNBLE1BQWQ7O0FBRUEsVUFBS0ssS0FBTCxDQUFXTixNQUFYLEVBQW1CQyxNQUFuQjs7QUFmcUU7QUFnQnRFO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTs7Ozs7O0FBa0JFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs0QkFDaUQ7QUFBQSxVQUF6Q0QsTUFBeUMsdUVBQWhDLENBQWdDO0FBQUEsVUFBN0JDLE1BQTZCLHVFQUFwQixJQUFvQjtBQUFBLFVBQWRDLElBQWM7QUFBQSxVQUFSQyxNQUFRO0FBQzdDLFdBQUtJLElBQUwsR0FBWU4sTUFBTSxLQUFLLElBQVgsSUFBbUJBLE1BQU0sS0FBS08sU0FBOUIsR0FBMEMsSUFBMUMsR0FBaUQsS0FBN0Q7QUFDQSxXQUFLUixNQUFMLEdBQWMsc0JBQVdBLE1BQVgsQ0FBZDtBQUNBLFdBQUtDLE1BQUwsR0FBYyxzQkFBV0EsTUFBWCxDQUFkO0FBRUFDLE1BQUFBLElBQUksdUdBQWdCQSxJQUFoQixFQUFzQkMsTUFBdEIsQ0FBSjtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OytCQUNhTSxRLEVBQVU7QUFDbkJBLE1BQUFBLFFBQVEsQ0FBQ0MsUUFBVCxHQUFvQixJQUFwQjtBQUNBRCxNQUFBQSxRQUFRLENBQUNFLFNBQVQsQ0FBbUJYLE1BQW5CLEdBQTRCLEtBQUtBLE1BQUwsQ0FBWVksUUFBWixFQUE1QjtBQUVBSCxNQUFBQSxRQUFRLENBQUNFLFNBQVQsQ0FBbUJWLE1BQW5CLEdBQTRCLEtBQUtNLElBQUwsR0FDeEJFLFFBQVEsQ0FBQ0UsU0FBVCxDQUFtQlgsTUFESyxHQUV4QixLQUFLQyxNQUFMLENBQVlXLFFBQVosRUFGSjtBQUdEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OzsyQkFDU0gsUSxFQUFVSSxJLEVBQU1DLEssRUFBTztBQUM1QixXQUFLQyxRQUFMLENBQWNOLFFBQWQsRUFBd0JJLElBQXhCLEVBQThCQyxLQUE5QjtBQUVBTCxNQUFBQSxRQUFRLENBQUNPLEtBQVQsR0FBaUJDLGdCQUFVQyxJQUFWLENBQ2ZULFFBQVEsQ0FBQ0UsU0FBVCxDQUFtQlgsTUFESixFQUVmUyxRQUFRLENBQUNFLFNBQVQsQ0FBbUJWLE1BRkosRUFHZixLQUFLa0IsTUFIVSxDQUFqQjs7QUFNQSxVQUFJVixRQUFRLENBQUNPLEtBQVQsR0FBaUJJLG1DQUFyQixFQUErQztBQUM3Q1gsUUFBQUEsUUFBUSxDQUFDTyxLQUFULEdBQWlCLENBQWpCO0FBQ0Q7QUFDRjtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O3dCQWhGYTtBQUNULGFBQU8sS0FBS0ssS0FBWjtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztzQkFDV2QsSSxFQUFNO0FBQ2I7QUFDSjtBQUNBO0FBQ0ksV0FBS2MsS0FBTCxHQUFhZCxJQUFiO0FBQ0Q7Ozs2QkFrRWVlLEksRUFBTTtBQUFBLFVBQ1p0QixNQURZLEdBQ3VDc0IsSUFEdkMsQ0FDWnRCLE1BRFk7QUFBQSxVQUNKQyxNQURJLEdBQ3VDcUIsSUFEdkMsQ0FDSnJCLE1BREk7QUFBQSxVQUNJQyxJQURKLEdBQ3VDb0IsSUFEdkMsQ0FDSXBCLElBREo7QUFBQSxVQUNVQyxNQURWLEdBQ3VDbUIsSUFEdkMsQ0FDVW5CLE1BRFY7QUFBQSw0QkFDdUNtQixJQUR2QyxDQUNrQmxCLFNBRGxCO0FBQUEsVUFDa0JBLFNBRGxCLGdDQUM4QixJQUQ5QjtBQUdwQixhQUFPLElBQUlMLEtBQUosQ0FBVUMsTUFBVixFQUFrQkMsTUFBbEIsRUFBMEJDLElBQTFCLEVBQWdDLDJCQUFnQkMsTUFBaEIsQ0FBaEMsRUFBeURDLFNBQXpELENBQVA7QUFDRDs7O0VBdkhnQ21CLHNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF0aFV0aWxzLCBjcmVhdGVTcGFuIH0gZnJvbSAnLi4vbWF0aCc7XG5cbmltcG9ydCBCZWhhdmlvdXIgZnJvbSAnLi9CZWhhdmlvdXInO1xuaW1wb3J0IHsgUEFSVElDTEVfQUxQSEFfVEhSRVNIT0xEIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0RWFzaW5nQnlOYW1lIH0gZnJvbSAnLi4vZWFzZSc7XG5pbXBvcnQgeyBCRUhBVklPVVJfVFlQRV9BTFBIQSBhcyB0eXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQmVoYXZpb3VyIHRoYXQgYXBwbGllcyBhbiBhbHBoYSB0cmFuc2l0aW9uIGVmZmVjdCB0byBwYXJ0aWNsZXMuXG4gKlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBbHBoYSBleHRlbmRzIEJlaGF2aW91ciB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGFuIEFscGhhIGJlaGF2aW91ciBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IGFscGhhQSAtIFRoZSBzdGFydGluZyBhbHBoYSB2YWx1ZVxuICAgKiBAcGFyYW0gez9udW1iZXJ9IGFscGhhQiAtIFRoZSBlbmRpbmcgYWxwaGEgdmFsdWVcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgYmVoYXZpb3VyXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGVhc2luZyAtIFRoZSBlYXNpbmcgZXF1YXRpb24gdG8gdXNlIGZvciB0cmFuc2Zvcm1zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRW5hYmxlZD10cnVlXSAtIERldGVybWluZXMgaWYgdGhlIGJlaGF2aW91ciB3aWxsIGJlIGFwcGxpZWQgb3Igbm90XG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgY29uc3RydWN0b3IoYWxwaGFBID0gMSwgYWxwaGFCID0gbnVsbCwgbGlmZSwgZWFzaW5nLCBpc0VuYWJsZWQgPSB0cnVlKSB7XG4gICAgc3VwZXIobGlmZSwgZWFzaW5nLCB0eXBlLCBpc0VuYWJsZWQpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIHN0YXJ0aW5nIGFscGhhIHZhbHVlXG4gICAgICogQHR5cGUge251bWJlcnxTcGFufVxuICAgICAqL1xuICAgIHRoaXMuYWxwaGFBID0gYWxwaGFBO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIGVuZGluZyBhbHBoYSB2YWx1ZVxuICAgICAqIEB0eXBlIHtudW1iZXJ8U3Bhbn1cbiAgICAgKi9cbiAgICB0aGlzLmFscGhhQiA9IGFscGhhQjtcblxuICAgIHRoaXMucmVzZXQoYWxwaGFBLCBhbHBoYUIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIF9zYW1lIHByb3BlcnR5IHdoaWNoIGRldGVybWluZXMgaWYgdGhlIGFscGhhIGFyZSB0aGUgc2FtZS5cbiAgICpcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBzYW1lKCkge1xuICAgIHJldHVybiB0aGlzLl9zYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIF9zYW1lIHByb3BlcnR5IHdoaWNoIGRldGVybWluZXMgaWYgdGhlIGFscGhhIGFyZSB0aGUgc2FtZS5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSBzYW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzZXQgc2FtZShzYW1lKSB7XG4gICAgLyoqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgdGhpcy5fc2FtZSA9IHNhbWU7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBiZWhhdmlvdXIgcHJvcGVydGllcy5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IGFscGhhQSAtIHRoZSBzdGFydGluZyBhbHBoYSB2YWx1ZVxuICAgKiBAcGFyYW0gez9udW1iZXJ9IGFscGhhQiAtIHRoZSBlbmRpbmcgYWxwaGEgdmFsdWVcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSB0aGUgbGlmZSBvZiB0aGUgYmVoYXZpb3VyXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGVhc2luZyAtIHRoZSBlYXNpbmcgZXF1YXRpb24gdG8gdXNlIGZvciB0cmFuc2Zvcm1zXG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgcmVzZXQoYWxwaGFBID0gMSwgYWxwaGFCID0gbnVsbCwgbGlmZSwgZWFzaW5nKSB7XG4gICAgdGhpcy5zYW1lID0gYWxwaGFCID09PSBudWxsIHx8IGFscGhhQiA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGZhbHNlO1xuICAgIHRoaXMuYWxwaGFBID0gY3JlYXRlU3BhbihhbHBoYUEpO1xuICAgIHRoaXMuYWxwaGFCID0gY3JlYXRlU3BhbihhbHBoYUIpO1xuXG4gICAgbGlmZSAmJiBzdXBlci5yZXNldChsaWZlLCBlYXNpbmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBiZWhhdmlvdXIgb24gYSBwYXJ0aWNsZS5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IHBhcnRpY2xlIC0gdGhlIHBhcnRpY2xlIHRvIGluaXRpYWxpemUgdGhlIGJlaGF2aW91ciBvblxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGluaXRpYWxpemUocGFydGljbGUpIHtcbiAgICBwYXJ0aWNsZS51c2VBbHBoYSA9IHRydWU7XG4gICAgcGFydGljbGUudHJhbnNmb3JtLmFscGhhQSA9IHRoaXMuYWxwaGFBLmdldFZhbHVlKCk7XG5cbiAgICBwYXJ0aWNsZS50cmFuc2Zvcm0uYWxwaGFCID0gdGhpcy5zYW1lXG4gICAgICA/IHBhcnRpY2xlLnRyYW5zZm9ybS5hbHBoYUFcbiAgICAgIDogdGhpcy5hbHBoYUIuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNdXRhdGVzIHRoZSB0YXJnZXQncyBhbHBoYS9vcGFjaXR5IHByb3BlcnR5LlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0gcGFydGljbGUgLSB0aGUgcGFydGljbGUgdG8gYXBwbHkgdGhlIGJlaGF2aW91ciB0b1xuICAgKiBAcGFyYW0ge251bWJlcn0gdGltZSAtIGVuZ2luZSB0aW1lXG4gICAqIEBwYXJhbSB7aW50ZWdlcn0gaW5kZXggLSB0aGUgcGFydGljbGUgaW5kZXhcbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICBtdXRhdGUocGFydGljbGUsIHRpbWUsIGluZGV4KSB7XG4gICAgdGhpcy5lbmVyZ2l6ZShwYXJ0aWNsZSwgdGltZSwgaW5kZXgpO1xuXG4gICAgcGFydGljbGUuYWxwaGEgPSBNYXRoVXRpbHMubGVycChcbiAgICAgIHBhcnRpY2xlLnRyYW5zZm9ybS5hbHBoYUEsXG4gICAgICBwYXJ0aWNsZS50cmFuc2Zvcm0uYWxwaGFCLFxuICAgICAgdGhpcy5lbmVyZ3lcbiAgICApO1xuXG4gICAgaWYgKHBhcnRpY2xlLmFscGhhIDwgUEFSVElDTEVfQUxQSEFfVEhSRVNIT0xEKSB7XG4gICAgICBwYXJ0aWNsZS5hbHBoYSA9IDA7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBCb2R5IGluaXRpYWxpemVyIGZyb20gSlNPTi5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IGpzb24gLSBUaGUgSlNPTiB0byBjb25zdHJ1Y3QgdGhlIGluc3RhbmNlIGZyb20uXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLmFscGhhQSAtIFRoZSBzdGFydGluZyBhbHBoYSB2YWx1ZVxuICAgKiBAcHJvcGVydHkge251bWJlcn0ganNvbi5hbHBoYUIgLSBUaGUgZW5kaW5nIGFscGhhIHZhbHVlXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLmxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgYmVoYXZpb3VyXG4gICAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBqc29uLmVhc2luZyAtIFRoZSBlYXNpbmcgZXF1YXRpb24gdG8gdXNlIGZvciB0cmFuc2Zvcm1zXG4gICAqIEByZXR1cm4ge0JvZHl9XG4gICAqL1xuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xuICAgIGNvbnN0IHsgYWxwaGFBLCBhbHBoYUIsIGxpZmUsIGVhc2luZywgaXNFbmFibGVkID0gdHJ1ZSB9ID0ganNvbjtcblxuICAgIHJldHVybiBuZXcgQWxwaGEoYWxwaGFBLCBhbHBoYUIsIGxpZmUsIGdldEVhc2luZ0J5TmFtZShlYXNpbmcpLCBpc0VuYWJsZWQpO1xuICB9XG59XG4iXX0=
@@ -31,7 +31,7 @@ var _types = require("./types");
31
31
 
32
32
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
33
33
 
34
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
34
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
35
 
36
36
  /**
37
37
  * Behaviour that causes particles to be attracted to a target position.
@@ -186,4 +186,4 @@ var Attraction = /*#__PURE__*/function (_Behaviour) {
186
186
  }(_Behaviour2["default"]);
187
187
 
188
188
  exports["default"] = Attraction;
189
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvQXR0cmFjdGlvbi5qcyJdLCJuYW1lcyI6WyJBdHRyYWN0aW9uIiwidGFyZ2V0UG9zaXRpb24iLCJWZWN0b3IzRCIsImZvcmNlIiwiREVGQVVMVF9BVFRSQUNUSU9OX0ZPUkNFX1NDQUxBUiIsInJhZGl1cyIsIkRFRkFVTFRfQVRUUkFDSVRPTl9SQURJVVMiLCJsaWZlIiwiREVGQVVMVF9MSUZFIiwiZWFzaW5nIiwiREVGQVVMVF9CRUhBVklPVVJfRUFTSU5HIiwiaXNFbmFibGVkIiwidHlwZSIsIm5vcm1hbGl6ZVZhbHVlIiwicmFkaXVzU3EiLCJhdHRyYWN0aW9uRm9yY2UiLCJsZW5ndGhTcSIsInBhcnRpY2xlIiwidGltZSIsImluZGV4IiwiZW5lcmdpemUiLCJjb3B5Iiwic3ViIiwicG9zaXRpb24iLCJQQVJUSUNMRV9MRU5HVEhfU1FfVEhSRVNIT0xEIiwibm9ybWFsaXplIiwic2NhbGFyIiwiYWNjZWxlcmF0aW9uIiwiYWRkIiwianNvbiIsIngiLCJ5IiwieiIsIkJlaGF2aW91ciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBUUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBOzs7O0lBSXFCQSxVOzs7OztBQUNuQjs7Ozs7Ozs7Ozs7QUFXQSx3QkFPRTtBQUFBOztBQUFBLFFBTkFDLGNBTUEsdUVBTmlCLElBQUlDLGNBQUosRUFNakI7QUFBQSxRQUxBQyxLQUtBLHVFQUxRQywwQ0FLUjtBQUFBLFFBSkFDLE1BSUEsdUVBSlNDLG9DQUlUO0FBQUEsUUFIQUMsSUFHQSx1RUFIT0MsdUJBR1A7QUFBQSxRQUZBQyxNQUVBLHVFQUZTQyxtQ0FFVDtBQUFBLFFBREFDLFNBQ0EsdUVBRFksSUFDWjtBQUFBO0FBQ0EsOEJBQU1KLElBQU4sRUFBWUUsTUFBWixFQUFvQkcsZ0NBQXBCLEVBQTBCRCxTQUExQjtBQUVBOzs7OztBQUlBLFVBQUtWLGNBQUwsR0FBc0JBLGNBQXRCO0FBRUE7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bnQiOlsiaW1wb3J0IHtcbiAgREVGQVVMVF9BVFRSQUNJVE9OX1JBRElVUyxcbiAgREVGQVVMVF9BVFRSQUNUSU9OX0ZPUkNFX1NDQUxBUixcbiAgREVGQVVMVF9CRUhBVklPVVJfRUFTSU5HLFxuICBERUZBVUxUX0xJRkUsXG4gIFBBUlRJQ0xFX0xFTkdUSF9TUV9USFJFU0hPTEQsXG59IGZyb20gJy4vY29uc3RhbnRzJztcblxuaW1wb3J0IEJlaGF2aW91ciBmcm9tICcuL0JlaGF2aW91cic7XG5pbXBvcnQgeyBWZWN0b3IzRCB9IGZyb20gJy4uL21hdGgnO1xuaW1wb3J0IHsgZ2V0RWFzaW5nQnlOYW1lIH0gZnJvbSAnLi4vZWFzZSc7XG5pbXBvcnQgeyBCRUhBVklPVVJfVFlQRV9BVFRSQUNUSU9OIGFzIHR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBCZWhhdmlvdXIgdGhhdCBjYXVzZXMgcGFydGljbGVzIHRvIGJlIGF0dHJhY3RlZCB0byBhIHRhcmdldCBwb3NpdGlvbi5cbiAqXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEF0dHJhY3Rpb24gZXh0ZW5kcyBCZWhhdmlvdXIge1xuICAvKipcbiAgICogQ29uc3RydWN0cyBhbiBBdHRyYWN0aW9uIGJlaGF2aW91ciBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHtWZWN0b3IzRH0gdGFyZ2V0UG9zaXRpb24gLSBUaGUgcG9zaXRpb24gdGhlIHBhcnRpY2xlcyB3aWxsIGJlIGF0dHJhY3RlZCB0b1xuICAgKiBAcGFyYW0ge251bWJlcn0gZm9yY2UgLSBUaGUgYXR0cmFjdGlvbiBmb3JjZSBzY2FsYXIgbXVsdGlwbGllclxuICAgKiBAcGFyYW0ge251bWJlcn0gcmFkaXVzIC0gVGhlIGF0dHJhY3Rpb24gcmFkaXVzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbGlmZT1ERUZBVUxUX0xJRkVdIC0gVGhlIGxpZmUgb2YgdGhlIHBhcnRpY2xlXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IFtlYXNpbmc9REVGQVVMVF9CRUhBVklPVVJfRUFTSU5HXSAtIFRoZSBiZWhhdmlvdXIncyBkZWNheWluZyB0cmVuZFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0VuYWJsZWQ9dHJ1ZV0gLSBEZXRlcm1pbmVzIGlmIHRoZSBiZWhhdmlvdXIgd2lsbCBiZSBhcHBsaWVkIG9yIG5vdFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRhcmdldFBvc2l0aW9uID0gbmV3IFZlY3RvcjNEKCksXG4gICAgZm9yY2UgPSBERUZBVUxUX0FUVFJBQ1RJT05fRk9SQ0VfU0NBTEFSLFxuICAgIHJhZGl1cyA9IERFRkFVTFRfQVRUUkFDSVRPTl9SQURJVVMsXG4gICAgbGlmZSA9IERFRkFVTFRfTElGRSxcbiAgICBlYXNpbmcgPSBERUZBVUxUX0JFSEFWSU9VUl9FQVNJTkcsXG4gICAgaXNFbmFibGVkID0gdHJ1ZVxuICApIHtcbiAgICBzdXBlcihsaWZlLCBlYXNpbmcsIHR5cGUsIGlzRW5hYmxlZCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgcG9zaXRpb24gdGhlIHBhcnRpY2xlcyB3aWxsIGJlIGF0dHJhY3RlZCB0b1xuICAgICAqIEB0eXBlIHtWZWN0b3IzRH1cbiAgICAgKi9cbiAgICB0aGlzLnRhcmdldFBvc2l0aW9uID0gdGFyZ2V0UG9zaXRpb247XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgYXR0cmFjdGlvbiByYWRpdXNcbiAgICAgKiBAdHlwZSB7bnVtYmVyfSAtIHRoZSBhdHRyYWN0aW9uIHJhZGl1c1xuICAgICAqL1xuICAgIHRoaXMucmFkaXVzID0gcmFkaXVzO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIGF0dHJhY3Rpb24gZm9yY2Ugc2NhbGFyIG11bHRpcGxpZXJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgICAqL1xuICAgIHRoaXMuZm9yY2UgPSB0aGlzLm5vcm1hbGl6ZVZhbHVlKGZvcmNlKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSByYWRpdXMgb2YgdGhlIGF0dHJhY3Rpb24gc3F1YXJlZFxuICAgICAqIEB0eXBlIHtudW1iZXJ9XG4gICAgICovXG4gICAgdGhpcy5yYWRpdXNTcSA9IHRoaXMucmFkaXVzICogdGhpcy5yYWRpdXM7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgYXR0cmFjdGlvbiBmb3JjZSBpbiAzRCBzcGFjZVxuICAgICAqIEB0eXBlIHtWZWN0b3IzRH1cbiAgICAgKi9cbiAgICB0aGlzLmF0dHJhY3Rpb25Gb3JjZSA9IG5ldyBWZWN0b3IzRCgpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIGxpbmVhciBhdHRyYWN0aW9uIGZvcmNlXG4gICAgICogQHR5cGUge251bWJlcn1cbiAgICAgKi9cbiAgICB0aGlzLmxlbmd0aFNxID0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIGJlaGF2aW91ciBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAcGFyYW0ge1ZlY3RvcjNEfSB0YXJnZXRQb3NpdGlvbiAtIHRoZSBwb3NpdGlvbiB0aGUgcGFydGljbGVzIHdpbGwgYmUgYXR0cmFjdGVkIHRvXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBmb3JjZSAtIHRoZSBhdHRyYWN0aW9uIGZvcmNlIG11bHRpcGxpZXJcbiAgICogQHBhcmFtIHtudW1iZXJ9IHJhZGl1cyAtIHRoZSBhdHRyYWN0aW9uIHJhZGl1c1xuICAgKiBAcGFyYW0ge251bWJlcn0gbGlmZSAtIHRoZSBsaWZlIG9mIHRoZSBwYXJ0aWNsZVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBlYXNpbmcgLSBUaGUgYmVoYXZpb3VyJ3MgZGVjYXlpbmcgdHJlbmRcbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICByZXNldChcbiAgICB0YXJnZXRQb3NpdGlvbiA9IG5ldyBWZWN0b3IzRCgpLFxuICAgIGZvcmNlID0gREVGQVVMVF9BVFRSQUNUSU9OX0ZPUkNFX1NDQUxBUixcbiAgICByYWRpdXMgPSBERUZBVUxUX0FUVFJBQ0lUT05fUkFESVVTLFxuICAgIGxpZmUsXG4gICAgZWFzaW5nXG4gICkge1xuICAgIHRoaXMudGFyZ2V0UG9zaXRpb24gPSB0YXJnZXRQb3NpdGlvbjtcbiAgICB0aGlzLnJhZGl1cyA9IHJhZGl1cztcbiAgICB0aGlzLmZvcmNlID0gdGhpcy5ub3JtYWxpemVWYWx1ZShmb3JjZSk7XG4gICAgdGhpcy5yYWRpdXNTcSA9IHRoaXMucmFkaXVzICogdGhpcy5yYWRpdXM7XG4gICAgdGhpcy5hdHRyYWN0aW9uRm9yY2UgPSBuZXcgVmVjdG9yM0QoKTtcbiAgICB0aGlzLmxlbmd0aFNxID0gMDtcblxuICAgIGxpZmUgJiYgc3VwZXIucmVzZXQobGlmZSwgZWFzaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNdXRhdGVzIHBhcnRpY2xlIGFjY2VsZXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtQYXJ0aWNsZX0gcGFydGljbGUgLSB0aGUgcGFydGljbGUgdG8gYXBwbHkgdGhlIGJlaGF2aW91ciB0b1xuICAgKiBAcGFyYW0ge251bWJlcn0gdGltZSAtIHBhcnRpY2xlIGVuZ2luZSB0aW1lXG4gICAqIEBwYXJhbSB7aW50ZWdlcn0gaW5kZXggLSB0aGUgcGFydGljbGUgaW5kZXhcbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICBtdXRhdGUocGFydGljbGUsIHRpbWUsIGluZGV4KSB7XG4gICAgdGhpcy5lbmVyZ2l6ZShwYXJ0aWNsZSwgdGltZSwgaW5kZXgpO1xuXG4gICAgdGhpcy5hdHRyYWN0aW9uRm9yY2UuY29weSh0aGlzLnRhcmdldFBvc2l0aW9uKTtcbiAgICB0aGlzLmF0dHJhY3Rpb25Gb3JjZS5zdWIocGFydGljbGUucG9zaXRpb24pO1xuXG4gICAgdGhpcy5sZW5ndGhTcSA9IHRoaXMuYXR0cmFjdGlvbkZvcmNlLmxlbmd0aFNxKCk7XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmxlbmd0aFNxID4gUEFSVElDTEVfTEVOR1RIX1NRX1RIUkVTSE9MRCAmJlxuICAgICAgdGhpcy5sZW5ndGhTcSA8IHRoaXMucmFkaXVzU3FcbiAgICApIHtcbiAgICAgIHRoaXMuYXR0cmFjdGlvbkZvcmNlLm5vcm1hbGl6ZSgpO1xuICAgICAgdGhpcy5hdHRyYWN0aW9uRm9yY2Uuc2NhbGFyKDEgLSB0aGlzLmxlbmd0aFNxIC8gdGhpcy5yYWRpdXNTcSk7XG4gICAgICB0aGlzLmF0dHJhY3Rpb25Gb3JjZS5zY2FsYXIodGhpcy5mb3JjZSk7XG5cbiAgICAgIHBhcnRpY2xlLmFjY2VsZXJhdGlvbi5hZGQodGhpcy5hdHRyYWN0aW9uRm9yY2UpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQm9keSBpbml0aWFsaXplciBmcm9tIEpTT04uXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBqc29uIC0gVGhlIEpTT04gdG8gY29uc3RydWN0IHRoZSBpbnN0YW5jZSBmcm9tLlxuICAgKiBAcHJvcGVydHkge251bWJlcn0ganNvbi54IC0gVGhlIHRhcmdldCBwb3NpdGlvbiB4IHZhbHVlXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLnkgLSBUaGUgdGFyZ2V0IHBvc2l0aW9uIHkgdmFsdWVcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGpzb24ueiAtIFRoZSB0YXJnZXQgcG9zaXRpb24geiB2YWx1ZVxuICAgKiBAcHJvcGVydHkge251bWJlcn0ganNvbi5mb3JjZSAtIFRoZSBhdHRyYWN0aW9uIGZvcmNlIHNjYWxhciBtdWx0aXBsaWVyXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLmxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHByb3BlcnR5IHtzdHJpbmd9IGpzb24uZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEByZXR1cm4ge0JvZHl9XG4gICAqL1xuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xuICAgIGNvbnN0IHsgeCwgeSwgeiwgZm9yY2UsIHJhZGl1cywgbGlmZSwgZWFzaW5nLCBpc0VuYWJsZWQgPSB0cnVlIH0gPSBqc29uO1xuXG4gICAgcmV0dXJuIG5ldyBBdHRyYWN0aW9uKFxuICAgICAgbmV3IFZlY3RvcjNEKHgsIHksIHopLFxuICAgICAgZm9yY2UsXG4gICAgICByYWRpdXMsXG4gICAgICBsaWZlLFxuICAgICAgZ2V0RWFzaW5nQnlOYW1lKGVhc2luZyksXG4gICAgICBpc0VuYWJsZWRcbiAgICApO1xuICB9XG59XG4iXX0=
189
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvQXR0cmFjdGlvbi5qcyJdLCJuYW1lcyI6WyJBdHRyYWN0aW9uIiwidGFyZ2V0UG9zaXRpb24iLCJWZWN0b3IzRCIsImZvcmNlIiwiREVGQVVMVF9BVFRSQUNUSU9OX0ZPUkNFX1NDQUxBUiIsInJhZGl1cyIsIkRFRkFVTFRfQVRUUkFDSVRPTl9SQURJVVMiLCJsaWZlIiwiREVGQVVMVF9MSUZFIiwiZWFzaW5nIiwiREVGQVVMVF9CRUhBVklPVVJfRUFTSU5HIiwiaXNFbmFibGVkIiwidHlwZSIsIm5vcm1hbGl6ZVZhbHVlIiwicmFkaXVzU3EiLCJhdHRyYWN0aW9uRm9yY2UiLCJsZW5ndGhTcSIsInBhcnRpY2xlIiwidGltZSIsImluZGV4IiwiZW5lcmdpemUiLCJjb3B5Iiwic3ViIiwicG9zaXRpb24iLCJQQVJUSUNMRV9MRU5HVEhfU1FfVEhSRVNIT0xEIiwibm9ybWFsaXplIiwic2NhbGFyIiwiYWNjZWxlcmF0aW9uIiwiYWRkIiwianNvbiIsIngiLCJ5IiwieiIsIkJlaGF2aW91ciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBUUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0lBQ3FCQSxVOzs7OztBQUNuQjtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Usd0JBT0U7QUFBQTs7QUFBQSxRQU5BQyxjQU1BLHVFQU5pQixJQUFJQyxjQUFKLEVBTWpCO0FBQUEsUUFMQUMsS0FLQSx1RUFMUUMsMENBS1I7QUFBQSxRQUpBQyxNQUlBLHVFQUpTQyxvQ0FJVDtBQUFBLFFBSEFDLElBR0EsdUVBSE9DLHVCQUdQO0FBQUEsUUFGQUMsTUFFQSx1RUFGU0MsbUNBRVQ7QUFBQSxRQURBQyxTQUNBLHVFQURZLElBQ1o7QUFBQTtBQUNBLDhCQUFNSixJQUFOLEVBQVlFLE1BQVosRUFBb0JHLGdDQUFwQixFQUEw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QzBCbEIsU0FEMUI7QUFBQSxVQUMwQkEsU0FEMUIsZ0NBQ3NDLElBRHRDO0FBR3BCLGFBQU8sSUFBSVgsVUFBSixDQUNMLElBQUlFLGNBQUosQ0FBYTRCLENBQWIsRUFBZ0JDLENBQWhCLEVBQW1CQyxDQUFuQixDQURLLEVBRUw3QixLQUZLLEVBR0xFLE1BSEssRUFJTEUsSUFKSyxFQUtMLDJCQUFnQkUsTUFBaEIsQ0FMSyxFQU1MRSxTQU5LLENBQVA7QUFRRDs7O0VBeklxQ3NCLHNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgREVGQVVMVF9BVFRSQUNJVE9OX1JBRElVUyxcbiAgREVGQVVMVF9BVFRSQUNUSU9OX0ZPUkNFX1NDQUxBUixcbiAgREVGQVVMVF9CRUhBVklPVVJfRUFTSU5HLFxuICBERUZBVUxUX0xJRkUsXG4gIFBBUlRJQ0xFX0xFTkdUSF9TUV9USFJFU0hPTEQsXG59IGZyb20gJy4vY29uc3RhbnRzJztcblxuaW1wb3J0IEJlaGF2aW91ciBmcm9tICcuL0JlaGF2aW91cic7XG5pbXBvcnQgeyBWZWN0b3IzRCB9IGZyb20gJy4uL21hdGgnO1xuaW1wb3J0IHsgZ2V0RWFzaW5nQnlOYW1lIH0gZnJvbSAnLi4vZWFzZSc7XG5pbXBvcnQgeyBCRUhBVklPVVJfVFlQRV9BVFRSQUNUSU9OIGFzIHR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBCZWhhdmlvdXIgdGhhdCBjYXVzZXMgcGFydGljbGVzIHRvIGJlIGF0dHJhY3RlZCB0byBhIHRhcmdldCBwb3NpdGlvbi5cbiAqXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEF0dHJhY3Rpb24gZXh0ZW5kcyBCZWhhdmlvdXIge1xuICAvKipcbiAgICogQ29uc3RydWN0cyBhbiBBdHRyYWN0aW9uIGJlaGF2aW91ciBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHtWZWN0b3IzRH0gdGFyZ2V0UG9zaXRpb24gLSBUaGUgcG9zaXRpb24gdGhlIHBhcnRpY2xlcyB3aWxsIGJlIGF0dHJhY3RlZCB0b1xuICAgKiBAcGFyYW0ge251bWJlcn0gZm9yY2UgLSBUaGUgYXR0cmFjdGlvbiBmb3JjZSBzY2FsYXIgbXVsdGlwbGllclxuICAgKiBAcGFyYW0ge251bWJlcn0gcmFkaXVzIC0gVGhlIGF0dHJhY3Rpb24gcmFkaXVzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbGlmZT1ERUZBVUxUX0xJRkVdIC0gVGhlIGxpZmUgb2YgdGhlIHBhcnRpY2xlXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IFtlYXNpbmc9REVGQVVMVF9CRUhBVklPVVJfRUFTSU5HXSAtIFRoZSBiZWhhdmlvdXIncyBkZWNheWluZyB0cmVuZFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0VuYWJsZWQ9dHJ1ZV0gLSBEZXRlcm1pbmVzIGlmIHRoZSBiZWhhdmlvdXIgd2lsbCBiZSBhcHBsaWVkIG9yIG5vdFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIHRhcmdldFBvc2l0aW9uID0gbmV3IFZlY3RvcjNEKCksXG4gICAgZm9yY2UgPSBERUZBVUxUX0FUVFJBQ1RJT05fRk9SQ0VfU0NBTEFSLFxuICAgIHJhZGl1cyA9IERFRkFVTFRfQVRUUkFDSVRPTl9SQURJVVMsXG4gICAgbGlmZSA9IERFRkFVTFRfTElGRSxcbiAgICBlYXNpbmcgPSBERUZBVUxUX0JFSEFWSU9VUl9FQVNJTkcsXG4gICAgaXNFbmFibGVkID0gdHJ1ZVxuICApIHtcbiAgICBzdXBlcihsaWZlLCBlYXNpbmcsIHR5cGUsIGlzRW5hYmxlZCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgcG9zaXRpb24gdGhlIHBhcnRpY2xlcyB3aWxsIGJlIGF0dHJhY3RlZCB0b1xuICAgICAqIEB0eXBlIHtWZWN0b3IzRH1cbiAgICAgKi9cbiAgICB0aGlzLnRhcmdldFBvc2l0aW9uID0gdGFyZ2V0UG9zaXRpb247XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgYXR0cmFjdGlvbiByYWRpdXNcbiAgICAgKiBAdHlwZSB7bnVtYmVyfSAtIHRoZSBhdHRyYWN0aW9uIHJhZGl1c1xuICAgICAqL1xuICAgIHRoaXMucmFkaXVzID0gcmFkaXVzO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIGF0dHJhY3Rpb24gZm9yY2Ugc2NhbGFyIG11bHRpcGxpZXJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgICAqL1xuICAgIHRoaXMuZm9yY2UgPSB0aGlzLm5vcm1hbGl6ZVZhbHVlKGZvcmNlKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSByYWRpdXMgb2YgdGhlIGF0dHJhY3Rpb24gc3F1YXJlZFxuICAgICAqIEB0eXBlIHtudW1iZXJ9XG4gICAgICovXG4gICAgdGhpcy5yYWRpdXNTcSA9IHRoaXMucmFkaXVzICogdGhpcy5yYWRpdXM7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgYXR0cmFjdGlvbiBmb3JjZSBpbiAzRCBzcGFjZVxuICAgICAqIEB0eXBlIHtWZWN0b3IzRH1cbiAgICAgKi9cbiAgICB0aGlzLmF0dHJhY3Rpb25Gb3JjZSA9IG5ldyBWZWN0b3IzRCgpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIGxpbmVhciBhdHRyYWN0aW9uIGZvcmNlXG4gICAgICogQHR5cGUge251bWJlcn1cbiAgICAgKi9cbiAgICB0aGlzLmxlbmd0aFNxID0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIGJlaGF2aW91ciBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAcGFyYW0ge1ZlY3RvcjNEfSB0YXJnZXRQb3NpdGlvbiAtIHRoZSBwb3NpdGlvbiB0aGUgcGFydGljbGVzIHdpbGwgYmUgYXR0cmFjdGVkIHRvXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBmb3JjZSAtIHRoZSBhdHRyYWN0aW9uIGZvcmNlIG11bHRpcGxpZXJcbiAgICogQHBhcmFtIHtudW1iZXJ9IHJhZGl1cyAtIHRoZSBhdHRyYWN0aW9uIHJhZGl1c1xuICAgKiBAcGFyYW0ge251bWJlcn0gbGlmZSAtIHRoZSBsaWZlIG9mIHRoZSBwYXJ0aWNsZVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBlYXNpbmcgLSBUaGUgYmVoYXZpb3VyJ3MgZGVjYXlpbmcgdHJlbmRcbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICByZXNldChcbiAgICB0YXJnZXRQb3NpdGlvbiA9IG5ldyBWZWN0b3IzRCgpLFxuICAgIGZvcmNlID0gREVGQVVMVF9BVFRSQUNUSU9OX0ZPUkNFX1NDQUxBUixcbiAgICByYWRpdXMgPSBERUZBVUxUX0FUVFJBQ0lUT05fUkFESVVTLFxuICAgIGxpZmUsXG4gICAgZWFzaW5nXG4gICkge1xuICAgIHRoaXMudGFyZ2V0UG9zaXRpb24gPSB0YXJnZXRQb3NpdGlvbjtcbiAgICB0aGlzLnJhZGl1cyA9IHJhZGl1cztcbiAgICB0aGlzLmZvcmNlID0gdGhpcy5ub3JtYWxpemVWYWx1ZShmb3JjZSk7XG4gICAgdGhpcy5yYWRpdXNTcSA9IHRoaXMucmFkaXVzICogdGhpcy5yYWRpdXM7XG4gICAgdGhpcy5hdHRyYWN0aW9uRm9yY2UgPSBuZXcgVmVjdG9yM0QoKTtcbiAgICB0aGlzLmxlbmd0aFNxID0gMDtcblxuICAgIGxpZmUgJiYgc3VwZXIucmVzZXQobGlmZSwgZWFzaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNdXRhdGVzIHBhcnRpY2xlIGFjY2VsZXJhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtQYXJ0aWNsZX0gcGFydGljbGUgLSB0aGUgcGFydGljbGUgdG8gYXBwbHkgdGhlIGJlaGF2aW91ciB0b1xuICAgKiBAcGFyYW0ge251bWJlcn0gdGltZSAtIHBhcnRpY2xlIGVuZ2luZSB0aW1lXG4gICAqIEBwYXJhbSB7aW50ZWdlcn0gaW5kZXggLSB0aGUgcGFydGljbGUgaW5kZXhcbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICBtdXRhdGUocGFydGljbGUsIHRpbWUsIGluZGV4KSB7XG4gICAgdGhpcy5lbmVyZ2l6ZShwYXJ0aWNsZSwgdGltZSwgaW5kZXgpO1xuXG4gICAgdGhpcy5hdHRyYWN0aW9uRm9yY2UuY29weSh0aGlzLnRhcmdldFBvc2l0aW9uKTtcbiAgICB0aGlzLmF0dHJhY3Rpb25Gb3JjZS5zdWIocGFydGljbGUucG9zaXRpb24pO1xuXG4gICAgdGhpcy5sZW5ndGhTcSA9IHRoaXMuYXR0cmFjdGlvbkZvcmNlLmxlbmd0aFNxKCk7XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmxlbmd0aFNxID4gUEFSVElDTEVfTEVOR1RIX1NRX1RIUkVTSE9MRCAmJlxuICAgICAgdGhpcy5sZW5ndGhTcSA8IHRoaXMucmFkaXVzU3FcbiAgICApIHtcbiAgICAgIHRoaXMuYXR0cmFjdGlvbkZvcmNlLm5vcm1hbGl6ZSgpO1xuICAgICAgdGhpcy5hdHRyYWN0aW9uRm9yY2Uuc2NhbGFyKDEgLSB0aGlzLmxlbmd0aFNxIC8gdGhpcy5yYWRpdXNTcSk7XG4gICAgICB0aGlzLmF0dHJhY3Rpb25Gb3JjZS5zY2FsYXIodGhpcy5mb3JjZSk7XG5cbiAgICAgIHBhcnRpY2xlLmFjY2VsZXJhdGlvbi5hZGQodGhpcy5hdHRyYWN0aW9uRm9yY2UpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQm9keSBpbml0aWFsaXplciBmcm9tIEpTT04uXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBqc29uIC0gVGhlIEpTT04gdG8gY29uc3RydWN0IHRoZSBpbnN0YW5jZSBmcm9tLlxuICAgKiBAcHJvcGVydHkge251bWJlcn0ganNvbi54IC0gVGhlIHRhcmdldCBwb3NpdGlvbiB4IHZhbHVlXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLnkgLSBUaGUgdGFyZ2V0IHBvc2l0aW9uIHkgdmFsdWVcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGpzb24ueiAtIFRoZSB0YXJnZXQgcG9zaXRpb24geiB2YWx1ZVxuICAgKiBAcHJvcGVydHkge251bWJlcn0ganNvbi5mb3JjZSAtIFRoZSBhdHRyYWN0aW9uIGZvcmNlIHNjYWxhciBtdWx0aXBsaWVyXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLmxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHByb3BlcnR5IHtzdHJpbmd9IGpzb24uZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEByZXR1cm4ge0JvZHl9XG4gICAqL1xuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xuICAgIGNvbnN0IHsgeCwgeSwgeiwgZm9yY2UsIHJhZGl1cywgbGlmZSwgZWFzaW5nLCBpc0VuYWJsZWQgPSB0cnVlIH0gPSBqc29uO1xuXG4gICAgcmV0dXJuIG5ldyBBdHRyYWN0aW9uKFxuICAgICAgbmV3IFZlY3RvcjNEKHgsIHksIHopLFxuICAgICAgZm9yY2UsXG4gICAgICByYWRpdXMsXG4gICAgICBsaWZlLFxuICAgICAgZ2V0RWFzaW5nQnlOYW1lKGVhc2luZyksXG4gICAgICBpc0VuYWJsZWRcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -250,4 +250,4 @@ var Behaviour = /*#__PURE__*/function () {
250
250
  }();
251
251
 
252
252
  exports["default"] = Behaviour;
253
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvQmVoYXZpb3VyLmpzIl0sIm5hbWVzIjpbIkJlaGF2aW91ciIsImxpZmUiLCJJbmZpbml0eSIsImVhc2luZyIsIkRFRkFVTFRfQkVIQVZJT1VSX0VBU0lORyIsInR5cGUiLCJCRUhBVklPVVJfVFlQRV9BQlNUUkFDVCIsImlzRW5hYmxlZCIsImlkIiwiYWdlIiwiZW5lcmd5IiwiZGVhZCIsIkRFRkFVTFRfTElGRSIsImZvcmNlIiwic2NhbGFyIiwiTUVBU1VSRSIsInZhbHVlIiwicGFydGljbGUiLCJ0YXJnZXQiLCJ0aW1lIiwiaW5kZXgiLCJtdXRhdGUiLCJzY2FsZSIsIk1hdGgiLCJtYXgiLCJqc29uIiwiX2xpZmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7SUFLcUJBLFM7QUFDbkI7Ozs7Ozs7OztBQVNBLHVCQUtFO0FBQUEsUUFKQUMsSUFJQSx1RUFKT0MsUUFJUDtBQUFBLFFBSEFDLE1BR0EsdUVBSFNDLG1DQUdUO0FBQUEsUUFGQUMsSUFFQSx1RUFGT0MsOEJBRVA7QUFBQSxRQURBQyxTQUNBLHVFQURZLElBQ1o7QUFBQTs7QUFDQTs7OztBQUlBLFNBQUtGLElBQUwsR0FBWUEsSUFBWjtBQUVBOzs7OztBQUlBLFNBQUtFLFNBQUwsR0FBaUJBLFNBQWpCO0FBRUE7Ozs7O0FBSUEsU0FBS0MsRUFBTCx1QkFBdUIsaUJBQXZCO0FBRUE7Ozs7O0FBSUEsU0FBS1AsSUFBTCxHQUFZQSxJQUFaO0FBRUE7Ozs7O0FBSUEsU0FBS0UsTUFBTCxHQUFjQSxNQUFkO0FBRUE7Ozs7O0FBSUEsU0FBS00sR0FBTCxHQUFXLENBQVg7QUFFQTs7Ozs7QUFJQSxTQUFLQyxNQUFMLEdBQWMsQ0FBZDtBQUVBOzs7OztBQUlBLFNBQUtDLElBQUwsR0FBWSxLQUFaO0FBQ0Q7QUFFRDs7Ozs7Ozs7Ozs0QkFNOEQ7QUFBQSxVQUF4RFYsSUFBd0QsdUVBQWpEVyx1QkFBaUQ7QUFBQSxVQUFuQ1QsTUFBbUMsdUVBQTFCQyxtQ0FBMEI7QUFDNUQsV0FBS0gsSUFBTCxHQUFZQSxJQUFaO0FBQ0EsV0FBS0UsTUFBTCxHQUFjQSxNQUFNLElBQUlDLG1DQUF4QjtBQUNEO0FBRUQ7Ozs7Ozs7OztBQWtCQTs7Ozs7O21DQU1lUyxLLEVBQU87QUFDcEIsYUFBT0EsS0FBSyxDQUFDQyxNQUFOLENBQWFDLG1CQUFiLENBQVA7QUFDRDtBQUVEOzs7Ozs7Ozs7bUNBTWVDLEssRUFBTztBQUNwQixhQUFPQSxLQUFLLEdBQUdELG1CQUFmO0FBQ0Q7QUFFRDs7Ozs7Ozs7OytCQU1XRSxRLEVBQVUsQ0FBRSxDLENBQUM7O0FBRXhCOzs7Ozs7Ozs7Ozs7OzttQ0FXZUMsTSxFQUFRQyxJLEVBQU1DLEssRUFBTztBQUNsQyxVQUFJLENBQUMsS0FBS2IsU0FBVixFQUFxQjtBQUNuQjtBQUNEOztBQUVELFdBQUtjLE1BQUwsQ0FBWUgsTUFBWixFQUFvQkMsSUFBcEIsRUFBMEJDLEtBQTFCO0FBQ0Q7QUFFRDs7Ozs7Ozs7Ozs7MkJBUU9GLE0sRUFBUUMsSSxFQUFNQyxLLEVBQU8sQ0FBRSxDLENBQUM7O0FBRS9COzs7Ozs7Ozs7Ozs7NkJBU1NILFEsRUFBVUUsSSxFQUFNO0FBQ3ZCLFVBQUksS0FBS1IsSUFBVCxFQUFlO0FBQ2I7QUFDRDs7QUFFRCxXQUFLRixHQUFMLElBQVlVLElBQVo7O0FBRUEsVUFBSSxLQUFLVixHQUFMLElBQVksS0FBS1IsSUFBckIsRUFBMkI7QUFDekIsYUFBS1MsTUFBTCxHQUFjLENBQWQ7QUFDQSxhQUFLQyxJQUFMLEdBQVksSUFBWjtBQUVBO0FBQ0Q7O0FBRUQsVUFBTVcsS0FBSyxHQUFHLEtBQUtuQixNQUFMLENBQVljLFFBQVEsQ0FBQ1IsR0FBVCxHQUFlUSxRQUFRLENBQUNoQixJQUFwQyxDQUFkO0FBRUEsV0FBS1MsTUFBTCxHQUFjYSxJQUFJLENBQUNDLEdBQUwsQ0FBUyxJQUFJRixLQUFiLEVBQW9CLENBQXBCLENBQWQ7QUFDRDtBQUVEOzs7Ozs7Ozs4QkFLVSxDQUFFO0FBRVo7Ozs7Ozs7Ozs7NkJBT1NHLEksRUFBTSxDQUFFLEMsQ0FBQzs7OztzQkFoSFR4QixJLEVBQU07QUFDYixXQUFLeUIsS0FBTCxHQUFhLDBCQUFTekIsSUFBVCxJQUFpQkEsSUFBakIsR0FBd0JXLHVCQUFyQztBQUNEO0FBRUQ7Ozs7Ozt3QkFLVztBQUNULGFBQU8sS0FBS2MsS0FBWjtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgREVGQVVMVF9CRUhBVklPVVJfRUFTSU5HLCBERUZBVUxUX0xJRkUgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmltcG9ydCB7IEJFSEFWSU9VUl9UWVBFX0FCU1RSQUNUIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBNRUFTVVJFIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCBpc051bWJlciBmcm9tICdsb2Rhc2gvaXNOdW1iZXInO1xuaW1wb3J0IHsgdWlkIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vKipcbiAqIFRoZSBiYXNlIGJlaGF2aW91ciBjbGFzcy5cbiAqIEJlaGF2aW91cnMgbWFuYWdlIGEgcGFydGljbGUncyBiZWhhdmlvdXIgYWZ0ZXIgdGhleSBoYXZlIGJlZW4gZW1pdHRlZC5cbiAqXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJlaGF2aW91ciB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgQmVoYXZpb3VyIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gW2xpZmU9SW5maW5pdHldIC0gVGhlIGxpZmUgb2YgdGhlIGJlaGF2aW91clxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBbZWFzaW5nPURFRkFVTFRfQkVIQVZJT1VSX0VBU0lOR10gLSBUaGUgYmVoYXZpb3VyJ3MgZGVjYXlpbmcgdHJlbmRcbiAgICogQHBhcmFtIHtzdHJpbmd9IFt0eXBlPUJFSEFWSU9VUl9UWVBFX0FCU1RSQUNUXSAtIFRoZSBiZWhhdmlvdXIgdHlwZVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0VuYWJsZWQ9dHJ1ZV0gLSBEZXRlcm1pbmVzIGlmIHRoZSBiZWhhdmlvdXIgd2lsbCBiZSBhcHBsaWVkIG9yIG5vdFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxpZmUgPSBJbmZpbml0eSxcbiAgICBlYXNpbmcgPSBERUZBVUxUX0JFSEFWSU9VUl9FQVNJTkcsXG4gICAgdHlwZSA9IEJFSEFWSU9VUl9UWVBFX0FCU1RSQUNULFxuICAgIGlzRW5hYmxlZCA9IHRydWVcbiAgKSB7XG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIGNsYXNzIHR5cGUuXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgRGV0ZXJtaW5lcyBpZiB0aGUgYmVoYXZpb3VyIHdpbGwgYmUgYXBwbGllZCBvciBub3RcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICB0aGlzLmlzRW5hYmxlZCA9IGlzRW5hYmxlZDtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSBiZWhhdmlvdXIncyBpZFxuICAgICAqIEB0eXBlIHtzdHJpbmd9IGlkXG4gICAgICovXG4gICAgdGhpcy5pZCA9IGBiZWhhdmlvdXItJHt1aWQoKX1gO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIGxpZmUgb2YgdGhlIGJlaGF2aW91clxuICAgICAqIEB0eXBlIHtudW1iZXJ9XG4gICAgICovXG4gICAgdGhpcy5saWZlID0gbGlmZTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSBiZWhhdmlvdXIncyBkZWNheWluZyB0cmVuZFxuICAgICAqIEB0eXBlIHtmdW5jdGlvbn1cbiAgICAgKi9cbiAgICB0aGlzLmVhc2luZyA9IGVhc2luZztcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSBhZ2Ugb2YgdGhlIGJlaGF2aW91clxuICAgICAqIEB0eXBlIHtudW1iZXJ9XG4gICAgICovXG4gICAgdGhpcy5hZ2UgPSAwO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIGVuZXJneSBvZiB0aGUgYmVoYXZpb3VyXG4gICAgICogQHR5cGUge251bWJlcn1cbiAgICAgKi9cbiAgICB0aGlzLmVuZXJneSA9IDE7XG5cbiAgICAvKipcbiAgICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBiZWhhdmlvdXIgaXMgZGVhZCBvciBub3RcbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICAgKi9cbiAgICB0aGlzLmRlYWQgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB0aGlzIGJlaGF2aW91cidzIHBhcmFtZXRlcnNcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtsaWZlPURFRkFVTFRfTElGRV0gLSBUaGUgbGlmZSBvZiB0aGUgYmVoYXZpb3VyXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IFtlYXNpbmc9REVGQVVMVF9CRUhBVklPVVJfRUFTSU5HXSAtIFRoZSBiZWhhdmlvdXIncyBkZWNheWluZyB0cmVuZFxuICAgKi9cbiAgcmVzZXQobGlmZSA9IERFRkFVTFRfTElGRSwgZWFzaW5nID0gREVGQVVMVF9CRUhBVklPVVJfRUFTSU5HKSB7XG4gICAgdGhpcy5saWZlID0gbGlmZTtcbiAgICB0aGlzLmVhc2luZyA9IGVhc2luZyB8fCBERUZBVUxUX0JFSEFWSU9VUl9FQVNJTkc7XG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlcyB0aGF0IGxpZmUgaXMgaW5maW5pdHkgaWYgYW4gaW52YWxpZCB2YWx1ZSBpcyBzdXBwbGllZC5cbiAgICpcbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICBzZXQgbGlmZShsaWZlKSB7XG4gICAgdGhpcy5fbGlmZSA9IGlzTnVtYmVyKGxpZmUpID8gbGlmZSA6IERFRkFVTFRfTElGRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBiZWhhdmlvdXIncyBsaWZlLlxuICAgKlxuICAgKiBAcmV0dXJuIHtOdW1iZXJ9XG4gICAqL1xuICBnZXQgbGlmZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbGlmZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3JtYWxpemUgYSBmb3JjZSBieSAxOjEwMDtcbiAgICpcbiAgICogQHBhcmFtIHtWZWN0b3IzRH0gZm9yY2UgLSBUaGUgZm9yY2UgdG8gbm9ybWFsaXplLlxuICAgKiBAcmV0dXJuIHtWZWN0b3IzRH1cbiAgICovXG4gIG5vcm1hbGl6ZUZvcmNlKGZvcmNlKSB7XG4gICAgcmV0dXJuIGZvcmNlLnNjYWxhcihNRUFTVVJFKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3JtYWxpemUgYSB2YWx1ZSBieSAxOjEwMDtcbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IHZhbHVlIC0gVGhlIHZhbHVlIHRvIG5vcm1hbGl6ZVxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBub3JtYWxpemVWYWx1ZSh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZSAqIE1FQVNVUkU7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBiZWhhdmlvdXIncyBpbml0aWFsIHByb3BlcnRpZXMgb24gdGhlIHBhcnRpY2xlLlxuICAgKlxuICAgKiBAcGFyYW0ge1BhcnRpY2xlfSBwYXJ0aWNsZVxuICAgKiBAYWJzdHJhY3RcbiAgICovXG4gIGluaXRpYWxpemUocGFydGljbGUpIHt9IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcblxuICAvKipcbiAgICogQXBwbHkgYmVoYXZpb3VyIHRvIHRoZSB0YXJnZXQgYXMgYSBmYWN0b3Igb2YgdGltZS5cbiAgICogSW50ZXJuYWxseSBjYWxscyB0aGUgbXV0YXRlIG1ldGhvZCB0byBjaGFuZ2UgcHJvcGVydGllcyBvbiB0aGUgdGFyZ2V0XG4gICAqIFdpbGwgbm90IGRvIHNvIGlmIHRoZSBiZWhhdmlvdXIgaXMgZGlzYWJsZWRcbiAgICpcbiAgICogQGFic3RyYWN0XG4gICAqIEBwYXJhbSB7UGFydGljbGV8RW1pdHRlcn0gdGFyZ2V0IC0gVGhlIHBhcnRpY2xlIG9yIGVtaXR0ZXIgdG8gYXBwbHkgdGhlIGJlaGF2aW91ciB0b1xuICAgKiBAcGFyYW0ge051bWJlcn0gdGltZSAtIHRoZSBzeXN0ZW0gaW50ZWdyYXRpb24gdGltZVxuICAgKiBAcGFyYW0ge2ludGVnZXJ9IGluZGV4IC0gdGhlIHRhcmdldCBpbmRleFxuICAgKiBAcmV0dXJuIG1peGVkXG4gICAqL1xuICBhcHBseUJlaGF2aW91cih0YXJnZXQsIHRpbWUsIGluZGV4KSB7XG4gICAgaWYgKCF0aGlzLmlzRW5hYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubXV0YXRlKHRhcmdldCwgdGltZSwgaW5kZXgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoYW5nZSB0aGUgdGFyZ2V0J3MgcHJvcGVydGllcyBhY2NvcmRpbmcgdG8gc3BlY2lmaWMgYmVoYXZpb3VyIGxvZ2ljLlxuICAgKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtQYXJ0aWNsZXxFbWl0dGVyfSB0YXJnZXQgLSBUaGUgcGFydGljbGUgb3IgZW1pdHRlciB0byBhcHBseSB0aGUgYmVoYXZpb3VyIHRvXG4gICAqIEBwYXJhbSB7TnVtYmVyfSB0aW1lIC0gdGhlIHN5c3RlbSBpbnRlZ3JhdGlvbiB0aW1lXG4gICAqIEByZXR1cm4gbWl4ZWRcbiAgICovXG4gIG11dGF0ZSh0YXJnZXQsIHRpbWUsIGluZGV4KSB7fSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG5cbiAgLyoqXG4gICAqIENvbXBhcmVzIHRoZSBhZ2Ugb2YgdGhlIGJlaGF2aW91ciB2cyBpbnRlZ3JhdGlvbiB0aW1lIGFuZCBkZXRlcm1pbmVzXG4gICAqIGlmIHRoZSBiZWhhdmlvdXIgc2hvdWxkIGJlIHNldCB0byBkZWFkIG9yIG5vdC5cbiAgICogU2V0cyB0aGUgYmVoYXZpb3VyIGVuZXJneSBhcyBhIGZhY3RvciBvZiBwYXJ0aWNsZSBhZ2UgYW5kIGxpZmUuXG4gICAqXG4gICAqIEBwYXJhbSB7UGFydGljbGV9IHBhcnRpY2xlIC0gVGhlIHBhcnRpY2xlIHRvIGFwcGx5IHRoZSBiZWhhdmlvdXIgdG9cbiAgICogQHBhcmFtIHtOdW1iZXJ9IHRpbWUgLSB0aGUgc3lzdGVtIGludGVncmF0aW9uIHRpbWVcbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICBlbmVyZ2l6ZShwYXJ0aWNsZSwgdGltZSkge1xuICAgIGlmICh0aGlzLmRlYWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmFnZSArPSB0aW1lO1xuXG4gICAgaWYgKHRoaXMuYWdlID49IHRoaXMubGlmZSkge1xuICAgICAgdGhpcy5lbmVyZ3kgPSAwO1xuICAgICAgdGhpcy5kZWFkID0gdHJ1ZTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNjYWxlID0gdGhpcy5lYXNpbmcocGFydGljbGUuYWdlIC8gcGFydGljbGUubGlmZSk7XG5cbiAgICB0aGlzLmVuZXJneSA9IE1hdGgubWF4KDEgLSBzY2FsZSwgMCk7XG4gIH1cblxuICAvKipcbiAgICogRGVzdG9yeSB0aGlzIGJlaGF2aW91ci5cbiAgICpcbiAgICogQGFic3RyYWN0XG4gICAqL1xuICBkZXN0cm95KCkge31cblxuICAvKipcbiAgICogUmV0dXJucyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUgYmVoYXZpb3VyIGZyb20gdGhlIEpTT04gb2JqZWN0IHBhc3NlZC5cbiAgICpcbiAgICogQGFic3RyYWN0XG4gICAqIEBwYXJhbSB7b2JqZWN0fSBqc29uIC0gSlNPTiBvYmplY3QgY29udGFpbmluZyB0aGUgcmVxdWlyZWQgY29uc3RydWN0b3IgcHJvcGVydGllc1xuICAgKiBAcmV0dXJuIHtCZWhhdmlvdXJ9XG4gICAqL1xuICBmcm9tSlNPTihqc29uKSB7fSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG59XG4iXX0=
253
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvQmVoYXZpb3VyLmpzIl0sIm5hbWVzIjpbIkJlaGF2aW91ciIsImxpZmUiLCJJbmZpbml0eSIsImVhc2luZyIsIkRFRkFVTFRfQkVIQVZJT1VSX0VBU0lORyIsInR5cGUiLCJCRUhBVklPVVJfVFlQRV9BQlNUUkFDVCIsImlzRW5hYmxlZCIsImlkIiwiYWdlIiwiZW5lcmd5IiwiZGVhZCIsIkRFRkFVTFRfTElGRSIsImZvcmNlIiwic2NhbGFyIiwiTUVBU1VSRSIsInZhbHVlIiwicGFydGljbGUiLCJ0YXJnZXQiLCJ0aW1lIiwiaW5kZXgiLCJtdXRhdGUiLCJzY2FsZSIsIk1hdGgiLCJtYXgiLCJqc29uIiwiX2xpZmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ3FCQSxTO0FBQ25CO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNFLHVCQUtFO0FBQUEsUUFKQUMsSUFJQSx1RUFKT0MsUUFJUDtBQUFBLFFBSEFDLE1BR0EsdUVBSFNDLG1DQUdUO0FBQUEsUUFGQUMsSUFFQSx1RUFGT0MsOEJBRVA7QUFBQSxRQURBQyxTQUNBLHVFQURZLElBQ1o7QUFBQTs7QUFDQTtBQUNKO0FBQ0E7QUFDQTtBQUNJLFNBQUtGLElBQUwsR0FBWUEsSUFBWjtBQUVBO0FBQ0o7QUFDQTtBQUNBOztBQUNJLFNBQUtFLFNBQUwsR0FBaUJBLFNBQWpCO0FBRUE7QUFDSjtBQUNBO0FBQ0E7O0FBQ0ksU0FBS0MsRUFBTCx1QkFBdUIsaUJBQXZCO0FBRUE7QUFDSjtBQUNBO0FBQ0E7O0FBQ0ksU0FBS1AsSUFBTCxHQUFZQSxJQUFaO0FBRUE7QUFDSjtBQUNBO0FBQ0E7O0FBQ0ksU0FBS0UsTUFBTCxHQUFjQSxNQUFkO0FBRUE7QUFDSjtBQUNBO0FBQ0E7O0FBQ0ksU0FBS00sR0FBTCxHQUFXLENBQVg7QUFFQTtBQUNKO0FBQ0E7QUFDQTs7QUFDSSxTQUFLQyxNQUFMLEdBQWMsQ0FBZDtBQUVBO0FBQ0o7QUFDQTtBQUNBOztBQUNJLFNBQUtDLElBQUwsR0FBWSxLQUFaO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7OzRCQUNnRTtBQUFBLFVBQXhEVixJQUF3RCx1RUFBakRXLHVCQUFpRDtBQUFBLFVBQW5DVCxNQUFtQyx1RUFBMUJDLG1DQUEwQjtBQUM1RCxXQUFLSCxJQUFMLEdBQVlBLElBQVo7QUFDQSxXQUFLRSxNQUFMLEdBQWNBLE1BQU0sSUFBSUMsbUNBQXhCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBOzs7OztBQWNFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTttQ0FDaUJTLEssRUFBTztBQUNwQixhQUFPQSxLQUFLLENBQUNDLE1BQU4sQ0FBYUMsbUJBQWIsQ0FBUDtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O21DQUNpQkMsSyxFQUFPO0FBQ3BCLGFBQU9BLEtBQUssR0FBR0QsbUJBQWY7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OzsrQkFDYUUsUSxFQUFVLENBQUUsQyxDQUFDOztBQUV4QjtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O21DQUNpQkMsTSxFQUFRQyxJLEVBQU1DLEssRUFBTztBQUNsQyxVQUFJLENBQUMsS0FBS2IsU0FBVixFQUFxQjtBQUNuQjtBQUNEOztBQUVELFdBQUtjLE1BQUwsQ0FBWUgsTUFBWixFQUFvQkMsSUFBcEIsRUFBMEJDLEtBQTFCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OzJCQUNTRixNLEVBQVFDLEksRUFBTUMsSyxFQUFPLENBQUUsQyxDQUFDOztBQUUvQjtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7NkJBQ1dILFEsRUFBVUUsSSxFQUFNO0FBQ3ZCLFVBQUksS0FBS1IsSUFBVCxFQUFlO0FBQ2I7QUFDRDs7QUFFRCxXQUFLRixHQUFMLElBQVlVLElBQVo7O0FBRUEsVUFBSSxLQUFLVixHQUFMLElBQVksS0FBS1IsSUFBckIsRUFBMkI7QUFDekIsYUFBS1MsTUFBTCxHQUFjLENBQWQ7QUFDQSxhQUFLQyxJQUFMLEdBQVksSUFBWjtBQUVBO0FBQ0Q7O0FBRUQsVUFBTVcsS0FBSyxHQUFHLEtBQUtuQixNQUFMLENBQVljLFFBQVEsQ0FBQ1IsR0FBVCxHQUFlUSxRQUFRLENBQUNoQixJQUFwQyxDQUFkO0FBRUEsV0FBS1MsTUFBTCxHQUFjYSxJQUFJLENBQUNDLEdBQUwsQ0FBUyxJQUFJRixLQUFiLEVBQW9CLENBQXBCLENBQWQ7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7Ozs7OEJBQ1ksQ0FBRTtBQUVaO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OzZCQUNXRyxJLEVBQU0sQ0FBRSxDLENBQUM7Ozs7c0JBaEhUeEIsSSxFQUFNO0FBQ2IsV0FBS3lCLEtBQUwsR0FBYSwwQkFBU3pCLElBQVQsSUFBaUJBLElBQWpCLEdBQXdCVyx1QkFBckM7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7O3dCQUNhO0FBQ1QsYUFBTyxLQUFLYyxLQUFaO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUZBVUxUX0JFSEFWSU9VUl9FQVNJTkcsIERFRkFVTFRfTElGRSB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuaW1wb3J0IHsgQkVIQVZJT1VSX1RZUEVfQUJTVFJBQ1QgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IE1FQVNVUkUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IGlzTnVtYmVyIGZyb20gJ2xvZGFzaC9pc051bWJlcic7XG5pbXBvcnQgeyB1aWQgfSBmcm9tICcuLi91dGlscyc7XG5cbi8qKlxuICogVGhlIGJhc2UgYmVoYXZpb3VyIGNsYXNzLlxuICogQmVoYXZpb3VycyBtYW5hZ2UgYSBwYXJ0aWNsZSdzIGJlaGF2aW91ciBhZnRlciB0aGV5IGhhdmUgYmVlbiBlbWl0dGVkLlxuICpcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmVoYXZpb3VyIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBCZWhhdmlvdXIgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbGlmZT1JbmZpbml0eV0gLSBUaGUgbGlmZSBvZiB0aGUgYmVoYXZpb3VyXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IFtlYXNpbmc9REVGQVVMVF9CRUhBVklPVVJfRUFTSU5HXSAtIFRoZSBiZWhhdmlvdXIncyBkZWNheWluZyB0cmVuZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3R5cGU9QkVIQVZJT1VSX1RZUEVfQUJTVFJBQ1RdIC0gVGhlIGJlaGF2aW91ciB0eXBlXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRW5hYmxlZD10cnVlXSAtIERldGVybWluZXMgaWYgdGhlIGJlaGF2aW91ciB3aWxsIGJlIGFwcGxpZWQgb3Igbm90XG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgbGlmZSA9IEluZmluaXR5LFxuICAgIGVhc2luZyA9IERFRkFVTFRfQkVIQVZJT1VSX0VBU0lORyxcbiAgICB0eXBlID0gQkVIQVZJT1VSX1RZUEVfQUJTVFJBQ1QsXG4gICAgaXNFbmFibGVkID0gdHJ1ZVxuICApIHtcbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgY2xhc3MgdHlwZS5cbiAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAqL1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBEZXRlcm1pbmVzIGlmIHRoZSBiZWhhdmlvdXIgd2lsbCBiZSBhcHBsaWVkIG9yIG5vdFxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIHRoaXMuaXNFbmFibGVkID0gaXNFbmFibGVkO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIGJlaGF2aW91cidzIGlkXG4gICAgICogQHR5cGUge3N0cmluZ30gaWRcbiAgICAgKi9cbiAgICB0aGlzLmlkID0gYGJlaGF2aW91ci0ke3VpZCgpfWA7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgbGlmZSBvZiB0aGUgYmVoYXZpb3VyXG4gICAgICogQHR5cGUge251bWJlcn1cbiAgICAgKi9cbiAgICB0aGlzLmxpZmUgPSBsaWZlO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAgICogQHR5cGUge2Z1bmN0aW9ufVxuICAgICAqL1xuICAgIHRoaXMuZWFzaW5nID0gZWFzaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIGFnZSBvZiB0aGUgYmVoYXZpb3VyXG4gICAgICogQHR5cGUge251bWJlcn1cbiAgICAgKi9cbiAgICB0aGlzLmFnZSA9IDA7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgZW5lcmd5IG9mIHRoZSBiZWhhdmlvdXJcbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgICAqL1xuICAgIHRoaXMuZW5lcmd5ID0gMTtcblxuICAgIC8qKlxuICAgICAqIERldGVybWluZXMgaWYgdGhlIGJlaGF2aW91ciBpcyBkZWFkIG9yIG5vdFxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIHRoaXMuZGVhZCA9IGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHRoaXMgYmVoYXZpb3VyJ3MgcGFyYW1ldGVyc1xuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gW2xpZmU9REVGQVVMVF9MSUZFXSAtIFRoZSBsaWZlIG9mIHRoZSBiZWhhdmlvdXJcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gW2Vhc2luZz1ERUZBVUxUX0JFSEFWSU9VUl9FQVNJTkddIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqL1xuICByZXNldChsaWZlID0gREVGQVVMVF9MSUZFLCBlYXNpbmcgPSBERUZBVUxUX0JFSEFWSU9VUl9FQVNJTkcpIHtcbiAgICB0aGlzLmxpZmUgPSBsaWZlO1xuICAgIHRoaXMuZWFzaW5nID0gZWFzaW5nIHx8IERFRkFVTFRfQkVIQVZJT1VSX0VBU0lORztcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnN1cmVzIHRoYXQgbGlmZSBpcyBpbmZpbml0eSBpZiBhbiBpbnZhbGlkIHZhbHVlIGlzIHN1cHBsaWVkLlxuICAgKlxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIHNldCBsaWZlKGxpZmUpIHtcbiAgICB0aGlzLl9saWZlID0gaXNOdW1iZXIobGlmZSkgPyBsaWZlIDogREVGQVVMVF9MSUZFO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGJlaGF2aW91cidzIGxpZmUuXG4gICAqXG4gICAqIEByZXR1cm4ge051bWJlcn1cbiAgICovXG4gIGdldCBsaWZlKCkge1xuICAgIHJldHVybiB0aGlzLl9saWZlO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vcm1hbGl6ZSBhIGZvcmNlIGJ5IDE6MTAwO1xuICAgKlxuICAgKiBAcGFyYW0ge1ZlY3RvcjNEfSBmb3JjZSAtIFRoZSBmb3JjZSB0byBub3JtYWxpemUuXG4gICAqIEByZXR1cm4ge1ZlY3RvcjNEfVxuICAgKi9cbiAgbm9ybWFsaXplRm9yY2UoZm9yY2UpIHtcbiAgICByZXR1cm4gZm9yY2Uuc2NhbGFyKE1FQVNVUkUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vcm1hbGl6ZSBhIHZhbHVlIGJ5IDE6MTAwO1xuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gbm9ybWFsaXplXG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIG5vcm1hbGl6ZVZhbHVlKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlICogTUVBU1VSRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGJlaGF2aW91cidzIGluaXRpYWwgcHJvcGVydGllcyBvbiB0aGUgcGFydGljbGUuXG4gICAqXG4gICAqIEBwYXJhbSB7UGFydGljbGV9IHBhcnRpY2xlXG4gICAqIEBhYnN0cmFjdFxuICAgKi9cbiAgaW5pdGlhbGl6ZShwYXJ0aWNsZSkge30gLy8gZXNsaW50LWRpc2FibGUtbGluZVxuXG4gIC8qKlxuICAgKiBBcHBseSBiZWhhdmlvdXIgdG8gdGhlIHRhcmdldCBhcyBhIGZhY3RvciBvZiB0aW1lLlxuICAgKiBJbnRlcm5hbGx5IGNhbGxzIHRoZSBtdXRhdGUgbWV0aG9kIHRvIGNoYW5nZSBwcm9wZXJ0aWVzIG9uIHRoZSB0YXJnZXRcbiAgICogV2lsbCBub3QgZG8gc28gaWYgdGhlIGJlaGF2aW91ciBpcyBkaXNhYmxlZFxuICAgKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtQYXJ0aWNsZXxFbWl0dGVyfSB0YXJnZXQgLSBUaGUgcGFydGljbGUgb3IgZW1pdHRlciB0byBhcHBseSB0aGUgYmVoYXZpb3VyIHRvXG4gICAqIEBwYXJhbSB7TnVtYmVyfSB0aW1lIC0gdGhlIHN5c3RlbSBpbnRlZ3JhdGlvbiB0aW1lXG4gICAqIEBwYXJhbSB7aW50ZWdlcn0gaW5kZXggLSB0aGUgdGFyZ2V0IGluZGV4XG4gICAqIEByZXR1cm4gbWl4ZWRcbiAgICovXG4gIGFwcGx5QmVoYXZpb3VyKHRhcmdldCwgdGltZSwgaW5kZXgpIHtcbiAgICBpZiAoIXRoaXMuaXNFbmFibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tdXRhdGUodGFyZ2V0LCB0aW1lLCBpbmRleCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hhbmdlIHRoZSB0YXJnZXQncyBwcm9wZXJ0aWVzIGFjY29yZGluZyB0byBzcGVjaWZpYyBiZWhhdmlvdXIgbG9naWMuXG4gICAqXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcGFyYW0ge1BhcnRpY2xlfEVtaXR0ZXJ9IHRhcmdldCAtIFRoZSBwYXJ0aWNsZSBvciBlbWl0dGVyIHRvIGFwcGx5IHRoZSBiZWhhdmlvdXIgdG9cbiAgICogQHBhcmFtIHtOdW1iZXJ9IHRpbWUgLSB0aGUgc3lzdGVtIGludGVncmF0aW9uIHRpbWVcbiAgICogQHJldHVybiBtaXhlZFxuICAgKi9cbiAgbXV0YXRlKHRhcmdldCwgdGltZSwgaW5kZXgpIHt9IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcblxuICAvKipcbiAgICogQ29tcGFyZXMgdGhlIGFnZSBvZiB0aGUgYmVoYXZpb3VyIHZzIGludGVncmF0aW9uIHRpbWUgYW5kIGRldGVybWluZXNcbiAgICogaWYgdGhlIGJlaGF2aW91ciBzaG91bGQgYmUgc2V0IHRvIGRlYWQgb3Igbm90LlxuICAgKiBTZXRzIHRoZSBiZWhhdmlvdXIgZW5lcmd5IGFzIGEgZmFjdG9yIG9mIHBhcnRpY2xlIGFnZSBhbmQgbGlmZS5cbiAgICpcbiAgICogQHBhcmFtIHtQYXJ0aWNsZX0gcGFydGljbGUgLSBUaGUgcGFydGljbGUgdG8gYXBwbHkgdGhlIGJlaGF2aW91ciB0b1xuICAgKiBAcGFyYW0ge051bWJlcn0gdGltZSAtIHRoZSBzeXN0ZW0gaW50ZWdyYXRpb24gdGltZVxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGVuZXJnaXplKHBhcnRpY2xlLCB0aW1lKSB7XG4gICAgaWYgKHRoaXMuZGVhZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuYWdlICs9IHRpbWU7XG5cbiAgICBpZiAodGhpcy5hZ2UgPj0gdGhpcy5saWZlKSB7XG4gICAgICB0aGlzLmVuZXJneSA9IDA7XG4gICAgICB0aGlzLmRlYWQgPSB0cnVlO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2NhbGUgPSB0aGlzLmVhc2luZyhwYXJ0aWNsZS5hZ2UgLyBwYXJ0aWNsZS5saWZlKTtcblxuICAgIHRoaXMuZW5lcmd5ID0gTWF0aC5tYXgoMSAtIHNjYWxlLCAwKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXN0b3J5IHRoaXMgYmVoYXZpb3VyLlxuICAgKlxuICAgKiBAYWJzdHJhY3RcbiAgICovXG4gIGRlc3Ryb3koKSB7fVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBiZWhhdmlvdXIgZnJvbSB0aGUgSlNPTiBvYmplY3QgcGFzc2VkLlxuICAgKlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHBhcmFtIHtvYmplY3R9IGpzb24gLSBKU09OIG9iamVjdCBjb250YWluaW5nIHRoZSByZXF1aXJlZCBjb25zdHJ1Y3RvciBwcm9wZXJ0aWVzXG4gICAqIEByZXR1cm4ge0JlaGF2aW91cn1cbiAgICovXG4gIGZyb21KU09OKGpzb24pIHt9IC8vIGVzbGludC1kaXNhYmxlLWxpbmVcbn1cbiJdfQ==
@@ -27,7 +27,7 @@ var _types = require("./types");
27
27
 
28
28
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
29
29
 
30
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
30
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
31
 
32
32
  /**
33
33
  * Behaviour that causes particles to move away from other particles they collide with.
@@ -143,4 +143,4 @@ var Collision = /*#__PURE__*/function (_Behaviour) {
143
143
  }(_Behaviour2["default"]);
144
144
 
145
145
  exports["default"] = Collision;
146
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvQ29sbGlzaW9uLmpzIl0sIm5hbWVzIjpbIkNvbGxpc2lvbiIsImVtaXR0ZXIiLCJ1c2VNYXNzIiwib25Db2xsaWRlIiwibGlmZSIsImVhc2luZyIsImlzRW5hYmxlZCIsInR5cGUiLCJyZXNldCIsInBhcnRpY2xlcyIsImRlbHRhIiwiVmVjdG9yM0QiLCJwYXJ0aWNsZSIsInRpbWUiLCJpbmRleCIsInNsaWNlIiwib3RoZXJQYXJ0aWNsZSIsImxlbmd0aFNxIiwib3ZlcmxhcCIsImRpc3RhbmNlIiwiYXZlcmFnZU1hc3MxIiwiYXZlcmFnZU1hc3MyIiwiaSIsImxlbmd0aCIsImNvcHkiLCJwb3NpdGlvbiIsInN1YiIsInJhZGl1cyIsIk1hdGgiLCJzcXJ0IiwiX2dldEF2ZXJhZ2VNYXNzIiwiYWRkIiwiY2xvbmUiLCJub3JtYWxpemUiLCJzY2FsYXIiLCJwYXJ0aWNsZUEiLCJwYXJ0aWNsZUIiLCJtYXNzIiwianNvbiIsIkJlaGF2aW91ciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBOzs7SUFHcUJBLFM7Ozs7O0FBQ25COzs7Ozs7Ozs7OztBQVdBLHFCQUFZQyxPQUFaLEVBQXFCQyxPQUFyQixFQUE4QkMsU0FBOUIsRUFBeUNDLElBQXpDLEVBQStDQyxNQUEvQyxFQUF5RTtBQUFBOztBQUFBLFFBQWxCQyxTQUFrQix1RUFBTixJQUFNO0FBQUE7QUFDdkUsOEJBQU1GLElBQU4sRUFBWUMsTUFBWixFQUFvQkUsK0JBQXBCLEVBQTBCRCxTQUExQjs7QUFFQSxVQUFLRSxLQUFMLENBQVdQLE9BQVgsRUFBb0JDLE9BQXBCLEVBQTZCQyxTQUE3Qjs7QUFIdUU7QUFJeEU7QUFFRDs7Ozs7Ozs7Ozs7Ozs7MEJBVU1GLE8sRUFBU0MsTyxFQUFTQyxTLEVBQVdDLEksRUFBTUMsTSxFQUFRO0FBQy9DLFdBQUtKLE9BQUwsR0FBZUEsT0FBZjtBQUNBLFdBQUtDLE9BQUwsR0FBZUEsT0FBZjtBQUNBLFdBQUtDLFNBQUwsR0FBaUJBLFNBQWpCO0FBQ0EsV0FBS00sU0FBTCxHQUFpQixFQUFqQjtBQUNBLFdBQUtDLEtBQUwsR0FBYSxJQUFJQyxjQUFKLEVBQWI7QUFFQVAsTUFBQUEsSUFBSSwyR0FBZ0JBLElBQWhCLEVBQXNCQyxNQUF0QixDQUFKO0FBQ0Q7QUFFRDs7Ozs7Ozs7Ozs7OzJCQVNPTyxRLEVBQVVDLEksRUFBTUMsSyxFQUFPO0FBQzVCLFVBQU1MLFNBQVMsR0FBRyxLQUFLUixPQUFMLEdBQ2QsS0FBS0EsT0FBTCxDQUFhUSxTQUFiLENBQXVCTSxLQUF2QixDQUE2QkQsS0FBN0IsQ0FEYyxHQUVkLEtBQUtMLFNBQUwsQ0FBZU0sS0FBZixDQUFxQkQsS0FBckIsQ0FGSjtBQUdBLFVBQUlFLGFBQUosRUFBbUJDLFFBQW5CLEVBQTZCQyxPQUE3QixFQUFzQ0MsUUFBdEMsRUFBZ0RDLFlBQWhELEVBQThEQyxZQUE5RDtBQUNBLFVBQUlDLENBQUMsR0FBR2IsU0FBUyxDQUFDYyxNQUFsQjs7QUFFQSxhQUFPRCxDQUFDLEVBQVIsRUFBWTtBQUNWTixRQUFBQSxhQUFhLEdBQUdQLFNBQVMsQ0FBQ2EsQ0FBRCxDQUF6Qjs7QUFFQSxZQUFJTixhQUFhLElBQUlKLFFBQXJCLEVBQStCO0FBQzdCO0FBQ0Q7O0FBRUQsYUFBS0YsS0FBTCxDQUFXYyxJQUFYLENBQWdCUixhQUFhLENBQUNTLFFBQTlCLEVBQXdDQyxHQUF4QyxDQUE0Q2QsUUFBUSxDQUFDYSxRQUFyRDtBQUVBUixRQUFBQSxRQUFRLEdBQUcsS0FBS1AsS0FBTCxDQUFXTyxRQUFYLEVBQVg7QUFDQUUsUUFBQUEsUUFBUSxHQUFHUCxRQUFRLENBQUNlLE1BQVQsR0FBa0JYLGFBQWEsQ0FBQ1csTUFBM0M7O0FBRUEsWUFBSVYsUUFBUSxJQUFJRSxRQUFRLEdBQUdBLFFBQTNCLEVBQXFDO0FBQ25DRCxVQUFBQSxPQUFPLEdBQUdDLFFBQVEsR0FBR1MsSUFBSSxDQUFDQyxJQUFMLENBQVVaLFFBQVYsQ0FBckI7QUFDQUMsVUFBQUEsT0FBTyxJQUFJLEdBQVg7QUFFQUUsVUFBQUEsWUFBWSxHQUFHLEtBQUtVLGVBQUwsQ0FBcUJsQixRQUFyQixFQUErQkksYUFBL0IsQ0FBZjtBQUNBSyxVQUFBQSxZQUFZLEdBQUcsS0FBS1MsZUFBTCxDQUFxQmQsYUFBckIsRUFBb0NKLFFBQXBDLENBQWY7QUFFQUEsVUFBQUEsUUFBUSxDQUFDYSxRQUFULENBQWtCTSxHQUFsQixDQUNFLEtBQUtyQixLQUFMLENBQ0dzQixLQURILEdBRUdDLFNBRkgsR0FHR0MsTUFISCxDQUdVaEIsT0FBTyxHQUFHLENBQUNFLFlBSHJCLENBREY7QUFPQUosVUFBQUEsYUFBYSxDQUFDUyxRQUFkLENBQXVCTSxHQUF2QixDQUNFLEtBQUtyQixLQUFMLENBQVd1QixTQUFYLEdBQXVCQyxNQUF2QixDQUE4QmhCLE9BQU8sR0FBR0csWUFBeEMsQ0FERjtBQUlBLGVBQUtsQixTQUFMLElBQWtCLEtBQUtBLFNBQUwsQ0FBZVMsUUFBZixFQUF5QkksYUFBekIsQ0FBbEI7QUFDRDtBQUNGO0FBQ0Y7QUFFRDs7Ozs7Ozs7OztvQ0FPZ0JtQixTLEVBQVdDLFMsRUFBVztBQUNwQyxhQUFPLEtBQUtsQyxPQUFMLEdBQ0hrQyxTQUFTLENBQUNDLElBQVYsSUFBa0JGLFNBQVMsQ0FBQ0UsSUFBVixHQUFpQkQsU0FBUyxDQUFDQyxJQUE3QyxDQURHLEdBRUgsR0FGSjtBQUdELEssQ0FFRDs7Ozs2QkFDU0MsSSxFQUFNLENBQUUsQyxDQUFDOzs7O0VBdkdtQkMsc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmVoYXZpb3VyIGZyb20gJy4vQmVoYXZpb3VyJztcbmltcG9ydCB7IFZlY3RvcjNEIH0gZnJvbSAnLi4vbWF0aCc7XG5pbXBvcnQgeyBCRUhBVklPVVJfVFlQRV9DT0xMSVNJT04gYXMgdHlwZSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIEJlaGF2aW91ciB0aGF0IGNhdXNlcyBwYXJ0aWNsZXMgdG8gbW92ZSBhd2F5IGZyb20gb3RoZXIgcGFydGljbGVzIHRoZXkgY29sbGlkZSB3aXRoLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xsaXNpb24gZXh0ZW5kcyBCZWhhdmlvdXIge1xuICAvKipcbiAgICogQ29uc3RydWN0cyBhIENvbGxpc2lvbiBiZWhhdmlvdXIgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSB7RW1pdHRlcn0gZW1pdHRlciAtIFRoZSBlbWl0dGVyIGNvbnRhaW5pbmcgdGhlIHBhcnRpY2xlcyB0byBkZXRlY3QgY29sbGlzaW9ucyBhZ2FpbnN0XG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gdXNlTWFzcyAtIERldGVybWllbnMgd2hldGhlciB0byB1c2UgbWFzcyBvciBub3RcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gb25Db2xsaWRlIC0gRnVuY3Rpb24gdG8gY2FsbCB3aGVuIHBhcnRpY2xlcyBjb2xsaWRlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaWZlIC0gVGhlIGxpZmUgb2YgdGhlIHBhcnRpY2xlXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGVhc2luZyAtIFRoZSBiZWhhdmlvdXIncyBkZWNheWluZyB0cmVuZFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0VuYWJsZWQ9dHJ1ZV0gLSBEZXRlcm1pbmVzIGlmIHRoZSBiZWhhdmlvdXIgd2lsbCBiZSBhcHBsaWVkIG9yIG5vdFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKGVtaXR0ZXIsIHVzZU1hc3MsIG9uQ29sbGlkZSwgbGlmZSwgZWFzaW5nLCBpc0VuYWJsZWQgPSB0cnVlKSB7XG4gICAgc3VwZXIobGlmZSwgZWFzaW5nLCB0eXBlLCBpc0VuYWJsZWQpO1xuXG4gICAgdGhpcy5yZXNldChlbWl0dGVyLCB1c2VNYXNzLCBvbkNvbGxpZGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgYmVoYXZpb3VyIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7RW1pdHRlcn0gZW1pdHRlciAtIFRoZSBlbWl0dGVyIGNvbnRhaW5pbmcgdGhlIHBhcnRpY2xlcyB0byBkZXRlY3QgY29sbGlzaW9ucyBhZ2FpbnN0XG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gdXNlTWFzcyAtIERldGVybWllbnMgd2hldGhlciB0byB1c2UgbWFzcyBvciBub3RcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gb25Db2xsaWRlIC0gRnVuY3Rpb24gdG8gY2FsbCB3aGVuIHBhcnRpY2xlcyBjb2xsaWRlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaWZlIC0gVGhlIGxpZmUgb2YgdGhlIHBhcnRpY2xlXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGVhc2luZyAtIFRoZSBiZWhhdmlvdXIncyBkZWNheWluZyB0cmVuZFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIHJlc2V0KGVtaXR0ZXIsIHVzZU1hc3MsIG9uQ29sbGlkZSwgbGlmZSwgZWFzaW5nKSB7XG4gICAgdGhpcy5lbWl0dGVyID0gZW1pdHRlcjtcbiAgICB0aGlzLnVzZU1hc3MgPSB1c2VNYXNzO1xuICAgIHRoaXMub25Db2xsaWRlID0gb25Db2xsaWRlO1xuICAgIHRoaXMucGFydGljbGVzID0gW107XG4gICAgdGhpcy5kZWx0YSA9IG5ldyBWZWN0b3IzRCgpO1xuXG4gICAgbGlmZSAmJiBzdXBlci5yZXNldChsaWZlLCBlYXNpbmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVjdHMgY29sbGlzaW9ucyB3aXRoIG90aGVyIHBhcnRpY2xlcyBhbmQgY2FsbHMgdGhlXG4gICAqIG9uQ29sbGlkZSBmdW5jdGlvbiBvbiBjb2xsaWRpbmcgcGFydGljbGVzLlxuICAgKlxuICAgKiBAcGFyYW0ge1BhcnRpY2xlfSBwYXJ0aWNsZSAtIHRoZSBwYXJ0aWNsZSB0byBhcHBseSB0aGUgYmVoYXZpb3VyIHRvXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0aW1lIC0gcGFydGljbGUgZW5naW5lIHRpbWVcbiAgICogQHBhcmFtIHtpbnRlZ2VyfSBpbmRleCAtIHRoZSBwYXJ0aWNsZSBpbmRleFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIG11dGF0ZShwYXJ0aWNsZSwgdGltZSwgaW5kZXgpIHtcbiAgICBjb25zdCBwYXJ0aWNsZXMgPSB0aGlzLmVtaXR0ZXJcbiAgICAgID8gdGhpcy5lbWl0dGVyLnBhcnRpY2xlcy5zbGljZShpbmRleClcbiAgICAgIDogdGhpcy5wYXJ0aWNsZXMuc2xpY2UoaW5kZXgpO1xuICAgIGxldCBvdGhlclBhcnRpY2xlLCBsZW5ndGhTcSwgb3ZlcmxhcCwgZGlzdGFuY2UsIGF2ZXJhZ2VNYXNzMSwgYXZlcmFnZU1hc3MyO1xuICAgIGxldCBpID0gcGFydGljbGVzLmxlbmd0aDtcblxuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIG90aGVyUGFydGljbGUgPSBwYXJ0aWNsZXNbaV07XG5cbiAgICAgIGlmIChvdGhlclBhcnRpY2xlID09IHBhcnRpY2xlKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRlbHRhLmNvcHkob3RoZXJQYXJ0aWNsZS5wb3NpdGlvbikuc3ViKHBhcnRpY2xlLnBvc2l0aW9uKTtcblxuICAgICAgbGVuZ3RoU3EgPSB0aGlzLmRlbHRhLmxlbmd0aFNxKCk7XG4gICAgICBkaXN0YW5jZSA9IHBhcnRpY2xlLnJhZGl1cyArIG90aGVyUGFydGljbGUucmFkaXVzO1xuXG4gICAgICBpZiAobGVuZ3RoU3EgPD0gZGlzdGFuY2UgKiBkaXN0YW5jZSkge1xuICAgICAgICBvdmVybGFwID0gZGlzdGFuY2UgLSBNYXRoLnNxcnQobGVuZ3RoU3EpO1xuICAgICAgICBvdmVybGFwICs9IDAuNTtcblxuICAgICAgICBhdmVyYWdlTWFzczEgPSB0aGlzLl9nZXRBdmVyYWdlTWFzcyhwYXJ0aWNsZSwgb3RoZXJQYXJ0aWNsZSk7XG4gICAgICAgIGF2ZXJhZ2VNYXNzMiA9IHRoaXMuX2dldEF2ZXJhZ2VNYXNzKG90aGVyUGFydGljbGUsIHBhcnRpY2xlKTtcblxuICAgICAgICBwYXJ0aWNsZS5wb3NpdGlvbi5hZGQoXG4gICAgICAgICAgdGhpcy5kZWx0YVxuICAgICAgICAgICAgLmNsb25lKClcbiAgICAgICAgICAgIC5ub3JtYWxpemUoKVxuICAgICAgICAgICAgLnNjYWxhcihvdmVybGFwICogLWF2ZXJhZ2VNYXNzMSlcbiAgICAgICAgKTtcblxuICAgICAgICBvdGhlclBhcnRpY2xlLnBvc2l0aW9uLmFkZChcbiAgICAgICAgICB0aGlzLmRlbHRhLm5vcm1hbGl6ZSgpLnNjYWxhcihvdmVybGFwICogYXZlcmFnZU1hc3MyKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMub25Db2xsaWRlICYmIHRoaXMub25Db2xsaWRlKHBhcnRpY2xlLCBvdGhlclBhcnRpY2xlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgYXZlcmFnZSBtYXNzIG9mIGJvdGggcGFydGljbGVzLlxuICAgKlxuICAgKiBAcGFyYW0ge1BhcnRpY2xlfSBwYXJ0aWNsZUEgLSBUaGUgZmlyc3QgcGFydGljbGVcbiAgICogQHBhcmFtIHtQYXJ0aWNsZX0gcGFydGljbGVCIC0gVGhlIHNlY29uZCBwYXJ0aWNsZVxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBfZ2V0QXZlcmFnZU1hc3MocGFydGljbGVBLCBwYXJ0aWNsZUIpIHtcbiAgICByZXR1cm4gdGhpcy51c2VNYXNzXG4gICAgICA/IHBhcnRpY2xlQi5tYXNzIC8gKHBhcnRpY2xlQS5tYXNzICsgcGFydGljbGVCLm1hc3MpXG4gICAgICA6IDAuNTtcbiAgfVxuXG4gIC8vIFRPRE9cbiAgZnJvbUpTT04oanNvbikge30gLy8gZXNsaW50LWRpc2FibGUtbGluZVxufVxuIl19
146
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvQ29sbGlzaW9uLmpzIl0sIm5hbWVzIjpbIkNvbGxpc2lvbiIsImVtaXR0ZXIiLCJ1c2VNYXNzIiwib25Db2xsaWRlIiwibGlmZSIsImVhc2luZyIsImlzRW5hYmxlZCIsInR5cGUiLCJyZXNldCIsInBhcnRpY2xlcyIsImRlbHRhIiwiVmVjdG9yM0QiLCJwYXJ0aWNsZSIsInRpbWUiLCJpbmRleCIsInNsaWNlIiwib3RoZXJQYXJ0aWNsZSIsImxlbmd0aFNxIiwib3ZlcmxhcCIsImRpc3RhbmNlIiwiYXZlcmFnZU1hc3MxIiwiYXZlcmFnZU1hc3MyIiwiaSIsImxlbmd0aCIsImNvcHkiLCJwb3NpdGlvbiIsInN1YiIsInJhZGl1cyIsIk1hdGgiLCJzcXJ0IiwiX2dldEF2ZXJhZ2VNYXNzIiwiYWRkIiwiY2xvbmUiLCJub3JtYWxpemUiLCJzY2FsYXIiLCJwYXJ0aWNsZUEiLCJwYXJ0aWNsZUIiLCJtYXNzIiwianNvbiIsIkJlaGF2aW91ciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBO0FBQ0E7QUFDQTtJQUNxQkEsUzs7Ozs7QUFDbkI7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNFLHFCQUFZQyxPQUFaLEVBQXFCQyxPQUFyQixFQUE4QkMsU0FBOUIsRUFBeUNDLElBQXpDLEVBQStDQyxNQUEvQyxFQUF5RTtBQUFBOztBQUFBLFFBQWxCQyxTQUFrQix1RUFBTixJQUFNO0FBQUE7QUFDdkUsOEJBQU1GLElBQU4sRUFBWUMsTUFBWixFQUFvQkUsK0JBQXBCLEVBQTBCRCxTQUExQjs7QUFFQSxVQUFLRSxLQUFMLENBQVdQLE9BQVgsRUFBb0JDLE9BQXBCLEVBQTZCQyxTQUE3Qjs7QUFIdUU7QUFJeEU7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7MEJBQ1FGLE8sRUFBU0MsTyxFQUFTQyxTLEVBQVdDLEksRUFBTUMsTSxFQUFRO0FBQy9DLFdBQUtKLE9BQUwsR0FBZUEsT0FBZjtBQUNBLFdBQUtDLE9BQUwsR0FBZUEsT0FBZjtBQUNBLFdBQUtDLFNBQUwsR0FBaUJBLFNBQWpCO0FBQ0EsV0FBS00sU0FBTCxHQUFpQixFQUFqQjtBQUNBLFdBQUtDLEtBQUwsR0FBYSxJQUFJQyxjQUFKLEVBQWI7QUFFQVAsTUFBQUEsSUFBSSwyR0FBZ0JBLElBQWhCLEVBQXNCQyxNQUF0QixDQUFKO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7MkJBQ1NPLFEsRUFBVUMsSSxFQUFNQyxLLEVBQU87QUFDNUIsVUFBTUwsU0FBUyxHQUFHLEtBQUtSLE9BQUwsR0FDZCxLQUFLQSxPQUFMLENBQWFRLFNBQWIsQ0FBdUJNLEtBQXZCLENBQTZCRCxLQUE3QixDQURjLEdBRWQsS0FBS0wsU0FBTCxDQUFlTSxLQUFmLENBQXFCRCxLQUFyQixDQUZKO0FBSUEsVUFBSUUsYUFBSixFQUFtQkMsUUFBbkIsRUFBNkJDLE9BQTdCLEVBQXNDQyxRQUF0QyxFQUFnREMsWUFBaEQsRUFBOERDLFlBQTlEO0FBRUEsVUFBSUMsQ0FBQyxHQUFHYixTQUFTLENBQUNjLE1BQWxCOztBQUVBLGFBQU9ELENBQUMsRUFBUixFQUFZO0FBQ1ZOLFFBQUFBLGFBQWEsR0FBR1AsU0FBUyxDQUFDYSxDQUFELENBQXpCOztBQUVBLFlBQUlOLGFBQWEsSUFBSUosUUFBckIsRUFBK0I7QUFDN0I7QUFDRDs7QUFFRCxhQUFLRixLQUFMLENBQVdjLElBQVgsQ0FBZ0JSLGFBQWEsQ0FBQ1MsUUFBOUIsRUFBd0NDLEdBQXhDLENBQTRDZCxRQUFRLENBQUNhLFFBQXJEO0FBRUFSLFFBQUFBLFFBQVEsR0FBRyxLQUFLUCxLQUFMLENBQVdPLFFBQVgsRUFBWDtBQUNBRSxRQUFBQSxRQUFRLEdBQUdQLFFBQVEsQ0FBQ2UsTUFBVCxHQUFrQlgsYUFBYSxDQUFDVyxNQUEzQzs7QUFFQSxZQUFJVixRQUFRLElBQUlFLFFBQVEsR0FBR0EsUUFBM0IsRUFBcUM7QUFDbkNELFVBQUFBLE9BQU8sR0FBR0MsUUFBUSxHQUFHUyxJQUFJLENBQUNDLElBQUwsQ0FBVVosUUFBVixDQUFyQjtBQUNBQyxVQUFBQSxPQUFPLElBQUksR0FBWDtBQUVBRSxVQUFBQSxZQUFZLEdBQUcsS0FBS1UsZUFBTCxDQUFxQmxCLFFBQXJCLEVBQStCSSxhQUEvQixDQUFmO0FBQ0FLLFVBQUFBLFlBQVksR0FBRyxLQUFLUyxlQUFMLENBQXFCZCxhQUFyQixFQUFvQ0osUUFBcEMsQ0FBZjtBQUVBQSxVQUFBQSxRQUFRLENBQUNhLFFBQVQsQ0FBa0JNLEdBQWxCLENBQ0UsS0FBS3JCLEtBQUwsQ0FDR3NCLEtBREgsR0FFR0MsU0FGSCxHQUdHQyxNQUhILENBR1VoQixPQUFPLEdBQUcsQ0FBQ0UsWUFIckIsQ0FERjtBQU9BSixVQUFBQSxhQUFhLENBQUNTLFFBQWQsQ0FBdUJNLEdBQXZCLENBQ0UsS0FBS3JCLEtBQUwsQ0FBV3VCLFNBQVgsR0FBdUJDLE1BQXZCLENBQThCaEIsT0FBTyxHQUFHRyxZQUF4QyxDQURGO0FBSUEsZUFBS2xCLFNBQUwsSUFBa0IsS0FBS0EsU0FBTCxDQUFlUyxRQUFmLEVBQXlCSSxhQUF6QixDQUFsQjtBQUNEO0FBQ0Y7QUFDRjtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O29DQUNrQm1CLFMsRUFBV0MsUyxFQUFXO0FBQ3BDLGFBQU8sS0FBS2xDLE9BQUwsR0FDSGtDLFNBQVMsQ0FBQ0MsSUFBVixJQUFrQkYsU0FBUyxDQUFDRSxJQUFWLEdBQWlCRCxTQUFTLENBQUNDLElBQTdDLENBREcsR0FFSCxHQUZKO0FBR0QsSyxDQUVEOzs7OzZCQUNTQyxJLEVBQU0sQ0FBRSxDLENBQUM7Ozs7RUF6R21CQyxzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCZWhhdmlvdXIgZnJvbSAnLi9CZWhhdmlvdXInO1xuaW1wb3J0IHsgVmVjdG9yM0QgfSBmcm9tICcuLi9tYXRoJztcbmltcG9ydCB7IEJFSEFWSU9VUl9UWVBFX0NPTExJU0lPTiBhcyB0eXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQmVoYXZpb3VyIHRoYXQgY2F1c2VzIHBhcnRpY2xlcyB0byBtb3ZlIGF3YXkgZnJvbSBvdGhlciBwYXJ0aWNsZXMgdGhleSBjb2xsaWRlIHdpdGguXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbGxpc2lvbiBleHRlbmRzIEJlaGF2aW91ciB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgQ29sbGlzaW9uIGJlaGF2aW91ciBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHtFbWl0dGVyfSBlbWl0dGVyIC0gVGhlIGVtaXR0ZXIgY29udGFpbmluZyB0aGUgcGFydGljbGVzIHRvIGRldGVjdCBjb2xsaXNpb25zIGFnYWluc3RcbiAgICogQHBhcmFtIHtib29sZWFufSB1c2VNYXNzIC0gRGV0ZXJtaWVucyB3aGV0aGVyIHRvIHVzZSBtYXNzIG9yIG5vdFxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvbkNvbGxpZGUgLSBGdW5jdGlvbiB0byBjYWxsIHdoZW4gcGFydGljbGVzIGNvbGxpZGVcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRW5hYmxlZD10cnVlXSAtIERldGVybWluZXMgaWYgdGhlIGJlaGF2aW91ciB3aWxsIGJlIGFwcGxpZWQgb3Igbm90XG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgY29uc3RydWN0b3IoZW1pdHRlciwgdXNlTWFzcywgb25Db2xsaWRlLCBsaWZlLCBlYXNpbmcsIGlzRW5hYmxlZCA9IHRydWUpIHtcbiAgICBzdXBlcihsaWZlLCBlYXNpbmcsIHR5cGUsIGlzRW5hYmxlZCk7XG5cbiAgICB0aGlzLnJlc2V0KGVtaXR0ZXIsIHVzZU1hc3MsIG9uQ29sbGlkZSk7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBiZWhhdmlvdXIgcHJvcGVydGllcy5cbiAgICpcbiAgICogQHBhcmFtIHtFbWl0dGVyfSBlbWl0dGVyIC0gVGhlIGVtaXR0ZXIgY29udGFpbmluZyB0aGUgcGFydGljbGVzIHRvIGRldGVjdCBjb2xsaXNpb25zIGFnYWluc3RcbiAgICogQHBhcmFtIHtib29sZWFufSB1c2VNYXNzIC0gRGV0ZXJtaWVucyB3aGV0aGVyIHRvIHVzZSBtYXNzIG9yIG5vdFxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvbkNvbGxpZGUgLSBGdW5jdGlvbiB0byBjYWxsIHdoZW4gcGFydGljbGVzIGNvbGxpZGVcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgcmVzZXQoZW1pdHRlciwgdXNlTWFzcywgb25Db2xsaWRlLCBsaWZlLCBlYXNpbmcpIHtcbiAgICB0aGlzLmVtaXR0ZXIgPSBlbWl0dGVyO1xuICAgIHRoaXMudXNlTWFzcyA9IHVzZU1hc3M7XG4gICAgdGhpcy5vbkNvbGxpZGUgPSBvbkNvbGxpZGU7XG4gICAgdGhpcy5wYXJ0aWNsZXMgPSBbXTtcbiAgICB0aGlzLmRlbHRhID0gbmV3IFZlY3RvcjNEKCk7XG5cbiAgICBsaWZlICYmIHN1cGVyLnJlc2V0KGxpZmUsIGVhc2luZyk7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZWN0cyBjb2xsaXNpb25zIHdpdGggb3RoZXIgcGFydGljbGVzIGFuZCBjYWxscyB0aGVcbiAgICogb25Db2xsaWRlIGZ1bmN0aW9uIG9uIGNvbGxpZGluZyBwYXJ0aWNsZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7UGFydGljbGV9IHBhcnRpY2xlIC0gdGhlIHBhcnRpY2xlIHRvIGFwcGx5IHRoZSBiZWhhdmlvdXIgdG9cbiAgICogQHBhcmFtIHtudW1iZXJ9IHRpbWUgLSBwYXJ0aWNsZSBlbmdpbmUgdGltZVxuICAgKiBAcGFyYW0ge2ludGVnZXJ9IGluZGV4IC0gdGhlIHBhcnRpY2xlIGluZGV4XG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgbXV0YXRlKHBhcnRpY2xlLCB0aW1lLCBpbmRleCkge1xuICAgIGNvbnN0IHBhcnRpY2xlcyA9IHRoaXMuZW1pdHRlclxuICAgICAgPyB0aGlzLmVtaXR0ZXIucGFydGljbGVzLnNsaWNlKGluZGV4KVxuICAgICAgOiB0aGlzLnBhcnRpY2xlcy5zbGljZShpbmRleCk7XG5cbiAgICBsZXQgb3RoZXJQYXJ0aWNsZSwgbGVuZ3RoU3EsIG92ZXJsYXAsIGRpc3RhbmNlLCBhdmVyYWdlTWFzczEsIGF2ZXJhZ2VNYXNzMjtcblxuICAgIGxldCBpID0gcGFydGljbGVzLmxlbmd0aDtcblxuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIG90aGVyUGFydGljbGUgPSBwYXJ0aWNsZXNbaV07XG5cbiAgICAgIGlmIChvdGhlclBhcnRpY2xlID09IHBhcnRpY2xlKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRlbHRhLmNvcHkob3RoZXJQYXJ0aWNsZS5wb3NpdGlvbikuc3ViKHBhcnRpY2xlLnBvc2l0aW9uKTtcblxuICAgICAgbGVuZ3RoU3EgPSB0aGlzLmRlbHRhLmxlbmd0aFNxKCk7XG4gICAgICBkaXN0YW5jZSA9IHBhcnRpY2xlLnJhZGl1cyArIG90aGVyUGFydGljbGUucmFkaXVzO1xuXG4gICAgICBpZiAobGVuZ3RoU3EgPD0gZGlzdGFuY2UgKiBkaXN0YW5jZSkge1xuICAgICAgICBvdmVybGFwID0gZGlzdGFuY2UgLSBNYXRoLnNxcnQobGVuZ3RoU3EpO1xuICAgICAgICBvdmVybGFwICs9IDAuNTtcblxuICAgICAgICBhdmVyYWdlTWFzczEgPSB0aGlzLl9nZXRBdmVyYWdlTWFzcyhwYXJ0aWNsZSwgb3RoZXJQYXJ0aWNsZSk7XG4gICAgICAgIGF2ZXJhZ2VNYXNzMiA9IHRoaXMuX2dldEF2ZXJhZ2VNYXNzKG90aGVyUGFydGljbGUsIHBhcnRpY2xlKTtcblxuICAgICAgICBwYXJ0aWNsZS5wb3NpdGlvbi5hZGQoXG4gICAgICAgICAgdGhpcy5kZWx0YVxuICAgICAgICAgICAgLmNsb25lKClcbiAgICAgICAgICAgIC5ub3JtYWxpemUoKVxuICAgICAgICAgICAgLnNjYWxhcihvdmVybGFwICogLWF2ZXJhZ2VNYXNzMSlcbiAgICAgICAgKTtcblxuICAgICAgICBvdGhlclBhcnRpY2xlLnBvc2l0aW9uLmFkZChcbiAgICAgICAgICB0aGlzLmRlbHRhLm5vcm1hbGl6ZSgpLnNjYWxhcihvdmVybGFwICogYXZlcmFnZU1hc3MyKVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMub25Db2xsaWRlICYmIHRoaXMub25Db2xsaWRlKHBhcnRpY2xlLCBvdGhlclBhcnRpY2xlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgYXZlcmFnZSBtYXNzIG9mIGJvdGggcGFydGljbGVzLlxuICAgKlxuICAgKiBAcGFyYW0ge1BhcnRpY2xlfSBwYXJ0aWNsZUEgLSBUaGUgZmlyc3QgcGFydGljbGVcbiAgICogQHBhcmFtIHtQYXJ0aWNsZX0gcGFydGljbGVCIC0gVGhlIHNlY29uZCBwYXJ0aWNsZVxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBfZ2V0QXZlcmFnZU1hc3MocGFydGljbGVBLCBwYXJ0aWNsZUIpIHtcbiAgICByZXR1cm4gdGhpcy51c2VNYXNzXG4gICAgICA/IHBhcnRpY2xlQi5tYXNzIC8gKHBhcnRpY2xlQS5tYXNzICsgcGFydGljbGVCLm1hc3MpXG4gICAgICA6IDAuNTtcbiAgfVxuXG4gIC8vIFRPRE9cbiAgZnJvbUpTT04oanNvbikge30gLy8gZXNsaW50LWRpc2FibGUtbGluZVxufVxuIl19
@@ -31,7 +31,7 @@ var _types = require("./types");
31
31
 
32
32
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
33
33
 
34
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
34
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
35
 
36
36
  /**
37
37
  * A behaviour which mutates the color of a particle over time.
@@ -145,4 +145,4 @@ var Color = /*#__PURE__*/function (_Behaviour) {
145
145
  }(_Behaviour2["default"]);
146
146
 
147
147
  exports["default"] = Color;
148
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvQ29sb3IuanMiXSwibmFtZXMiOlsiQ29sb3IiLCJjb2xvckEiLCJjb2xvckIiLCJsaWZlIiwiZWFzaW5nIiwiaXNFbmFibGVkIiwidHlwZSIsInJlc2V0Iiwic2FtZSIsInVuZGVmaW5lZCIsInBhcnRpY2xlIiwidHJhbnNmb3JtIiwiQ29sb3JVdGlsIiwiZ2V0UkdCIiwiZ2V0VmFsdWUiLCJ1c2VDb2xvciIsInRpbWUiLCJpbmRleCIsImVuZXJnaXplIiwiX3NhbWUiLCJjb2xvciIsInIiLCJNYXRoVXRpbHMiLCJsZXJwIiwiZW5lcmd5IiwiZyIsImIiLCJqc29uIiwiQmVoYXZpb3VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUE7Ozs7SUFJcUJBLEs7Ozs7O0FBQ25COzs7Ozs7Ozs7O0FBVUEsaUJBQVlDLE1BQVosRUFBb0JDLE1BQXBCLEVBQTRCQyxJQUE1QixFQUFrQ0MsTUFBbEMsRUFBNEQ7QUFBQTs7QUFBQSxRQUFsQkMsU0FBa0IsdUVBQU4sSUFBTTtBQUFBO0FBQzFELDhCQUFNRixJQUFOLEVBQVlDLE1BQVosRUFBb0JFLDJCQUFwQixFQUEwQkQsU0FBMUI7O0FBRUEsVUFBS0UsS0FBTCxDQUFXTixNQUFYLEVBQW1CQyxNQUFuQjs7QUFIMEQ7QUFJM0Q7QUFFRDs7Ozs7Ozs7OzBCQXNCTUQsTSxFQUFRQyxNLEVBQVFDLEksRUFBTUMsTSxFQUFRO0FBQ2xDLFdBQUtJLElBQUwsR0FBWU4sTUFBTSxLQUFLLElBQVgsSUFBbUJBLE1BQU0sS0FBS08sU0FBOUIsR0FBMEMsSUFBMUMsR0FBaUQsS0FBN0Q7QUFFQSxXQUFLUixNQUFMLEdBQWMsMkJBQWdCQSxNQUFoQixDQUFkO0FBQ0EsV0FBS0MsTUFBTCxHQUFjLDJCQUFnQkEsTUFBaEIsQ0FBZDtBQUNBQyxNQUFBQSxJQUFJLHVHQUFnQkEsSUFBaEIsRUFBc0JDLE1BQXRC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bHMsIGNyZWF0ZUNvbG9yU3BhbiB9IGZyb20gJy4uL21hdGgnO1xuXG5pbXBvcnQgQmVoYXZpb3VyIGZyb20gJy4vQmVoYXZpb3VyJztcbmltcG9ydCB7IENvbG9yVXRpbCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGdldEVhc2luZ0J5TmFtZSB9IGZyb20gJy4uL2Vhc2UnO1xuaW1wb3J0IHsgQkVIQVZJT1VSX1RZUEVfQ09MT1IgYXMgdHlwZSB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIEEgYmVoYXZpb3VyIHdoaWNoIG11dGF0ZXMgdGhlIGNvbG9yIG9mIGEgcGFydGljbGUgb3ZlciB0aW1lLlxuICpcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29sb3IgZXh0ZW5kcyBCZWhhdmlvdXIge1xuICAvKipcbiAgICogQ29uc3RydWN0cyBhIENvbG9yIGJlaGF2aW91ciBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ8c3RyaW5nfSBjb2xvckEgLSB0aGUgc3RhcnRpbmcgY29sb3JcbiAgICogQHBhcmFtIHtudW1iZXJ8c3RyaW5nfSBjb2xvckIgLSB0aGUgZW5kaW5nIGNvbG9yXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaWZlIC0gdGhlIGxpZmUgb2YgdGhlIHBhcnRpY2xlXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGVhc2luZyAtIFRoZSBiZWhhdmlvdXIncyBkZWNheWluZyB0cmVuZFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0VuYWJsZWQ9dHJ1ZV0gLSBEZXRlcm1pbmVzIGlmIHRoZSBiZWhhdmlvdXIgd2lsbCBiZSBhcHBsaWVkIG9yIG5vdFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKGNvbG9yQSwgY29sb3JCLCBsaWZlLCBlYXNpbmcsIGlzRW5hYmxlZCA9IHRydWUpIHtcbiAgICBzdXBlcihsaWZlLCBlYXNpbmcsIHR5cGUsIGlzRW5hYmxlZCk7XG5cbiAgICB0aGlzLnJlc2V0KGNvbG9yQSwgY29sb3JCKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBfc2FtZSBwcm9wZXJ0eSB3aGljaCBkZXRlcm1pbmVzIGlmIHRoZSBhbHBoYSBhcmUgdGhlIHNhbWUuXG4gICAqXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBnZXQgc2FtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc2FtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBfc2FtZSBwcm9wZXJ0eSB3aGljaCBkZXRlcm1pbmVzIGlmIHRoZSBhbHBoYSBhcmUgdGhlIHNhbWUuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gc2FtZVxuICAgKiBAcmV0dXJuIHtib29sZWFufVxuICAgKi9cbiAgc2V0IHNhbWUoc2FtZSkge1xuICAgIC8qKlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIHRoaXMuX3NhbWUgPSBzYW1lO1xuICB9XG5cbiAgcmVzZXQoY29sb3JBLCBjb2xvckIsIGxpZmUsIGVhc2luZykge1xuICAgIHRoaXMuc2FtZSA9IGNvbG9yQiA9PT0gbnVsbCB8fCBjb2xvckIgPT09IHVuZGVmaW5lZCA/IHRydWUgOiBmYWxzZTtcblxuICAgIHRoaXMuY29sb3JBID0gY3JlYXRlQ29sb3JTcGFuKGNvbG9yQSk7XG4gICAgdGhpcy5jb2xvckIgPSBjcmVhdGVDb2xvclNwYW4oY29sb3JCKTtcbiAgICBsaWZlICYmIHN1cGVyLnJlc2V0KGxpZmUsIGVhc2luZyk7XG4gIH1cblxuICBpbml0aWFsaXplKHBhcnRpY2xlKSB7XG4gICAgcGFydGljbGUudHJhbnNmb3JtLmNvbG9yQSA9IENvbG9yVXRpbC5nZXRSR0IodGhpcy5jb2xvckEuZ2V0VmFsdWUoKSk7XG5cbiAgICBwYXJ0aWNsZS51c2VDb2xvciA9IHRydWU7XG4gICAgcGFydGljbGUudHJhbnNmb3JtLmNvbG9yQiA9IHRoaXMuc2FtZVxuICAgICAgPyBwYXJ0aWNsZS50cmFuc2Zvcm0uY29sb3JBXG4gICAgICA6IENvbG9yVXRpbC5nZXRSR0IodGhpcy5jb2xvckIuZ2V0VmFsdWUoKSk7XG4gIH1cblxuICBtdXRhdGUocGFydGljbGUsIHRpbWUsIGluZGV4KSB7XG4gICAgdGhpcy5lbmVyZ2l6ZShwYXJ0aWNsZSwgdGltZSwgaW5kZXgpO1xuXG4gICAgaWYgKCF0aGlzLl9zYW1lKSB7XG4gICAgICBwYXJ0aWNsZS5jb2xvci5yID0gTWF0aFV0aWxzLmxlcnAoXG4gICAgICAgIHBhcnRpY2xlLnRyYW5zZm9ybS5jb2xvckEucixcbiAgICAgICAgcGFydGljbGUudHJhbnNmb3JtLmNvbG9yQi5yLFxuICAgICAgICB0aGlzLmVuZXJneVxuICAgICAgKTtcbiAgICAgIHBhcnRpY2xlLmNvbG9yLmcgPSBNYXRoVXRpbHMubGVycChcbiAgICAgICAgcGFydGljbGUudHJhbnNmb3JtLmNvbG9yQS5nLFxuICAgICAgICBwYXJ0aWNsZS50cmFuc2Zvcm0uY29sb3JCLmcsXG4gICAgICAgIHRoaXMuZW5lcmd5XG4gICAgICApO1xuICAgICAgcGFydGljbGUuY29sb3IuYiA9IE1hdGhVdGlscy5sZXJwKFxuICAgICAgICBwYXJ0aWNsZS50cmFuc2Zvcm0uY29sb3JBLmIsXG4gICAgICAgIHBhcnRpY2xlLnRyYW5zZm9ybS5jb2xvckIuYixcbiAgICAgICAgdGhpcy5lbmVyZ3lcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnRpY2xlLmNvbG9yLnIgPSBwYXJ0aWNsZS50cmFuc2Zvcm0uY29sb3JBLnI7XG4gICAgICBwYXJ0aWNsZS5jb2xvci5nID0gcGFydGljbGUudHJhbnNmb3JtLmNvbG9yQS5nO1xuICAgICAgcGFydGljbGUuY29sb3IuYiA9IHBhcnRpY2xlLnRyYW5zZm9ybS5jb2xvckEuYjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIENvbG9yIGluaXRpYWxpemVyIGZyb20gSlNPTi5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IGpzb24gLSBUaGUgSlNPTiB0byBjb25zdHJ1Y3QgdGhlIGluc3RhbmNlIGZyb20uXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLmNvbG9yQSAtIFRoZSBzdGFydGluZyBjb2xvclxuICAgKiBAcHJvcGVydHkge251bWJlcn0ganNvbi5jb2xvckIgLSBUaGUgZW5kaW5nIGNvbG9yXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLmxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHByb3BlcnR5IHtzdHJpbmd9IGpzb24uZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEByZXR1cm4ge0NvbG9yfVxuICAgKi9cbiAgc3RhdGljIGZyb21KU09OKGpzb24pIHtcbiAgICBjb25zdCB7IGNvbG9yQSwgY29sb3JCLCBsaWZlLCBlYXNpbmcsIGlzRW5hYmxlZCA9IHRydWUgfSA9IGpzb247XG5cbiAgICByZXR1cm4gbmV3IENvbG9yKGNvbG9yQSwgY29sb3JCLCBsaWZlLCBnZXRFYXNpbmdCeU5hbWUoZWFzaW5nKSwgaXNFbmFibGVkKTtcbiAgfVxufVxuIl19
148
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvQ29sb3IuanMiXSwibmFtZXMiOlsiQ29sb3IiLCJjb2xvckEiLCJjb2xvckIiLCJsaWZlIiwiZWFzaW5nIiwiaXNFbmFibGVkIiwidHlwZSIsInJlc2V0Iiwic2FtZSIsInVuZGVmaW5lZCIsInBhcnRpY2xlIiwidHJhbnNmb3JtIiwiQ29sb3JVdGlsIiwiZ2V0UkdCIiwiZ2V0VmFsdWUiLCJ1c2VDb2xvciIsInRpbWUiLCJpbmRleCIsImVuZXJnaXplIiwiX3NhbWUiLCJjb2xvciIsInIiLCJNYXRoVXRpbHMiLCJsZXJwIiwiZW5lcmd5IiwiZyIsImIiLCJqc29uIiwiQmVoYXZpb3VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7SUFDcUJBLEs7Ozs7O0FBQ25CO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0UsaUJBQVlDLE1BQVosRUFBb0JDLE1BQXBCLEVBQTRCQyxJQUE1QixFQUFrQ0MsTUFBbEMsRUFBNEQ7QUFBQTs7QUFBQSxRQUFsQkMsU0FBa0IsdUVBQU4sSUFBTTtBQUFBO0FBQzFELDhCQUFNRixJQUFOLEVBQVlDLE1BQVosRUFBb0JFLDJCQUFwQixFQUEwQkQsU0FBMUI7O0FBRUEsVUFBS0UsS0FBTCxDQUFXTixNQUFYLEVBQW1CQyxNQUFuQjs7QUFIMEQ7QUFJM0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBOzs7OzswQkFrQlFELE0sRUFBUUMsTSxFQUFRQyxJLEVBQU1DLE0sRUFBUTtBQUNsQyxXQUFLSSxJQUFMLEdBQVlOLE1BQU0sS0FBSyxJQUFYLElBQW1CQSxNQUFNLEtBQUtPLFNBQTlCLEdBQTBDLElBQTFDLEdBQWlELEtBQTdEO0FBRUEsV0FBS1IsTUFBTCxHQUFjLDJCQUFnQkEsTUFBaEIsQ0FBZDtBQUNBLFdBQUtDLE1BQUwsR0FB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QVYsRUFBa0JDLE1BQWxCLEVBQTBCQyxJQUExQixFQUFnQywyQkFBZ0JDLE1BQWhCLENBQWhDLEVBQXlEQyxTQUF6RCxDQUFQO0FBQ0Q7OztFQWhHZ0N1QixzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdGhVdGlscywgY3JlYXRlQ29sb3JTcGFuIH0gZnJvbSAnLi4vbWF0aCc7XG5cbmltcG9ydCBCZWhhdmlvdXIgZnJvbSAnLi9CZWhhdmlvdXInO1xuaW1wb3J0IHsgQ29sb3JVdGlsIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0RWFzaW5nQnlOYW1lIH0gZnJvbSAnLi4vZWFzZSc7XG5pbXBvcnQgeyBCRUhBVklPVVJfVFlQRV9DT0xPUiBhcyB0eXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQSBiZWhhdmlvdXIgd2hpY2ggbXV0YXRlcyB0aGUgY29sb3Igb2YgYSBwYXJ0aWNsZSBvdmVyIHRpbWUuXG4gKlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDb2xvciBleHRlbmRzIEJlaGF2aW91ciB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgQ29sb3IgYmVoYXZpb3VyIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcnxzdHJpbmd9IGNvbG9yQSAtIHRoZSBzdGFydGluZyBjb2xvclxuICAgKiBAcGFyYW0ge251bWJlcnxzdHJpbmd9IGNvbG9yQiAtIHRoZSBlbmRpbmcgY29sb3JcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSB0aGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRW5hYmxlZD10cnVlXSAtIERldGVybWluZXMgaWYgdGhlIGJlaGF2aW91ciB3aWxsIGJlIGFwcGxpZWQgb3Igbm90XG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgY29uc3RydWN0b3IoY29sb3JBLCBjb2xvckIsIGxpZmUsIGVhc2luZywgaXNFbmFibGVkID0gdHJ1ZSkge1xuICAgIHN1cGVyKGxpZmUsIGVhc2luZywgdHlwZSwgaXNFbmFibGVkKTtcblxuICAgIHRoaXMucmVzZXQoY29sb3JBLCBjb2xvckIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIF9zYW1lIHByb3BlcnR5IHdoaWNoIGRldGVybWluZXMgaWYgdGhlIGFscGhhIGFyZSB0aGUgc2FtZS5cbiAgICpcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGdldCBzYW1lKCkge1xuICAgIHJldHVybiB0aGlzLl9zYW1lO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIF9zYW1lIHByb3BlcnR5IHdoaWNoIGRldGVybWluZXMgaWYgdGhlIGFscGhhIGFyZSB0aGUgc2FtZS5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSBzYW1lXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzZXQgc2FtZShzYW1lKSB7XG4gICAgLyoqXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgdGhpcy5fc2FtZSA9IHNhbWU7XG4gIH1cblxuICByZXNldChjb2xvckEsIGNvbG9yQiwgbGlmZSwgZWFzaW5nKSB7XG4gICAgdGhpcy5zYW1lID0gY29sb3JCID09PSBudWxsIHx8IGNvbG9yQiA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IGZhbHNlO1xuXG4gICAgdGhpcy5jb2xvckEgPSBjcmVhdGVDb2xvclNwYW4oY29sb3JBKTtcbiAgICB0aGlzLmNvbG9yQiA9IGNyZWF0ZUNvbG9yU3Bhbihjb2xvckIpO1xuICAgIGxpZmUgJiYgc3VwZXIucmVzZXQobGlmZSwgZWFzaW5nKTtcbiAgfVxuXG4gIGluaXRpYWxpemUocGFydGljbGUpIHtcbiAgICBwYXJ0aWNsZS50cmFuc2Zvcm0uY29sb3JBID0gQ29sb3JVdGlsLmdldFJHQih0aGlzLmNvbG9yQS5nZXRWYWx1ZSgpKTtcblxuICAgIHBhcnRpY2xlLnVzZUNvbG9yID0gdHJ1ZTtcbiAgICBwYXJ0aWNsZS50cmFuc2Zvcm0uY29sb3JCID0gdGhpcy5zYW1lXG4gICAgICA/IHBhcnRpY2xlLnRyYW5zZm9ybS5jb2xvckFcbiAgICAgIDogQ29sb3JVdGlsLmdldFJHQih0aGlzLmNvbG9yQi5nZXRWYWx1ZSgpKTtcbiAgfVxuXG4gIG11dGF0ZShwYXJ0aWNsZSwgdGltZSwgaW5kZXgpIHtcbiAgICB0aGlzLmVuZXJnaXplKHBhcnRpY2xlLCB0aW1lLCBpbmRleCk7XG5cbiAgICBpZiAoIXRoaXMuX3NhbWUpIHtcbiAgICAgIHBhcnRpY2xlLmNvbG9yLnIgPSBNYXRoVXRpbHMubGVycChcbiAgICAgICAgcGFydGljbGUudHJhbnNmb3JtLmNvbG9yQS5yLFxuICAgICAgICBwYXJ0aWNsZS50cmFuc2Zvcm0uY29sb3JCLnIsXG4gICAgICAgIHRoaXMuZW5lcmd5XG4gICAgICApO1xuICAgICAgcGFydGljbGUuY29sb3IuZyA9IE1hdGhVdGlscy5sZXJwKFxuICAgICAgICBwYXJ0aWNsZS50cmFuc2Zvcm0uY29sb3JBLmcsXG4gICAgICAgIHBhcnRpY2xlLnRyYW5zZm9ybS5jb2xvckIuZyxcbiAgICAgICAgdGhpcy5lbmVyZ3lcbiAgICAgICk7XG4gICAgICBwYXJ0aWNsZS5jb2xvci5iID0gTWF0aFV0aWxzLmxlcnAoXG4gICAgICAgIHBhcnRpY2xlLnRyYW5zZm9ybS5jb2xvckEuYixcbiAgICAgICAgcGFydGljbGUudHJhbnNmb3JtLmNvbG9yQi5iLFxuICAgICAgICB0aGlzLmVuZXJneVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFydGljbGUuY29sb3IuciA9IHBhcnRpY2xlLnRyYW5zZm9ybS5jb2xvckEucjtcbiAgICAgIHBhcnRpY2xlLmNvbG9yLmcgPSBwYXJ0aWNsZS50cmFuc2Zvcm0uY29sb3JBLmc7XG4gICAgICBwYXJ0aWNsZS5jb2xvci5iID0gcGFydGljbGUudHJhbnNmb3JtLmNvbG9yQS5iO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQ29sb3IgaW5pdGlhbGl6ZXIgZnJvbSBKU09OLlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0ganNvbiAtIFRoZSBKU09OIHRvIGNvbnN0cnVjdCB0aGUgaW5zdGFuY2UgZnJvbS5cbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGpzb24uY29sb3JBIC0gVGhlIHN0YXJ0aW5nIGNvbG9yXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLmNvbG9yQiAtIFRoZSBlbmRpbmcgY29sb3JcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGpzb24ubGlmZSAtIFRoZSBsaWZlIG9mIHRoZSBwYXJ0aWNsZVxuICAgKiBAcHJvcGVydHkge3N0cmluZ30ganNvbi5lYXNpbmcgLSBUaGUgYmVoYXZpb3VyJ3MgZGVjYXlpbmcgdHJlbmRcbiAgICogQHJldHVybiB7Q29sb3J9XG4gICAqL1xuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xuICAgIGNvbnN0IHsgY29sb3JBLCBjb2xvckIsIGxpZmUsIGVhc2luZywgaXNFbmFibGVkID0gdHJ1ZSB9ID0ganNvbjtcblxuICAgIHJldHVybiBuZXcgQ29sb3IoY29sb3JBLCBjb2xvckIsIGxpZmUsIGdldEVhc2luZ0J5TmFtZShlYXNpbmcpLCBpc0VuYWJsZWQpO1xuICB9XG59XG4iXX0=
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
@@ -35,9 +35,13 @@ var _ease = require("../ease");
35
35
 
36
36
  var _types = require("./types");
37
37
 
38
+ 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); }
39
+
40
+ 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; }
41
+
38
42
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
43
 
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
44
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
45
 
42
46
  /**
43
47
  * Behaviour that allows for specific functions to be called on particles when
@@ -134,4 +138,4 @@ var CrossZone = /*#__PURE__*/function (_Behaviour) {
134
138
  }(_Behaviour2["default"]);
135
139
 
136
140
  exports["default"] = CrossZone;
137
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvQ3Jvc3Nab25lLmpzIl0sIm5hbWVzIjpbIkNyb3NzWm9uZSIsInpvbmUiLCJjcm9zc1R5cGUiLCJsaWZlIiwiZWFzaW5nIiwiaXNFbmFibGVkIiwidHlwZSIsInJlc2V0IiwiREVGQVVMVF9DUk9TU19UWVBFIiwicGFydGljbGUiLCJ0aW1lIiwiaW5kZXgiLCJlbmVyZ2l6ZSIsImNyb3NzaW5nIiwiY2FsbCIsImpzb24iLCJ6b25lVHlwZSIsInpvbmVQYXJhbXMiLCJab25lIiwiT2JqZWN0IiwidmFsdWVzIiwiQmVoYXZpb3VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRUE7Ozs7O0lBS3FCQSxTOzs7OztBQUNuQjs7Ozs7Ozs7O0FBU0EscUJBQVlDLElBQVosRUFBa0JDLFNBQWxCLEVBQTZCQyxJQUE3QixFQUFtQ0MsTUFBbkMsRUFBMkNDLFNBQTNDLEVBQXNEO0FBQUE7O0FBQUE7QUFDcEQsOEJBQU1GLElBQU4sRUFBWUMsTUFBWixFQUFvQkUsZ0NBQXBCLEVBQTBCRCxTQUExQjs7QUFFQSxVQUFLRSxLQUFMLENBQVdOLElBQVgsRUFBaUJDLFNBQWpCOztBQUhvRDtBQUlyRDtBQUVEOzs7Ozs7Ozs7Ozs7MEJBUU1ELEksRUFBb0Q7QUFBQSxVQUE5Q0MsU0FBOEMsdUVBQWxDTSw2QkFBa0M7QUFBQSxVQUFkTCxJQUFjO0FBQUEsVUFBUkMsTUFBUTs7QUFDeEQ7Ozs7QUFJQSxXQUFLSCxJQUFMLEdBQVlBLElBQVo7QUFDQSxXQUFLQSxJQUFMLENBQVVDLFNBQVYsR0FBc0JBLFNBQXRCO0FBRUFDLE1BQUFBLElBQUksMkdBQWdCQSxJQUFoQixFQUFzQkMsTUFBdEIsQ0FBSjtBQUNEO0FBRUQ7Ozs7Ozs7Ozs7OzsyQkFTT0ssUSxFQUFVQyxJLEVBQU1DLEssRUFBTztBQUM1QixXQUFLQyxRQUFMLENBQWNILFFBQWQsRUFBd0JDLElBQXhCLEVBQThCQyxLQUE5QjtBQUVBLFdBQUtWLElBQUwsQ0FBVVksUUFBVixDQUFtQkMsSUFBbkIsQ0FBd0IsS0FBS2IsSUFBN0IsRUFBbUNRLFFBQW5DO0FBQ0Q7QUFFRDs7Ozs7Ozs7OzZCQU1nQk0sSSxFQUFNO0FBQUEsVUFFbEJDLFFBRmtCLEdBUWhCRCxJQVJnQixDQUVsQkMsUUFGa0I7QUFBQSxVQUdsQkMsVUFIa0IsR0FRaEJGLElBUmdCLENBR2xCRSxVQUhrQjtBQUFBLFVBSWxCZixTQUprQixHQVFoQmEsSUFSZ0IsQ0FJbEJiLFNBSmtCO0FBQUEsVUFLbEJDLElBTGtCLEdBUWhCWSxJQVJnQixDQUtsQlosSUFMa0I7QUFBQSxVQU1sQkMsTUFOa0IsR0FRaEJXLElBUmdCLENBTWxCWCxNQU5rQjtBQUFBLDRCQVFoQlcsSUFSZ0IsQ0FPbEJWLFNBUGtCO0FBQUEsVUFPbEJBLFNBUGtCLGdDQU9OLElBUE07QUFVcEIsVUFBTUosSUFBSSwrQkFBT2lCLElBQUksQ0FBQ0YsUUFBRCxDQUFYLHNDQUF5QkcsTUFBTSxDQUFDQyxNQUFQLENBQWNILFVBQWQsQ0FBekIsRUFBVjtBQUVBLGFBQU8sSUFBSWpCLFNBQUosQ0FDTEMsSUFESyxFQUVMQyxTQUZLLEVBR0xDLElBSEssRUFJTCwyQkFBZ0JDLE1BQWhCLENBSkssRUFLTEMsU0FMSyxDQUFQO0FBT0Q7OztFQTNFb0NnQixzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFpvbmUgZnJvbSAnLi4vem9uZSc7XG5cbmltcG9ydCBCZWhhdmlvdXIgZnJvbSAnLi9CZWhhdmlvdXInO1xuaW1wb3J0IHsgREVGQVVMVF9DUk9TU19UWVBFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0RWFzaW5nQnlOYW1lIH0gZnJvbSAnLi4vZWFzZSc7XG5pbXBvcnQgeyBCRUhBVklPVVJfVFlQRV9DUk9TU19aT05FIGFzIHR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBCZWhhdmlvdXIgdGhhdCBhbGxvd3MgZm9yIHNwZWNpZmljIGZ1bmN0aW9ucyB0byBiZSBjYWxsZWQgb24gcGFydGljbGVzIHdoZW5cbiAqIHRoZXkgaW50ZXJhY3Qgd2l0aCBhIHpvbmUuXG4gKlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDcm9zc1pvbmUgZXh0ZW5kcyBCZWhhdmlvdXIge1xuICAvKipcbiAgICogQ29uc3RydWN0cyBhIENyb3NzWm9uZSBiZWhhdmlvdXIgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSB7Wm9uZX0gem9uZSAtIHRoZSB6b25lIHVzZWQgdG8gYXBwbHkgdG8gcGFydGljbGVzIHdpdGggdGhpcyBiZWhhdmlvdXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtjcm9zc1R5cGU9REVGQVVMVF9DUk9TU19UWVBFXSAtIGVudW0gb2YgY3Jvc3MgdHlwZXMsIHZhbGlkIHN0cmluZ3MgaW5jbHVkZSAnZGVhZCcsICdib3VuZCcsICdjcm9zcydcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRW5hYmxlZD10cnVlXSAtIERldGVybWluZXMgaWYgdGhlIGJlaGF2aW91ciB3aWxsIGJlIGFwcGxpZWQgb3Igbm90XG4gICAqL1xuICBjb25zdHJ1Y3Rvcih6b25lLCBjcm9zc1R5cGUsIGxpZmUsIGVhc2luZywgaXNFbmFibGVkKSB7XG4gICAgc3VwZXIobGlmZSwgZWFzaW5nLCB0eXBlLCBpc0VuYWJsZWQpO1xuXG4gICAgdGhpcy5yZXNldCh6b25lLCBjcm9zc1R5cGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgYmVoYXZpb3VyIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7Wm9uZX0gem9uZSAtIHRoZSB6b25lIHVzZWQgdG8gYXBwbHkgdG8gcGFydGljbGVzIHdpdGggdGhpcyBiZWhhdmlvdXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtjcm9zc1R5cGU9REVGQVVMVF9DUk9TU19UWVBFXSAtIGVudW0gb2YgY3Jvc3MgdHlwZXMsIHZhbGlkIHN0cmluZ3MgaW5jbHVkZSAnZGVhZCcsICdib3VuZCcsICdjcm9zcydcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqL1xuICByZXNldCh6b25lLCBjcm9zc1R5cGUgPSBERUZBVUxUX0NST1NTX1RZUEUsIGxpZmUsIGVhc2luZykge1xuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSB6b25lIHVzZWQgdG8gYXBwbHkgdG8gcGFydGljbGVzIHdpdGggdGhpcyBiZWhhdmlvdXJcbiAgICAgKiBAdHlwZSB7Wm9uZX1cbiAgICAgKi9cbiAgICB0aGlzLnpvbmUgPSB6b25lO1xuICAgIHRoaXMuem9uZS5jcm9zc1R5cGUgPSBjcm9zc1R5cGU7XG5cbiAgICBsaWZlICYmIHN1cGVyLnJlc2V0KGxpZmUsIGVhc2luZyk7XG4gIH1cblxuICAvKipcbiAgICogQXBwbGllcyB0aGUgYmVoYXZpb3VyIHRvIHRoZSBwYXJ0aWNsZS5cbiAgICpcbiAgICogQHNlZSB7QGxpbmsgJy4uL3pvbmUvWm9uZS5qcyd9IGNyb3NzaW5nXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBwYXJ0aWNsZSAtIHRoZSBwYXJ0aWNsZSB0byBhcHBseSB0aGUgYmVoYXZpb3VyIHRvXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0aW1lIC0gZW5naW5lIHRpbWVcbiAgICogQHBhcmFtIHtpbnRlZ2VyfSBpbmRleCAtIHRoZSBwYXJ0aWNsZSBpbmRleFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIG11dGF0ZShwYXJ0aWNsZSwgdGltZSwgaW5kZXgpIHtcbiAgICB0aGlzLmVuZXJnaXplKHBhcnRpY2xlLCB0aW1lLCBpbmRleCk7XG5cbiAgICB0aGlzLnpvbmUuY3Jvc3NpbmcuY2FsbCh0aGlzLnpvbmUsIHBhcnRpY2xlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQ3Jvc3Nab25lIGluaXRpYWxpemVyIGZyb20gSlNPTi5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IGpzb24gLSBUaGUgSlNPTiB0byBjb25zdHJ1Y3QgdGhlIGluc3RhbmNlIGZyb20uXG4gICAqIEByZXR1cm4ge0Nyb3NzWm9uZX1cbiAgICovXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgY29uc3Qge1xuICAgICAgem9uZVR5cGUsXG4gICAgICB6b25lUGFyYW1zLFxuICAgICAgY3Jvc3NUeXBlLFxuICAgICAgbGlmZSxcbiAgICAgIGVhc2luZyxcbiAgICAgIGlzRW5hYmxlZCA9IHRydWUsXG4gICAgfSA9IGpzb247XG5cbiAgICBjb25zdCB6b25lID0gbmV3IFpvbmVbem9uZVR5cGVdKC4uLk9iamVjdC52YWx1ZXMoem9uZVBhcmFtcykpO1xuXG4gICAgcmV0dXJuIG5ldyBDcm9zc1pvbmUoXG4gICAgICB6b25lLFxuICAgICAgY3Jvc3NUeXBlLFxuICAgICAgbGlmZSxcbiAgICAgIGdldEVhc2luZ0J5TmFtZShlYXNpbmcpLFxuICAgICAgaXNFbmFibGVkXG4gICAgKTtcbiAgfVxufVxuIl19
141
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvQ3Jvc3Nab25lLmpzIl0sIm5hbWVzIjpbIkNyb3NzWm9uZSIsInpvbmUiLCJjcm9zc1R5cGUiLCJsaWZlIiwiZWFzaW5nIiwiaXNFbmFibGVkIiwidHlwZSIsInJlc2V0IiwiREVGQVVMVF9DUk9TU19UWVBFIiwicGFydGljbGUiLCJ0aW1lIiwiaW5kZXgiLCJlbmVyZ2l6ZSIsImNyb3NzaW5nIiwiY2FsbCIsImpzb24iLCJ6b25lVHlwZSIsInpvbmVQYXJhbXMiLCJab25lIiwiT2JqZWN0IiwidmFsdWVzIiwiQmVoYXZpb3VyIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDcUJBLFM7Ozs7O0FBQ25CO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNFLHFCQUFZQyxJQUFaLEVBQWtCQyxTQUFsQixFQUE2QkMsSUFBN0IsRUFBbUNDLE1BQW5DLEVBQTJDQyxTQUEzQyxFQUFzRDtBQUFBOztBQUFBO0FBQ3BELDhCQUFNRixJQUFOLEVBQVlDLE1BQVosRUFBb0JFLGdDQUFwQixFQUEwQkQsU0FBMUI7O0FBRUEsVUFBS0UsS0FBTCxDQUFXTixJQUFYLEVBQWlCQyxTQUFqQjs7QUFIb0Q7QUFJckQ7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OzswQkFDUUQsSSxFQUFvRDtBQUFBLFVBQTlDQyxTQUE4Qyx1RUFBbENNLDZCQUFrQztBQUFBLFVBQWRMLElBQWM7QUFBQSxVQUFSQyxNQUFROztBQUN4RDtBQUNKO0FBQ0E7QUFDQTtBQUNJLFdBQUtILElBQUwsR0FBWUEsSUFBWjtBQUNBLFdBQUtBLElBQUwsQ0FBVUMsU0FBVixHQUFzQkEsU0FBdEI7QUFFQUMsTUFBQUEsSUFBSSwyR0FBZ0JBLElBQWhCLEVBQXNCQyxNQUF0QixDQUFKO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7MkJBQ1NLLFEsRUFBVUMsSSxFQUFNQyxLLEVBQU87QUFDNUIsV0FBS0MsUUFBTCxDQUFjSCxRQUFkLEVBQXdCQyxJQUF4QixFQUE4QkMsS0FBOUI7QUFFQSxXQUFLVixJQUFMLENBQVVZLFFBQVYsQ0FBbUJDLElBQW5CLENBQXdCLEtBQUtiLElBQTdCLEVBQW1DUSxRQUFuQztBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OzZCQUNrQk0sSSxFQUFNO0FBQUEsVUFFbEJDLFFBRmtCLEdBUWhCRCxJQVJnQixDQUVsQkMsUUFGa0I7QUFBQSxVQUdsQkMsVUFIa0IsR0FRaEJGLElBUmdCLENBR2xCRSxVQUhrQjtBQUFBLFVBSWxCZixTQUprQixHQVFoQmEsSUFSZ0IsQ0FJbEJiLFNBSmtCO0FBQUEsVUFLbEJDLElBTGtCLEdBUWhCWSxJQVJnQixDQUtsQlosSUFMa0I7QUFBQSxVQU1sQkMsTUFOa0IsR0FRaEJXLElBUmdCLENBTWxCWCxNQU5rQjtBQUFBLDRCQVFoQlcsSUFSZ0IsQ0FPbEJWLFNBUGtCO0FBQUEsVUFPbEJBLFNBUGtCLGdDQU9OLElBUE07QUFVcEIsVUFBTUosSUFBSSwrQkFBT2lCLElBQUksQ0FBQ0YsUUFBRCxDQUFYLHNDQUF5QkcsTUFBTSxDQUFDQyxNQUFQLENBQWNILFVBQWQsQ0FBekIsRUFBVjtBQUVBLGFBQU8sSUFBSWpCLFNBQUosQ0FDTEMsSUFESyxFQUVMQyxTQUZLLEVBR0xDLElBSEssRUFJTCwyQkFBZ0JDLE1BQWhCLENBSkssRUFLTEMsU0FMSyxDQUFQO0FBT0Q7OztFQTNFb0NnQixzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFpvbmUgZnJvbSAnLi4vem9uZSc7XG5cbmltcG9ydCBCZWhhdmlvdXIgZnJvbSAnLi9CZWhhdmlvdXInO1xuaW1wb3J0IHsgREVGQVVMVF9DUk9TU19UWVBFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0RWFzaW5nQnlOYW1lIH0gZnJvbSAnLi4vZWFzZSc7XG5pbXBvcnQgeyBCRUhBVklPVVJfVFlQRV9DUk9TU19aT05FIGFzIHR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBCZWhhdmlvdXIgdGhhdCBhbGxvd3MgZm9yIHNwZWNpZmljIGZ1bmN0aW9ucyB0byBiZSBjYWxsZWQgb24gcGFydGljbGVzIHdoZW5cbiAqIHRoZXkgaW50ZXJhY3Qgd2l0aCBhIHpvbmUuXG4gKlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDcm9zc1pvbmUgZXh0ZW5kcyBCZWhhdmlvdXIge1xuICAvKipcbiAgICogQ29uc3RydWN0cyBhIENyb3NzWm9uZSBiZWhhdmlvdXIgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSB7Wm9uZX0gem9uZSAtIHRoZSB6b25lIHVzZWQgdG8gYXBwbHkgdG8gcGFydGljbGVzIHdpdGggdGhpcyBiZWhhdmlvdXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtjcm9zc1R5cGU9REVGQVVMVF9DUk9TU19UWVBFXSAtIGVudW0gb2YgY3Jvc3MgdHlwZXMsIHZhbGlkIHN0cmluZ3MgaW5jbHVkZSAnZGVhZCcsICdib3VuZCcsICdjcm9zcydcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRW5hYmxlZD10cnVlXSAtIERldGVybWluZXMgaWYgdGhlIGJlaGF2aW91ciB3aWxsIGJlIGFwcGxpZWQgb3Igbm90XG4gICAqL1xuICBjb25zdHJ1Y3Rvcih6b25lLCBjcm9zc1R5cGUsIGxpZmUsIGVhc2luZywgaXNFbmFibGVkKSB7XG4gICAgc3VwZXIobGlmZSwgZWFzaW5nLCB0eXBlLCBpc0VuYWJsZWQpO1xuXG4gICAgdGhpcy5yZXNldCh6b25lLCBjcm9zc1R5cGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgYmVoYXZpb3VyIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7Wm9uZX0gem9uZSAtIHRoZSB6b25lIHVzZWQgdG8gYXBwbHkgdG8gcGFydGljbGVzIHdpdGggdGhpcyBiZWhhdmlvdXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtjcm9zc1R5cGU9REVGQVVMVF9DUk9TU19UWVBFXSAtIGVudW0gb2YgY3Jvc3MgdHlwZXMsIHZhbGlkIHN0cmluZ3MgaW5jbHVkZSAnZGVhZCcsICdib3VuZCcsICdjcm9zcydcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqL1xuICByZXNldCh6b25lLCBjcm9zc1R5cGUgPSBERUZBVUxUX0NST1NTX1RZUEUsIGxpZmUsIGVhc2luZykge1xuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSB6b25lIHVzZWQgdG8gYXBwbHkgdG8gcGFydGljbGVzIHdpdGggdGhpcyBiZWhhdmlvdXJcbiAgICAgKiBAdHlwZSB7Wm9uZX1cbiAgICAgKi9cbiAgICB0aGlzLnpvbmUgPSB6b25lO1xuICAgIHRoaXMuem9uZS5jcm9zc1R5cGUgPSBjcm9zc1R5cGU7XG5cbiAgICBsaWZlICYmIHN1cGVyLnJlc2V0KGxpZmUsIGVhc2luZyk7XG4gIH1cblxuICAvKipcbiAgICogQXBwbGllcyB0aGUgYmVoYXZpb3VyIHRvIHRoZSBwYXJ0aWNsZS5cbiAgICpcbiAgICogQHNlZSB7QGxpbmsgJy4uL3pvbmUvWm9uZS5qcyd9IGNyb3NzaW5nXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBwYXJ0aWNsZSAtIHRoZSBwYXJ0aWNsZSB0byBhcHBseSB0aGUgYmVoYXZpb3VyIHRvXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0aW1lIC0gZW5naW5lIHRpbWVcbiAgICogQHBhcmFtIHtpbnRlZ2VyfSBpbmRleCAtIHRoZSBwYXJ0aWNsZSBpbmRleFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIG11dGF0ZShwYXJ0aWNsZSwgdGltZSwgaW5kZXgpIHtcbiAgICB0aGlzLmVuZXJnaXplKHBhcnRpY2xlLCB0aW1lLCBpbmRleCk7XG5cbiAgICB0aGlzLnpvbmUuY3Jvc3NpbmcuY2FsbCh0aGlzLnpvbmUsIHBhcnRpY2xlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQ3Jvc3Nab25lIGluaXRpYWxpemVyIGZyb20gSlNPTi5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IGpzb24gLSBUaGUgSlNPTiB0byBjb25zdHJ1Y3QgdGhlIGluc3RhbmNlIGZyb20uXG4gICAqIEByZXR1cm4ge0Nyb3NzWm9uZX1cbiAgICovXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgY29uc3Qge1xuICAgICAgem9uZVR5cGUsXG4gICAgICB6b25lUGFyYW1zLFxuICAgICAgY3Jvc3NUeXBlLFxuICAgICAgbGlmZSxcbiAgICAgIGVhc2luZyxcbiAgICAgIGlzRW5hYmxlZCA9IHRydWUsXG4gICAgfSA9IGpzb247XG5cbiAgICBjb25zdCB6b25lID0gbmV3IFpvbmVbem9uZVR5cGVdKC4uLk9iamVjdC52YWx1ZXMoem9uZVBhcmFtcykpO1xuXG4gICAgcmV0dXJuIG5ldyBDcm9zc1pvbmUoXG4gICAgICB6b25lLFxuICAgICAgY3Jvc3NUeXBlLFxuICAgICAgbGlmZSxcbiAgICAgIGdldEVhc2luZ0J5TmFtZShlYXNpbmcpLFxuICAgICAgaXNFbmFibGVkXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -27,7 +27,7 @@ var _types = require("./types");
27
27
 
28
28
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
29
29
 
30
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
30
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
31
 
32
32
  /**
33
33
  * Behaviour that forces particles along a specific axis.
@@ -123,4 +123,4 @@ var Force = /*#__PURE__*/function (_Behaviour) {
123
123
  }(_Behaviour2["default"]);
124
124
 
125
125
  exports["default"] = Force;
126
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvRm9yY2UuanMiXSwibmFtZXMiOlsiRm9yY2UiLCJmeCIsImZ5IiwiZnoiLCJsaWZlIiwiZWFzaW5nIiwiaXNFbmFibGVkIiwidHlwZSIsInJlc2V0IiwiZm9yY2UiLCJub3JtYWxpemVGb3JjZSIsIlZlY3RvcjNEIiwiaWQiLCJNYXRoIiwicmFuZG9tIiwicGFydGljbGUiLCJ0aW1lIiwiaW5kZXgiLCJlbmVyZ2l6ZSIsImFjY2VsZXJhdGlvbiIsImFkZCIsImpzb24iLCJCZWhhdmlvdXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBQ0E7Ozs7SUFJcUJBLEs7Ozs7O0FBQ25COzs7Ozs7Ozs7OztBQVdBLGlCQUFZQyxFQUFaLEVBQWdCQyxFQUFoQixFQUFvQkMsRUFBcEIsRUFBd0JDLElBQXhCLEVBQThCQyxNQUE5QixFQUF3RDtBQUFBOztBQUFBLFFBQWxCQyxTQUFrQix1RUFBTixJQUFNO0FBQUE7QUFDdEQsOEJBQU1GLElBQU4sRUFBWUMsTUFBWixFQUFvQkUsMkJBQXBCLEVBQTBCRCxTQUExQjs7QUFFQSxVQUFLRSxLQUFMLENBQVdQLEVBQVgsRUFBZUMsRUFBZixFQUFtQkMsRUFBbkI7O0FBSHNEO0FBSXZEO0FBRUQ7Ozs7Ozs7Ozs7OzBCQU9NRixFLEVBQUlDLEUsRUFBSUMsRSxFQUFJO0FBQ2hCOzs7O0FBSUEsV0FBS00sS0FBTCxHQUFhLEtBQUtDLGNBQUwsQ0FBb0IsSUFBSUMsY0FBSixDQUFhVixFQUFiLEVBQWlCQyxFQUFqQixFQUFxQkMsRUFBckIsQ0FBcEIsQ0FBYjtBQUVBOzs7OztBQUlBLFdBQUtNLEtBQUwsQ0FBV0csRUFBWCxHQUFnQkMsSUFBSSxDQUFDQyxNQUFMLEVBQWhCO0FBQ0Q7QUFFRDs7Ozs7Ozs7Ozs7MkJBUU9DLFEsRUFBVUMsSSxFQUFNQyxLLEVBQU87QUFDNUIsV0FBS0MsUUFBTCxDQUFjSCxRQUFkLEVBQXdCQyxJQUF4QixFQUE4QkMsS0FBOUI7QUFFQUYsTUFBQUEsUUFBUSxDQUFDSSxZQUFULENBQXNCQyxHQUF0QixDQUEwQixLQUFLWCxLQUEvQjtBQUNEO0FBRUQ7Ozs7Ozs7Ozs2QkFNZ0JZLEksRUFBTTtBQUFBLFVBQ1pwQixFQURZLEdBQ21Db0IsSUFEbkMsQ0FDWnBCLEVBRFk7QUFBQSxVQUNSQyxFQURRLEdBQ21DbUIsSUFEbkMsQ0FDUm5CLEVBRFE7QUFBQSxVQUNKQyxFQURJLEdBQ21Da0IsSUFEbkMsQ0FDSmxCLEVBREk7QUFBQSxVQUNBQyxJQURBLEdBQ21DaUIsSUFEbkMsQ0FDQWpCLElBREE7QUFBQSxVQUNNQyxNQUROLEdBQ21DZ0IsSUFEbkMsQ0FDTWhCLE1BRE47QUFBQSw0QkFDbUNnQixJQURuQyxDQUNjZixTQURkO0FBQUEsVUFDY0EsU0FEZCxnQ0FDMEIsSUFEMUI7QUFHcEIsYUFBTyxJQUFJTixLQUFKLENBQVVDLEVBQVYsRUFBY0MsRUFBZCxFQUFrQkMsRUFBbEIsRUFBc0JDLElBQXRCLEVBQTRCLDJCQUFnQkMsTUFBaEIsQ0FBNUIsRUFBcURDLFNBQXJELENBQVA7QUFDRDs7O0VBL0RnQ2dCLHNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJlaGF2aW91ciBmcm9tICcuL0JlaGF2aW91cic7XG5pbXBvcnQgeyBWZWN0b3IzRCB9IGZyb20gJy4uL21hdGgnO1xuaW1wb3J0IHsgZ2V0RWFzaW5nQnlOYW1lIH0gZnJvbSAnLi4vZWFzZSc7XG5pbXBvcnQgeyBCRUhBVklPVVJfVFlQRV9GT1JDRSBhcyB0eXBlIH0gZnJvbSAnLi90eXBlcyc7XG4vKipcbiAqIEJlaGF2aW91ciB0aGF0IGZvcmNlcyBwYXJ0aWNsZXMgYWxvbmcgYSBzcGVjaWZpYyBheGlzLlxuICpcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRm9yY2UgZXh0ZW5kcyBCZWhhdmlvdXIge1xuICAvKipcbiAgICogQ29uc3RydWN0cyBhIEZvcmNlIGJlaGF2aW91ciBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IGZ4IC0gdGhlIHggYXhpcyBmb3JjZVxuICAgKiBAcGFyYW0ge251bWJlcn0gZnkgLSB0aGUgeSBheGlzIGZvcmNlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBmeiAtIHRoZSB6IGF4aXMgZm9yY2VcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSB0aGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRW5hYmxlZD10cnVlXSAtIERldGVybWluZXMgaWYgdGhlIGJlaGF2aW91ciB3aWxsIGJlIGFwcGxpZWQgb3Igbm90XG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgY29uc3RydWN0b3IoZngsIGZ5LCBmeiwgbGlmZSwgZWFzaW5nLCBpc0VuYWJsZWQgPSB0cnVlKSB7XG4gICAgc3VwZXIobGlmZSwgZWFzaW5nLCB0eXBlLCBpc0VuYWJsZWQpO1xuXG4gICAgdGhpcy5yZXNldChmeCwgZnksIGZ6KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIGJlaGF2aW91ciBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gZnggLSB0aGUgeCBheGlzIGZvcmNlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBmeSAtIHRoZSB5IGF4aXMgZm9yY2VcbiAgICogQHBhcmFtIHtudW1iZXJ9IGZ6IC0gdGhlIHogYXhpcyBmb3JjZVxuICAgKi9cbiAgcmVzZXQoZngsIGZ5LCBmeikge1xuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSBub3JtYWxpemVkIGZvcmNlIHRvIGV4ZXJ0IG9uIHRoZSBwYXJ0aWNsZSBpblxuICAgICAqIEB0eXBlIHtWZWN0b3IzRH1cbiAgICAgKi9cbiAgICB0aGlzLmZvcmNlID0gdGhpcy5ub3JtYWxpemVGb3JjZShuZXcgVmVjdG9yM0QoZngsIGZ5LCBmeikpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIGlkIG9mIHRoZSBmb3JjZSB2ZWN0b3JcbiAgICAgKiBAcHJvcGVydHkge251bWJlcn0gdGhpcy5mb3JjZS5pZFxuICAgICAqL1xuICAgIHRoaXMuZm9yY2UuaWQgPSBNYXRoLnJhbmRvbSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE11dGF0ZXMgdGhlIHBhcnRpY2xlLmFjY2VsZXJhdGlvbiBwcm9wZXJ0eS5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IHBhcnRpY2xlIC0gdGhlIHBhcnRpY2xlIHRvIGFwcGx5IHRoZSBiZWhhdmlvdXIgdG9cbiAgICogQHBhcmFtIHtudW1iZXJ9IHRpbWUgLSBlbmdpbmUgdGltZVxuICAgKiBAcGFyYW0ge2ludGVnZXJ9IGluZGV4IC0gdGhlIHBhcnRpY2xlIGluZGV4XG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgbXV0YXRlKHBhcnRpY2xlLCB0aW1lLCBpbmRleCkge1xuICAgIHRoaXMuZW5lcmdpemUocGFydGljbGUsIHRpbWUsIGluZGV4KTtcblxuICAgIHBhcnRpY2xlLmFjY2VsZXJhdGlvbi5hZGQodGhpcy5mb3JjZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIEZvcmNlIGluaXRpYWxpemVyIGZyb20gSlNPTi5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IGpzb24gLSBUaGUgSlNPTiB0byBjb25zdHJ1Y3QgdGhlIGluc3RhbmNlIGZyb20uXG4gICAqIEByZXR1cm4ge0ZvcmNlfVxuICAgKi9cbiAgc3RhdGljIGZyb21KU09OKGpzb24pIHtcbiAgICBjb25zdCB7IGZ4LCBmeSwgZnosIGxpZmUsIGVhc2luZywgaXNFbmFibGVkID0gdHJ1ZSB9ID0ganNvbjtcblxuICAgIHJldHVybiBuZXcgRm9yY2UoZngsIGZ5LCBmeiwgbGlmZSwgZ2V0RWFzaW5nQnlOYW1lKGVhc2luZyksIGlzRW5hYmxlZCk7XG4gIH1cbn1cbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvRm9yY2UuanMiXSwibmFtZXMiOlsiRm9yY2UiLCJmeCIsImZ5IiwiZnoiLCJsaWZlIiwiZWFzaW5nIiwiaXNFbmFibGVkIiwidHlwZSIsInJlc2V0IiwiZm9yY2UiLCJub3JtYWxpemVGb3JjZSIsIlZlY3RvcjNEIiwiaWQiLCJNYXRoIiwicmFuZG9tIiwicGFydGljbGUiLCJ0aW1lIiwiaW5kZXgiLCJlbmVyZ2l6ZSIsImFjY2VsZXJhdGlvbiIsImFkZCIsImpzb24iLCJCZWhhdmlvdXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFDcUJBLEs7Ozs7O0FBQ25CO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRSxpQkFBWUMsRUFBWixFQUFnQkMsRUFBaEIsRUFBb0JDLEVBQXBCLEVBQXdCQyxJQUF4QixFQUE4QkMsTUFBOUIsRUFBd0Q7QUFBQTs7QUFBQSxRQUFsQkMsU0FBa0IsdUVBQU4sSUFBTTtBQUFBO0FBQ3RELDhCQUFNRixJQUFOLEVBQVlDLE1BQVosRUFBb0JFLDJCQUFwQixFQUEwQkQsU0FBMUI7O0FBRUEsVUFBS0UsS0FBTCxDQUFXUCxFQUFYLEVBQWVDLEVBQWYsRUFBbUJDLEVBQW5COztBQUhzRDtBQUl2RDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OzswQkFDUUYsRSxFQUFJQyxFLEVBQUlDLEUsRUFBSTtBQUNoQjtBQUNKO0FBQ0E7QUFDQTtBQUNJLFdBQUtNLEtBQUwsR0FBYSxLQUFLQyxjQUFMLENBQW9CLElBQUlDLGNBQUosQ0FBYVYsRUFBYixFQUFpQkMsRUFBakIsRUFBcUJDLEVBQXJCLENBQXBCLENBQWI7QUFFQTtBQUNKO0FBQ0E7QUFDQTs7QUFDSSxXQUFLTSxLQUFMLENBQVdHLEVBQVgsR0FBZ0JDLElBQUksQ0FBQ0MsTUFBTCxFQUFoQjtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OzsyQkFDU0MsUSxFQUFVQyxJLEVBQU1DLEssRUFBTztBQUM1QixXQUFLQyxRQUFMLENBQWNILFFBQWQsRUFBd0JDLElBQXhCLEVBQThCQyxLQUE5QjtBQUVBRixNQUFBQSxRQUFRLENBQUNJLFlBQVQsQ0FBc0JDLEdBQXRCLENBQTBCLEtBQUtYLEtBQS9CO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7NkJBQ2tCWSxJLEVBQU07QUFBQSxVQUNacEIsRUFEWSxHQUNtQ29CLElBRG5DLENBQ1pwQixFQURZO0FBQUEsVUFDUkMsRUFEUSxHQUNtQ21CLElBRG5DLENBQ1JuQixFQURRO0FBQUEsVUFDSkMsRUFESSxHQUNtQ2tCLElBRG5DLENBQ0psQixFQURJO0FBQUEsVUFDQUMsSUFEQSxHQUNtQ2lCLElBRG5DLENBQ0FqQixJQURBO0FBQUEsVUFDTUMsTUFETixHQUNtQ2dCLElBRG5DLENBQ01oQixNQUROO0FBQUEsNEJBQ21DZ0IsSUFEbkMsQ0FDY2YsU0FEZDtBQUFBLFVBQ2NBLFNBRGQsZ0NBQzBCLElBRDFCO0FBR3BCLGFBQU8sSUFBSU4sS0FBSixDQUFVQyxFQUFWLEVBQWNDLEVBQWQsRUFBa0JDLEVBQWxCLEVBQXNCQyxJQUF0QixFQUE0QiwyQkFBZ0JDLE1BQWhCLENBQTVCLEVBQXFEQyxTQUFyRCxDQUFQO0FBQ0Q7OztFQS9EZ0NnQixzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCZWhhdmlvdXIgZnJvbSAnLi9CZWhhdmlvdXInO1xuaW1wb3J0IHsgVmVjdG9yM0QgfSBmcm9tICcuLi9tYXRoJztcbmltcG9ydCB7IGdldEVhc2luZ0J5TmFtZSB9IGZyb20gJy4uL2Vhc2UnO1xuaW1wb3J0IHsgQkVIQVZJT1VSX1RZUEVfRk9SQ0UgYXMgdHlwZSB9IGZyb20gJy4vdHlwZXMnO1xuLyoqXG4gKiBCZWhhdmlvdXIgdGhhdCBmb3JjZXMgcGFydGljbGVzIGFsb25nIGEgc3BlY2lmaWMgYXhpcy5cbiAqXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZvcmNlIGV4dGVuZHMgQmVoYXZpb3VyIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBGb3JjZSBiZWhhdmlvdXIgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBmeCAtIHRoZSB4IGF4aXMgZm9yY2VcbiAgICogQHBhcmFtIHtudW1iZXJ9IGZ5IC0gdGhlIHkgYXhpcyBmb3JjZVxuICAgKiBAcGFyYW0ge251bWJlcn0gZnogLSB0aGUgeiBheGlzIGZvcmNlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaWZlIC0gdGhlIGxpZmUgb2YgdGhlIHBhcnRpY2xlXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGVhc2luZyAtIFRoZSBiZWhhdmlvdXIncyBkZWNheWluZyB0cmVuZFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0VuYWJsZWQ9dHJ1ZV0gLSBEZXRlcm1pbmVzIGlmIHRoZSBiZWhhdmlvdXIgd2lsbCBiZSBhcHBsaWVkIG9yIG5vdFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKGZ4LCBmeSwgZnosIGxpZmUsIGVhc2luZywgaXNFbmFibGVkID0gdHJ1ZSkge1xuICAgIHN1cGVyKGxpZmUsIGVhc2luZywgdHlwZSwgaXNFbmFibGVkKTtcblxuICAgIHRoaXMucmVzZXQoZngsIGZ5LCBmeik7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBiZWhhdmlvdXIgcHJvcGVydGllcy5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IGZ4IC0gdGhlIHggYXhpcyBmb3JjZVxuICAgKiBAcGFyYW0ge251bWJlcn0gZnkgLSB0aGUgeSBheGlzIGZvcmNlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBmeiAtIHRoZSB6IGF4aXMgZm9yY2VcbiAgICovXG4gIHJlc2V0KGZ4LCBmeSwgZnopIHtcbiAgICAvKipcbiAgICAgKiBAZGVzYyBUaGUgbm9ybWFsaXplZCBmb3JjZSB0byBleGVydCBvbiB0aGUgcGFydGljbGUgaW5cbiAgICAgKiBAdHlwZSB7VmVjdG9yM0R9XG4gICAgICovXG4gICAgdGhpcy5mb3JjZSA9IHRoaXMubm9ybWFsaXplRm9yY2UobmV3IFZlY3RvcjNEKGZ4LCBmeSwgZnopKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSBpZCBvZiB0aGUgZm9yY2UgdmVjdG9yXG4gICAgICogQHByb3BlcnR5IHtudW1iZXJ9IHRoaXMuZm9yY2UuaWRcbiAgICAgKi9cbiAgICB0aGlzLmZvcmNlLmlkID0gTWF0aC5yYW5kb20oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNdXRhdGVzIHRoZSBwYXJ0aWNsZS5hY2NlbGVyYXRpb24gcHJvcGVydHkuXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBwYXJ0aWNsZSAtIHRoZSBwYXJ0aWNsZSB0byBhcHBseSB0aGUgYmVoYXZpb3VyIHRvXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0aW1lIC0gZW5naW5lIHRpbWVcbiAgICogQHBhcmFtIHtpbnRlZ2VyfSBpbmRleCAtIHRoZSBwYXJ0aWNsZSBpbmRleFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIG11dGF0ZShwYXJ0aWNsZSwgdGltZSwgaW5kZXgpIHtcbiAgICB0aGlzLmVuZXJnaXplKHBhcnRpY2xlLCB0aW1lLCBpbmRleCk7XG5cbiAgICBwYXJ0aWNsZS5hY2NlbGVyYXRpb24uYWRkKHRoaXMuZm9yY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBGb3JjZSBpbml0aWFsaXplciBmcm9tIEpTT04uXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBqc29uIC0gVGhlIEpTT04gdG8gY29uc3RydWN0IHRoZSBpbnN0YW5jZSBmcm9tLlxuICAgKiBAcmV0dXJuIHtGb3JjZX1cbiAgICovXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgY29uc3QgeyBmeCwgZnksIGZ6LCBsaWZlLCBlYXNpbmcsIGlzRW5hYmxlZCA9IHRydWUgfSA9IGpzb247XG5cbiAgICByZXR1cm4gbmV3IEZvcmNlKGZ4LCBmeSwgZnosIGxpZmUsIGdldEVhc2luZ0J5TmFtZShlYXNpbmcpLCBpc0VuYWJsZWQpO1xuICB9XG59XG4iXX0=
@@ -25,7 +25,7 @@ var _types = require("./types");
25
25
 
26
26
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
27
27
 
28
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
28
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
29
29
 
30
30
  /**
31
31
  * Behaviour that forces particles down the y axis.
@@ -75,4 +75,4 @@ var Gravity = /*#__PURE__*/function (_Force) {
75
75
  }(_Force2["default"]);
76
76
 
77
77
  exports["default"] = Gravity;
78
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvR3Jhdml0eS5qcyJdLCJuYW1lcyI6WyJHcmF2aXR5IiwiZ3Jhdml0eSIsImxpZmUiLCJlYXNpbmciLCJpc0VuYWJsZWQiLCJ0eXBlIiwianNvbiIsIkZvcmNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBOzs7O0lBSXFCQSxPOzs7OztBQUNuQjs7Ozs7Ozs7O0FBU0EsbUJBQVlDLE9BQVosRUFBcUJDLElBQXJCLEVBQTJCQyxNQUEzQixFQUFxRDtBQUFBOztBQUFBLFFBQWxCQyxTQUFrQix1RUFBTixJQUFNO0FBQUE7QUFDbkQsOEJBQU0sQ0FBTixFQUFTLENBQUNILE9BQVYsRUFBbUIsQ0FBbkIsRUFBc0JDLElBQXRCLEVBQTRCQyxNQUE1QixFQUFvQ0MsU0FBcEM7QUFFQTs7Ozs7QUFJQSxVQUFLQyxJQUFMLEdBQVlBLDZCQUFaO0FBUG1EO0FBUXBEOzs7OzZCQUVlQyxJLEVBQU07QUFBQSxVQUNaTCxPQURZLEdBQ2dDSyxJQURoQyxDQUNaTCxPQURZO0FBQUEsVUFDSEMsSUFERyxHQUNnQ0ksSUFEaEMsQ0FDSEosSUFERztBQUFBLFVBQ0dDLE1BREgsR0FDZ0NHLElBRGhDLENBQ0dILE1BREg7QUFBQSw0QkFDZ0NHLElBRGhDLENBQ1dGLFNBRFg7QUFBQSxVQUNXQSxTQURYLGdDQUN1QixJQUR2QjtBQUdwQixhQUFPLElBQUlKLE9BQUosQ0FBWUMsT0FBWixFQUFxQkMsSUFBckIsRUFBMkIsMkJBQWdCQyxNQUFoQixDQUEzQixFQUFvREMsU0FBcEQsQ0FBUDtBQUNEOzs7RUF4QmtDRyxrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBGb3JjZSBmcm9tICcuL0ZvcmNlJztcbmltcG9ydCB7IGdldEVhc2luZ0J5TmFtZSB9IGZyb20gJy4uL2Vhc2UnO1xuaW1wb3J0IHsgQkVIQVZJT1VSX1RZUEVfR1JBVklUWSBhcyB0eXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQmVoYXZpb3VyIHRoYXQgZm9yY2VzIHBhcnRpY2xlcyBkb3duIHRoZSB5IGF4aXMuXG4gKlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBHcmF2aXR5IGV4dGVuZHMgRm9yY2Uge1xuICAvKipcbiAgICogQ29uc3RydWN0cyBhIEdyYXZpdHkgYmVoYXZpb3VyIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gZ3Jhdml0eSAtIHRoZSBmb3JjZSB0byBwdWxsIHRoZSBwYXJ0aWNsZSBkb3duIHRoZSB5IGF4aXNcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSB0aGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGVhc2luZyAtIHRoZSBlYXNpbmcgZXF1YXRpb24gdG8gdXNlXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRW5hYmxlZD10cnVlXSAtIERldGVybWluZXMgaWYgdGhlIGJlaGF2aW91ciB3aWxsIGJlIGFwcGxpZWQgb3Igbm90XG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgY29uc3RydWN0b3IoZ3Jhdml0eSwgbGlmZSwgZWFzaW5nLCBpc0VuYWJsZWQgPSB0cnVlKSB7XG4gICAgc3VwZXIoMCwgLWdyYXZpdHksIDAsIGxpZmUsIGVhc2luZywgaXNFbmFibGVkKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSBjbGFzcyB0eXBlLlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgY29uc3QgeyBncmF2aXR5LCBsaWZlLCBlYXNpbmcsIGlzRW5hYmxlZCA9IHRydWUgfSA9IGpzb247XG5cbiAgICByZXR1cm4gbmV3IEdyYXZpdHkoZ3Jhdml0eSwgbGlmZSwgZ2V0RWFzaW5nQnlOYW1lKGVhc2luZyksIGlzRW5hYmxlZCk7XG4gIH1cbn1cbiJdfQ==
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvR3Jhdml0eS5qcyJdLCJuYW1lcyI6WyJHcmF2aXR5IiwiZ3Jhdml0eSIsImxpZmUiLCJlYXNpbmciLCJpc0VuYWJsZWQiLCJ0eXBlIiwianNvbiIsIkZvcmNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0lBQ3FCQSxPOzs7OztBQUNuQjtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRSxtQkFBWUMsT0FBWixFQUFxQkMsSUFBckIsRUFBMkJDLE1BQTNCLEVBQXFEO0FBQUE7O0FBQUEsUUFBbEJDLFNBQWtCLHVFQUFOLElBQU07QUFBQTtBQUNuRCw4QkFBTSxDQUFOLEVBQVMsQ0FBQ0gsT0FBVixFQUFtQixDQUFuQixFQUFzQkMsSUFBdEIsRUFBNEJDLE1BQTVCLEVBQW9DQyxTQUFwQztBQUVBO0FBQ0o7QUFDQTtBQUNBOztBQUNJLFVBQUtDLElBQUwsR0FBWUEsNkJBQVo7QUFQbUQ7QUFRcEQ7Ozs7NkJBRWVDLEksRUFBTTtBQUFBLFVBQ1pMLE9BRFksR0FDZ0NLLElBRGhDLENBQ1pMLE9BRFk7QUFBQSxVQUNIQyxJQURHLEdBQ2dDSSxJQURoQyxDQUNISixJQURHO0FBQUEsVUFDR0MsTUFESCxHQUNnQ0csSUFEaEMsQ0FDR0gsTUFESDtBQUFBLDRCQUNnQ0csSUFEaEMsQ0FDV0YsU0FEWDtBQUFBLFVBQ1dBLFNBRFgsZ0NBQ3VCLElBRHZCO0FBR3BCLGFBQU8sSUFBSUosT0FBSixDQUFZQyxPQUFaLEVBQXFCQyxJQUFyQixFQUEyQiwyQkFBZ0JDLE1BQWhCLENBQTNCLEVBQW9EQyxTQUFwRCxDQUFQO0FBQ0Q7OztFQXhCa0NHLGtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEZvcmNlIGZyb20gJy4vRm9yY2UnO1xuaW1wb3J0IHsgZ2V0RWFzaW5nQnlOYW1lIH0gZnJvbSAnLi4vZWFzZSc7XG5pbXBvcnQgeyBCRUhBVklPVVJfVFlQRV9HUkFWSVRZIGFzIHR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBCZWhhdmlvdXIgdGhhdCBmb3JjZXMgcGFydGljbGVzIGRvd24gdGhlIHkgYXhpcy5cbiAqXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEdyYXZpdHkgZXh0ZW5kcyBGb3JjZSB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgR3Jhdml0eSBiZWhhdmlvdXIgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBncmF2aXR5IC0gdGhlIGZvcmNlIHRvIHB1bGwgdGhlIHBhcnRpY2xlIGRvd24gdGhlIHkgYXhpc1xuICAgKiBAcGFyYW0ge251bWJlcn0gbGlmZSAtIHRoZSBsaWZlIG9mIHRoZSBwYXJ0aWNsZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gZWFzaW5nIC0gdGhlIGVhc2luZyBlcXVhdGlvbiB0byB1c2VcbiAgICogQHBhcmFtIHtib29sZWFufSBbaXNFbmFibGVkPXRydWVdIC0gRGV0ZXJtaW5lcyBpZiB0aGUgYmVoYXZpb3VyIHdpbGwgYmUgYXBwbGllZCBvciBub3RcbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICBjb25zdHJ1Y3RvcihncmF2aXR5LCBsaWZlLCBlYXNpbmcsIGlzRW5hYmxlZCA9IHRydWUpIHtcbiAgICBzdXBlcigwLCAtZ3Jhdml0eSwgMCwgbGlmZSwgZWFzaW5nLCBpc0VuYWJsZWQpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIGNsYXNzIHR5cGUuXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24pIHtcbiAgICBjb25zdCB7IGdyYXZpdHksIGxpZmUsIGVhc2luZywgaXNFbmFibGVkID0gdHJ1ZSB9ID0ganNvbjtcblxuICAgIHJldHVybiBuZXcgR3Jhdml0eShncmF2aXR5LCBsaWZlLCBnZXRFYXNpbmdCeU5hbWUoZWFzaW5nKSwgaXNFbmFibGVkKTtcbiAgfVxufVxuIl19
@@ -31,7 +31,7 @@ var _types = require("./types");
31
31
 
32
32
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
33
33
 
34
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
34
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
35
35
 
36
36
  /**
37
37
  * Behaviour that causes particles to drift to random coordinates in 3D space.
@@ -150,4 +150,4 @@ var RandomDrift = /*#__PURE__*/function (_Behaviour) {
150
150
  }(_Behaviour2["default"]);
151
151
 
152
152
  exports["default"] = RandomDrift;
153
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvUmFuZG9tRHJpZnQuanMiXSwibmFtZXMiOlsiUmFuZG9tRHJpZnQiLCJkcmlmdFgiLCJkcmlmdFkiLCJkcmlmdFoiLCJkZWxheSIsIkRFRkFVTFRfUkFORE9NX0RSSUZUX0RFTEFZIiwibGlmZSIsImVhc2luZyIsImlzRW5hYmxlZCIsInR5cGUiLCJyZXNldCIsInRpbWUiLCJyYW5kb21Gb3JjZSIsIm5vcm1hbGl6ZUZvcmNlIiwiVmVjdG9yM0QiLCJkZWxheVBhbiIsInBhcnRpY2xlIiwiaW5kZXgiLCJlbmVyZ2l6ZSIsImdldFZhbHVlIiwiYXgiLCJNYXRoVXRpbHMiLCJyYW5kb21BVG9CIiwieCIsImF5IiwieSIsImF6IiwieiIsImFjY2VsZXJhdGlvbiIsImFkZFZhbHVlIiwianNvbiIsIkJlaGF2aW91ciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBOzs7O0lBSXFCQSxXOzs7OztBQUNuQjs7Ozs7Ozs7Ozs7QUFXQSx1QkFDRUMsTUFERixFQUVFQyxNQUZGLEVBR0VDLE1BSEYsRUFRRTtBQUFBOztBQUFBLFFBSkFDLEtBSUEsdUVBSlFDLHFDQUlSO0FBQUEsUUFIQUMsSUFHQTtBQUFBLFFBRkFDLE1BRUE7QUFBQSxRQURBQyxTQUNBLHVFQURZLElBQ1o7QUFBQTtBQUNBLDhCQUFNRixJQUFOLEVBQVlDLE1BQVosRUFBb0JFLGtDQUFwQixFQUEwQkQsU0FBMUI7O0FBRUEsVUFBS0UsS0FBTCxDQUFXVCxNQUFYLEVBQW1CQyxNQUFuQixFQUEyQkMsTUFBM0IsRUFBbUNDLEtBQW5DO0FBRUE7Ozs7OztBQUlBLFVBQUtPLElBQUwsR0FBWSxDQUFaO0FBVEE7QUFVRDtBQUVEOzs7Ozs7Ozs7Ozs7OzswQkFXRVYsTSxFQUNBQyxNLEVBQ0FDLE0sRUFJQTtBQUFBLFVBSEFDLEtBR0EsdUVBSFFDLHFDQUdSO0FBQUEsVUFGQUMsSUFFQTtBQUFBLFVBREFDLE1BQ0E7O0FBQ0E7Ozs7QUFJQSxXQUFLSyxXQUFMLEdBQW1CLEtBQUtDLGNBQUwsQ0FDakIsSUFBSUMsY0FBSixDQUFhYixNQUFiLEVBQXFCQyxNQUFyQixFQUE2QkMsTUFBN0IsQ0FEaUIsQ0FBbkI7QUFHQTs7Ozs7QUFJQSxXQUFLWSxRQUFMLEdBQWdCLHNCQUFXWCxLQUFYLENBQWhCO0FBQ0EsV0FBS08sSUFBTCxHQUFZLENBQVo7QUFFQUwsTUFBQUEsSUFBSSw2R0FBZ0JBLElBQWhCLEVBQXNCQyxNQUF0QixDQUFKO0FBQ0Q7QUFFRDs7Ozs7Ozs7Ozs7MkJBUU9TLFEsRUFBVUwsSSxFQUFNTSxLLEVBQU87QUFDNUIsV0FBS0MsUUFBTCxDQUFjRixRQUFkLEVBQXdCTCxJQUF4QixFQUE4Qk0sS0FBOUI7QUFFQSxXQUFLTixJQUFMLElBQWFBLElBQWI7O0FBRUEsVUFBSSxLQUFLQSxJQUFMLElBQWEsS0FBS0ksUUFBTCxDQUFjSSxRQUFkLEVBQWpCLEVBQTJDO0FBQ3pDLFlBQU1DLEVBQUUsR0FBR0MsZ0JBQVVDLFVBQVYsQ0FBcUIsQ0FBQyxLQUFLVixXQUFMLENBQWlCVyxDQUF2QyxFQUEwQyxLQUFLWCxXQUFMLENBQWlCVyxDQUEzRCxDQUFYOztBQUNBLFlBQU1DLEVBQUUsR0FBR0gsZ0JBQVVDLFVBQVYsQ0FBcUIsQ0FBQyxLQUFLVixXQUFMLENBQWlCYSxDQUF2QyxFQUEwQyxLQUFLYixXQUFMLENBQWlCYSxDQUEzRCxDQUFYOztBQUNBLFlBQU1DLEVBQUUsR0FBR0wsZ0JBQVVDLFVBQVYsQ0FBcUIsQ0FBQyxLQUFLVixXQUFMLENBQWlCZSxDQUF2QyxFQUEwQyxLQUFLZixXQUFMLENBQWlCZSxDQUEzRCxDQUFYOztBQUVBWCxRQUFBQSxRQUFRLENBQUNZLFlBQVQsQ0FBc0JDLFFBQXRCLENBQStCVCxFQUEvQixFQUFtQ0ksRUFBbkMsRUFBdUNFLEVBQXZDO0FBRUEsYUFBS2YsSUFBTCxHQUFZLENBQVo7QUFDRDtBQUNGOzs7NkJBRWVtQixJLEVBQU07QUFBQSxVQUNaUCxDQURZLEdBQ3VDTyxJQUR2QyxDQUNaUCxDQURZO0FBQUEsVUFDVEUsQ0FEUyxHQUN1Q0ssSUFEdkMsQ0FDVEwsQ0FEUztBQUFBLFVBQ05FLENBRE0sR0FDdUNHLElBRHZDLENBQ05ILENBRE07QUFBQSxVQUNIdkIsS0FERyxHQUN1QzBCLElBRHZDLENBQ0gxQixLQURHO0FBQUEsVUFDSUUsSUFESixHQUN1Q3dCLElBRHZDLENBQ0l4QixJQURKO0FBQUEsVUFDVUMsTUFEVixHQUN1Q3VCLElBRHZDLENBQ1V2QixNQURWO0FBQUEsNEJBQ3VDdUIsSUFEdkMsQ0FDa0J0QixTQURsQjtBQUFBLFVBQ2tCQSxTQURsQixnQ0FDOEIsSUFEOUI7QUFHcEIsYUFBTyxJQUFJUixXQUFKLENBQ0x1QixDQURLLEVBRUxFLENBRkssRUFHTEUsQ0FISyxFQUlMdkIsS0FKSyxFQUtMRSxJQUxLLEVBTUwsMkJBQWdCQyxNQUFoQixDQU5LLEVBT0xDLFNBUEssQ0FBUDtBQVNEOzs7RUF2R3NDdUIsc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXRoVXRpbHMsIFZlY3RvcjNELCBjcmVhdGVTcGFuIH0gZnJvbSAnLi4vbWF0aCc7XG5cbmltcG9ydCBCZWhhdmlvdXIgZnJvbSAnLi9CZWhhdmlvdXInO1xuaW1wb3J0IHsgREVGQVVMVF9SQU5ET01fRFJJRlRfREVMQVkgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRFYXNpbmdCeU5hbWUgfSBmcm9tICcuLi9lYXNlJztcbmltcG9ydCB7IEJFSEFWSU9VUl9UWVBFX1JBTkRPTV9EUklGVCBhcyB0eXBlIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogQmVoYXZpb3VyIHRoYXQgY2F1c2VzIHBhcnRpY2xlcyB0byBkcmlmdCB0byByYW5kb20gY29vcmRpbmF0ZXMgaW4gM0Qgc3BhY2UuXG4gKlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSYW5kb21EcmlmdCBleHRlbmRzIEJlaGF2aW91ciB7XG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgUmFuZG9tRHJpZnQgYmVoYXZpb3VyIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gZHJpZnRYIC0geCBheGlzIGRyaWZ0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBkcmlmdFkgLSB5IGF4aXMgZHJpZnRcbiAgICogQHBhcmFtIHtudW1iZXJ9IGRyaWZ0WiAtIHogYXhpcyBkcmlmdFxuICAgKiBAcGFyYW0ge251bWJlcn0gW2RlbGF5PURFRkFVTFRfUkFORE9NX0RSSUZUX0RFTEFZXSAtIGRyaWZ0IGRlbGF5XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaWZlIC0gVGhlIGxpZmUgb2YgdGhlIHBhcnRpY2xlXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGVhc2luZyAtIFRoZSBiZWhhdmlvdXIncyBkZWNheWluZyB0cmVuZFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIGRyaWZ0WCxcbiAgICBkcmlmdFksXG4gICAgZHJpZnRaLFxuICAgIGRlbGF5ID0gREVGQVVMVF9SQU5ET01fRFJJRlRfREVMQVksXG4gICAgbGlmZSxcbiAgICBlYXNpbmcsXG4gICAgaXNFbmFibGVkID0gdHJ1ZVxuICApIHtcbiAgICBzdXBlcihsaWZlLCBlYXNpbmcsIHR5cGUsIGlzRW5hYmxlZCk7XG5cbiAgICB0aGlzLnJlc2V0KGRyaWZ0WCwgZHJpZnRZLCBkcmlmdFosIGRlbGF5KTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIEludGVybmFsIHRpbWUgdXNlZCBmb3IgY2FsY3VsYXRpbmcgZHJpZnQgdnMgaW50ZXJuYWwgZGVsYXkuXG4gICAgICogQHR5cGUge251bWJlcn1cbiAgICAgKi9cbiAgICB0aGlzLnRpbWUgPSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgYmVoYXZpb3VyIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBkcmlmdFggLSB4IGF4aXMgZHJpZnRcbiAgICogQHBhcmFtIHtudW1iZXJ9IGRyaWZ0WSAtIHkgYXhpcyBkcmlmdFxuICAgKiBAcGFyYW0ge251bWJlcn0gZHJpZnRaIC0geiBheGlzIGRyaWZ0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbZGVsYXk9REVGQVVMVF9SQU5ET01fRFJJRlRfREVMQVldIC0gZHJpZnQgZGVsYXlcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqL1xuICByZXNldChcbiAgICBkcmlmdFgsXG4gICAgZHJpZnRZLFxuICAgIGRyaWZ0WixcbiAgICBkZWxheSA9IERFRkFVTFRfUkFORE9NX0RSSUZUX0RFTEFZLFxuICAgIGxpZmUsXG4gICAgZWFzaW5nXG4gICkge1xuICAgIC8qKlxuICAgICAqIEBkZXNjIEEgVmVjdG9yM0QgdGhhdCBzdG9yZXMgdGhlIGRyaWZ0IHByb3BlcnRpZXMuXG4gICAgICogQHR5cGUge1ZlY3RvcjNEfVxuICAgICAqL1xuICAgIHRoaXMucmFuZG9tRm9yY2UgPSB0aGlzLm5vcm1hbGl6ZUZvcmNlKFxuICAgICAgbmV3IFZlY3RvcjNEKGRyaWZ0WCwgZHJpZnRZLCBkcmlmdFopXG4gICAgKTtcbiAgICAvKipcbiAgICAgKiBAZGVzYyBBIFNwYW4gY29udGFpbmluZyB0aGUgZGVsYXkgc3VwcGxpZWQuXG4gICAgICogQHR5cGUge1NwYW59XG4gICAgICovXG4gICAgdGhpcy5kZWxheVBhbiA9IGNyZWF0ZVNwYW4oZGVsYXkpO1xuICAgIHRoaXMudGltZSA9IDA7XG5cbiAgICBsaWZlICYmIHN1cGVyLnJlc2V0KGxpZmUsIGVhc2luZyk7XG4gIH1cblxuICAvKipcbiAgICogTXV0YXRlcyB0aGUgcGFydGljbGUuYWNjZWxlcmF0aW9uIHByb3BlcnR5LlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0gcGFydGljbGUgLSB0aGUgcGFydGljbGUgdG8gYXBwbHkgdGhlIGJlaGF2aW91ciB0b1xuICAgKiBAcGFyYW0ge251bWJlcn0gdGltZSAtIGVuZ2luZSB0aW1lXG4gICAqIEBwYXJhbSB7aW50ZWdlcn0gaW5kZXggLSB0aGUgcGFydGljbGUgaW5kZXhcbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICBtdXRhdGUocGFydGljbGUsIHRpbWUsIGluZGV4KSB7XG4gICAgdGhpcy5lbmVyZ2l6ZShwYXJ0aWNsZSwgdGltZSwgaW5kZXgpO1xuXG4gICAgdGhpcy50aW1lICs9IHRpbWU7XG5cbiAgICBpZiAodGhpcy50aW1lID49IHRoaXMuZGVsYXlQYW4uZ2V0VmFsdWUoKSkge1xuICAgICAgY29uc3QgYXggPSBNYXRoVXRpbHMucmFuZG9tQVRvQigtdGhpcy5yYW5kb21Gb3JjZS54LCB0aGlzLnJhbmRvbUZvcmNlLngpO1xuICAgICAgY29uc3QgYXkgPSBNYXRoVXRpbHMucmFuZG9tQVRvQigtdGhpcy5yYW5kb21Gb3JjZS55LCB0aGlzLnJhbmRvbUZvcmNlLnkpO1xuICAgICAgY29uc3QgYXogPSBNYXRoVXRpbHMucmFuZG9tQVRvQigtdGhpcy5yYW5kb21Gb3JjZS56LCB0aGlzLnJhbmRvbUZvcmNlLnopO1xuXG4gICAgICBwYXJ0aWNsZS5hY2NlbGVyYXRpb24uYWRkVmFsdWUoYXgsIGF5LCBheik7XG5cbiAgICAgIHRoaXMudGltZSA9IDA7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGZyb21KU09OKGpzb24pIHtcbiAgICBjb25zdCB7IHgsIHksIHosIGRlbGF5LCBsaWZlLCBlYXNpbmcsIGlzRW5hYmxlZCA9IHRydWUgfSA9IGpzb247XG5cbiAgICByZXR1cm4gbmV3IFJhbmRvbURyaWZ0KFxuICAgICAgeCxcbiAgICAgIHksXG4gICAgICB6LFxuICAgICAgZGVsYXksXG4gICAgICBsaWZlLFxuICAgICAgZ2V0RWFzaW5nQnlOYW1lKGVhc2luZyksXG4gICAgICBpc0VuYWJsZWRcbiAgICApO1xuICB9XG59XG4iXX0=
153
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvUmFuZG9tRHJpZnQuanMiXSwibmFtZXMiOlsiUmFuZG9tRHJpZnQiLCJkcmlmdFgiLCJkcmlmdFkiLCJkcmlmdFoiLCJkZWxheSIsIkRFRkFVTFRfUkFORE9NX0RSSUZUX0RFTEFZIiwibGlmZSIsImVhc2luZyIsImlzRW5hYmxlZCIsInR5cGUiLCJyZXNldCIsInRpbWUiLCJyYW5kb21Gb3JjZSIsIm5vcm1hbGl6ZUZvcmNlIiwiVmVjdG9yM0QiLCJkZWxheVBhbiIsInBhcnRpY2xlIiwiaW5kZXgiLCJlbmVyZ2l6ZSIsImdldFZhbHVlIiwiYXgiLCJNYXRoVXRpbHMiLCJyYW5kb21BVG9CIiwieCIsImF5IiwieSIsImF6IiwieiIsImFjY2VsZXJhdGlvbiIsImFkZFZhbHVlIiwianNvbiIsIkJlaGF2aW91ciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQUVBO0FBQ0E7QUFDQTtBQUNBO0lBQ3FCQSxXOzs7OztBQUNuQjtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0UsdUJBQ0VDLE1BREYsRUFFRUMsTUFGRixFQUdFQyxNQUhGLEVBUUU7QUFBQTs7QUFBQSxRQUpBQyxLQUlBLHVFQUpRQyxxQ0FJUjtBQUFBLFFBSEFDLElBR0E7QUFBQSxRQUZBQyxNQUVBO0FBQUEsUUFEQUMsU0FDQSx1RUFEWSxJQUNaO0FBQUE7QUFDQSw4QkFBTUYsSUFBTixFQUFZQyxNQUFaLEVBQW9CRSxrQ0FBcEIsRUFBMEJELFNBQTFCOztBQUVBLFVBQUtFLEtBQUwsQ0FBV1QsTUFBWCxFQUFtQkMsTUFBbkIsRUFBMkJDLE1BQTNCLEVBQW1DQyxLQUFuQztBQUVBO0FBQ0o7QUFDQTtBQUNBOzs7QUFDSSxVQUFLTyxJQUFMLEdBQVksQ0FBWjtBQVRBO0FBVUQ7QUFFRDtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7MEJBRUlWLE0sRUFDQUMsTSxFQUNBQyxNLEVBSUE7QUFBQSxVQUhBQyxLQUdBLHVFQUhRQyxxQ0FHUjtBQUFBLFVBRkFDLElBRUE7QUFBQSxVQURBQyxNQUNBOztBQUNBO0FBQ0o7QUFDQTtBQUNBO0FBQ0ksV0FBS0ssV0FBTCxHQUFtQixLQUFLQyxjQUFMLENBQ2pCLElBQUlDLGNBQUosQ0FBYWIsTUFBYixFQUFxQkMsTUFBckIsRUFBNkJDLE1BQTdCLENBRGlCLENBQW5CO0FBR0E7QUFDSjtBQUNBO0FBQ0E7O0FBQ0ksV0FBS1ksUUFBTCxHQUFnQixzQkFBV1gsS0FBWCxDQUFoQjtBQUNBLFdBQUtPLElBQUwsR0FBWSxDQUFaO0FBRUFMLE1BQUFBLElBQUksNkdBQWdCQSxJQUFoQixFQUFzQkMsTUFBdEIsQ0FBSjtBQUNEO0FBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OzsyQkFDU1MsUSxFQUFVTCxJLEVBQU1NLEssRUFBTztBQUM1QixXQUFLQyxRQUFMLENBQWNGLFFBQWQsRUFBd0JMLElBQXhCLEVBQThCTSxLQUE5QjtBQUVBLFdBQUtOLElBQUwsSUFBYUEsSUFBYjs7QUFFQSxVQUFJLEtBQUtBLElBQUwsSUFBYSxLQUFLSSxRQUFMLENBQWNJLFFBQWQsRUFBakIsRUFBMkM7QUFDekMsWUFBTUMsRUFBRSxHQUFHQyxnQkFBVUMsVUFBVixDQUFxQixDQUFDLEtBQUtWLFdBQUwsQ0FBaUJXLENBQXZDLEVBQTBDLEtBQUtYLFdBQUwsQ0FBaUJXLENBQTNELENBQVg7O0FBQ0EsWUFBTUMsRUFBRSxHQUFHSCxnQkFBVUMsVUFBVixDQUFxQixDQUFDLEtBQUtWLFdBQUwsQ0FBaUJhLENBQXZDLEVBQTBDLEtBQUtiLFdBQUwsQ0FBaUJhLENBQTNELENBQVg7O0FBQ0EsWUFBTUMsRUFBRSxHQUFHTCxnQkFBVUMsVUFBVixDQUFxQixDQUFDLEtBQUtWLFdBQUwsQ0FBaUJlLENBQXZDLEVBQTBDLEtBQUtmLFdBQUwsQ0FBaUJlLENBQTNELENBQVg7O0FBRUFYLFFBQUFBLFFBQVEsQ0FBQ1ksWUFBVCxDQUFzQkMsUUFBdEIsQ0FBK0JULEVBQS9CLEVBQW1DSSxFQUFuQyxFQUF1Q0UsRUFBdkM7QUFFQSxhQUFLZixJQUFMLEdBQVksQ0FBWjtBQUNEO0FBQ0Y7Ozs2QkFFZW1CLEksRUFBTTtBQUFBLFVBQ1pQLENBRFksR0FDdUNPLElBRHZDLENBQ1pQLENBRFk7QUFBQSxVQUNURSxDQURTLEdBQ3VDSyxJQUR2QyxDQUNUTCxDQURTO0FBQUEsVUFDTkUsQ0FETSxHQUN1Q0csSUFEdkMsQ0FDTkgsQ0FETTtBQUFBLFVBQ0h2QixLQURHLEdBQ3VDMEIsSUFEdkMsQ0FDSDFCLEtBREc7QUFBQSxVQUNJRSxJQURKLEdBQ3VDd0IsSUFEdkMsQ0FDSXhCLElBREo7QUFBQSxVQUNVQyxNQURWLEdBQ3VDdUIsSUFEdkMsQ0FDVXZCLE1BRFY7QUFBQSw0QkFDdUN1QixJQUR2QyxDQUNrQnRCLFNBRGxCO0FBQUEsVUFDa0JBLFNBRGxCLGdDQUM4QixJQUQ5QjtBQUdwQixhQUFPLElBQUlSLFdBQUosQ0FDTHVCLENBREssRUFFTEUsQ0FGSyxFQUdMRSxDQUhLLEVBSUx2QixLQUpLLEVBS0xFLElBTEssRUFNTCwyQkFBZ0JDLE1BQWhCLENBTkssRUFPTEMsU0FQSyxDQUFQO0FBU0Q7OztFQXZHc0N1QixzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1hdGhVdGlscywgVmVjdG9yM0QsIGNyZWF0ZVNwYW4gfSBmcm9tICcuLi9tYXRoJztcblxuaW1wb3J0IEJlaGF2aW91ciBmcm9tICcuL0JlaGF2aW91cic7XG5pbXBvcnQgeyBERUZBVUxUX1JBTkRPTV9EUklGVF9ERUxBWSB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IGdldEVhc2luZ0J5TmFtZSB9IGZyb20gJy4uL2Vhc2UnO1xuaW1wb3J0IHsgQkVIQVZJT1VSX1RZUEVfUkFORE9NX0RSSUZUIGFzIHR5cGUgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBCZWhhdmlvdXIgdGhhdCBjYXVzZXMgcGFydGljbGVzIHRvIGRyaWZ0IHRvIHJhbmRvbSBjb29yZGluYXRlcyBpbiAzRCBzcGFjZS5cbiAqXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhbmRvbURyaWZ0IGV4dGVuZHMgQmVoYXZpb3VyIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBSYW5kb21EcmlmdCBiZWhhdmlvdXIgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBkcmlmdFggLSB4IGF4aXMgZHJpZnRcbiAgICogQHBhcmFtIHtudW1iZXJ9IGRyaWZ0WSAtIHkgYXhpcyBkcmlmdFxuICAgKiBAcGFyYW0ge251bWJlcn0gZHJpZnRaIC0geiBheGlzIGRyaWZ0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbZGVsYXk9REVGQVVMVF9SQU5ET01fRFJJRlRfREVMQVldIC0gZHJpZnQgZGVsYXlcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgZHJpZnRYLFxuICAgIGRyaWZ0WSxcbiAgICBkcmlmdFosXG4gICAgZGVsYXkgPSBERUZBVUxUX1JBTkRPTV9EUklGVF9ERUxBWSxcbiAgICBsaWZlLFxuICAgIGVhc2luZyxcbiAgICBpc0VuYWJsZWQgPSB0cnVlXG4gICkge1xuICAgIHN1cGVyKGxpZmUsIGVhc2luZywgdHlwZSwgaXNFbmFibGVkKTtcblxuICAgIHRoaXMucmVzZXQoZHJpZnRYLCBkcmlmdFksIGRyaWZ0WiwgZGVsYXkpO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgSW50ZXJuYWwgdGltZSB1c2VkIGZvciBjYWxjdWxhdGluZyBkcmlmdCB2cyBpbnRlcm5hbCBkZWxheS5cbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgICAqL1xuICAgIHRoaXMudGltZSA9IDA7XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBiZWhhdmlvdXIgcHJvcGVydGllcy5cbiAgICpcbiAgICogQHBhcmFtIHtudW1iZXJ9IGRyaWZ0WCAtIHggYXhpcyBkcmlmdFxuICAgKiBAcGFyYW0ge251bWJlcn0gZHJpZnRZIC0geSBheGlzIGRyaWZ0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBkcmlmdFogLSB6IGF4aXMgZHJpZnRcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtkZWxheT1ERUZBVUxUX1JBTkRPTV9EUklGVF9ERUxBWV0gLSBkcmlmdCBkZWxheVxuICAgKiBAcGFyYW0ge251bWJlcn0gbGlmZSAtIFRoZSBsaWZlIG9mIHRoZSBwYXJ0aWNsZVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBlYXNpbmcgLSBUaGUgYmVoYXZpb3VyJ3MgZGVjYXlpbmcgdHJlbmRcbiAgICovXG4gIHJlc2V0KFxuICAgIGRyaWZ0WCxcbiAgICBkcmlmdFksXG4gICAgZHJpZnRaLFxuICAgIGRlbGF5ID0gREVGQVVMVF9SQU5ET01fRFJJRlRfREVMQVksXG4gICAgbGlmZSxcbiAgICBlYXNpbmdcbiAgKSB7XG4gICAgLyoqXG4gICAgICogQGRlc2MgQSBWZWN0b3IzRCB0aGF0IHN0b3JlcyB0aGUgZHJpZnQgcHJvcGVydGllcy5cbiAgICAgKiBAdHlwZSB7VmVjdG9yM0R9XG4gICAgICovXG4gICAgdGhpcy5yYW5kb21Gb3JjZSA9IHRoaXMubm9ybWFsaXplRm9yY2UoXG4gICAgICBuZXcgVmVjdG9yM0QoZHJpZnRYLCBkcmlmdFksIGRyaWZ0WilcbiAgICApO1xuICAgIC8qKlxuICAgICAqIEBkZXNjIEEgU3BhbiBjb250YWluaW5nIHRoZSBkZWxheSBzdXBwbGllZC5cbiAgICAgKiBAdHlwZSB7U3Bhbn1cbiAgICAgKi9cbiAgICB0aGlzLmRlbGF5UGFuID0gY3JlYXRlU3BhbihkZWxheSk7XG4gICAgdGhpcy50aW1lID0gMDtcblxuICAgIGxpZmUgJiYgc3VwZXIucmVzZXQobGlmZSwgZWFzaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNdXRhdGVzIHRoZSBwYXJ0aWNsZS5hY2NlbGVyYXRpb24gcHJvcGVydHkuXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBwYXJ0aWNsZSAtIHRoZSBwYXJ0aWNsZSB0byBhcHBseSB0aGUgYmVoYXZpb3VyIHRvXG4gICAqIEBwYXJhbSB7bnVtYmVyfSB0aW1lIC0gZW5naW5lIHRpbWVcbiAgICogQHBhcmFtIHtpbnRlZ2VyfSBpbmRleCAtIHRoZSBwYXJ0aWNsZSBpbmRleFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIG11dGF0ZShwYXJ0aWNsZSwgdGltZSwgaW5kZXgpIHtcbiAgICB0aGlzLmVuZXJnaXplKHBhcnRpY2xlLCB0aW1lLCBpbmRleCk7XG5cbiAgICB0aGlzLnRpbWUgKz0gdGltZTtcblxuICAgIGlmICh0aGlzLnRpbWUgPj0gdGhpcy5kZWxheVBhbi5nZXRWYWx1ZSgpKSB7XG4gICAgICBjb25zdCBheCA9IE1hdGhVdGlscy5yYW5kb21BVG9CKC10aGlzLnJhbmRvbUZvcmNlLngsIHRoaXMucmFuZG9tRm9yY2UueCk7XG4gICAgICBjb25zdCBheSA9IE1hdGhVdGlscy5yYW5kb21BVG9CKC10aGlzLnJhbmRvbUZvcmNlLnksIHRoaXMucmFuZG9tRm9yY2UueSk7XG4gICAgICBjb25zdCBheiA9IE1hdGhVdGlscy5yYW5kb21BVG9CKC10aGlzLnJhbmRvbUZvcmNlLnosIHRoaXMucmFuZG9tRm9yY2Uueik7XG5cbiAgICAgIHBhcnRpY2xlLmFjY2VsZXJhdGlvbi5hZGRWYWx1ZShheCwgYXksIGF6KTtcblxuICAgICAgdGhpcy50aW1lID0gMDtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xuICAgIGNvbnN0IHsgeCwgeSwgeiwgZGVsYXksIGxpZmUsIGVhc2luZywgaXNFbmFibGVkID0gdHJ1ZSB9ID0ganNvbjtcblxuICAgIHJldHVybiBuZXcgUmFuZG9tRHJpZnQoXG4gICAgICB4LFxuICAgICAgeSxcbiAgICAgIHosXG4gICAgICBkZWxheSxcbiAgICAgIGxpZmUsXG4gICAgICBnZXRFYXNpbmdCeU5hbWUoZWFzaW5nKSxcbiAgICAgIGlzRW5hYmxlZFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -29,7 +29,7 @@ var _types = require("./types");
29
29
 
30
30
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
31
31
 
32
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
32
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
33
33
 
34
34
  /**
35
35
  * Behaviour that causes particles to be repelled from a target position.
@@ -120,4 +120,4 @@ var Repulsion = /*#__PURE__*/function (_Attraction) {
120
120
  }(_Attraction2["default"]);
121
121
 
122
122
  exports["default"] = Repulsion;
123
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvUmVwdWxzaW9uLmpzIl0sIm5hbWVzIjpbIlJlcHVsc2lvbiIsInRhcmdldFBvc2l0aW9uIiwiZm9yY2UiLCJyYWRpdXMiLCJsaWZlIiwiZWFzaW5nIiwiaXNFbmFibGVkIiwidHlwZSIsImpzb24iLCJ4IiwieSIsInoiLCJWZWN0b3IzRCIsIkF0dHJhY3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFDQTs7OztJQUlxQkEsUzs7Ozs7QUFDbkI7Ozs7Ozs7Ozs7QUFVQSxxQkFBWUMsY0FBWixFQUE0QkMsS0FBNUIsRUFBbUNDLE1BQW5DLEVBQTJDQyxJQUEzQyxFQUFpREMsTUFBakQsRUFBMkU7QUFBQTs7QUFBQSxRQUFsQkMsU0FBa0IsdUVBQU4sSUFBTTtBQUFBO0FBQ3pFLDhCQUFNTCxjQUFOLEVBQXNCQyxLQUF0QixFQUE2QkMsTUFBN0IsRUFBcUNDLElBQXJDLEVBQTJDQyxNQUEzQyxFQUFtREMsU0FBbkQ7QUFFQTs7Ozs7QUFJQSxVQUFLSixLQUFMLElBQWMsQ0FBQyxDQUFmO0FBRUE7Ozs7O0FBSUEsVUFBS0ssSUFBTCxHQUFZQSwrQkFBWjtBQWJ5RTtBQWMxRTtBQUVEOzs7Ozs7Ozs7Ozs7OzswQkFVTU4sYyxFQUFnQkMsSyxFQUFPQyxNLEVBQVFDLEksRUFBTUMsTSxFQUFRO0FBQ2pELDZHQUFZSixjQUFaLEVBQTRCQyxLQUE1QixFQUFtQ0MsTUFBbkMsRUFBMkNDLElBQTNDLEVBQWlEQyxNQUFqRDtBQUNBLFdBQUtILEtBQUwsSUFBYyxDQUFDLENBQWY7QUFDRDtBQUVEOzs7Ozs7Ozs7Ozs7Ozs7NkJBWWdCTSxJLEVBQU07QUFBQSxVQUNaQyxDQURZLEdBQytDRCxJQUQvQyxDQUNaQyxDQURZO0FBQUEsVUFDVEMsQ0FEUyxHQUMrQ0YsSUFEL0MsQ0FDVEUsQ0FEUztBQUFBLFVBQ05DLENBRE0sR0FDK0NILElBRC9DLENBQ05HLENBRE07QUFBQSxVQUNIVCxLQURHLEdBQytDTSxJQUQvQyxDQUNITixLQURHO0FBQUEsVUFDSUMsTUFESixHQUMrQ0ssSUFEL0MsQ0FDSUwsTUFESjtBQUFBLFVBQ1lDLElBRFosR0FDK0NJLElBRC9DLENBQ1lKLElBRFo7QUFBQSxVQUNrQkMsTUFEbEIsR0FDK0NHLElBRC9DLENBQ2tCSCxNQURsQjtBQUFBLDRCQUMrQ0csSUFEL0MsQ0FDMEJGLFNBRDFCO0FBQUEsVUFDMEJBLFNBRDFCLGdDQUNzQyxJQUR0QztBQUdwQixhQUFPLElBQUlOLFNBQUosQ0FDTCxJQUFJWSxjQUFKLENBQWFILENBQWIsRUFBZ0JDLENBQWhCLEVBQW1CQyxDQUFuQixDQURLLEVBRUxULEtBRkssRUFHTEMsTUFISyxFQUlMQyxJQUpLLEVBS0wsMkJBQWdCQyxNQUFoQixDQUxLLEVBTUxDLFNBTkssQ0FBUDtBQVFEOzs7RUFqRW9DTyx1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBBdHRyYWN0aW9uIGZyb20gJy4vQXR0cmFjdGlvbic7XG5pbXBvcnQgeyBWZWN0b3IzRCB9IGZyb20gJy4uL21hdGgnO1xuaW1wb3J0IHsgZ2V0RWFzaW5nQnlOYW1lIH0gZnJvbSAnLi4vZWFzZSc7XG5pbXBvcnQgeyBCRUhBVklPVVJfVFlQRV9SRVBVTFNJT04gYXMgdHlwZSB9IGZyb20gJy4vdHlwZXMnO1xuLyoqXG4gKiBCZWhhdmlvdXIgdGhhdCBjYXVzZXMgcGFydGljbGVzIHRvIGJlIHJlcGVsbGVkIGZyb20gYSB0YXJnZXQgcG9zaXRpb24uXG4gKlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZXB1bHNpb24gZXh0ZW5kcyBBdHRyYWN0aW9uIHtcbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYW4gUmVwdWxzaW9uIGJlaGF2aW91ciBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHtWZWN0b3IzRH0gdGFyZ2V0UG9zaXRpb24gLSBUaGUgcG9zaXRpb24gdGhlIHBhcnRpY2xlcyB3aWxsIGJlIHJlcGVsbGVkIGZyb21cbiAgICogQHBhcmFtIHtudW1iZXJ9IGZvcmNlIC0gVGhlIHJlcHVsc2lvbiBmb3JjZSBzY2FsYXIgbXVsdGlwbGllclxuICAgKiBAcGFyYW0ge251bWJlcn0gcmFkaXVzIC0gVGhlIHJlcHVsc2lvbiByYWRpdXNcbiAgICogQHBhcmFtIHtudW1iZXJ9IGxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEByZXR1cm4gdm9pZFxuICAgKi9cbiAgY29uc3RydWN0b3IodGFyZ2V0UG9zaXRpb24sIGZvcmNlLCByYWRpdXMsIGxpZmUsIGVhc2luZywgaXNFbmFibGVkID0gdHJ1ZSkge1xuICAgIHN1cGVyKHRhcmdldFBvc2l0aW9uLCBmb3JjZSwgcmFkaXVzLCBsaWZlLCBlYXNpbmcsIGlzRW5hYmxlZCk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVzYyBSZXB1bHNpb24gaXMgYXR0cmFjdGlvbiB3aXRoIG5lZ2F0aXZlIGZvcmNlLlxuICAgICAqIEB0eXBlIHtudW1iZXJ9XG4gICAgICovXG4gICAgdGhpcy5mb3JjZSAqPSAtMTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFRoZSBjbGFzcyB0eXBlLlxuICAgICAqIEB0eXBlIHtzdHJpbmd9XG4gICAgICovXG4gICAgdGhpcy50eXBlID0gdHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldHMgdGhlIGJlaGF2aW91ciBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAcGFyYW0ge1ZlY3RvcjNEfSB0YXJnZXRQb3NpdGlvbiAtIHRoZSBwb3NpdGlvbiB0aGUgcGFydGljbGVzIHdpbGwgYmUgYXR0cmFjdGVkIHRvXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBmb3JjZSAtIHRoZSBhdHRyYWN0aW9uIGZvcmNlIG11bHRpcGxpZXJcbiAgICogQHBhcmFtIHtudW1iZXJ9IHJhZGl1cyAtIHRoZSBhdHRyYWN0aW9uIHJhZGl1c1xuICAgKiBAcGFyYW0ge251bWJlcn0gbGlmZSAtIHRoZSBsaWZlIG9mIHRoZSBwYXJ0aWNsZVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBlYXNpbmcgLSBUaGUgYmVoYXZpb3VyJ3MgZGVjYXlpbmcgdHJlbmRcbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICByZXNldCh0YXJnZXRQb3NpdGlvbiwgZm9yY2UsIHJhZGl1cywgbGlmZSwgZWFzaW5nKSB7XG4gICAgc3VwZXIucmVzZXQodGFyZ2V0UG9zaXRpb24sIGZvcmNlLCByYWRpdXMsIGxpZmUsIGVhc2luZyk7XG4gICAgdGhpcy5mb3JjZSAqPSAtMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQm9keSBpbml0aWFsaXplciBmcm9tIEpTT04uXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBqc29uIC0gVGhlIEpTT04gdG8gY29uc3RydWN0IHRoZSBpbnN0YW5jZSBmcm9tLlxuICAgKiBAcHJvcGVydHkge251bWJlcn0ganNvbi54IC0gVGhlIHRhcmdldCBwb3NpdGlvbiB4IHZhbHVlXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLnkgLSBUaGUgdGFyZ2V0IHBvc2l0aW9uIHkgdmFsdWVcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGpzb24ueiAtIFRoZSB0YXJnZXQgcG9zaXRpb24geiB2YWx1ZVxuICAgKiBAcHJvcGVydHkge251bWJlcn0ganNvbi5mb3JjZSAtIFRoZSBhdHRyYWN0aW9uIGZvcmNlIHNjYWxhciBtdWx0aXBsaWVyXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLmxpZmUgLSBUaGUgbGlmZSBvZiB0aGUgcGFydGljbGVcbiAgICogQHByb3BlcnR5IHtzdHJpbmd9IGpzb24uZWFzaW5nIC0gVGhlIGJlaGF2aW91cidzIGRlY2F5aW5nIHRyZW5kXG4gICAqIEByZXR1cm4ge0JvZHl9XG4gICAqL1xuICBzdGF0aWMgZnJvbUpTT04oanNvbikge1xuICAgIGNvbnN0IHsgeCwgeSwgeiwgZm9yY2UsIHJhZGl1cywgbGlmZSwgZWFzaW5nLCBpc0VuYWJsZWQgPSB0cnVlIH0gPSBqc29uO1xuXG4gICAgcmV0dXJuIG5ldyBSZXB1bHNpb24oXG4gICAgICBuZXcgVmVjdG9yM0QoeCwgeSwgeiksXG4gICAgICBmb3JjZSxcbiAgICAgIHJhZGl1cyxcbiAgICAgIGxpZmUsXG4gICAgICBnZXRFYXNpbmdCeU5hbWUoZWFzaW5nKSxcbiAgICAgIGlzRW5hYmxlZFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
123
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iZWhhdmlvdXIvUmVwdWxzaW9uLmpzIl0sIm5hbWVzIjpbIlJlcHVsc2lvbiIsInRhcmdldFBvc2l0aW9uIiwiZm9yY2UiLCJyYWRpdXMiLCJsaWZlIiwiZWFzaW5nIiwiaXNFbmFibGVkIiwidHlwZSIsImpzb24iLCJ4IiwieSIsInoiLCJWZWN0b3IzRCIsIkF0dHJhY3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFDQTtBQUNBO0FBQ0E7QUFDQTtJQUNxQkEsUzs7Ozs7QUFDbkI7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDRSxxQkFBWUMsY0FBWixFQUE0QkMsS0FBNUIsRUFBbUNDLE1BQW5DLEVBQTJDQyxJQUEzQyxFQUFpREMsTUFBakQsRUFBMkU7QUFBQTs7QUFBQSxRQUFsQkMsU0FBa0IsdUVBQU4sSUFBTTtBQUFBO0FBQ3pFLDhCQUFNTCxjQUFOLEVBQXNCQyxLQUF0QixFQUE2QkMsTUFBN0IsRUFBcUNDLElBQXJDLEVBQTJDQyxNQUEzQyxFQUFtREMsU0FBbkQ7QUFFQTtBQUNKO0FBQ0E7QUFDQTs7QUFDSSxVQUFLSixLQUFMLElBQWMsQ0FBQyxDQUFmO0FBRUE7QUFDSjtBQUNBO0FBQ0E7O0FBQ0ksVUFBS0ssSUFBTCxHQUFZQSwrQkFBWjtBQWJ5RTtBQWMxRTtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OzswQkFDUU4sYyxFQUFnQkMsSyxFQUFPQyxNLEVBQVFDLEksRUFBTUMsTSxFQUFRO0FBQ2pELDZHQUFZSixjQUFaLEVBQTRCQyxLQUE1QixFQUFtQ0MsTUFBbkMsRUFBMkNDLElBQTNDLEVBQWlEQyxNQUFqRDtBQUNBLFdBQUtILEtBQUwsSUFBYyxDQUFDLENBQWY7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs2QkFDa0JNLEksRUFBTTtBQUFBLFVBQ1pDLENBRFksR0FDK0NELElBRC9DLENBQ1pDLENBRFk7QUFBQSxVQUNUQyxDQURTLEdBQytDRixJQUQvQyxDQUNURSxDQURTO0FBQUEsVUFDTkMsQ0FETSxHQUMrQ0gsSUFEL0MsQ0FDTkcsQ0FETTtBQUFBLFVBQ0hULEtBREcsR0FDK0NNLElBRC9DLENBQ0hOLEtBREc7QUFBQSxVQUNJQyxNQURKLEdBQytDSyxJQUQvQyxDQUNJTCxNQURKO0FBQUEsVUFDWUMsSUFEWixHQUMrQ0ksSUFEL0MsQ0FDWUosSUFEWjtBQUFBLFVBQ2tCQyxNQURsQixHQUMrQ0csSUFEL0MsQ0FDa0JILE1BRGxCO0FBQUEsNEJBQytDRyxJQUQvQyxDQUMwQkYsU0FEMUI7QUFBQSxVQUMwQkEsU0FEMUIsZ0NBQ3NDLElBRHRDO0FBR3BCLGFBQU8sSUFBSU4sU0FBSixDQUNMLElBQUlZLGNBQUosQ0FBYUgsQ0FBYixFQUFnQkMsQ0FBaEIsRUFBbUJDLENBQW5CLENBREssRUFFTFQsS0FGSyxFQUdMQyxNQUhLLEVBSUxDLElBSkssRUFLTCwyQkFBZ0JDLE1BQWhCLENBTEssRUFNTEMsU0FOSyxDQUFQO0FBUUQ7OztFQWpFb0NPLHVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEF0dHJhY3Rpb24gZnJvbSAnLi9BdHRyYWN0aW9uJztcbmltcG9ydCB7IFZlY3RvcjNEIH0gZnJvbSAnLi4vbWF0aCc7XG5pbXBvcnQgeyBnZXRFYXNpbmdCeU5hbWUgfSBmcm9tICcuLi9lYXNlJztcbmltcG9ydCB7IEJFSEFWSU9VUl9UWVBFX1JFUFVMU0lPTiBhcyB0eXBlIH0gZnJvbSAnLi90eXBlcyc7XG4vKipcbiAqIEJlaGF2aW91ciB0aGF0IGNhdXNlcyBwYXJ0aWNsZXMgdG8gYmUgcmVwZWxsZWQgZnJvbSBhIHRhcmdldCBwb3NpdGlvbi5cbiAqXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlcHVsc2lvbiBleHRlbmRzIEF0dHJhY3Rpb24ge1xuICAvKipcbiAgICogQ29uc3RydWN0cyBhbiBSZXB1bHNpb24gYmVoYXZpb3VyIGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0ge1ZlY3RvcjNEfSB0YXJnZXRQb3NpdGlvbiAtIFRoZSBwb3NpdGlvbiB0aGUgcGFydGljbGVzIHdpbGwgYmUgcmVwZWxsZWQgZnJvbVxuICAgKiBAcGFyYW0ge251bWJlcn0gZm9yY2UgLSBUaGUgcmVwdWxzaW9uIGZvcmNlIHNjYWxhciBtdWx0aXBsaWVyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSByYWRpdXMgLSBUaGUgcmVwdWxzaW9uIHJhZGl1c1xuICAgKiBAcGFyYW0ge251bWJlcn0gbGlmZSAtIFRoZSBsaWZlIG9mIHRoZSBwYXJ0aWNsZVxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBlYXNpbmcgLSBUaGUgYmVoYXZpb3VyJ3MgZGVjYXlpbmcgdHJlbmRcbiAgICogQHJldHVybiB2b2lkXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih0YXJnZXRQb3NpdGlvbiwgZm9yY2UsIHJhZGl1cywgbGlmZSwgZWFzaW5nLCBpc0VuYWJsZWQgPSB0cnVlKSB7XG4gICAgc3VwZXIodGFyZ2V0UG9zaXRpb24sIGZvcmNlLCByYWRpdXMsIGxpZmUsIGVhc2luZywgaXNFbmFibGVkKTtcblxuICAgIC8qKlxuICAgICAqIEBkZXNjIFJlcHVsc2lvbiBpcyBhdHRyYWN0aW9uIHdpdGggbmVnYXRpdmUgZm9yY2UuXG4gICAgICogQHR5cGUge251bWJlcn1cbiAgICAgKi9cbiAgICB0aGlzLmZvcmNlICo9IC0xO1xuXG4gICAgLyoqXG4gICAgICogQGRlc2MgVGhlIGNsYXNzIHR5cGUuXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0cyB0aGUgYmVoYXZpb3VyIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7VmVjdG9yM0R9IHRhcmdldFBvc2l0aW9uIC0gdGhlIHBvc2l0aW9uIHRoZSBwYXJ0aWNsZXMgd2lsbCBiZSBhdHRyYWN0ZWQgdG9cbiAgICogQHBhcmFtIHtudW1iZXJ9IGZvcmNlIC0gdGhlIGF0dHJhY3Rpb24gZm9yY2UgbXVsdGlwbGllclxuICAgKiBAcGFyYW0ge251bWJlcn0gcmFkaXVzIC0gdGhlIGF0dHJhY3Rpb24gcmFkaXVzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBsaWZlIC0gdGhlIGxpZmUgb2YgdGhlIHBhcnRpY2xlXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGVhc2luZyAtIFRoZSBiZWhhdmlvdXIncyBkZWNheWluZyB0cmVuZFxuICAgKiBAcmV0dXJuIHZvaWRcbiAgICovXG4gIHJlc2V0KHRhcmdldFBvc2l0aW9uLCBmb3JjZSwgcmFkaXVzLCBsaWZlLCBlYXNpbmcpIHtcbiAgICBzdXBlci5yZXNldCh0YXJnZXRQb3NpdGlvbiwgZm9yY2UsIHJhZGl1cywgbGlmZSwgZWFzaW5nKTtcbiAgICB0aGlzLmZvcmNlICo9IC0xO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBCb2R5IGluaXRpYWxpemVyIGZyb20gSlNPTi5cbiAgICpcbiAgICogQHBhcmFtIHtvYmplY3R9IGpzb24gLSBUaGUgSlNPTiB0byBjb25zdHJ1Y3QgdGhlIGluc3RhbmNlIGZyb20uXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLnggLSBUaGUgdGFyZ2V0IHBvc2l0aW9uIHggdmFsdWVcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGpzb24ueSAtIFRoZSB0YXJnZXQgcG9zaXRpb24geSB2YWx1ZVxuICAgKiBAcHJvcGVydHkge251bWJlcn0ganNvbi56IC0gVGhlIHRhcmdldCBwb3NpdGlvbiB6IHZhbHVlXG4gICAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBqc29uLmZvcmNlIC0gVGhlIGF0dHJhY3Rpb24gZm9yY2Ugc2NhbGFyIG11bHRpcGxpZXJcbiAgICogQHByb3BlcnR5IHtudW1iZXJ9IGpzb24ubGlmZSAtIFRoZSBsaWZlIG9mIHRoZSBwYXJ0aWNsZVxuICAgKiBAcHJvcGVydHkge3N0cmluZ30ganNvbi5lYXNpbmcgLSBUaGUgYmVoYXZpb3VyJ3MgZGVjYXlpbmcgdHJlbmRcbiAgICogQHJldHVybiB7Qm9keX1cbiAgICovXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uKSB7XG4gICAgY29uc3QgeyB4LCB5LCB6LCBmb3JjZSwgcmFkaXVzLCBsaWZlLCBlYXNpbmcsIGlzRW5hYmxlZCA9IHRydWUgfSA9IGpzb247XG5cbiAgICByZXR1cm4gbmV3IFJlcHVsc2lvbihcbiAgICAgIG5ldyBWZWN0b3IzRCh4LCB5LCB6KSxcbiAgICAgIGZvcmNlLFxuICAgICAgcmFkaXVzLFxuICAgICAgbGlmZSxcbiAgICAgIGdldEVhc2luZ0J5TmFtZShlYXNpbmcpLFxuICAgICAgaXNFbmFibGVkXG4gICAgKTtcbiAgfVxufVxuIl19