@onepercentio/one-ui 0.21.5 → 0.22.1

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.
@@ -5,10 +5,14 @@ process.env.NODE_ENV =
5
5
  : "production");
6
6
  const Module = require("module").Module;
7
7
  function resolveFromMainContext(module) {
8
- return Module._resolveFilename(module, require.main);
8
+ try {
9
+ return Module._resolveFilename(module, require.main);
10
+ } catch (e) {
11
+ return require.resolve(resolve("node_modules", module));
12
+ }
9
13
  }
10
14
  const { join, relative, resolve } = require("path");
11
- const HTMLPlugin = require.main.require("html-webpack-plugin");
15
+ const HTMLPlugin = require(resolveFromMainContext("html-webpack-plugin"));
12
16
  const {
13
17
  writeFileSync,
14
18
  readdirSync,
@@ -20,6 +24,7 @@ const {
20
24
  const lodash = require("lodash");
21
25
  const { findPathDeep } = require("deepdash")(lodash);
22
26
  const chalk = require("chalk");
27
+ const { createRequire } = require("module");
23
28
 
24
29
  function findAllStaticGeneration() {
25
30
  const glob = require("glob");
@@ -42,8 +47,17 @@ function parseResultsrToEntries(results) {
42
47
  let configGenerator;
43
48
  async function loadGenerator() {
44
49
  try {
45
- configGenerator = require(resolve("./webpack-email-config-factory"));
46
- return configGenerator(resolve("."), process.env.NODE_ENV);
50
+ configGenerator = await (async () => {
51
+ try {
52
+ return require(resolve("./webpack-email-config-factory.js"));
53
+ } catch (e) {
54
+ return await import(resolve("./webpack-email-config-factory.js"));
55
+ }
56
+ })();
57
+ return await (configGenerator.default || configGenerator)(
58
+ resolve("."),
59
+ process.env.NODE_ENV
60
+ );
47
61
  } catch (e) {
48
62
  switch (e.code) {
49
63
  case "MODULE_NOT_FOUND":
@@ -263,6 +277,7 @@ function createConfig(
263
277
  for (let [htmlFilePath, subfileName] of mainHtml)
264
278
  htmlEntries.push(HTMLPluginEntry(htmlFilePath, `/${subfileName}`));
265
279
 
280
+ console.log(htmlEntries[0])
266
281
  baseConfig.plugins.push(...htmlEntries);
267
282
  });
268
283
 
@@ -8,17 +8,11 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _useMergeRefs = _interopRequireDefault(require("../../../hooks/useMergeRefs"));
9
9
  var _LavaLamp = _interopRequireWildcard(require("../LavaLamp.data"));
10
10
  var _LavaLampModule = _interopRequireDefault(require("./LavaLamp.module.scss"));
11
+ var _Orbs = require("../../../models/Orbs");
11
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
13
  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); }
13
14
  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; }
14
15
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
15
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
16
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
17
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
18
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
19
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
20
- 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; } }
21
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
22
16
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
23
17
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
24
18
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
@@ -64,31 +58,30 @@ function LavaLamp(_ref) {
64
58
  // f means final
65
59
  opts = {
66
60
  orbCount: circlesConfig.length,
67
- baseVel: Math.max(d.width * 0.0010, 1),
68
- addedVel: Math.max(d.width * 0.0010, 1),
61
+ baseVel: Math.max(d.width * 0.001, 1),
62
+ addedVel: Math.max(d.width * 0.001, 1),
69
63
  alphaThreshold: 200
70
64
  },
71
65
  orbs = [];
72
- let animFrame;
73
- function anim() {
74
- animFrame = window.requestAnimationFrame(anim);
75
- ctx.clearRect(0, 0, w, h);
76
- fctx.fillStyle = "#0000";
77
- fctx.fillRect(0, 0, w, h);
78
- for (var i = 0; i < orbs.length; i++) orbs[i].step();
79
- var image = ctx.getImageData(0, 0, w, h),
80
- data = new Uint8Array(image.data.buffer);
81
- for (var i = 3; i < data.length; i += 4) data[i] /= data[i] < opts.alphaThreshold ? 6 : 1;
82
- fctx.putImageData(image, 0, 0);
83
- }
84
- let BaseOrb = /*#__PURE__*/function () {
85
- function BaseOrb() {
86
- _classCallCheck(this, BaseOrb);
66
+ let CanvasOrbDrawer = /*#__PURE__*/function () {
67
+ function CanvasOrbDrawer(gradientRadius) {
68
+ _classCallCheck(this, CanvasOrbDrawer);
69
+ if (gradientRadius) this.gradient = this.newGradient(baseColor, gradientRadius);
87
70
  }
88
- _createClass(BaseOrb, [{
71
+ _createClass(CanvasOrbDrawer, [{
72
+ key: "newGradient",
73
+ value: function newGradient(color, radius) {
74
+ const gradient = ctx.createRadialGradient(0, 0, 0, 0, 0, radius);
75
+ gradient.addColorStop(0, "".concat(color, "ff"));
76
+ gradient.addColorStop(0.8, "".concat(color, "cc"));
77
+ gradient.addColorStop(1, "".concat(color, "00"));
78
+ return gradient;
79
+ }
80
+ }, {
89
81
  key: "oldDrawCircle",
90
82
  value: function oldDrawCircle(x, y, radius) {
91
- ctx.fillStyle = this.gradient;
83
+ var _this$gradient;
84
+ ctx.fillStyle = (_this$gradient = this.gradient) !== null && _this$gradient !== void 0 ? _this$gradient : this.newGradient(baseColor, radius);
92
85
  ctx.translate(x | 0, y | 0);
93
86
  ctx.beginPath();
94
87
  ctx.arc(0, 0, radius, 0, Math.PI * 2);
@@ -96,91 +89,56 @@ function LavaLamp(_ref) {
96
89
  ctx.translate(-x | 0, -y | 0);
97
90
  }
98
91
  }, {
99
- key: "drawCircle",
100
- value: function drawCircle(x, y, radius) {
92
+ key: "drawOrb",
93
+ value: function drawOrb(x, y, radius) {
101
94
  this.oldDrawCircle(x, y, radius);
102
95
  }
103
96
  }]);
104
- return BaseOrb;
97
+ return CanvasOrbDrawer;
105
98
  }();
106
- let Orb = /*#__PURE__*/function (_BaseOrb) {
107
- _inherits(Orb, _BaseOrb);
108
- var _super = _createSuper(Orb);
109
- function Orb(radius) {
110
- var _this;
111
- _classCallCheck(this, Orb);
112
- _this = _super.call(this);
113
- _this.x = Math.random() * w | 0;
114
- _this.y = Math.random() * h | 0;
115
- _this.radius = radius;
116
- var color = baseColor;
117
- _this.gradient = ctx.createRadialGradient(0, 0, 0, 0, 0, _this.radius);
118
- _this.gradient.addColorStop(0, "".concat(color, "ff"));
119
- _this.gradient.addColorStop(0.8, "".concat(color, "cc"));
120
- _this.gradient.addColorStop(1, "".concat(color, "00"));
121
- var radiant = Math.random() * Math.PI * 2,
122
- vel = opts.baseVel + opts.addedVel * Math.random() | 0;
123
- vel *= 0.2;
124
- _this.vx = Math.cos(radiant) * vel;
125
- _this.vy = Math.sin(radiant) * vel;
126
- return _this;
127
- }
128
- _createClass(Orb, [{
129
- key: "step",
130
- value: function step() {
131
- this.x += this.vx;
132
- this.y += this.vy;
133
- var radius = this.radius / 2;
134
- if (this.x < -radius || this.x > w + radius) this.vx *= -1;
135
- if (this.y < -radius || this.y > h + radius) this.vy *= -1;
136
- this.drawCircle(this.x | 0, this.y | 0, this.radius);
99
+ let animFrame;
100
+ function anim() {
101
+ animFrame = window.requestAnimationFrame(anim);
102
+ ctx.clearRect(0, 0, w, h);
103
+ fctx.fillStyle = "#0000";
104
+ fctx.fillRect(0, 0, w, h);
105
+ for (var i = 0; i < orbs.length; i++) {
106
+ const thisOrb = orbs[i];
107
+ if (thisOrb instanceof _Orbs.Orb) {
108
+ thisOrb.step();
109
+ } else {
110
+ thisOrb.step(guideConfig.current.size, guideConfig.current.sizeIncrement, guideConfig.current.sizeTimestamp, guideConfig.current.posTimestamp, guideConfig.current, {
111
+ x: guideConfig.current.posIncrement[0],
112
+ y: guideConfig.current.posIncrement[1]
113
+ });
137
114
  }
138
- }]);
139
- return Orb;
140
- }(BaseOrb);
141
- let GuideOrb = /*#__PURE__*/function (_BaseOrb2) {
142
- _inherits(GuideOrb, _BaseOrb2);
143
- var _super2 = _createSuper(GuideOrb);
144
- function GuideOrb() {
145
- _classCallCheck(this, GuideOrb);
146
- return _super2.apply(this, arguments);
147
115
  }
148
- _createClass(GuideOrb, [{
149
- key: "step",
150
- value: function step() {
151
- const deltaTime = Date.now() - guideConfig.current.sizeTimestamp;
152
- const deltaTimePercent = deltaTime > 250 ? 1 : deltaTime * 100 / 250 / 100;
153
- const radius = guideConfig.current.size - (guideConfig.current.sizeIncrement - guideConfig.current.sizeIncrement * deltaTimePercent);
154
- this.lastRadius = radius;
155
- var color = baseColor;
156
- const gradient = ctx.createRadialGradient(0, 0, 0, 0, 0, radius);
157
- gradient.addColorStop(0, "".concat(color, "ff"));
158
- gradient.addColorStop(0.8, "".concat(color, "cc"));
159
- gradient.addColorStop(1, "".concat(color, "00"));
160
- this.gradient = gradient;
161
- const deltaTimePos = Date.now() - guideConfig.current.posTimestamp;
162
- const deltaTimePosPercent = deltaTimePos > _LavaLamp.transitionPositionMs ? 1 : deltaTimePos * 100 / _LavaLamp.transitionPositionMs / 100;
163
- const translateX = guideConfig.current.x - (guideConfig.current.posIncrement[0] - guideConfig.current.posIncrement[0] * deltaTimePosPercent);
164
- this.lastX = translateX;
165
- const translateY = guideConfig.current.y - (guideConfig.current.posIncrement[1] - guideConfig.current.posIncrement[1] * deltaTimePosPercent);
166
- this.lastY = translateY;
167
- this.drawCircle(translateX | 0, translateY | 0, radius);
168
- }
169
- }]);
170
- return GuideOrb;
171
- }(BaseOrb);
116
+ var image = ctx.getImageData(0, 0, w, h),
117
+ data = new Uint8Array(image.data.buffer);
118
+ for (var i = 3; i < data.length; i += 4) data[i] /= data[i] < opts.alphaThreshold ? 6 : 1;
119
+ fctx.putImageData(image, 0, 0);
120
+ }
121
+ function randomVelocity() {
122
+ return opts.baseVel + opts.addedVel * Math.random() | 0;
123
+ }
124
+ const orbBounds = {
125
+ width: w,
126
+ height: h
127
+ };
172
128
  for (let circleConfig of circlesConfig) {
173
129
  const radius = circleConfig.baseSize * 1.5;
174
130
  const randomRadius = radius + radius / 2 * Math.random() | 0;
175
- orbs.push(new Orb(randomRadius));
131
+ const drawerInstance = new CanvasOrbDrawer(randomRadius);
132
+ orbs.push(new _Orbs.Orb(drawerInstance, randomVelocity(), orbBounds, randomRadius));
176
133
  }
177
- const guideOrbInstance = new GuideOrb();
134
+ const guideOrbInstance = new _Orbs.GuideOrb(new CanvasOrbDrawer(), _LavaLamp.transitionPositionMs);
178
135
  let guideOrbAutoInstance;
179
136
  orbs.push(guideOrbInstance);
180
137
  canvasRef.current.parentElement.onmouseleave = function () {
181
138
  const indexOfGuide = orbs.indexOf(guideOrbInstance);
182
139
  if (indexOfGuide !== -1) {
183
- guideOrbAutoInstance = new Orb(guideOrbInstance.lastRadius);
140
+ const drawerInstance = new CanvasOrbDrawer(guideOrbInstance.lastRadius);
141
+ guideOrbAutoInstance = new _Orbs.Orb(drawerInstance, randomVelocity(), orbBounds, guideOrbInstance.lastRadius);
184
142
  guideOrbAutoInstance.radius = guideOrbInstance.lastRadius;
185
143
  guideOrbAutoInstance.x = guideOrbInstance.lastX;
186
144
  guideOrbAutoInstance.y = guideOrbInstance.lastY;
@@ -205,4 +163,4 @@ function LavaLamp(_ref) {
205
163
  ref: canvasRef
206
164
  }), /*#__PURE__*/_react.default.createElement("div", null, children));
207
165
  }
208
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlTWVyZ2VSZWZzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9MYXZhTGFtcCIsIl9MYXZhTGFtcE1vZHVsZSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwiX3R5cGVvZiIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJjb25zdHJ1Y3RvciIsIl9pbmhlcml0cyIsInN1YkNsYXNzIiwic3VwZXJDbGFzcyIsIlR5cGVFcnJvciIsImNyZWF0ZSIsInZhbHVlIiwid3JpdGFibGUiLCJjb25maWd1cmFibGUiLCJfc2V0UHJvdG90eXBlT2YiLCJvIiwicCIsInNldFByb3RvdHlwZU9mIiwiYmluZCIsIl9fcHJvdG9fXyIsIl9jcmVhdGVTdXBlciIsIkRlcml2ZWQiLCJoYXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIl9jcmVhdGVTdXBlckludGVybmFsIiwiU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YiLCJyZXN1bHQiLCJOZXdUYXJnZXQiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiYXJndW1lbnRzIiwiYXBwbHkiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybiIsInNlbGYiLCJfYXNzZXJ0VGhpc0luaXRpYWxpemVkIiwiUmVmZXJlbmNlRXJyb3IiLCJzaGFtIiwiUHJveHkiLCJCb29sZWFuIiwidmFsdWVPZiIsImUiLCJnZXRQcm90b3R5cGVPZiIsIl9jbGFzc0NhbGxDaGVjayIsImluc3RhbmNlIiwiQ29uc3RydWN0b3IiLCJfZGVmaW5lUHJvcGVydGllcyIsInRhcmdldCIsInByb3BzIiwiaSIsImxlbmd0aCIsImRlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwiX3RvUHJvcGVydHlLZXkiLCJfY3JlYXRlQ2xhc3MiLCJwcm90b1Byb3BzIiwic3RhdGljUHJvcHMiLCJhcmciLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwidG9QcmltaXRpdmUiLCJ1bmRlZmluZWQiLCJyZXMiLCJOdW1iZXIiLCJMYXZhTGFtcCIsIl9yZWYiLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsImd1aWRlQ29uZmlnIiwidXNlUmVmIiwic2l6ZSIsInNpemVUaW1lc3RhbXAiLCJEYXRlIiwibm93Iiwic2l6ZUluY3JlbWVudCIsIngiLCJ5IiwicG9zVGltZXN0YW1wIiwicG9zSW5jcmVtZW50IiwiX3VzZUxhdmFMYW1wU2V0dXAiLCJ1c2VMYXZhTGFtcFNldHVwIiwiY3VycmVudCIsIl9zaXplIiwicmVsYXRpdmVUbyIsImNpcmNsZXNDb25maWciLCJkIiwiX2NhbnZhc1JlZiIsImNhbnZhc1JlZiIsInVzZU1lcmdlUmVmcyIsInVzZUVmZmVjdCIsImZjIiwiYmFzZUNvbG9yIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImdldFByb3BlcnR5VmFsdWUiLCJjIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwidyIsIndpZHRoIiwiaCIsImhlaWdodCIsImN0eCIsImdldENvbnRleHQiLCJmY3R4Iiwib3B0cyIsIm9yYkNvdW50IiwiYmFzZVZlbCIsIk1hdGgiLCJtYXgiLCJhZGRlZFZlbCIsImFscGhhVGhyZXNob2xkIiwib3JicyIsImFuaW1GcmFtZSIsImFuaW0iLCJ3aW5kb3ciLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJjbGVhclJlY3QiLCJmaWxsU3R5bGUiLCJmaWxsUmVjdCIsInN0ZXAiLCJpbWFnZSIsImdldEltYWdlRGF0YSIsImRhdGEiLCJVaW50OEFycmF5IiwiYnVmZmVyIiwicHV0SW1hZ2VEYXRhIiwiQmFzZU9yYiIsIm9sZERyYXdDaXJjbGUiLCJyYWRpdXMiLCJncmFkaWVudCIsInRyYW5zbGF0ZSIsImJlZ2luUGF0aCIsImFyYyIsIlBJIiwiZmlsbCIsImRyYXdDaXJjbGUiLCJPcmIiLCJfQmFzZU9yYiIsIl9zdXBlciIsIl90aGlzIiwicmFuZG9tIiwiY29sb3IiLCJjcmVhdGVSYWRpYWxHcmFkaWVudCIsImFkZENvbG9yU3RvcCIsImNvbmNhdCIsInJhZGlhbnQiLCJ2ZWwiLCJ2eCIsImNvcyIsInZ5Iiwic2luIiwiR3VpZGVPcmIiLCJfQmFzZU9yYjIiLCJfc3VwZXIyIiwiZGVsdGFUaW1lIiwiZGVsdGFUaW1lUGVyY2VudCIsImxhc3RSYWRpdXMiLCJkZWx0YVRpbWVQb3MiLCJkZWx0YVRpbWVQb3NQZXJjZW50IiwidHJhbnNpdGlvblBvc2l0aW9uTXMiLCJ0cmFuc2xhdGVYIiwibGFzdFgiLCJ0cmFuc2xhdGVZIiwibGFzdFkiLCJjaXJjbGVDb25maWciLCJiYXNlU2l6ZSIsInJhbmRvbVJhZGl1cyIsInB1c2giLCJndWlkZU9yYkluc3RhbmNlIiwiZ3VpZGVPcmJBdXRvSW5zdGFuY2UiLCJwYXJlbnRFbGVtZW50Iiwib25tb3VzZWxlYXZlIiwiaW5kZXhPZkd1aWRlIiwiaW5kZXhPZiIsInNwbGljZSIsIm9ubW91c2VlbnRlciIsImNhbmNlbEFuaW1hdGlvbkZyYW1lIiwiU3R5bGVzIiwicm9vdCIsInJlZiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0xhdmFMYW1wL3YyL0xhdmFMYW1wLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUHJvcHNXaXRoQ2hpbGRyZW4sIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdXNlQnJlYWtwb2ludCBmcm9tIFwiLi4vLi4vLi4vaG9va3MvdWkvdXNlQnJlYWtwb2ludFwiO1xuaW1wb3J0IHVzZU1lcmdlUmVmcyBmcm9tIFwiLi4vLi4vLi4vaG9va3MvdXNlTWVyZ2VSZWZzXCI7XG5pbXBvcnQgdXNlTGF2YUxhbXBTZXR1cCwgeyB0cmFuc2l0aW9uUG9zaXRpb25NcyB9IGZyb20gXCIuLi9MYXZhTGFtcC5kYXRhXCI7XG5pbXBvcnQgU3R5bGVzIGZyb20gXCIuL0xhdmFMYW1wLm1vZHVsZS5zY3NzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIExhdmFMYW1wKHtcbiAgY2xhc3NOYW1lLFxuICBjaGlsZHJlbixcbn06IFByb3BzV2l0aENoaWxkcmVuPHsgY2xhc3NOYW1lOiBzdHJpbmcgfT4pIHtcbiAgY29uc3QgZ3VpZGVDb25maWcgPSB1c2VSZWY8e1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG4gICAgcG9zVGltZXN0YW1wOiBudW1iZXI7XG4gICAgcG9zSW5jcmVtZW50OiBbeDogbnVtYmVyLCB5OiBudW1iZXJdO1xuXG4gICAgc2l6ZTogbnVtYmVyO1xuICAgIHNpemVUaW1lc3RhbXA6IG51bWJlcjtcbiAgICBzaXplSW5jcmVtZW50OiBudW1iZXI7XG4gIH0+KHtcbiAgICBzaXplOiAwLFxuICAgIHNpemVUaW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgc2l6ZUluY3JlbWVudDogMCxcbiAgICB4OiAwLFxuICAgIHk6IDAsXG4gICAgcG9zVGltZXN0YW1wOiBEYXRlLm5vdygpLFxuICAgIHBvc0luY3JlbWVudDogWzAsIDBdLFxuICB9KTtcbiAgY29uc3QgeyByZWxhdGl2ZVRvLCBjaXJjbGVzQ29uZmlnLCBkIH0gPSB1c2VMYXZhTGFtcFNldHVwKFxuICAgICh4LCB5KSA9PiB7XG4gICAgICBndWlkZUNvbmZpZy5jdXJyZW50LnBvc0luY3JlbWVudCA9IFtcbiAgICAgICAgeCAtIGd1aWRlQ29uZmlnLmN1cnJlbnQueCxcbiAgICAgICAgeSAtIGd1aWRlQ29uZmlnLmN1cnJlbnQueSxcbiAgICAgIF07XG4gICAgICBndWlkZUNvbmZpZy5jdXJyZW50LnggPSB4O1xuICAgICAgZ3VpZGVDb25maWcuY3VycmVudC55ID0geTtcbiAgICAgIGd1aWRlQ29uZmlnLmN1cnJlbnQucG9zVGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICB9LFxuICAgIChfc2l6ZSkgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IF9zaXplICogMS4yO1xuICAgICAgZ3VpZGVDb25maWcuY3VycmVudC5zaXplSW5jcmVtZW50ID1cbiAgICAgICAgZ3VpZGVDb25maWcuY3VycmVudC5zaXplID09PSAwID8gMCA6IHNpemUgLSBndWlkZUNvbmZpZy5jdXJyZW50LnNpemU7XG4gICAgICBndWlkZUNvbmZpZy5jdXJyZW50LnNpemUgPSBzaXplO1xuICAgICAgZ3VpZGVDb25maWcuY3VycmVudC5zaXplVGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICB9XG4gICk7XG4gIGNvbnN0IF9jYW52YXNSZWYgPSB1c2VSZWY8SFRNTENhbnZhc0VsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBjYW52YXNSZWYgPSB1c2VNZXJnZVJlZnMoXG4gICAgX2NhbnZhc1JlZixcbiAgICByZWxhdGl2ZVRvIGFzIHVua25vd24gYXMgdHlwZW9mIF9jYW52YXNSZWZcbiAgKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWQpIHJldHVybjtcbiAgICBjb25zdCBmYyA9IGNhbnZhc1JlZi5jdXJyZW50ITtcblxuICAgIGNvbnN0IGJhc2VDb2xvciA9XG4gICAgICBnZXRDb21wdXRlZFN0eWxlKHJlbGF0aXZlVG8uY3VycmVudCEpLmdldFByb3BlcnR5VmFsdWUoXG4gICAgICAgIFwiLS1kaWdpdGFsLWJsdWVcIlxuICAgICAgKSB8fCBcIiMwMDAwMDBcIjtcblxuICAgIHZhciBjID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKSxcbiAgICAgIHcgPSAoYy53aWR0aCA9IGZjLndpZHRoID0gZC53aWR0aCksXG4gICAgICBoID0gKGMuaGVpZ2h0ID0gZmMuaGVpZ2h0ID0gZC5oZWlnaHQpLFxuICAgICAgY3R4ID0gYy5nZXRDb250ZXh0KFwiMmRcIikhLFxuICAgICAgZmN0eCA9IGZjLmdldENvbnRleHQoXCIyZFwiKSEsIC8vIGYgbWVhbnMgZmluYWxcbiAgICAgIG9wdHMgPSB7XG4gICAgICAgIG9yYkNvdW50OiBjaXJjbGVzQ29uZmlnLmxlbmd0aCxcbiAgICAgICAgYmFzZVZlbDogTWF0aC5tYXgoZC53aWR0aCAqIDAuMDAxMCwgMSksXG4gICAgICAgIGFkZGVkVmVsOiBNYXRoLm1heChkLndpZHRoICogMC4wMDEwLCAxKSxcblxuICAgICAgICBhbHBoYVRocmVzaG9sZDogMjAwLFxuICAgICAgfSxcbiAgICAgIG9yYnMgPSBbXSBhcyAoT3JiIHwgR3VpZGVPcmIpW107XG5cbiAgICBsZXQgYW5pbUZyYW1lOiBudW1iZXI7XG4gICAgZnVuY3Rpb24gYW5pbSgpIHtcbiAgICAgIGFuaW1GcmFtZSA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoYW5pbSk7XG5cbiAgICAgIGN0eC5jbGVhclJlY3QoMCwgMCwgdywgaCk7XG4gICAgICBmY3R4LmZpbGxTdHlsZSA9IFwiIzAwMDBcIjtcbiAgICAgIGZjdHguZmlsbFJlY3QoMCwgMCwgdywgaCk7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb3Jicy5sZW5ndGg7IGkrKykgb3Jic1tpXS5zdGVwKCk7XG5cbiAgICAgIHZhciBpbWFnZSA9IGN0eC5nZXRJbWFnZURhdGEoMCwgMCwgdywgaCksXG4gICAgICAgIGRhdGEgPSBuZXcgVWludDhBcnJheShpbWFnZS5kYXRhLmJ1ZmZlcik7XG5cbiAgICAgIGZvciAodmFyIGkgPSAzOyBpIDwgZGF0YS5sZW5ndGg7IGkgKz0gNClcbiAgICAgICAgZGF0YVtpXSAvPSBkYXRhW2ldIDwgb3B0cy5hbHBoYVRocmVzaG9sZCA/IDYgOiAxO1xuXG4gICAgICBmY3R4LnB1dEltYWdlRGF0YShpbWFnZSwgMCwgMCk7XG4gICAgfVxuXG4gICAgY2xhc3MgQmFzZU9yYiB7XG4gICAgICBwcm90ZWN0ZWQgZ3JhZGllbnQhOiBDYW52YXNHcmFkaWVudDtcblxuICAgICAgcHJpdmF0ZSBvbGREcmF3Q2lyY2xlKHg6IG51bWJlciwgeTogbnVtYmVyLCByYWRpdXM6IG51bWJlcikge1xuICAgICAgICBjdHguZmlsbFN0eWxlID0gdGhpcy5ncmFkaWVudDtcbiAgICAgICAgY3R4LnRyYW5zbGF0ZSh4IHwgMCwgeSB8IDApO1xuICAgICAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgICAgIGN0eC5hcmMoMCwgMCwgcmFkaXVzLCAwLCBNYXRoLlBJICogMik7XG4gICAgICAgIGN0eC5maWxsKCk7XG4gICAgICAgIGN0eC50cmFuc2xhdGUoLXggfCAwLCAteSB8IDApO1xuICAgICAgfVxuICAgICAgZHJhd0NpcmNsZSh4OiBudW1iZXIsIHk6IG51bWJlciwgcmFkaXVzOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5vbGREcmF3Q2lyY2xlKHgsIHksIHJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2xhc3MgT3JiIGV4dGVuZHMgQmFzZU9yYiB7XG4gICAgICB4OiBudW1iZXI7XG4gICAgICB5OiBudW1iZXI7XG4gICAgICB2eDogbnVtYmVyO1xuICAgICAgdnk6IG51bWJlcjtcbiAgICAgIHJhZGl1czogbnVtYmVyO1xuXG4gICAgICBjb25zdHJ1Y3RvcihyYWRpdXM6IG51bWJlcikge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLnggPSAoTWF0aC5yYW5kb20oKSAqIHcpIHwgMDtcbiAgICAgICAgdGhpcy55ID0gKE1hdGgucmFuZG9tKCkgKiBoKSB8IDA7XG4gICAgICAgIHRoaXMucmFkaXVzID0gcmFkaXVzO1xuXG4gICAgICAgIHZhciBjb2xvciA9IGJhc2VDb2xvcjtcbiAgICAgICAgdGhpcy5ncmFkaWVudCA9IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAwLCAwLCAwLCB0aGlzLnJhZGl1cyk7XG4gICAgICAgIHRoaXMuZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsIGAke2NvbG9yfWZmYCk7XG4gICAgICAgIHRoaXMuZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAuOCwgYCR7Y29sb3J9Y2NgKTtcbiAgICAgICAgdGhpcy5ncmFkaWVudC5hZGRDb2xvclN0b3AoMSwgYCR7Y29sb3J9MDBgKTtcblxuICAgICAgICB2YXIgcmFkaWFudCA9IE1hdGgucmFuZG9tKCkgKiBNYXRoLlBJICogMixcbiAgICAgICAgICB2ZWwgPSAob3B0cy5iYXNlVmVsICsgb3B0cy5hZGRlZFZlbCAqIE1hdGgucmFuZG9tKCkpIHwgMDtcblxuICAgICAgICB2ZWwgKj0gMC4yO1xuXG4gICAgICAgIHRoaXMudnggPSBNYXRoLmNvcyhyYWRpYW50KSAqIHZlbDtcbiAgICAgICAgdGhpcy52eSA9IE1hdGguc2luKHJhZGlhbnQpICogdmVsO1xuICAgICAgfVxuICAgICAgc3RlcCgpIHtcbiAgICAgICAgdGhpcy54ICs9IHRoaXMudng7XG4gICAgICAgIHRoaXMueSArPSB0aGlzLnZ5O1xuXG4gICAgICAgIHZhciByYWRpdXMgPSB0aGlzLnJhZGl1cyAvIDI7XG5cbiAgICAgICAgaWYgKHRoaXMueCA8IC1yYWRpdXMgfHwgdGhpcy54ID4gdyArIHJhZGl1cykgdGhpcy52eCAqPSAtMTtcblxuICAgICAgICBpZiAodGhpcy55IDwgLXJhZGl1cyB8fCB0aGlzLnkgPiBoICsgcmFkaXVzKSB0aGlzLnZ5ICo9IC0xO1xuXG4gICAgICAgIHRoaXMuZHJhd0NpcmNsZSh0aGlzLnggfCAwLCB0aGlzLnkgfCAwLCB0aGlzLnJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2xhc3MgR3VpZGVPcmIgZXh0ZW5kcyBCYXNlT3JiIHtcbiAgICAgIGxhc3RSYWRpdXMhOiBudW1iZXI7XG4gICAgICBsYXN0WCE6IG51bWJlcjtcbiAgICAgIGxhc3RZITogbnVtYmVyO1xuICAgICAgc3RlcCgpIHtcbiAgICAgICAgY29uc3QgZGVsdGFUaW1lID0gRGF0ZS5ub3coKSAtIGd1aWRlQ29uZmlnLmN1cnJlbnQuc2l6ZVRpbWVzdGFtcDtcbiAgICAgICAgY29uc3QgZGVsdGFUaW1lUGVyY2VudCA9XG4gICAgICAgICAgZGVsdGFUaW1lID4gMjUwID8gMSA6IChkZWx0YVRpbWUgKiAxMDApIC8gMjUwIC8gMTAwO1xuXG4gICAgICAgIGNvbnN0IHJhZGl1cyA9XG4gICAgICAgICAgZ3VpZGVDb25maWcuY3VycmVudC5zaXplIC1cbiAgICAgICAgICAoZ3VpZGVDb25maWcuY3VycmVudC5zaXplSW5jcmVtZW50IC1cbiAgICAgICAgICAgIGd1aWRlQ29uZmlnLmN1cnJlbnQuc2l6ZUluY3JlbWVudCAqIGRlbHRhVGltZVBlcmNlbnQpO1xuXG4gICAgICAgIHRoaXMubGFzdFJhZGl1cyA9IHJhZGl1cztcblxuICAgICAgICB2YXIgY29sb3IgPSBiYXNlQ29sb3I7XG5cbiAgICAgICAgY29uc3QgZ3JhZGllbnQgPSBjdHguY3JlYXRlUmFkaWFsR3JhZGllbnQoMCwgMCwgMCwgMCwgMCwgcmFkaXVzKTtcbiAgICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAsIGAke2NvbG9yfWZmYCk7XG4gICAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgwLjgsIGAke2NvbG9yfWNjYCk7XG4gICAgICAgIGdyYWRpZW50LmFkZENvbG9yU3RvcCgxLCBgJHtjb2xvcn0wMGApO1xuICAgICAgICB0aGlzLmdyYWRpZW50ID0gZ3JhZGllbnQ7XG5cbiAgICAgICAgY29uc3QgZGVsdGFUaW1lUG9zID0gRGF0ZS5ub3coKSAtIGd1aWRlQ29uZmlnLmN1cnJlbnQucG9zVGltZXN0YW1wO1xuICAgICAgICBjb25zdCBkZWx0YVRpbWVQb3NQZXJjZW50ID1cbiAgICAgICAgICBkZWx0YVRpbWVQb3MgPiB0cmFuc2l0aW9uUG9zaXRpb25Nc1xuICAgICAgICAgICAgPyAxXG4gICAgICAgICAgICA6IChkZWx0YVRpbWVQb3MgKiAxMDApIC8gdHJhbnNpdGlvblBvc2l0aW9uTXMgLyAxMDA7XG5cbiAgICAgICAgY29uc3QgdHJhbnNsYXRlWCA9XG4gICAgICAgICAgZ3VpZGVDb25maWcuY3VycmVudC54IC1cbiAgICAgICAgICAoZ3VpZGVDb25maWcuY3VycmVudC5wb3NJbmNyZW1lbnRbMF0gLVxuICAgICAgICAgICAgZ3VpZGVDb25maWcuY3VycmVudC5wb3NJbmNyZW1lbnRbMF0gKiBkZWx0YVRpbWVQb3NQZXJjZW50KTtcbiAgICAgICAgdGhpcy5sYXN0WCA9IHRyYW5zbGF0ZVg7XG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZVkgPVxuICAgICAgICAgIGd1aWRlQ29uZmlnLmN1cnJlbnQueSAtXG4gICAgICAgICAgKGd1aWRlQ29uZmlnLmN1cnJlbnQucG9zSW5jcmVtZW50WzFdIC1cbiAgICAgICAgICAgIGd1aWRlQ29uZmlnLmN1cnJlbnQucG9zSW5jcmVtZW50WzFdICogZGVsdGFUaW1lUG9zUGVyY2VudCk7XG4gICAgICAgIHRoaXMubGFzdFkgPSB0cmFuc2xhdGVZO1xuXG4gICAgICAgIHRoaXMuZHJhd0NpcmNsZSh0cmFuc2xhdGVYIHwgMCwgdHJhbnNsYXRlWSB8IDAsIHJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yIChsZXQgY2lyY2xlQ29uZmlnIG9mIGNpcmNsZXNDb25maWcpIHtcbiAgICAgIGNvbnN0IHJhZGl1cyA9IGNpcmNsZUNvbmZpZy5iYXNlU2l6ZSAqIDEuNTtcbiAgICAgIGNvbnN0IHJhbmRvbVJhZGl1cyA9IChyYWRpdXMgKyAocmFkaXVzIC8gMikgKiBNYXRoLnJhbmRvbSgpKSB8IDA7XG4gICAgICBvcmJzLnB1c2gobmV3IE9yYihyYW5kb21SYWRpdXMpKTtcbiAgICB9XG4gICAgY29uc3QgZ3VpZGVPcmJJbnN0YW5jZSA9IG5ldyBHdWlkZU9yYigpO1xuICAgIGxldCBndWlkZU9yYkF1dG9JbnN0YW5jZTogT3JiO1xuICAgIG9yYnMucHVzaChndWlkZU9yYkluc3RhbmNlKTtcblxuICAgIGNhbnZhc1JlZi5jdXJyZW50IS5wYXJlbnRFbGVtZW50IS5vbm1vdXNlbGVhdmUgPSAoKSA9PiB7XG4gICAgICBjb25zdCBpbmRleE9mR3VpZGUgPSBvcmJzLmluZGV4T2YoZ3VpZGVPcmJJbnN0YW5jZSk7XG4gICAgICBpZiAoaW5kZXhPZkd1aWRlICE9PSAtMSkge1xuICAgICAgICBndWlkZU9yYkF1dG9JbnN0YW5jZSA9IG5ldyBPcmIoZ3VpZGVPcmJJbnN0YW5jZS5sYXN0UmFkaXVzKTtcbiAgICAgICAgZ3VpZGVPcmJBdXRvSW5zdGFuY2UucmFkaXVzID0gZ3VpZGVPcmJJbnN0YW5jZS5sYXN0UmFkaXVzO1xuICAgICAgICBndWlkZU9yYkF1dG9JbnN0YW5jZS54ID0gZ3VpZGVPcmJJbnN0YW5jZS5sYXN0WDtcbiAgICAgICAgZ3VpZGVPcmJBdXRvSW5zdGFuY2UueSA9IGd1aWRlT3JiSW5zdGFuY2UubGFzdFk7XG4gICAgICAgIG9yYnMuc3BsaWNlKGluZGV4T2ZHdWlkZSwgMSk7XG4gICAgICAgIG9yYnMucHVzaChndWlkZU9yYkF1dG9JbnN0YW5jZSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBjYW52YXNSZWYuY3VycmVudCEucGFyZW50RWxlbWVudCEub25tb3VzZWVudGVyID0gKCkgPT4ge1xuICAgICAgaWYgKG9yYnMuaW5kZXhPZihndWlkZU9yYkluc3RhbmNlKSA9PT0gLTEpIHtcbiAgICAgICAgb3Jicy5wdXNoKGd1aWRlT3JiSW5zdGFuY2UpO1xuICAgICAgICBvcmJzLnNwbGljZShvcmJzLmluZGV4T2YoZ3VpZGVPcmJBdXRvSW5zdGFuY2UpLCAxKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgYW5pbSgpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShhbmltRnJhbWUpO1xuICAgIH07XG4gIH0sIFtjaXJjbGVzQ29uZmlnXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YCR7Y2xhc3NOYW1lfSAke1N0eWxlcy5yb290fWB9PlxuICAgICAgPGNhbnZhcyByZWY9e2NhbnZhc1JlZn0gLz5cbiAgICAgIDxkaXY+e2NoaWxkcmVufTwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxhQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFKLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxlQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFBNEMsU0FBQUUsdUJBQUFHLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFBQSxTQUFBRyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVYsd0JBQUFNLEdBQUEsRUFBQUksV0FBQSxTQUFBQSxXQUFBLElBQUFKLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBUSxPQUFBLENBQUFSLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFFLE9BQUEsRUFBQUYsR0FBQSxVQUFBUyxLQUFBLEdBQUFOLHdCQUFBLENBQUFDLFdBQUEsT0FBQUssS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQVYsR0FBQSxZQUFBUyxLQUFBLENBQUFFLEdBQUEsQ0FBQVgsR0FBQSxTQUFBWSxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQWpCLEdBQUEsUUFBQWlCLEdBQUEsa0JBQUFILE1BQUEsQ0FB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
166
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlTWVyZ2VSZWZzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9MYXZhTGFtcCIsIl9MYXZhTGFtcE1vZHVsZSIsIl9PcmJzIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJfdHlwZW9mIiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJTeW1ib2wiLCJpdGVyYXRvciIsImNvbnN0cnVjdG9yIiwiX2NsYXNzQ2FsbENoZWNrIiwiaW5zdGFuY2UiLCJDb25zdHJ1Y3RvciIsIlR5cGVFcnJvciIsIl9kZWZpbmVQcm9wZXJ0aWVzIiwidGFyZ2V0IiwicHJvcHMiLCJpIiwibGVuZ3RoIiwiZGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl90b1Byb3BlcnR5S2V5IiwiX2NyZWF0ZUNsYXNzIiwicHJvdG9Qcm9wcyIsInN0YXRpY1Byb3BzIiwiYXJnIiwiX3RvUHJpbWl0aXZlIiwiU3RyaW5nIiwiaW5wdXQiLCJoaW50IiwicHJpbSIsInRvUHJpbWl0aXZlIiwidW5kZWZpbmVkIiwicmVzIiwiTnVtYmVyIiwiTGF2YUxhbXAiLCJfcmVmIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJndWlkZUNvbmZpZyIsInVzZVJlZiIsInNpemUiLCJzaXplVGltZXN0YW1wIiwiRGF0ZSIsIm5vdyIsInNpemVJbmNyZW1lbnQiLCJ4IiwieSIsInBvc1RpbWVzdGFtcCIsInBvc0luY3JlbWVudCIsIl91c2VMYXZhTGFtcFNldHVwIiwidXNlTGF2YUxhbXBTZXR1cCIsImN1cnJlbnQiLCJfc2l6ZSIsInJlbGF0aXZlVG8iLCJjaXJjbGVzQ29uZmlnIiwiZCIsIl9jYW52YXNSZWYiLCJjYW52YXNSZWYiLCJ1c2VNZXJnZVJlZnMiLCJ1c2VFZmZlY3QiLCJmYyIsImJhc2VDb2xvciIsImdldENvbXB1dGVkU3R5bGUiLCJnZXRQcm9wZXJ0eVZhbHVlIiwiYyIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsInciLCJ3aWR0aCIsImgiLCJoZWlnaHQiLCJjdHgiLCJnZXRDb250ZXh0IiwiZmN0eCIsIm9wdHMiLCJvcmJDb3VudCIsImJhc2VWZWwiLCJNYXRoIiwibWF4IiwiYWRkZWRWZWwiLCJhbHBoYVRocmVzaG9sZCIsIm9yYnMiLCJDYW52YXNPcmJEcmF3ZXIiLCJncmFkaWVudFJhZGl1cyIsImdyYWRpZW50IiwibmV3R3JhZGllbnQiLCJ2YWx1ZSIsImNvbG9yIiwicmFkaXVzIiwiY3JlYXRlUmFkaWFsR3JhZGllbnQiLCJhZGRDb2xvclN0b3AiLCJjb25jYXQiLCJvbGREcmF3Q2lyY2xlIiwiX3RoaXMkZ3JhZGllbnQiLCJmaWxsU3R5bGUiLCJ0cmFuc2xhdGUiLCJiZWdpblBhdGgiLCJhcmMiLCJQSSIsImZpbGwiLCJkcmF3T3JiIiwiYW5pbUZyYW1lIiwiYW5pbSIsIndpbmRvdyIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsImNsZWFyUmVjdCIsImZpbGxSZWN0IiwidGhpc09yYiIsIk9yYiIsInN0ZXAiLCJpbWFnZSIsImdldEltYWdlRGF0YSIsImRhdGEiLCJVaW50OEFycmF5IiwiYnVmZmVyIiwicHV0SW1hZ2VEYXRhIiwicmFuZG9tVmVsb2NpdHkiLCJyYW5kb20iLCJvcmJCb3VuZHMiLCJjaXJjbGVDb25maWciLCJiYXNlU2l6ZSIsInJhbmRvbVJhZGl1cyIsImRyYXdlckluc3RhbmNlIiwicHVzaCIsImd1aWRlT3JiSW5zdGFuY2UiLCJHdWlkZU9yYiIsInRyYW5zaXRpb25Qb3NpdGlvbk1zIiwiZ3VpZGVPcmJBdXRvSW5zdGFuY2UiLCJwYXJlbnRFbGVtZW50Iiwib25tb3VzZWxlYXZlIiwiaW5kZXhPZkd1aWRlIiwiaW5kZXhPZiIsImxhc3RSYWRpdXMiLCJsYXN0WCIsImxhc3RZIiwic3BsaWNlIiwib25tb3VzZWVudGVyIiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiLCJTdHlsZXMiLCJyb290IiwicmVmIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvTGF2YUxhbXAvdjIvTGF2YUxhbXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB1c2VNZXJnZVJlZnMgZnJvbSBcIi4uLy4uLy4uL2hvb2tzL3VzZU1lcmdlUmVmc1wiO1xuaW1wb3J0IHVzZUxhdmFMYW1wU2V0dXAsIHsgdHJhbnNpdGlvblBvc2l0aW9uTXMgfSBmcm9tIFwiLi4vTGF2YUxhbXAuZGF0YVwiO1xuaW1wb3J0IFN0eWxlcyBmcm9tIFwiLi9MYXZhTGFtcC5tb2R1bGUuc2Nzc1wiO1xuaW1wb3J0IHsgR3VpZGVPcmIsIE9yYiwgT3JiRHJhd2VyIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9PcmJzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIExhdmFMYW1wKHtcbiAgY2xhc3NOYW1lLFxuICBjaGlsZHJlbixcbn06IFByb3BzV2l0aENoaWxkcmVuPHsgY2xhc3NOYW1lOiBzdHJpbmcgfT4pIHtcbiAgY29uc3QgZ3VpZGVDb25maWcgPSB1c2VSZWY8e1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG4gICAgcG9zVGltZXN0YW1wOiBudW1iZXI7XG4gICAgcG9zSW5jcmVtZW50OiBbeDogbnVtYmVyLCB5OiBudW1iZXJdO1xuXG4gICAgc2l6ZTogbnVtYmVyO1xuICAgIHNpemVUaW1lc3RhbXA6IG51bWJlcjtcbiAgICBzaXplSW5jcmVtZW50OiBudW1iZXI7XG4gIH0+KHtcbiAgICBzaXplOiAwLFxuICAgIHNpemVUaW1lc3RhbXA6IERhdGUubm93KCksXG4gICAgc2l6ZUluY3JlbWVudDogMCxcbiAgICB4OiAwLFxuICAgIHk6IDAsXG4gICAgcG9zVGltZXN0YW1wOiBEYXRlLm5vdygpLFxuICAgIHBvc0luY3JlbWVudDogWzAsIDBdLFxuICB9KTtcbiAgY29uc3QgeyByZWxhdGl2ZVRvLCBjaXJjbGVzQ29uZmlnLCBkIH0gPSB1c2VMYXZhTGFtcFNldHVwKFxuICAgICh4LCB5KSA9PiB7XG4gICAgICBndWlkZUNvbmZpZy5jdXJyZW50LnBvc0luY3JlbWVudCA9IFtcbiAgICAgICAgeCAtIGd1aWRlQ29uZmlnLmN1cnJlbnQueCxcbiAgICAgICAgeSAtIGd1aWRlQ29uZmlnLmN1cnJlbnQueSxcbiAgICAgIF07XG4gICAgICBndWlkZUNvbmZpZy5jdXJyZW50LnggPSB4O1xuICAgICAgZ3VpZGVDb25maWcuY3VycmVudC55ID0geTtcbiAgICAgIGd1aWRlQ29uZmlnLmN1cnJlbnQucG9zVGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICB9LFxuICAgIChfc2l6ZSkgPT4ge1xuICAgICAgY29uc3Qgc2l6ZSA9IF9zaXplICogMS4yO1xuICAgICAgZ3VpZGVDb25maWcuY3VycmVudC5zaXplSW5jcmVtZW50ID1cbiAgICAgICAgZ3VpZGVDb25maWcuY3VycmVudC5zaXplID09PSAwID8gMCA6IHNpemUgLSBndWlkZUNvbmZpZy5jdXJyZW50LnNpemU7XG4gICAgICBndWlkZUNvbmZpZy5jdXJyZW50LnNpemUgPSBzaXplO1xuICAgICAgZ3VpZGVDb25maWcuY3VycmVudC5zaXplVGltZXN0YW1wID0gRGF0ZS5ub3coKTtcbiAgICB9XG4gICk7XG4gIGNvbnN0IF9jYW52YXNSZWYgPSB1c2VSZWY8SFRNTENhbnZhc0VsZW1lbnQ+KG51bGwpO1xuICBjb25zdCBjYW52YXNSZWYgPSB1c2VNZXJnZVJlZnMoXG4gICAgX2NhbnZhc1JlZixcbiAgICByZWxhdGl2ZVRvIGFzIHVua25vd24gYXMgdHlwZW9mIF9jYW52YXNSZWZcbiAgKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWQpIHJldHVybjtcbiAgICBjb25zdCBmYyA9IGNhbnZhc1JlZi5jdXJyZW50ITtcblxuICAgIGNvbnN0IGJhc2VDb2xvciA9XG4gICAgICBnZXRDb21wdXRlZFN0eWxlKHJlbGF0aXZlVG8uY3VycmVudCEpLmdldFByb3BlcnR5VmFsdWUoXG4gICAgICAgIFwiLS1kaWdpdGFsLWJsdWVcIlxuICAgICAgKSB8fCBcIiMwMDAwMDBcIjtcblxuICAgIHZhciBjID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKSxcbiAgICAgIHcgPSAoYy53aWR0aCA9IGZjLndpZHRoID0gZC53aWR0aCksXG4gICAgICBoID0gKGMuaGVpZ2h0ID0gZmMuaGVpZ2h0ID0gZC5oZWlnaHQpLFxuICAgICAgY3R4ID0gYy5nZXRDb250ZXh0KFwiMmRcIikhLFxuICAgICAgZmN0eCA9IGZjLmdldENvbnRleHQoXCIyZFwiKSEsIC8vIGYgbWVhbnMgZmluYWxcbiAgICAgIG9wdHMgPSB7XG4gICAgICAgIG9yYkNvdW50OiBjaXJjbGVzQ29uZmlnLmxlbmd0aCxcbiAgICAgICAgYmFzZVZlbDogTWF0aC5tYXgoZC53aWR0aCAqIDAuMDAxLCAxKSxcbiAgICAgICAgYWRkZWRWZWw6IE1hdGgubWF4KGQud2lkdGggKiAwLjAwMSwgMSksXG5cbiAgICAgICAgYWxwaGFUaHJlc2hvbGQ6IDIwMCxcbiAgICAgIH0sXG4gICAgICBvcmJzID0gW10gYXMgKE9yYiB8IEd1aWRlT3JiKVtdO1xuICAgIGNsYXNzIENhbnZhc09yYkRyYXdlciBpbXBsZW1lbnRzIE9yYkRyYXdlciB7XG4gICAgICBwcm90ZWN0ZWQgZ3JhZGllbnQ/OiBDYW52YXNHcmFkaWVudDtcblxuICAgICAgcHJpdmF0ZSBuZXdHcmFkaWVudChjb2xvcjogc3RyaW5nLCByYWRpdXM6IG51bWJlcikge1xuICAgICAgICBjb25zdCBncmFkaWVudCA9IGN0eC5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLCAwLCAwLCAwLCAwLCByYWRpdXMpO1xuICAgICAgICBncmFkaWVudC5hZGRDb2xvclN0b3AoMCwgYCR7Y29sb3J9ZmZgKTtcbiAgICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDAuOCwgYCR7Y29sb3J9Y2NgKTtcbiAgICAgICAgZ3JhZGllbnQuYWRkQ29sb3JTdG9wKDEsIGAke2NvbG9yfTAwYCk7XG5cbiAgICAgICAgcmV0dXJuIGdyYWRpZW50O1xuICAgICAgfVxuXG4gICAgICBwcml2YXRlIG9sZERyYXdDaXJjbGUoeDogbnVtYmVyLCB5OiBudW1iZXIsIHJhZGl1czogbnVtYmVyKSB7XG4gICAgICAgIGN0eC5maWxsU3R5bGUgPSB0aGlzLmdyYWRpZW50ID8/IHRoaXMubmV3R3JhZGllbnQoYmFzZUNvbG9yLCByYWRpdXMpO1xuICAgICAgICBjdHgudHJhbnNsYXRlKHggfCAwLCB5IHwgMCk7XG4gICAgICAgIGN0eC5iZWdpblBhdGgoKTtcbiAgICAgICAgY3R4LmFyYygwLCAwLCByYWRpdXMsIDAsIE1hdGguUEkgKiAyKTtcbiAgICAgICAgY3R4LmZpbGwoKTtcbiAgICAgICAgY3R4LnRyYW5zbGF0ZSgteCB8IDAsIC15IHwgMCk7XG4gICAgICB9XG4gICAgICBkcmF3T3JiKHg6IG51bWJlciwgeTogbnVtYmVyLCByYWRpdXM6IG51bWJlcikge1xuICAgICAgICB0aGlzLm9sZERyYXdDaXJjbGUoeCwgeSwgcmFkaXVzKTtcbiAgICAgIH1cblxuICAgICAgY29uc3RydWN0b3IoZ3JhZGllbnRSYWRpdXM/OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKGdyYWRpZW50UmFkaXVzKVxuICAgICAgICAgIHRoaXMuZ3JhZGllbnQgPSB0aGlzLm5ld0dyYWRpZW50KGJhc2VDb2xvciwgZ3JhZGllbnRSYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBhbmltRnJhbWU6IG51bWJlcjtcbiAgICBmdW5jdGlvbiBhbmltKCkge1xuICAgICAgYW5pbUZyYW1lID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShhbmltKTtcblxuICAgICAgY3R4LmNsZWFyUmVjdCgwLCAwLCB3LCBoKTtcbiAgICAgIGZjdHguZmlsbFN0eWxlID0gXCIjMDAwMFwiO1xuICAgICAgZmN0eC5maWxsUmVjdCgwLCAwLCB3LCBoKTtcblxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvcmJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHRoaXNPcmIgPSBvcmJzW2ldO1xuICAgICAgICBpZiAodGhpc09yYiBpbnN0YW5jZW9mIE9yYikge1xuICAgICAgICAgIHRoaXNPcmIuc3RlcCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXNPcmIuc3RlcChcbiAgICAgICAgICAgIGd1aWRlQ29uZmlnLmN1cnJlbnQhLnNpemUsXG4gICAgICAgICAgICBndWlkZUNvbmZpZy5jdXJyZW50IS5zaXplSW5jcmVtZW50LFxuICAgICAgICAgICAgZ3VpZGVDb25maWcuY3VycmVudCEuc2l6ZVRpbWVzdGFtcCxcbiAgICAgICAgICAgIGd1aWRlQ29uZmlnLmN1cnJlbnQucG9zVGltZXN0YW1wLFxuICAgICAgICAgICAgZ3VpZGVDb25maWcuY3VycmVudCEsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHg6IGd1aWRlQ29uZmlnLmN1cnJlbnQhLnBvc0luY3JlbWVudFswXSxcbiAgICAgICAgICAgICAgeTogZ3VpZGVDb25maWcuY3VycmVudCEucG9zSW5jcmVtZW50WzFdLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIGltYWdlID0gY3R4LmdldEltYWdlRGF0YSgwLCAwLCB3LCBoKSxcbiAgICAgICAgZGF0YSA9IG5ldyBVaW50OEFycmF5KGltYWdlLmRhdGEuYnVmZmVyKTtcblxuICAgICAgZm9yICh2YXIgaSA9IDM7IGkgPCBkYXRhLmxlbmd0aDsgaSArPSA0KVxuICAgICAgICBkYXRhW2ldIC89IGRhdGFbaV0gPCBvcHRzLmFscGhhVGhyZXNob2xkID8gNiA6IDE7XG5cbiAgICAgIGZjdHgucHV0SW1hZ2VEYXRhKGltYWdlLCAwLCAwKTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByYW5kb21WZWxvY2l0eSgpIHtcbiAgICAgIHJldHVybiAob3B0cy5iYXNlVmVsICsgb3B0cy5hZGRlZFZlbCAqIE1hdGgucmFuZG9tKCkpIHwgMDtcbiAgICB9XG4gICAgY29uc3Qgb3JiQm91bmRzID0geyB3aWR0aDogdywgaGVpZ2h0OiBoIH07XG5cbiAgICBmb3IgKGxldCBjaXJjbGVDb25maWcgb2YgY2lyY2xlc0NvbmZpZykge1xuICAgICAgY29uc3QgcmFkaXVzID0gY2lyY2xlQ29uZmlnLmJhc2VTaXplICogMS41O1xuICAgICAgY29uc3QgcmFuZG9tUmFkaXVzID0gKHJhZGl1cyArIChyYWRpdXMgLyAyKSAqIE1hdGgucmFuZG9tKCkpIHwgMDtcbiAgICAgIGNvbnN0IGRyYXdlckluc3RhbmNlID0gbmV3IENhbnZhc09yYkRyYXdlcihyYW5kb21SYWRpdXMpO1xuICAgICAgb3Jicy5wdXNoKFxuICAgICAgICBuZXcgT3JiKGRyYXdlckluc3RhbmNlLCByYW5kb21WZWxvY2l0eSgpLCBvcmJCb3VuZHMsIHJhbmRvbVJhZGl1cylcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGd1aWRlT3JiSW5zdGFuY2UgPSBuZXcgR3VpZGVPcmIoXG4gICAgICBuZXcgQ2FudmFzT3JiRHJhd2VyKCksXG4gICAgICB0cmFuc2l0aW9uUG9zaXRpb25Nc1xuICAgICk7XG4gICAgbGV0IGd1aWRlT3JiQXV0b0luc3RhbmNlOiBPcmI7XG4gICAgb3Jicy5wdXNoKGd1aWRlT3JiSW5zdGFuY2UpO1xuXG4gICAgY2FudmFzUmVmLmN1cnJlbnQhLnBhcmVudEVsZW1lbnQhLm9ubW91c2VsZWF2ZSA9ICgpID0+IHtcbiAgICAgIGNvbnN0IGluZGV4T2ZHdWlkZSA9IG9yYnMuaW5kZXhPZihndWlkZU9yYkluc3RhbmNlKTtcbiAgICAgIGlmIChpbmRleE9mR3VpZGUgIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IGRyYXdlckluc3RhbmNlID0gbmV3IENhbnZhc09yYkRyYXdlcihndWlkZU9yYkluc3RhbmNlLmxhc3RSYWRpdXMpO1xuICAgICAgICBndWlkZU9yYkF1dG9JbnN0YW5jZSA9IG5ldyBPcmIoXG4gICAgICAgICAgZHJhd2VySW5zdGFuY2UsXG4gICAgICAgICAgcmFuZG9tVmVsb2NpdHkoKSxcbiAgICAgICAgICBvcmJCb3VuZHMsXG4gICAgICAgICAgZ3VpZGVPcmJJbnN0YW5jZS5sYXN0UmFkaXVzXG4gICAgICAgICk7XG4gICAgICAgIGd1aWRlT3JiQXV0b0luc3RhbmNlLnJhZGl1cyA9IGd1aWRlT3JiSW5zdGFuY2UubGFzdFJhZGl1cztcbiAgICAgICAgZ3VpZGVPcmJBdXRvSW5zdGFuY2UueCA9IGd1aWRlT3JiSW5zdGFuY2UubGFzdFg7XG4gICAgICAgIGd1aWRlT3JiQXV0b0luc3RhbmNlLnkgPSBndWlkZU9yYkluc3RhbmNlLmxhc3RZO1xuICAgICAgICBvcmJzLnNwbGljZShpbmRleE9mR3VpZGUsIDEpO1xuICAgICAgICBvcmJzLnB1c2goZ3VpZGVPcmJBdXRvSW5zdGFuY2UpO1xuICAgICAgfVxuICAgIH07XG4gICAgY2FudmFzUmVmLmN1cnJlbnQhLnBhcmVudEVsZW1lbnQhLm9ubW91c2VlbnRlciA9ICgpID0+IHtcbiAgICAgIGlmIChvcmJzLmluZGV4T2YoZ3VpZGVPcmJJbnN0YW5jZSkgPT09IC0xKSB7XG4gICAgICAgIG9yYnMucHVzaChndWlkZU9yYkluc3RhbmNlKTtcbiAgICAgICAgb3Jicy5zcGxpY2Uob3Jicy5pbmRleE9mKGd1aWRlT3JiQXV0b0luc3RhbmNlKSwgMSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGFuaW0oKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUoYW5pbUZyYW1lKTtcbiAgICB9O1xuICB9LCBbY2lyY2xlc0NvbmZpZ10pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9e2Ake2NsYXNzTmFtZX0gJHtTdHlsZXMucm9vdH1gfT5cbiAgICAgIDxjYW52YXMgcmVmPXtjYW52YXNSZWZ9IC8+XG4gICAgICA8ZGl2PntjaGlsZHJlbn08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsYUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBSix1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksZUFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssS0FBQSxHQUFBTCxPQUFBO0FBQWdFLFNBQUFFLHVCQUFBSSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBQUEsU0FBQUcseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFYLHdCQUFBTyxHQUFBLEVBQUFJLFdBQUEsU0FBQUEsV0FBQSxJQUFBSixHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQVEsT0FBQSxDQUFBUixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQVMsS0FBQSxHQUFBTix3QkFBQSxDQUFBQyxXQUFBLE9BQUFLLEtBQUEsSUFBQUEs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
@@ -9,7 +9,7 @@ export declare type WalletConnectionProps = PropsWithChildren<Omit<ReturnType<ty
9
9
  wallet?: string;
10
10
  connect: () => Promise<void>;
11
11
  disconnect: () => void;
12
- changeChainId: () => void;
12
+ changeChainId: () => Promise<void>;
13
13
  }>;
14
14
  declare type Props = {
15
15
  /**
@@ -96,7 +96,7 @@ function Content(_ref) {
96
96
  } catch (e) {
97
97
  switch (e.code) {
98
98
  case 4902:
99
- window.ethereum.request({
99
+ yield window.ethereum.request({
100
100
  method: "wallet_addEthereumChain",
101
101
  params: [{
102
102
  chainId: "0x".concat(chain.id.toString(16).padStart(2, "0")),
@@ -109,6 +109,8 @@ function Content(_ref) {
109
109
  }
110
110
  }]
111
111
  });
112
+ default:
113
+ throw e;
112
114
  }
113
115
  }
114
116
  });
@@ -138,4 +140,4 @@ var _default = WalletConnectionWrapper;
138
140
  exports.default = _default;
139
141
  const BaseWalletConnectionWrapper = /*#__PURE__*/(0, _react.forwardRef)(_BaseWalletConnectionWrapper);
140
142
  exports.BaseWalletConnectionWrapper = BaseWalletConnectionWrapper;
141
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlV2FsbGV0IiwiX3VzZUFzeW5jQ29udHJvbCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIl90eXBlb2YiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIl9zbGljZWRUb0FycmF5IiwiYXJyIiwiaSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJUeXBlRXJyb3IiLCJvIiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJuIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJsZW4iLCJsZW5ndGgiLCJhcnIyIiwiX2kiLCJTeW1ib2wiLCJpdGVyYXRvciIsIl9zIiwiX2UiLCJfeCIsIl9yIiwiX2FyciIsIl9uIiwiX2QiLCJuZXh0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImVyciIsInJldHVybiIsImlzQXJyYXkiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJnZW4iLCJyZXNvbHZlIiwicmVqZWN0IiwiX25leHQiLCJfdGhyb3ciLCJhcmciLCJpbmZvIiwiZXJyb3IiLCJQcm9taXNlIiwidGhlbiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiZm4iLCJzZWxmIiwiYXJncyIsImFyZ3VtZW50cyIsImFwcGx5IiwidW5kZWZpbmVkIiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwidGFyZ2V0Iiwic291cmNlIiwiX1dhbGxldENvbm5lY3Rpb25XcmFwcGVyIiwicHJvcHMiLCJyZWYiLCJjcmVhdGVFbGVtZW50IiwiVXNlV2FsbGV0UHJvdmlkZXIiLCJDb250ZW50IiwiY29tcFJlZiIsImNyZWF0ZVJlZiIsIl9CYXNlV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIiLCJfcmVmIiwiUHJvdmlkZXJVbmF2YWlsYWJsZSIsIkNoYWluSWRJbnZhbGlkIiwiY2hhaW4iLCJQcm92aWRlZENvbnRlbnRXcmFwcGVyIiwiY2hpbGRyZW4iLCJ3YWxsZXQiLCJ1c2VXYWxsZXQiLCJjb25uZWN0aW9uQXN5bmNXcmFwcGVyIiwidXNlQXN5bmNDb250cm9sIiwiY29ubmVjdCIsIl9yZWYyIiwicHJvY2VzcyIsImxvY2FsU3RvcmFnZSIsInNldEl0ZW0iLCJkaXNjb25uZWN0IiwicmVzZXQiLCJyZW1vdmVJdGVtIiwidXNlRWZmZWN0IiwiYXV0b0Nvbm5lY3QiLCJnZXRJdGVtIiwiYWNjb3VudCIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIndpbmRvdyIsImV0aGVyZXVtIiwiX3VzZVN0YXRlMiIsImlzUHJvdmlkZXJBdmFpbGFibGUiLCJpc0NoYWluSWRWYWxpZCIsInVzZU1lbW8iLCJpc0Nvbm5lY3RlZCIsImNoYWluSWQiLCJpZCIsImNoYW5nZUNoYWluSWQiLCJfY2hhbmdlQ2hhaW5JZCIsInJlcXVlc3QiLCJtZXRob2QiLCJwYXJhbXMiLCJjb25jYXQiLCJwYWRTdGFydCIsImUiLCJjb2RlIiwiY2hhaW5OYW1lIiwicnBjVXJscyIsInJwY1VybCIsImJsb2NrRXhwbG9yZXJVcmxzIiwiZXhwbG9yZXJVcmwiLCJuYXRpdmVDdXJyZW5jeSIsInN5bWJvbCIsImN1cnJlbmN5IiwiZGVjaW1hbHMiLCJDb250ZW50V3JhcHBlciIsIkZyYWdtZW50IiwiaXNDb25uZWN0ZWRBbmRWYWxpZENoYWluIiwiV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIiLCJmb3J3YXJkUmVmIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiQmFzZVdhbGxldENvbm5lY3Rpb25XcmFwcGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIvV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBjcmVhdGVSZWYsXG4gIEZvcndhcmRlZFJlZixcbiAgZm9yd2FyZFJlZixcbiAgUHJvcHNXaXRoQ2hpbGRyZW4sXG4gIFJlYWN0RWxlbWVudCxcbiAgUmVhY3ROb2RlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVdhbGxldCwgVXNlV2FsbGV0UHJvdmlkZXIgfSBmcm9tIFwidXNlLXdhbGxldFwiO1xuaW1wb3J0IHVzZUFzeW5jQ29udHJvbCBmcm9tIFwiLi4vLi4vaG9va3MvdXNlQXN5bmNDb250cm9sXCI7XG5cbmV4cG9ydCB0eXBlIFdhbGxldENvbm5lY3Rpb25Qcm9wcyA9IFByb3BzV2l0aENoaWxkcmVuPFxuICBPbWl0PFJldHVyblR5cGU8dHlwZW9mIHVzZUFzeW5jQ29udHJvbD4sIFwicHJvY2Vzc1wiPiAmIHtcbiAgICBjaGFpbklkPzogbnVtYmVyO1xuICAgIGlzQ2hhaW5JZFZhbGlkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIGlzUHJvdmlkZXJBdmFpbGFibGU6IGJvb2xlYW47XG4gICAgaXNDb25uZWN0ZWRBbmRWYWxpZENoYWluOiBib29sZWFuO1xuICAgIGlzQ29ubmVjdGVkOiBib29sZWFuO1xuICAgIHdhbGxldD86IHN0cmluZztcblxuICAgIGNvbm5lY3Q6ICgpID0+IFByb21pc2U8dm9pZD47XG4gICAgZGlzY29ubmVjdDogKCkgPT4gdm9pZDtcbiAgICBjaGFuZ2VDaGFpbklkOiAoKSA9PiB2b2lkO1xuICB9XG4+O1xuXG50eXBlIFByb3BzID0ge1xuICAvKipcbiAgICogVGhlIGNoYWluIGlkIHRoYXQgdGhlIHVzZXIgaXMgZXhwZWN0ZWQgdG8gY29ubmVjdCB0b1xuICAgKi9cbiAgY2hhaW4/OiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBycGNVcmw6IHN0cmluZztcbiAgICBleHBsb3JlclVybDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBjdXJyZW5jeTogc3RyaW5nO1xuICB9O1xuXG4gIC8qKlxuICAgKiBXaGVuIHRoZSB1c2VyIGRvZXNuJ3QgaGF2ZSBhIHByb3ZpZGVyIGxpa2UgbWV0YW1hc2sgYXZhaWxhYmxlXG4gICAqL1xuICBQcm92aWRlclVuYXZhaWxhYmxlPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFRoaXMgaXMgaW52b2tlZCB3aGVuIHRoZSBjaGFpbiBJRCBpcyBub3QgYXZhaWxhYmxlXG4gICAqL1xuICBDaGFpbklkSW52YWxpZD86IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PHtcbiAgICBjaGFuZ2VDaGFpbklkOiAoKSA9PiB2b2lkO1xuICB9PjtcblxuICAvKipcbiAgICogVGhpcyByZW5kZXJzIHRoZSBjb250ZW50IHRoYXQgaXMgc2hvd24gaW5zaWRlIHRoZSB3YWxsZXQgY29udGVudFxuICAgKi9cbiAgQ29udGVudDogKHByb3BzOiBXYWxsZXRDb25uZWN0aW9uUHJvcHMpID0+IFJlYWN0RWxlbWVudDtcbn07XG5mdW5jdGlvbiBfV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIoXG4gIHByb3BzOiBQcm9wc1dpdGhDaGlsZHJlbjxQcm9wcz4sXG4gIHJlZjogRm9yd2FyZGVkUmVmPHtcbiAgICBjb25uZWN0OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAgIGRpc2Nvbm5lY3Q6ICgpID0+IHZvaWQ7XG4gIH0+XG4pIHtcbiAgcmV0dXJuIChcbiAgICA8VXNlV2FsbGV0UHJvdmlkZXI+XG4gICAgICA8Q29udGVudCBjb21wUmVmPXtyZWYgfHwgY3JlYXRlUmVmKCl9IHsuLi5wcm9wc30gLz5cbiAgICA8L1VzZVdhbGxldFByb3ZpZGVyPlxuICApO1xufVxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBoYW5kbGVzIGEgbG90IG9mIGNlbmFyaW9zIHdoZW4gZGVhbGluZyB3aXRoIHRoZSB3YWxsZXQgY29ubmVjdGlvbiB0byBkaWZmZXJlbnQgcHJvdmlkZXJzIChleDogTWV0YW1hc2spXG4gKiovXG5mdW5jdGlvbiBfQmFzZVdhbGxldENvbm5lY3Rpb25XcmFwcGVyKFxuICBwcm9wczogUHJvcHMgJiB7XG4gICAgY2hpbGRyZW4/OiBhbnk7XG4gIH0sXG4gIHJlZjogRm9yd2FyZGVkUmVmPHtcbiAgICBjb25uZWN0OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAgIGRpc2Nvbm5lY3Q6ICgpID0+IHZvaWQ7XG4gIH0+XG4pIHtcbiAgcmV0dXJuIDxDb250ZW50IGNvbXBSZWY9e3JlZiB8fCBjcmVhdGVSZWYoKX0gey4uLnByb3BzfSAvPjtcbn1cblxuZnVuY3Rpb24gQ29udGVudCh7XG4gIFByb3ZpZGVyVW5hdmFpbGFibGUsXG4gIENoYWluSWRJbnZhbGlkLFxuICBjaGFpbixcbiAgQ29udGVudDogUHJvdmlkZWRDb250ZW50V3JhcHBlcixcbiAgY29tcFJlZixcbiAgY2hpbGRyZW4sXG59OiBQcm9wc1dpdGhDaGlsZHJlbjxcbiAgUHJvcHMgJiB7XG4gICAgY29tcFJlZjogRm9yd2FyZGVkUmVmPHtcbiAgICAgIGNvbm5lY3Q6ICgpID0+IFByb21pc2U8dm9pZD47XG4gICAgICBkaXNjb25uZWN0OiAoKSA9PiB2b2lkO1xuICAgIH0+O1xuICB9XG4+KSB7XG4gIGNvbnN0IHdhbGxldCA9IHVzZVdhbGxldCgpO1xuICBjb25zdCBjb25uZWN0aW9uQXN5bmNXcmFwcGVyID0gdXNlQXN5bmNDb250cm9sKCk7XG4gIGNvbnN0IGNvbm5lY3QgPSBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgY29ubmVjdGlvbkFzeW5jV3JhcHBlci5wcm9jZXNzKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHdhbGxldC5jb25uZWN0KFwiaW5qZWN0ZWRcIik7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImF1dG9fY29ubmVjdFwiLCBcInRydWVcIik7XG4gICAgfSk7XG4gIH07XG4gIGNvbnN0IGRpc2Nvbm5lY3QgPSAoKSA9PiB7XG4gICAgd2FsbGV0LnJlc2V0KCk7XG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJhdXRvX2Nvbm5lY3RcIik7XG4gIH07XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgYXV0b0Nvbm5lY3QgPSAhIWxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYXV0b19jb25uZWN0XCIpO1xuICAgIGlmIChhdXRvQ29ubmVjdCAmJiAhd2FsbGV0LmFjY291bnQpIGNvbm5lY3QoKTtcbiAgfSwgW10pO1xuICB1c2VJbXBlcmF0aXZlSGFuZGxlKFxuICAgIGNvbXBSZWYsXG4gICAgKCkgPT4gKHtcbiAgICAgIGNvbm5lY3QsXG4gICAgICBkaXNjb25uZWN0LFxuICAgIH0pLFxuICAgIFt3YWxsZXRdXG4gICk7XG4gIGNvbnN0IFtpc1Byb3ZpZGVyQXZhaWxhYmxlXSA9IHVzZVN0YXRlKCgpID0+ICEhd2luZG93LmV0aGVyZXVtKTtcbiAgLyoqXG4gICAqIHRydWUgLSBNb3N0cmFyIG8gY29udGV1ZG8gKGV4OiBmb3JtIGRlIHRyYW5zZmVyZW5jaWEpXG4gICAqIGZhbHNlIC0gTW9zdHJhciBvIGJvdMOjbyBkZSB0cm9jYXIgYSBjaGFpblxuICAgKlxuICAgKiB1bmRlZmluZWQgPz8/XG4gICAqL1xuICBjb25zdCBpc0NoYWluSWRWYWxpZCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIGNoYWluXG4gICAgICAgID8gd2FsbGV0LmlzQ29ubmVjdGVkKClcbiAgICAgICAgICA/IHdhbGxldC5jaGFpbklkID09PSBjaGFpbi5pZFxuICAgICAgICAgIDogdHJ1ZVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICBbd2FsbGV0LCBjaGFpbj8uaWRdXG4gICk7XG5cbiAgYXN5bmMgZnVuY3Rpb24gY2hhbmdlQ2hhaW5JZCgpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgd2luZG93LmV0aGVyZXVtIS5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBcIndhbGxldF9zd2l0Y2hFdGhlcmV1bUNoYWluXCIsXG4gICAgICAgIHBhcmFtczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNoYWluSWQ6IGAweCR7Y2hhaW4hLmlkLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCBcIjBcIil9YCxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBzd2l0Y2ggKGUuY29kZSkge1xuICAgICAgICBjYXNlIDQ5MDI6XG4gICAgICAgICAgd2luZG93LmV0aGVyZXVtIS5yZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJ3YWxsZXRfYWRkRXRoZXJldW1DaGFpblwiLFxuICAgICAgICAgICAgcGFyYW1zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjaGFpbklkOiBgMHgke2NoYWluIS5pZC50b1N0cmluZygxNikucGFkU3RhcnQoMiwgXCIwXCIpfWAsXG4gICAgICAgICAgICAgICAgY2hhaW5OYW1lOiBjaGFpbiEubmFtZSxcbiAgICAgICAgICAgICAgICBycGNVcmxzOiBbY2hhaW4hLnJwY1VybF0sXG4gICAgICAgICAgICAgICAgYmxvY2tFeHBsb3JlclVybHM6IFtjaGFpbiEuZXhwbG9yZXJVcmxdLFxuICAgICAgICAgICAgICAgIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgICAgICAgICAgICAgICBzeW1ib2w6IGNoYWluIS5jdXJyZW5jeSxcbiAgICAgICAgICAgICAgICAgIGRlY2ltYWxzOiAxOCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgY29uc3QgQ29udGVudFdyYXBwZXIgPSBQcm92aWRlZENvbnRlbnRXcmFwcGVyIGFzIGFueTtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge1Byb3ZpZGVyVW5hdmFpbGFibGUgJiYgIWlzUHJvdmlkZXJBdmFpbGFibGUgJiYgPFByb3ZpZGVyVW5hdmFpbGFibGUgLz59XG4gICAgICB7Q2hhaW5JZEludmFsaWQgJiYgIWlzQ2hhaW5JZFZhbGlkICYmIChcbiAgICAgICAgPENoYWluSWRJbnZhbGlkIGNoYW5nZUNoYWluSWQ9e2NoYW5nZUNoYWluSWR9IC8+XG4gICAgICApfVxuICAgICAge1xuICAgICAgICA8Q29udGVudFdyYXBwZXJcbiAgICAgICAgICB7Li4uY29ubmVjdGlvbkFzeW5jV3JhcHBlcn1cbiAgICAgICAgICBpc0NoYWluSWRWYWxpZD17aXNDaGFpbklkVmFsaWR9XG4gICAgICAgICAgaXNQcm92aWRlckF2YWlsYWJsZT17aXNQcm92aWRlckF2YWlsYWJsZX1cbiAgICAgICAgICBpc0Nvbm5lY3RlZEFuZFZhbGlkQ2hhaW49e2lzQ2hhaW5JZFZhbGlkICYmIHdhbGxldC5pc0Nvbm5lY3RlZCgpfVxuICAgICAgICAgIGNvbm5lY3Q9e2Nvbm5lY3R9XG4gICAgICAgICAgZGlzY29ubmVjdD17ZGlzY29ubmVjdH1cbiAgICAgICAgICBjaGFuZ2VDaGFpbklkPXtjaGFuZ2VDaGFpbklkfVxuICAgICAgICAgIGNoYWluSWQ9e3dhbGxldC5jaGFpbklkfVxuICAgICAgICAgIGlzQ29ubmVjdGVkPXt3YWxsZXQuaXNDb25uZWN0ZWQoKX1cbiAgICAgICAgICB3YWxsZXQ9e3dhbGxldC5hY2NvdW50fVxuICAgICAgICA+XG4gICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8L0NvbnRlbnRXcmFwcGVyPlxuICAgICAgfVxuICAgIDwvPlxuICApO1xufVxuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGhhbmRsZXMgc29tZSBjZW5hcmlvcyB3aGVuIGRlYWxpbmcgd2l0aCB0aGUgd2FsbGV0IGNvbm5lY3Rpb24gdG8gZGlmZmVyZW50IHByb3ZpZGVycyAoZXg6IE1ldGFtYXNrKVxuICoqL1xuY29uc3QgV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIgPSBmb3J3YXJkUmVmKF9XYWxsZXRDb25uZWN0aW9uV3JhcHBlcik7XG5leHBvcnQgZGVmYXVsdCBXYWxsZXRDb25uZWN0aW9uV3JhcHBlcjtcblxuZXhwb3J0IGNvbnN0IEJhc2VXYWxsZXRDb25uZWN0aW9uV3JhcHBlciA9IGZvcndhcmRSZWYoXG4gIF9CYXNlV2FsbGV0Q29ubmVjdGlvbldyYXBwZXJcbik7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFZQSxJQUFBQyxVQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxnQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQTBELFNBQUFHLHVCQUFBQyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBQUEsU0FBQUcseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFULHdCQUFBSyxHQUFBLEVBQUFJLFdBQUEsU0FBQUEsV0FBQSxJQUFBSixHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQVEsT0FBQSxDQUFBUixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQVMsS0FBQSxHQUFB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
143
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfdXNlV2FsbGV0IiwiX3VzZUFzeW5jQ29udHJvbCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIl90eXBlb2YiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIl9zbGljZWRUb0FycmF5IiwiYXJyIiwiaSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIl9ub25JdGVyYWJsZVJlc3QiLCJUeXBlRXJyb3IiLCJvIiwibWluTGVuIiwiX2FycmF5TGlrZVRvQXJyYXkiLCJuIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJsZW4iLCJsZW5ndGgiLCJhcnIyIiwiX2kiLCJTeW1ib2wiLCJpdGVyYXRvciIsIl9zIiwiX2UiLCJfeCIsIl9yIiwiX2FyciIsIl9uIiwiX2QiLCJuZXh0IiwiZG9uZSIsInB1c2giLCJ2YWx1ZSIsImVyciIsInJldHVybiIsImlzQXJyYXkiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJnZW4iLCJyZXNvbHZlIiwicmVqZWN0IiwiX25leHQiLCJfdGhyb3ciLCJhcmciLCJpbmZvIiwiZXJyb3IiLCJQcm9taXNlIiwidGhlbiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiZm4iLCJzZWxmIiwiYXJncyIsImFyZ3VtZW50cyIsImFwcGx5IiwidW5kZWZpbmVkIiwiX2V4dGVuZHMiLCJhc3NpZ24iLCJiaW5kIiwidGFyZ2V0Iiwic291cmNlIiwiX1dhbGxldENvbm5lY3Rpb25XcmFwcGVyIiwicHJvcHMiLCJyZWYiLCJjcmVhdGVFbGVtZW50IiwiVXNlV2FsbGV0UHJvdmlkZXIiLCJDb250ZW50IiwiY29tcFJlZiIsImNyZWF0ZVJlZiIsIl9CYXNlV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIiLCJfcmVmIiwiUHJvdmlkZXJVbmF2YWlsYWJsZSIsIkNoYWluSWRJbnZhbGlkIiwiY2hhaW4iLCJQcm92aWRlZENvbnRlbnRXcmFwcGVyIiwiY2hpbGRyZW4iLCJ3YWxsZXQiLCJ1c2VXYWxsZXQiLCJjb25uZWN0aW9uQXN5bmNXcmFwcGVyIiwidXNlQXN5bmNDb250cm9sIiwiY29ubmVjdCIsIl9yZWYyIiwicHJvY2VzcyIsImxvY2FsU3RvcmFnZSIsInNldEl0ZW0iLCJkaXNjb25uZWN0IiwicmVzZXQiLCJyZW1vdmVJdGVtIiwidXNlRWZmZWN0IiwiYXV0b0Nvbm5lY3QiLCJnZXRJdGVtIiwiYWNjb3VudCIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIndpbmRvdyIsImV0aGVyZXVtIiwiX3VzZVN0YXRlMiIsImlzUHJvdmlkZXJBdmFpbGFibGUiLCJpc0NoYWluSWRWYWxpZCIsInVzZU1lbW8iLCJpc0Nvbm5lY3RlZCIsImNoYWluSWQiLCJpZCIsImNoYW5nZUNoYWluSWQiLCJfY2hhbmdlQ2hhaW5JZCIsInJlcXVlc3QiLCJtZXRob2QiLCJwYXJhbXMiLCJjb25jYXQiLCJwYWRTdGFydCIsImUiLCJjb2RlIiwiY2hhaW5OYW1lIiwicnBjVXJscyIsInJwY1VybCIsImJsb2NrRXhwbG9yZXJVcmxzIiwiZXhwbG9yZXJVcmwiLCJuYXRpdmVDdXJyZW5jeSIsInN5bWJvbCIsImN1cnJlbmN5IiwiZGVjaW1hbHMiLCJDb250ZW50V3JhcHBlciIsIkZyYWdtZW50IiwiaXNDb25uZWN0ZWRBbmRWYWxpZENoYWluIiwiV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIiLCJmb3J3YXJkUmVmIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwiQmFzZVdhbGxldENvbm5lY3Rpb25XcmFwcGVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIvV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBjcmVhdGVSZWYsXG4gIEZvcndhcmRlZFJlZixcbiAgZm9yd2FyZFJlZixcbiAgUHJvcHNXaXRoQ2hpbGRyZW4sXG4gIFJlYWN0RWxlbWVudCxcbiAgUmVhY3ROb2RlLFxuICB1c2VFZmZlY3QsXG4gIHVzZUltcGVyYXRpdmVIYW5kbGUsXG4gIHVzZU1lbW8sXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVdhbGxldCwgVXNlV2FsbGV0UHJvdmlkZXIgfSBmcm9tIFwidXNlLXdhbGxldFwiO1xuaW1wb3J0IHVzZUFzeW5jQ29udHJvbCBmcm9tIFwiLi4vLi4vaG9va3MvdXNlQXN5bmNDb250cm9sXCI7XG5cbmV4cG9ydCB0eXBlIFdhbGxldENvbm5lY3Rpb25Qcm9wcyA9IFByb3BzV2l0aENoaWxkcmVuPFxuICBPbWl0PFJldHVyblR5cGU8dHlwZW9mIHVzZUFzeW5jQ29udHJvbD4sIFwicHJvY2Vzc1wiPiAmIHtcbiAgICBjaGFpbklkPzogbnVtYmVyO1xuICAgIGlzQ2hhaW5JZFZhbGlkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIGlzUHJvdmlkZXJBdmFpbGFibGU6IGJvb2xlYW47XG4gICAgaXNDb25uZWN0ZWRBbmRWYWxpZENoYWluOiBib29sZWFuO1xuICAgIGlzQ29ubmVjdGVkOiBib29sZWFuO1xuICAgIHdhbGxldD86IHN0cmluZztcblxuICAgIGNvbm5lY3Q6ICgpID0+IFByb21pc2U8dm9pZD47XG4gICAgZGlzY29ubmVjdDogKCkgPT4gdm9pZDtcbiAgICBjaGFuZ2VDaGFpbklkOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICB9XG4+O1xuXG50eXBlIFByb3BzID0ge1xuICAvKipcbiAgICogVGhlIGNoYWluIGlkIHRoYXQgdGhlIHVzZXIgaXMgZXhwZWN0ZWQgdG8gY29ubmVjdCB0b1xuICAgKi9cbiAgY2hhaW4/OiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBycGNVcmw6IHN0cmluZztcbiAgICBleHBsb3JlclVybDogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBjdXJyZW5jeTogc3RyaW5nO1xuICB9O1xuXG4gIC8qKlxuICAgKiBXaGVuIHRoZSB1c2VyIGRvZXNuJ3QgaGF2ZSBhIHByb3ZpZGVyIGxpa2UgbWV0YW1hc2sgYXZhaWxhYmxlXG4gICAqL1xuICBQcm92aWRlclVuYXZhaWxhYmxlPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFRoaXMgaXMgaW52b2tlZCB3aGVuIHRoZSBjaGFpbiBJRCBpcyBub3QgYXZhaWxhYmxlXG4gICAqL1xuICBDaGFpbklkSW52YWxpZD86IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PHtcbiAgICBjaGFuZ2VDaGFpbklkOiAoKSA9PiB2b2lkO1xuICB9PjtcblxuICAvKipcbiAgICogVGhpcyByZW5kZXJzIHRoZSBjb250ZW50IHRoYXQgaXMgc2hvd24gaW5zaWRlIHRoZSB3YWxsZXQgY29udGVudFxuICAgKi9cbiAgQ29udGVudDogKHByb3BzOiBXYWxsZXRDb25uZWN0aW9uUHJvcHMpID0+IFJlYWN0RWxlbWVudDtcbn07XG5mdW5jdGlvbiBfV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIoXG4gIHByb3BzOiBQcm9wc1dpdGhDaGlsZHJlbjxQcm9wcz4sXG4gIHJlZjogRm9yd2FyZGVkUmVmPHtcbiAgICBjb25uZWN0OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAgIGRpc2Nvbm5lY3Q6ICgpID0+IHZvaWQ7XG4gIH0+XG4pIHtcbiAgcmV0dXJuIChcbiAgICA8VXNlV2FsbGV0UHJvdmlkZXI+XG4gICAgICA8Q29udGVudCBjb21wUmVmPXtyZWYgfHwgY3JlYXRlUmVmKCl9IHsuLi5wcm9wc30gLz5cbiAgICA8L1VzZVdhbGxldFByb3ZpZGVyPlxuICApO1xufVxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBoYW5kbGVzIGEgbG90IG9mIGNlbmFyaW9zIHdoZW4gZGVhbGluZyB3aXRoIHRoZSB3YWxsZXQgY29ubmVjdGlvbiB0byBkaWZmZXJlbnQgcHJvdmlkZXJzIChleDogTWV0YW1hc2spXG4gKiovXG5mdW5jdGlvbiBfQmFzZVdhbGxldENvbm5lY3Rpb25XcmFwcGVyKFxuICBwcm9wczogUHJvcHMgJiB7XG4gICAgY2hpbGRyZW4/OiBhbnk7XG4gIH0sXG4gIHJlZjogRm9yd2FyZGVkUmVmPHtcbiAgICBjb25uZWN0OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAgIGRpc2Nvbm5lY3Q6ICgpID0+IHZvaWQ7XG4gIH0+XG4pIHtcbiAgcmV0dXJuIDxDb250ZW50IGNvbXBSZWY9e3JlZiB8fCBjcmVhdGVSZWYoKX0gey4uLnByb3BzfSAvPjtcbn1cblxuZnVuY3Rpb24gQ29udGVudCh7XG4gIFByb3ZpZGVyVW5hdmFpbGFibGUsXG4gIENoYWluSWRJbnZhbGlkLFxuICBjaGFpbixcbiAgQ29udGVudDogUHJvdmlkZWRDb250ZW50V3JhcHBlcixcbiAgY29tcFJlZixcbiAgY2hpbGRyZW4sXG59OiBQcm9wc1dpdGhDaGlsZHJlbjxcbiAgUHJvcHMgJiB7XG4gICAgY29tcFJlZjogRm9yd2FyZGVkUmVmPHtcbiAgICAgIGNvbm5lY3Q6ICgpID0+IFByb21pc2U8dm9pZD47XG4gICAgICBkaXNjb25uZWN0OiAoKSA9PiB2b2lkO1xuICAgIH0+O1xuICB9XG4+KSB7XG4gIGNvbnN0IHdhbGxldCA9IHVzZVdhbGxldCgpO1xuICBjb25zdCBjb25uZWN0aW9uQXN5bmNXcmFwcGVyID0gdXNlQXN5bmNDb250cm9sKCk7XG4gIGNvbnN0IGNvbm5lY3QgPSBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgY29ubmVjdGlvbkFzeW5jV3JhcHBlci5wcm9jZXNzKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHdhbGxldC5jb25uZWN0KFwiaW5qZWN0ZWRcIik7XG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImF1dG9fY29ubmVjdFwiLCBcInRydWVcIik7XG4gICAgfSk7XG4gIH07XG4gIGNvbnN0IGRpc2Nvbm5lY3QgPSAoKSA9PiB7XG4gICAgd2FsbGV0LnJlc2V0KCk7XG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oXCJhdXRvX2Nvbm5lY3RcIik7XG4gIH07XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgYXV0b0Nvbm5lY3QgPSAhIWxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiYXV0b19jb25uZWN0XCIpO1xuICAgIGlmIChhdXRvQ29ubmVjdCAmJiAhd2FsbGV0LmFjY291bnQpIGNvbm5lY3QoKTtcbiAgfSwgW10pO1xuICB1c2VJbXBlcmF0aXZlSGFuZGxlKFxuICAgIGNvbXBSZWYsXG4gICAgKCkgPT4gKHtcbiAgICAgIGNvbm5lY3QsXG4gICAgICBkaXNjb25uZWN0LFxuICAgIH0pLFxuICAgIFt3YWxsZXRdXG4gICk7XG4gIGNvbnN0IFtpc1Byb3ZpZGVyQXZhaWxhYmxlXSA9IHVzZVN0YXRlKCgpID0+ICEhd2luZG93LmV0aGVyZXVtKTtcbiAgLyoqXG4gICAqIHRydWUgLSBNb3N0cmFyIG8gY29udGV1ZG8gKGV4OiBmb3JtIGRlIHRyYW5zZmVyZW5jaWEpXG4gICAqIGZhbHNlIC0gTW9zdHJhciBvIGJvdMOjbyBkZSB0cm9jYXIgYSBjaGFpblxuICAgKlxuICAgKiB1bmRlZmluZWQgPz8/XG4gICAqL1xuICBjb25zdCBpc0NoYWluSWRWYWxpZCA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIGNoYWluXG4gICAgICAgID8gd2FsbGV0LmlzQ29ubmVjdGVkKClcbiAgICAgICAgICA/IHdhbGxldC5jaGFpbklkID09PSBjaGFpbi5pZFxuICAgICAgICAgIDogdHJ1ZVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICBbd2FsbGV0LCBjaGFpbj8uaWRdXG4gICk7XG5cbiAgYXN5bmMgZnVuY3Rpb24gY2hhbmdlQ2hhaW5JZCgpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgd2luZG93LmV0aGVyZXVtIS5yZXF1ZXN0KHtcbiAgICAgICAgbWV0aG9kOiBcIndhbGxldF9zd2l0Y2hFdGhlcmV1bUNoYWluXCIsXG4gICAgICAgIHBhcmFtczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNoYWluSWQ6IGAweCR7Y2hhaW4hLmlkLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCBcIjBcIil9YCxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICBzd2l0Y2ggKGUuY29kZSkge1xuICAgICAgICBjYXNlIDQ5MDI6XG4gICAgICAgICAgYXdhaXQgd2luZG93LmV0aGVyZXVtIS5yZXF1ZXN0KHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJ3YWxsZXRfYWRkRXRoZXJldW1DaGFpblwiLFxuICAgICAgICAgICAgcGFyYW1zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjaGFpbklkOiBgMHgke2NoYWluIS5pZC50b1N0cmluZygxNikucGFkU3RhcnQoMiwgXCIwXCIpfWAsXG4gICAgICAgICAgICAgICAgY2hhaW5OYW1lOiBjaGFpbiEubmFtZSxcbiAgICAgICAgICAgICAgICBycGNVcmxzOiBbY2hhaW4hLnJwY1VybF0sXG4gICAgICAgICAgICAgICAgYmxvY2tFeHBsb3JlclVybHM6IFtjaGFpbiEuZXhwbG9yZXJVcmxdLFxuICAgICAgICAgICAgICAgIG5hdGl2ZUN1cnJlbmN5OiB7XG4gICAgICAgICAgICAgICAgICBzeW1ib2w6IGNoYWluIS5jdXJyZW5jeSxcbiAgICAgICAgICAgICAgICAgIGRlY2ltYWxzOiAxOCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aHJvdyBlXG4gICAgICB9XG4gICAgfVxuICB9XG4gIGNvbnN0IENvbnRlbnRXcmFwcGVyID0gUHJvdmlkZWRDb250ZW50V3JhcHBlciBhcyBhbnk7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtQcm92aWRlclVuYXZhaWxhYmxlICYmICFpc1Byb3ZpZGVyQXZhaWxhYmxlICYmIDxQcm92aWRlclVuYXZhaWxhYmxlIC8+fVxuICAgICAge0NoYWluSWRJbnZhbGlkICYmICFpc0NoYWluSWRWYWxpZCAmJiAoXG4gICAgICAgIDxDaGFpbklkSW52YWxpZCBjaGFuZ2VDaGFpbklkPXtjaGFuZ2VDaGFpbklkfSAvPlxuICAgICAgKX1cbiAgICAgIHtcbiAgICAgICAgPENvbnRlbnRXcmFwcGVyXG4gICAgICAgICAgey4uLmNvbm5lY3Rpb25Bc3luY1dyYXBwZXJ9XG4gICAgICAgICAgaXNDaGFpbklkVmFsaWQ9e2lzQ2hhaW5JZFZhbGlkfVxuICAgICAgICAgIGlzUHJvdmlkZXJBdmFpbGFibGU9e2lzUHJvdmlkZXJBdmFpbGFibGV9XG4gICAgICAgICAgaXNDb25uZWN0ZWRBbmRWYWxpZENoYWluPXtpc0NoYWluSWRWYWxpZCAmJiB3YWxsZXQuaXNDb25uZWN0ZWQoKX1cbiAgICAgICAgICBjb25uZWN0PXtjb25uZWN0fVxuICAgICAgICAgIGRpc2Nvbm5lY3Q9e2Rpc2Nvbm5lY3R9XG4gICAgICAgICAgY2hhbmdlQ2hhaW5JZD17Y2hhbmdlQ2hhaW5JZH1cbiAgICAgICAgICBjaGFpbklkPXt3YWxsZXQuY2hhaW5JZH1cbiAgICAgICAgICBpc0Nvbm5lY3RlZD17d2FsbGV0LmlzQ29ubmVjdGVkKCl9XG4gICAgICAgICAgd2FsbGV0PXt3YWxsZXQuYWNjb3VudH1cbiAgICAgICAgPlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9Db250ZW50V3JhcHBlcj5cbiAgICAgIH1cbiAgICA8Lz5cbiAgKTtcbn1cblxuLyoqXG4gKiBUaGlzIGNvbXBvbmVudCBoYW5kbGVzIHNvbWUgY2VuYXJpb3Mgd2hlbiBkZWFsaW5nIHdpdGggdGhlIHdhbGxldCBjb25uZWN0aW9uIHRvIGRpZmZlcmVudCBwcm92aWRlcnMgKGV4OiBNZXRhbWFzaylcbiAqKi9cbmNvbnN0IFdhbGxldENvbm5lY3Rpb25XcmFwcGVyID0gZm9yd2FyZFJlZihfV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIpO1xuZXhwb3J0IGRlZmF1bHQgV2FsbGV0Q29ubmVjdGlvbldyYXBwZXI7XG5cbmV4cG9ydCBjb25zdCBCYXNlV2FsbGV0Q29ubmVjdGlvbldyYXBwZXIgPSBmb3J3YXJkUmVmKFxuICBfQmFzZVdhbGxldENvbm5lY3Rpb25XcmFwcGVyXG4pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBWUEsSUFBQUMsVUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsZ0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUEwRCxTQUFBRyx1QkFBQUMsR0FBQSxXQUFBQSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxHQUFBRCxHQUFBLEtBQUFFLE9BQUEsRUFBQUYsR0FBQTtBQUFBLFNBQUFHLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBVCx3QkFBQUssR0FBQSxFQUFBSSxXQUFBLFNBQUFBLFdBQUEsSUFBQUosR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFRLE9BQUEsQ0FBQVIsR0FB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
@@ -4,6 +4,10 @@ declare type Arr<X> = [X, React.Dispatch<SetStateAction<X>>];
4
4
  export declare type FunctionMap = {
5
5
  [f: string]: ((...args: any[]) => Promise<any>) | Object | Primitive;
6
6
  };
7
+ export declare type Control<E extends any = any> = {
8
+ error?: E;
9
+ loading: boolean;
10
+ };
7
11
  export declare function useRawAsynControl<E = any, F extends FunctionMap = {}>(functionsToWrap: F | undefined, [error, setError]: Arr<E | undefined>, [loading, setLoading]: Arr<boolean>): {
8
12
  process: (asyncFn: () => Promise<any>) => Promise<any>;
9
13
  loading: boolean;
@@ -87,4 +87,4 @@ function useAsyncControl(functionsToWrap) {
87
87
  const loading = (0, _react.useState)(false);
88
88
  return useRawAsynControl(functionsToWrap, error, loading);
89
89
  }
90
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsIk9iamVjdCIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJmb3JFYWNoIiwia2V5IiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIm9iaiIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFyZyIsIl90b1ByaW1pdGl2ZSIsIl90eXBlb2YiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJ1bmRlZmluZWQiLCJyZXMiLCJjYWxsIiwiVHlwZUVycm9yIiwiTnVtYmVyIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVzb2x2ZSIsInJlamVjdCIsIl9uZXh0IiwiX3Rocm93IiwiaW5mbyIsImVycm9yIiwiZG9uZSIsIlByb21pc2UiLCJ0aGVuIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJmbiIsInNlbGYiLCJhcmdzIiwiZXJyIiwiX3NsaWNlZFRvQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwibyIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwibiIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuIiwiYXJyMiIsIl9pIiwiaXRlcmF0b3IiLCJfcyIsIl9lIiwiX3giLCJfciIsIl9hcnIiLCJfbiIsIl9kIiwibmV4dCIsInJldHVybiIsImlzQXJyYXkiLCJ1c2VSYXdBc3luQ29udHJvbCIsImZ1bmN0aW9uc1RvV3JhcCIsIl9yZWYiLCJfcmVmMiIsIl9yZWYzIiwic2V0RXJyb3IiLCJfcmVmNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3Byb2Nlc3MiLCJ1c2VDYWxsYmFjayIsIl9yZWY1IiwiYXN5bmNGbiIsImUiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjb25zb2xlIiwiX3gyIiwiX09iamVjdCRlbnRyaWVzJHJlZHVjIiwiZW50cmllcyIsInJlZHVjZSIsInIiLCJfcmVmNiIsIl9yZWY3IiwiayIsImZ1bmMiLCJmdW5jdGlvbnNUb01lbW9pemUiLCJvdGhlciIsIl9yZWY4IiwiX3JlZjkiLCJ2IiwidXNlTWVtbyIsIl9sZW4iLCJfa2V5IiwidXNlQXN5bmNDb250cm9sIiwidXNlU3RhdGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlQXN5bmNDb250cm9sLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNldFN0YXRlQWN0aW9uLCB1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gXCJ0eXBlLWZlc3RcIjtcblxudHlwZSBBcnI8WD4gPSBbWCwgUmVhY3QuRGlzcGF0Y2g8U2V0U3RhdGVBY3Rpb248WD4+XTtcbmV4cG9ydCB0eXBlIEZ1bmN0aW9uTWFwID0ge1xuICBbZjogc3RyaW5nXTogKCguLi5hcmdzOiBhbnlbXSkgPT4gUHJvbWlzZTxhbnk+KSB8IE9iamVjdCB8IFByaW1pdGl2ZTtcbn07XG5leHBvcnQgZnVuY3Rpb24gdXNlUmF3QXN5bkNvbnRyb2w8RSA9IGFueSwgRiBleHRlbmRzIEZ1bmN0aW9uTWFwID0ge30+KFxuICBmdW5jdGlvbnNUb1dyYXA6IEYgfCB1bmRlZmluZWQsXG4gIFtlcnJvciwgc2V0RXJyb3JdOiBBcnI8RSB8IHVuZGVmaW5lZD4sXG4gIFtsb2FkaW5nLCBzZXRMb2FkaW5nXTogQXJyPGJvb2xlYW4+XG4pIHtcbiAgY29uc3QgX3Byb2Nlc3MgPSB1c2VDYWxsYmFjayhhc3luYyAoYXN5bmNGbjogKCkgPT4gUHJvbWlzZTxhbnk+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICBzZXRFcnJvcih1bmRlZmluZWQpO1xuICAgICAgcmV0dXJuIGF3YWl0IGFzeW5jRm4oKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikgY29uc29sZS5lcnJvcihlKTtcbiAgICAgIHNldEVycm9yKGUgYXMgRSk7XG4gICAgICB0aHJvdyBlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICB9XG4gIH0sIFtdKTtcblxuICBjb25zdCB7IGZ1bmN0aW9uc1RvTWVtb2l6ZSwgb3RoZXIgfSA9IE9iamVjdC5lbnRyaWVzKFxuICAgIGZ1bmN0aW9uc1RvV3JhcCB8fCB7fVxuICApLnJlZHVjZShcbiAgICAociwgW2ssIGZ1bmNdKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5yLFxuICAgICAgICAuLi4odHlwZW9mIGZ1bmMgPT09IFwiZnVuY3Rpb25cIlxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBmdW5jdGlvbnNUb01lbW9pemU6IHtcbiAgICAgICAgICAgICAgICAuLi5yLmZ1bmN0aW9uc1RvTWVtb2l6ZSxcbiAgICAgICAgICAgICAgICBba106IGZ1bmMsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB7XG4gICAgICAgICAgICAgIG90aGVyOiB7XG4gICAgICAgICAgICAgICAgLi4uci5vdGhlcixcbiAgICAgICAgICAgICAgICBba106IGZ1bmMsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KSxcbiAgICAgIH07XG4gICAgfSxcbiAgICB7XG4gICAgICBmdW5jdGlvbnNUb01lbW9pemU6IHt9LFxuICAgICAgb3RoZXI6IHt9LFxuICAgIH0gYXMge1xuICAgICAgZnVuY3Rpb25zVG9NZW1vaXplOiBGO1xuICAgICAgb3RoZXI6IEY7XG4gICAgfVxuICApO1xuXG4gIHJldHVybiB7XG4gICAgcHJvY2VzczogX3Byb2Nlc3MsXG4gICAgbG9hZGluZyxcbiAgICBlcnJvcixcbiAgICBzZXRFcnJvcixcbiAgICBzZXRMb2FkaW5nLFxuICAgIC4uLm90aGVyLFxuICAgIC4uLk9iamVjdC5lbnRyaWVzKGZ1bmN0aW9uc1RvTWVtb2l6ZSkucmVkdWNlKFxuICAgICAgKHIsIFtrLCB2XSkgPT4gKHtcbiAgICAgICAgLi4ucixcbiAgICAgICAgW2tdOiB1c2VNZW1vKFxuICAgICAgICAgICgpID0+XG4gICAgICAgICAgICAoLi4uYXJnczogYW55W10pID0+XG4gICAgICAgICAgICAgIF9wcm9jZXNzKCgpID0+ICh2IGFzIGFueSkoLi4uYXJncykpLFxuICAgICAgICAgIFt2XVxuICAgICAgICApLFxuICAgICAgfSksXG4gICAgICB7fSBhcyBGXG4gICAgKSxcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlQXN5bmNDb250cm9sPFxuICBFID0gYW55LFxuICBGIGV4dGVuZHMge1xuICAgIFtmOiBzdHJpbmddOiAoKC4uLmFyZ3M6IGFueVtdKSA9PiBQcm9taXNlPGFueT4pIHwgT2JqZWN0IHwgUHJpbWl0aXZlO1xuICB9ID0ge31cbj4oZnVuY3Rpb25zVG9XcmFwPzogRikge1xuICBjb25zdCBlcnJvciA9IHVzZVN0YXRlPEUgfCBFcnJvcj4oKTtcbiAgY29uc3QgbG9hZGluZyA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcblxuICByZXR1cm4gdXNlUmF3QXN5bkNvbnRyb2wo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
90
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsIk9iamVjdCIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJmb3JFYWNoIiwia2V5IiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIm9iaiIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFyZyIsIl90b1ByaW1pdGl2ZSIsIl90eXBlb2YiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJ1bmRlZmluZWQiLCJyZXMiLCJjYWxsIiwiVHlwZUVycm9yIiwiTnVtYmVyIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiZ2VuIiwicmVzb2x2ZSIsInJlamVjdCIsIl9uZXh0IiwiX3Rocm93IiwiaW5mbyIsImVycm9yIiwiZG9uZSIsIlByb21pc2UiLCJ0aGVuIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJmbiIsInNlbGYiLCJhcmdzIiwiZXJyIiwiX3NsaWNlZFRvQXJyYXkiLCJhcnIiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwibyIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwibiIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwic2xpY2UiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJBcnJheSIsImZyb20iLCJ0ZXN0IiwibGVuIiwiYXJyMiIsIl9pIiwiaXRlcmF0b3IiLCJfcyIsIl9lIiwiX3giLCJfciIsIl9hcnIiLCJfbiIsIl9kIiwibmV4dCIsInJldHVybiIsImlzQXJyYXkiLCJ1c2VSYXdBc3luQ29udHJvbCIsImZ1bmN0aW9uc1RvV3JhcCIsIl9yZWYiLCJfcmVmMiIsIl9yZWYzIiwic2V0RXJyb3IiLCJfcmVmNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3Byb2Nlc3MiLCJ1c2VDYWxsYmFjayIsIl9yZWY1IiwiYXN5bmNGbiIsImUiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJjb25zb2xlIiwiX3gyIiwiX09iamVjdCRlbnRyaWVzJHJlZHVjIiwiZW50cmllcyIsInJlZHVjZSIsInIiLCJfcmVmNiIsIl9yZWY3IiwiayIsImZ1bmMiLCJmdW5jdGlvbnNUb01lbW9pemUiLCJvdGhlciIsIl9yZWY4IiwiX3JlZjkiLCJ2IiwidXNlTWVtbyIsIl9sZW4iLCJfa2V5IiwidXNlQXN5bmNDb250cm9sIiwidXNlU3RhdGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlQXN5bmNDb250cm9sLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNldFN0YXRlQWN0aW9uLCB1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFByaW1pdGl2ZSB9IGZyb20gXCJ0eXBlLWZlc3RcIjtcblxudHlwZSBBcnI8WD4gPSBbWCwgUmVhY3QuRGlzcGF0Y2g8U2V0U3RhdGVBY3Rpb248WD4+XTtcbmV4cG9ydCB0eXBlIEZ1bmN0aW9uTWFwID0ge1xuICBbZjogc3RyaW5nXTogKCguLi5hcmdzOiBhbnlbXSkgPT4gUHJvbWlzZTxhbnk+KSB8IE9iamVjdCB8IFByaW1pdGl2ZTtcbn07XG5leHBvcnQgdHlwZSBDb250cm9sPEUgZXh0ZW5kcyBhbnkgPSBhbnk+ID0ge1xuICBlcnJvcj86IEU7XG4gIGxvYWRpbmc6IGJvb2xlYW47XG59O1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVJhd0FzeW5Db250cm9sPEUgPSBhbnksIEYgZXh0ZW5kcyBGdW5jdGlvbk1hcCA9IHt9PihcbiAgZnVuY3Rpb25zVG9XcmFwOiBGIHwgdW5kZWZpbmVkLFxuICBbZXJyb3IsIHNldEVycm9yXTogQXJyPEUgfCB1bmRlZmluZWQ+LFxuICBbbG9hZGluZywgc2V0TG9hZGluZ106IEFycjxib29sZWFuPlxuKSB7XG4gIGNvbnN0IF9wcm9jZXNzID0gdXNlQ2FsbGJhY2soYXN5bmMgKGFzeW5jRm46ICgpID0+IFByb21pc2U8YW55PikgPT4ge1xuICAgIHRyeSB7XG4gICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgc2V0RXJyb3IodW5kZWZpbmVkKTtcbiAgICAgIHJldHVybiBhd2FpdCBhc3luY0ZuKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIGNvbnNvbGUuZXJyb3IoZSk7XG4gICAgICBzZXRFcnJvcihlIGFzIEUpO1xuICAgICAgdGhyb3cgZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgY29uc3QgeyBmdW5jdGlvbnNUb01lbW9pemUsIG90aGVyIH0gPSBPYmplY3QuZW50cmllcyhcbiAgICBmdW5jdGlvbnNUb1dyYXAgfHwge31cbiAgKS5yZWR1Y2UoXG4gICAgKHIsIFtrLCBmdW5jXSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucixcbiAgICAgICAgLi4uKHR5cGVvZiBmdW5jID09PSBcImZ1bmN0aW9uXCJcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgZnVuY3Rpb25zVG9NZW1vaXplOiB7XG4gICAgICAgICAgICAgICAgLi4uci5mdW5jdGlvbnNUb01lbW9pemUsXG4gICAgICAgICAgICAgICAgW2tdOiBmdW5jLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICBvdGhlcjoge1xuICAgICAgICAgICAgICAgIC4uLnIub3RoZXIsXG4gICAgICAgICAgICAgICAgW2tdOiBmdW5jLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSksXG4gICAgICB9O1xuICAgIH0sXG4gICAge1xuICAgICAgZnVuY3Rpb25zVG9NZW1vaXplOiB7fSxcbiAgICAgIG90aGVyOiB7fSxcbiAgICB9IGFzIHtcbiAgICAgIGZ1bmN0aW9uc1RvTWVtb2l6ZTogRjtcbiAgICAgIG90aGVyOiBGO1xuICAgIH1cbiAgKTtcblxuICByZXR1cm4ge1xuICAgIHByb2Nlc3M6IF9wcm9jZXNzLFxuICAgIGxvYWRpbmcsXG4gICAgZXJyb3IsXG4gICAgc2V0RXJyb3IsXG4gICAgc2V0TG9hZGluZyxcbiAgICAuLi5vdGhlcixcbiAgICAuLi5PYmplY3QuZW50cmllcyhmdW5jdGlvbnNUb01lbW9pemUpLnJlZHVjZShcbiAgICAgIChyLCBbaywgdl0pID0+ICh7XG4gICAgICAgIC4uLnIsXG4gICAgICAgIFtrXTogdXNlTWVtbyhcbiAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgKC4uLmFyZ3M6IGFueVtdKSA9PlxuICAgICAgICAgICAgICBfcHJvY2VzcygoKSA9PiAodiBhcyBhbnkpKC4uLmFyZ3MpKSxcbiAgICAgICAgICBbdl1cbiAgICAgICAgKSxcbiAgICAgIH0pLFxuICAgICAge30gYXMgRlxuICAgICksXG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUFzeW5jQ29udHJvbDxcbiAgRSA9IGFueSxcbiAgRiBleHRlbmRzIHtcbiAgICBbZjogc3RyaW5nXTogKCguLi5hcmdzOiBhbnlbXSkgPT4gUHJvbWlzZTxhbnk+KSB8IE9iamVjdCB8IFByaW1pdGl2ZTtcbiAgfSA9IHt9XG4+KGZ1bmN0aW9uc1RvV3JhcD86IEYpIHtcbiAgY29uc3QgZXJyb3IgPSB1c2VTdGF0ZTxFIHwgRXJyb3I+KCk7XG4gIGNvbnN0IGxvYWRpbmcgPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG5cbiAgcmV0dXJuIHVzZVJhd0FzeW5Db250cm9sKGZ1bmN0aW9uc1RvV3JhcCwgZXJyb3IsIGxvYWRpbmcpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUF1RSxTQUFBQyxRQUFBQyxNQUFBLEVBQUFDLGNBQUEsUUFBQUMsSUFBQSxHQUFBQyxNQUFBLENBQUFELElBQUEsQ0FBQUYsTUFBQSxPQUFBRyxNQUFBLENBQUFDLHFCQUFBLFFBQUFDLE9BQUEsR0FBQUYsTUFBQSxDQUFBQyxxQkFBQSxDQUFBSixNQUFBLEdBQUFDLGNBQUEsS0FBQUksT0FBQSxHQUFBQSxPQUFBLENBQUFDLE1BQUEsV0FBQUMsR0FBQSxXQUFBSixNQUFBLENBQUFLLHdCQUFBLENBQUFSLE1BQUEsRUFBQU8sR0FBQSxFQUFBRSxVQUFBLE9BQUFQLElBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULElBQUEsRUFBQUcsT0FBQSxZQUFBSCxJQUFBO0FBQUEsU0FBQVUsY0FBQUMsTUFBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLEVBQUFGLENBQUEsVUFBQUcsTUFBQSxXQUFBRixTQUFBLENBQUFELENBQUEsSUFBQUMsU0FBQSxDQUFBRCxDQUFBLFFBQUFBLENBQUEsT0FBQWYsT0FBQSxDQUFBSSxNQUFBLENBQUFjLE1BQUEsT0FBQUMsT0FBQSxXQUFBQyxHQUFBLElBQUFDLGVBQUEsQ0FBQVAsTUFBQSxFQUFBTSxHQUFBLEVBQUFGLE1BQUEsQ0FBQUUsR0FBQSxTQUFBaEIsTUFBQSxDQUFBa0IseUJBQUEsR0FBQWxCLE1BQUEsQ0FBQW1CLGdCQUFBLENBQUFULE1BQUEsRUFBQVYsTUFBQSxDQUFBa0IseUJBQUEsQ0FBQUosTUFBQSxLQUFBbEIsT0FBQSxDQUFBSSxNQUFBLENBQUFjLE1BQUEsR0FBQUMsT0FBQSxXQUFBQyxHQUFB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
@@ -0,0 +1,7 @@
1
+ /**
2
+ * It can assume 3 states
3
+ * [undefined] = The hook has just initialized, and will call the memoize function
4
+ * [T] = The hook initialized the value
5
+ * [null, error] = The hook failed to initialize and the error is available
6
+ */
7
+ export default function useAsyncMemo<T>(funcToMemoize: () => Promise<T>, depArr: any[]): [T | undefined | null, any];
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useAsyncMemo;
7
+ var _react = require("react");
8
+ var _useAsyncControl2 = _interopRequireDefault(require("../useAsyncControl"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
15
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
+ /**
17
+ * It can assume 3 states
18
+ * [undefined] = The hook has just initialized, and will call the memoize function
19
+ * [T] = The hook initialized the value
20
+ * [null, error] = The hook failed to initialize and the error is available
21
+ */
22
+ function useAsyncMemo(funcToMemoize, depArr) {
23
+ const _useAsyncControl = (0, _useAsyncControl2.default)(),
24
+ process = _useAsyncControl.process,
25
+ error = _useAsyncControl.error;
26
+ const _useState = (0, _react.useState)(),
27
+ _useState2 = _slicedToArray(_useState, 2),
28
+ memo = _useState2[0],
29
+ setMemo = _useState2[1];
30
+ (0, _react.useEffect)(function () {
31
+ process(funcToMemoize).then(setMemo).catch(function () {
32
+ return setMemo(null);
33
+ });
34
+ }, depArr);
35
+ return [memo, error];
36
+ }
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3VzZUFzeW5jQ29udHJvbDIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0Iiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfc2xpY2VkVG9BcnJheSIsImFyciIsImkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiVHlwZUVycm9yIiwibyIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwibiIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiY2FsbCIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiQXJyYXkiLCJmcm9tIiwidGVzdCIsImxlbiIsImxlbmd0aCIsImFycjIiLCJfaSIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiX3MiLCJfZSIsIl94IiwiX3IiLCJfYXJyIiwiX24iLCJfZCIsIm5leHQiLCJkb25lIiwicHVzaCIsInZhbHVlIiwiZXJyIiwicmV0dXJuIiwiaXNBcnJheSIsInVzZUFzeW5jTWVtbyIsImZ1bmNUb01lbW9pemUiLCJkZXBBcnIiLCJfdXNlQXN5bmNDb250cm9sIiwidXNlQXN5bmNDb250cm9sIiwicHJvY2VzcyIsImVycm9yIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwibWVtbyIsInNldE1lbW8iLCJ1c2VFZmZlY3QiLCJ0aGVuIiwiY2F0Y2giXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXRpbGl0eS91c2VBc3luY01lbW8udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHVzZUFzeW5jQ29udHJvbCBmcm9tIFwiLi4vdXNlQXN5bmNDb250cm9sXCI7XG5cbi8qKlxuICogSXQgY2FuIGFzc3VtZSAzIHN0YXRlc1xuICogW3VuZGVmaW5lZF0gPSBUaGUgaG9vayBoYXMganVzdCBpbml0aWFsaXplZCwgYW5kIHdpbGwgY2FsbCB0aGUgbWVtb2l6ZSBmdW5jdGlvblxuICogW1RdID0gVGhlIGhvb2sgaW5pdGlhbGl6ZWQgdGhlIHZhbHVlXG4gKiBbbnVsbCwgZXJyb3JdID0gVGhlIGhvb2sgZmFpbGVkIHRvIGluaXRpYWxpemUgYW5kIHRoZSBlcnJvciBpcyBhdmFpbGFibGVcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlQXN5bmNNZW1vPFQ+KFxuICBmdW5jVG9NZW1vaXplOiAoKSA9PiBQcm9taXNlPFQ+LFxuICBkZXBBcnI6IGFueVtdXG4pOiBbVCB8IHVuZGVmaW5lZCB8IG51bGwsIGFueV0ge1xuICBjb25zdCB7IHByb2Nlc3MsIGVycm9yIH0gPSB1c2VBc3luY0NvbnRyb2woKTtcbiAgY29uc3QgW21lbW8sIHNldE1lbW9dID0gdXNlU3RhdGU8VCB8IG51bGw+KCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBwcm9jZXNzKGZ1bmNUb01lbW9pemUpXG4gICAgICAudGhlbihzZXRNZW1vKVxuICAgICAgLmNhdGNoKCgpID0+IHNldE1lbW8obnVsbCkpO1xuICB9LCBkZXBBcnIpO1xuXG4gIHJldHVybiBbbWVtbywgZXJyb3JdO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxpQkFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQWlELFNBQUFFLHVCQUFBQyxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBQUEsU0FBQUcsZUFBQUMsR0FBQSxFQUFBQyxDQUFBLFdBQUFDLGVBQUEsQ0FBQUYsR0FBQSxLQUFBRyxxQkFBQSxDQUFBSCxHQUFBLEVBQUFDLENBQUEsS0FBQUcsMkJBQUEsQ0FBQUosR0FBQSxFQUFBQyxDQUFBLEtBQUFJLGdCQUFBO0FB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
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Provides a way to manually trigger a function and store it's result on a state
3
+ */
4
+ export default function useManualInit<T>(funcToMemoize: () => Promise<T>, depArr: any[]): [init: () => Promise<T>, memo: T | undefined | null, error: any];
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useManualInit;
7
+ var _react = require("react");
8
+ var _useAsyncControl2 = _interopRequireDefault(require("../useAsyncControl"));
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
11
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
12
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
14
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
15
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
+ /**
17
+ * Provides a way to manually trigger a function and store it's result on a state
18
+ */
19
+ function useManualInit(funcToMemoize, depArr) {
20
+ const _useAsyncControl = (0, _useAsyncControl2.default)(),
21
+ process = _useAsyncControl.process,
22
+ error = _useAsyncControl.error;
23
+ const _useState = (0, _react.useState)(),
24
+ _useState2 = _slicedToArray(_useState, 2),
25
+ memo = _useState2[0],
26
+ setMemo = _useState2[1];
27
+ const initCb = (0, _react.useCallback)(function () {
28
+ return process(funcToMemoize).then(function (result) {
29
+ setMemo(result);
30
+ return result;
31
+ }).catch(function () {
32
+ return setMemo(null);
33
+ });
34
+ }, depArr);
35
+ return [initCb, memo, error];
36
+ }
37
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiX3VzZUFzeW5jQ29udHJvbDIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0Iiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJfc2xpY2VkVG9BcnJheSIsImFyciIsImkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVSZXN0IiwiVHlwZUVycm9yIiwibyIsIm1pbkxlbiIsIl9hcnJheUxpa2VUb0FycmF5IiwibiIsIk9iamVjdCIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiY2FsbCIsInNsaWNlIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiQXJyYXkiLCJmcm9tIiwidGVzdCIsImxlbiIsImxlbmd0aCIsImFycjIiLCJfaSIsIlN5bWJvbCIsIml0ZXJhdG9yIiwiX3MiLCJfZSIsIl94IiwiX3IiLCJfYXJyIiwiX24iLCJfZCIsIm5leHQiLCJkb25lIiwicHVzaCIsInZhbHVlIiwiZXJyIiwicmV0dXJuIiwiaXNBcnJheSIsInVzZU1hbnVhbEluaXQiLCJmdW5jVG9NZW1vaXplIiwiZGVwQXJyIiwiX3VzZUFzeW5jQ29udHJvbCIsInVzZUFzeW5jQ29udHJvbCIsInByb2Nlc3MiLCJlcnJvciIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm1lbW8iLCJzZXRNZW1vIiwiaW5pdENiIiwidXNlQ2FsbGJhY2siLCJ0aGVuIiwicmVzdWx0IiwiY2F0Y2giXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXRpbGl0eS91c2VNYW51YWxJbml0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdXNlQXN5bmNDb250cm9sIGZyb20gXCIuLi91c2VBc3luY0NvbnRyb2xcIjtcblxuLyoqXG4gKiBQcm92aWRlcyBhIHdheSB0byBtYW51YWxseSB0cmlnZ2VyIGEgZnVuY3Rpb24gYW5kIHN0b3JlIGl0J3MgcmVzdWx0IG9uIGEgc3RhdGVcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlTWFudWFsSW5pdDxUPihcbiAgZnVuY1RvTWVtb2l6ZTogKCkgPT4gUHJvbWlzZTxUPixcbiAgZGVwQXJyOiBhbnlbXVxuKTogW2luaXQ6ICgpID0+IFByb21pc2U8VD4sIG1lbW86IFQgfCB1bmRlZmluZWQgfCBudWxsLCBlcnJvcjogYW55XSB7XG4gIGNvbnN0IHsgcHJvY2VzcywgZXJyb3IgfSA9IHVzZUFzeW5jQ29udHJvbCgpO1xuICBjb25zdCBbbWVtbywgc2V0TWVtb10gPSB1c2VTdGF0ZTxUIHwgbnVsbD4oKTtcbiAgY29uc3QgaW5pdENiID0gdXNlQ2FsbGJhY2soXG4gICAgKCkgPT5cbiAgICAgIHByb2Nlc3MoZnVuY1RvTWVtb2l6ZSlcbiAgICAgICAgLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgICAgICAgIHNldE1lbW8ocmVzdWx0KTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKCkgPT4gc2V0TWVtbyhudWxsKSksXG4gICAgZGVwQXJyXG4gICk7XG4gIHJldHVybiBbaW5pdENiLCBtZW1vLCBlcnJvcl07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFBaUQsU0FBQUUsdUJBQUFDLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFBQSxTQUFBRyxlQUFBQyxHQUFBLEVBQUFDLENBQUEsV0FBQUMsZUFBQSxDQUFBRixHQUFBLEtBQUFHLHFCQUFBLENBQUFILEdBQUEsRUFBQUMsQ0FBQSxLQUFBRywyQkFBQSxDQUFB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
@@ -0,0 +1,35 @@
1
+ export interface OrbDrawer {
2
+ drawOrb(x: number, y: number, radius: number): void;
3
+ }
4
+ declare class BaseOrb {
5
+ protected drawer: OrbDrawer;
6
+ constructor(drawer: OrbDrawer);
7
+ }
8
+ export declare class Orb extends BaseOrb {
9
+ x: number;
10
+ y: number;
11
+ vx: number;
12
+ vy: number;
13
+ radius: number;
14
+ bounds: {
15
+ width: number;
16
+ height: number;
17
+ };
18
+ constructor(drawer: OrbDrawer, velocity: number, bounds: Orb["bounds"], radius: number);
19
+ step(): void;
20
+ }
21
+ export declare class GuideOrb extends BaseOrb {
22
+ lastRadius: number;
23
+ lastX: number;
24
+ lastY: number;
25
+ deflateDuration: number;
26
+ constructor(drawer: OrbDrawer, deflateDuration: number);
27
+ step(size: number, sizeToIncrease: number, lastSizeTimestamp: number, lastPositionTimestamp: number, currPos: {
28
+ x: number;
29
+ y: number;
30
+ }, moveBy: {
31
+ x: number;
32
+ y: number;
33
+ }): void;
34
+ }
35
+ export {};
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Orb = exports.GuideOrb = void 0;
8
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
9
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
10
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
11
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
12
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
13
+ 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; } }
14
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
15
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
16
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
17
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
18
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
19
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
20
+ let BaseOrb = /*#__PURE__*/_createClass(function BaseOrb(drawer) {
21
+ _classCallCheck(this, BaseOrb);
22
+ this.drawer = drawer;
23
+ });
24
+ let Orb = /*#__PURE__*/function (_BaseOrb) {
25
+ _inherits(Orb, _BaseOrb);
26
+ var _super = _createSuper(Orb);
27
+ function Orb(drawer, velocity, bounds, radius) {
28
+ var _this;
29
+ _classCallCheck(this, Orb);
30
+ _this = _super.call(this, drawer);
31
+ _this.x = Math.random() * bounds.width | 0;
32
+ _this.y = Math.random() * bounds.height | 0;
33
+ _this.radius = radius;
34
+ _this.bounds = bounds;
35
+ var radiant = Math.random() * Math.PI * 2,
36
+ vel = velocity;
37
+ vel *= 0.2;
38
+ _this.vx = Math.cos(radiant) * vel;
39
+ _this.vy = Math.sin(radiant) * vel;
40
+ return _this;
41
+ }
42
+ _createClass(Orb, [{
43
+ key: "step",
44
+ value: function step() {
45
+ this.x += this.vx;
46
+ this.y += this.vy;
47
+ var radius = this.radius / 2;
48
+ if (this.x < -radius || this.x > this.bounds.width + radius) this.vx *= -1;
49
+ if (this.y < -radius || this.y > this.bounds.height + radius) this.vy *= -1;
50
+ this.drawer.drawOrb(this.x | 0, this.y | 0, this.radius);
51
+ }
52
+ }]);
53
+ return Orb;
54
+ }(BaseOrb);
55
+ exports.Orb = Orb;
56
+ let GuideOrb = /*#__PURE__*/function (_BaseOrb2) {
57
+ _inherits(GuideOrb, _BaseOrb2);
58
+ var _super2 = _createSuper(GuideOrb);
59
+ function GuideOrb(drawer, deflateDuration) {
60
+ var _this2;
61
+ _classCallCheck(this, GuideOrb);
62
+ _this2 = _super2.call(this, drawer);
63
+ _this2.deflateDuration = deflateDuration;
64
+ return _this2;
65
+ }
66
+ _createClass(GuideOrb, [{
67
+ key: "step",
68
+ value: function step(size, sizeToIncrease, lastSizeTimestamp, lastPositionTimestamp, currPos, moveBy) {
69
+ const deltaTime = Date.now() - lastSizeTimestamp;
70
+ const deltaTimePercent = deltaTime > 250 ? 1 : deltaTime * 100 / 250 / 100;
71
+ const radius = size - (sizeToIncrease - sizeToIncrease * deltaTimePercent);
72
+ this.lastRadius = radius;
73
+ const deltaTimePos = Date.now() - lastPositionTimestamp;
74
+ const deltaTimePosPercent = deltaTimePos > this.deflateDuration ? 1 : deltaTimePos * 100 / this.deflateDuration / 100;
75
+ const translateX = currPos.x - (moveBy.x - moveBy.x * deltaTimePosPercent);
76
+ this.lastX = translateX;
77
+ const translateY = currPos.y - (moveBy.y - moveBy.y * deltaTimePosPercent);
78
+ this.lastY = translateY;
79
+ this.drawer.drawOrb(translateX | 0, translateY | 0, radius);
80
+ }
81
+ }]);
82
+ return GuideOrb;
83
+ }(BaseOrb);
84
+ exports.GuideOrb = GuideOrb;
85
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNlT3JiIiwiX2NyZWF0ZUNsYXNzIiwiZHJhd2VyIiwiX2NsYXNzQ2FsbENoZWNrIiwiT3JiIiwiX0Jhc2VPcmIiLCJfaW5oZXJpdHMiLCJfc3VwZXIiLCJfY3JlYXRlU3VwZXIiLCJ2ZWxvY2l0eSIsImJvdW5kcyIsInJhZGl1cyIsIl90aGlzIiwiY2FsbCIsIngiLCJNYXRoIiwicmFuZG9tIiwid2lkdGgiLCJ5IiwiaGVpZ2h0IiwicmFkaWFudCIsIlBJIiwidmVsIiwidngiLCJjb3MiLCJ2eSIsInNpbiIsImtleSIsInZhbHVlIiwic3RlcCIsImRyYXdPcmIiLCJleHBvcnRzIiwiR3VpZGVPcmIiLCJfQmFzZU9yYjIiLCJfc3VwZXIyIiwiZGVmbGF0ZUR1cmF0aW9uIiwiX3RoaXMyIiwic2l6ZSIsInNpemVUb0luY3JlYXNlIiwibGFzdFNpemVUaW1lc3RhbXAiLCJsYXN0UG9zaXRpb25UaW1lc3RhbXAiLCJjdXJyUG9zIiwibW92ZUJ5IiwiZGVsdGFUaW1lIiwiRGF0ZSIsIm5vdyIsImRlbHRhVGltZVBlcmNlbnQiLCJsYXN0UmFkaXVzIiwiZGVsdGFUaW1lUG9zIiwiZGVsdGFUaW1lUG9zUGVyY2VudCIsInRyYW5zbGF0ZVgiLCJsYXN0WCIsInRyYW5zbGF0ZVkiLCJsYXN0WSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbHMvT3Jicy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE9yYkRyYXdlciB7XG4gIGRyYXdPcmIoeDogbnVtYmVyLCB5OiBudW1iZXIsIHJhZGl1czogbnVtYmVyKTogdm9pZDtcbn1cblxuY2xhc3MgQmFzZU9yYiB7XG4gIHByb3RlY3RlZCBkcmF3ZXI6IE9yYkRyYXdlcjtcbiAgY29uc3RydWN0b3IoZHJhd2VyOiBPcmJEcmF3ZXIpIHtcbiAgICB0aGlzLmRyYXdlciA9IGRyYXdlcjtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgT3JiIGV4dGVuZHMgQmFzZU9yYiB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xuICB2eDogbnVtYmVyO1xuICB2eTogbnVtYmVyO1xuICByYWRpdXM6IG51bWJlcjtcbiAgYm91bmRzOiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZHJhd2VyOiBPcmJEcmF3ZXIsXG4gICAgdmVsb2NpdHk6IG51bWJlcixcbiAgICBib3VuZHM6IE9yYltcImJvdW5kc1wiXSxcbiAgICByYWRpdXM6IG51bWJlclxuICApIHtcbiAgICBzdXBlcihkcmF3ZXIpO1xuICAgIHRoaXMueCA9IChNYXRoLnJhbmRvbSgpICogYm91bmRzLndpZHRoKSB8IDA7XG4gICAgdGhpcy55ID0gKE1hdGgucmFuZG9tKCkgKiBib3VuZHMuaGVpZ2h0KSB8IDA7XG4gICAgdGhpcy5yYWRpdXMgPSByYWRpdXM7XG4gICAgdGhpcy5ib3VuZHMgPSBib3VuZHM7XG5cbiAgICB2YXIgcmFkaWFudCA9IE1hdGgucmFuZG9tKCkgKiBNYXRoLlBJICogMixcbiAgICAgIHZlbCA9IHZlbG9jaXR5O1xuXG4gICAgdmVsICo9IDAuMjtcblxuICAgIHRoaXMudnggPSBNYXRoLmNvcyhyYWRpYW50KSAqIHZlbDtcbiAgICB0aGlzLnZ5ID0gTWF0aC5zaW4ocmFkaWFudCkgKiB2ZWw7XG4gIH1cbiAgc3RlcCgpIHtcbiAgICB0aGlzLnggKz0gdGhpcy52eDtcbiAgICB0aGlzLnkgKz0gdGhpcy52eTtcblxuICAgIHZhciByYWRpdXMgPSB0aGlzLnJhZGl1cyAvIDI7XG5cbiAgICBpZiAodGhpcy54IDwgLXJhZGl1cyB8fCB0aGlzLnggPiB0aGlzLmJvdW5kcy53aWR0aCArIHJhZGl1cykgdGhpcy52eCAqPSAtMTtcblxuICAgIGlmICh0aGlzLnkgPCAtcmFkaXVzIHx8IHRoaXMueSA+IHRoaXMuYm91bmRzLmhlaWdodCArIHJhZGl1cykgdGhpcy52eSAqPSAtMTtcblxuICAgIHRoaXMuZHJhd2VyLmRyYXdPcmIodGhpcy54IHwgMCwgdGhpcy55IHwgMCwgdGhpcy5yYWRpdXMpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBHdWlkZU9yYiBleHRlbmRzIEJhc2VPcmIge1xuICBsYXN0UmFkaXVzITogbnVtYmVyO1xuICBsYXN0WCE6IG51bWJlcjtcbiAgbGFzdFkhOiBudW1iZXI7XG4gIGRlZmxhdGVEdXJhdGlvbjogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKGRyYXdlcjogT3JiRHJhd2VyLCBkZWZsYXRlRHVyYXRpb246IG51bWJlcikge1xuICAgIHN1cGVyKGRyYXdlcik7XG4gICAgdGhpcy5kZWZsYXRlRHVyYXRpb24gPSBkZWZsYXRlRHVyYXRpb247XG4gIH1cblxuICBzdGVwKFxuICAgIHNpemU6IG51bWJlcixcbiAgICBzaXplVG9JbmNyZWFzZTogbnVtYmVyLFxuICAgIGxhc3RTaXplVGltZXN0YW1wOiBudW1iZXIsXG4gICAgbGFzdFBvc2l0aW9uVGltZXN0YW1wOiBudW1iZXIsXG4gICAgY3VyclBvczogeyB4OiBudW1iZXI7IHk6IG51bWJlciB9LFxuICAgIG1vdmVCeToge1xuICAgICAgeDogbnVtYmVyO1xuICAgICAgeTogbnVtYmVyO1xuICAgIH1cbiAgKSB7XG4gICAgY29uc3QgZGVsdGFUaW1lID0gRGF0ZS5ub3coKSAtIGxhc3RTaXplVGltZXN0YW1wO1xuICAgIGNvbnN0IGRlbHRhVGltZVBlcmNlbnQgPVxuICAgICAgZGVsdGFUaW1lID4gMjUwID8gMSA6IChkZWx0YVRpbWUgKiAxMDApIC8gMjUwIC8gMTAwO1xuXG4gICAgY29uc3QgcmFkaXVzID0gc2l6ZSAtIChzaXplVG9JbmNyZWFzZSAtIHNpemVUb0luY3JlYXNlICogZGVsdGFUaW1lUGVyY2VudCk7XG5cbiAgICB0aGlzLmxhc3RSYWRpdXMgPSByYWRpdXM7XG5cbiAgICBjb25zdCBkZWx0YVRpbWVQb3MgPSBEYXRlLm5vdygpIC0gbGFzdFBvc2l0aW9uVGltZXN0YW1wO1xuICAgIGNvbnN0IGRlbHRhVGltZVBvc1BlcmNlbnQgPVxuICAgICAgZGVsdGFUaW1lUG9zID4gdGhpcy5kZWZsYXRlRHVyYXRpb25cbiAgICAgICAgPyAxXG4gICAgICAgIDogKGRlbHRhVGltZVBvcyAqIDEwMCkgLyB0aGlzLmRlZmxhdGVEdXJhdGlvbiAvIDEwMDtcblxuICAgIGNvbnN0IHRyYW5zbGF0ZVggPSBjdXJyUG9zLnggLSAobW92ZUJ5LnggLSBtb3ZlQnkueCAqIGRlbHRhVGltZVBvc1BlcmNlbnQpO1xuICAgIHRoaXMubGFzdFggPSB0cmFuc2xhdGVYO1xuICAgIGNvbnN0IHRyYW5zbGF0ZVkgPSBjdXJyUG9zLnkgLSAobW92ZUJ5LnkgLSBtb3ZlQnkueSAqIGRlbHRhVGltZVBvc1BlcmNlbnQpO1xuICAgIHRoaXMubGFzdFkgPSB0cmFuc2xhdGVZO1xuXG4gICAgdGhpcy5kcmF3ZXIuZHJhd09yYih0cmFuc2xhdGVYIHwgMCwgdHJhbnNsYXRlWSB8IDAsIHJhZGl1cyk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUlNQSxPQUFPLGdCQUFBQyxZQUFBLENBRVgsU0FBQUQsUUFBWUUsTUFBaUIsRUFBRTtFQUFBQyxlQUFBLE9BQUFILE9BQUE7RUFDN0IsSUFBSSxDQUFDRSxNQUFNLEdBQUdBLE1BQU07QUFDdEIsQ0FBQztBQUFBLElBR1VFLEdBQUcsMEJBQUFDLFFBQUE7RUFBQUMsU0FBQSxDQUFBRixHQUFBLEVBQUFDLFFBQUE7RUFBQSxJQUFBRSxNQUFBLEdBQUFDLFlBQUEsQ0FBQUosR0FBQTtFQVFkLFNBQUFBLElBQ0VGLE1BQWlCLEVBQ2pCTyxRQUFnQixFQUNoQkMsTUFBcUIsRUFDckJDLE1BQWMsRUFDZDtJQUFBLElBQUFDLEtBQUE7SUFBQVQsZUFBQSxPQUFBQyxHQUFBO0lBQ0FRLEtBQUEsR0FBQUwsTUFBQSxDQUFBTSxJQUFBLE9BQU1YLE1BQU07SUFDWlUsS0FBQSxDQUFLRSxDQUFDLEdBQUlDLElBQUksQ0FBQ0MsTUFBTSxDQUFDLENBQUMsR0FBR04sTUFBTSxDQUFDTyxLQUFLLEdBQUksQ0FBQztJQUMzQ0wsS0FBQSxDQUFLTSxD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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onepercentio/one-ui",
3
- "version": "0.21.5",
3
+ "version": "0.22.1",
4
4
  "description": "A set of reusable components created through the development of Onepercent projects",
5
5
  "repository": "git@github.com:onepercentio/one-ui.git",
6
6
  "author": "Murilo Oliveira de Araujo <murilo.araujo@onepercent.io>",