easy-drag-and-drop 1.3.4 → 1.3.6

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.
@@ -159,7 +159,7 @@ function drag(mouseTop, mouseLeft) {
159
159
  this.callHandlers(eventType, relativeMouseTop, relativeMouseLeft);
160
160
  }
161
161
  function getTimeout() {
162
- var state = this.getState(), timeout = state.timeout;
162
+ var timeout = this.getState().timeout;
163
163
  return timeout;
164
164
  }
165
165
  function resetTimeout() {
@@ -172,19 +172,19 @@ function updateTimeout(timeout) {
172
172
  });
173
173
  }
174
174
  function getTopOffset() {
175
- var state = this.getState(), topOffset = state.topOffset;
175
+ var topOffset = this.getState().topOffset;
176
176
  return topOffset;
177
177
  }
178
178
  function getLeftOffset() {
179
- var state = this.getState(), leftOffset = state.leftOffset;
179
+ var leftOffset = this.getState().leftOffset;
180
180
  return leftOffset;
181
181
  }
182
182
  function getStartMouseTop() {
183
- var state = this.getState(), startMouseTop = state.startMouseTop;
183
+ var startMouseTop = this.getState().startMouseTop;
184
184
  return startMouseTop;
185
185
  }
186
186
  function getStartMouseLeft() {
187
- var state = this.getState(), startMouseLeft = state.startMouseLeft;
187
+ var startMouseLeft = this.getState().startMouseLeft;
188
188
  return startMouseLeft;
189
189
  }
190
190
  function setTopOffset(topOffset) {
@@ -305,4 +305,4 @@ function mouseMoveHandler(event, element) {
305
305
  event.stopPropagation();
306
306
  }
307
307
 
308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZHJhZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgd2luZG93LCBidXR0b25zLCBldmVudFR5cGVzIH0gZnJvbSBcImVhc3lcIjtcbmltcG9ydCB7IGtleUNvZGVzLCBhc3luY2hyb25vdXNVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCIgO1xuXG5pbXBvcnQgeyBTVEFSVF9EUkFHR0lOR19ERUxBWSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IG1vdXNlVG9wRnJvbUV2ZW50LCBtb3VzZUxlZnRGcm9tRXZlbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2V2ZW50XCI7XG5pbXBvcnQgeyBEUkFHX0VWRU5UX1RZUEUsIFNUT1BfRFJBR19FVkVOVF9UWVBFLCBTVEFSVF9EUkFHX0VWRU5UX1RZUEUgfSBmcm9tIFwiLi4vZXZlbnRUeXBlc1wiO1xuXG5jb25zdCB7IGZvckVhY2ggfSA9IGFzeW5jaHJvbm91c1V0aWxpdGllcyxcbiAgICAgIHsgRVNDQVBFX0tFWUNPREUgfSA9IGtleUNvZGVzLFxuICAgICAgeyBCTFVSX0VWRU5UX1RZUEUgfSA9IGV2ZW50VHlwZXMsXG4gICAgICB7IExFRlRfTU9VU0VfQlVUVE9OIH0gPSBidXR0b25zO1xuXG5jb25zdCBkcmFnRWxlbWVudCA9IG51bGw7XG5cbk9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICBkcmFnRWxlbWVudFxufSk7XG5cbmZ1bmN0aW9uIG9uRHJhZyhkcmFnSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBkcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZEcmFnKGRyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IGRyYWdIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9uU3RvcERyYWcoc3RvcERyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFNUT1BfRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gc3RvcERyYWdIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9mZlN0b3BEcmFnKHN0b3BEcmFnSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBTVE9QX0RSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHN0b3BEcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvblN0YXJ0RHJhZyhzdGFydERyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFNUQVJUX0RSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHN0YXJ0RHJhZ0hhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmU3RhcnREcmFnKHN0YXJ0RHJhZ0hhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gU1RBUlRfRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gc3RhcnREcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBlbmFibGVEcmFnKCkge1xuICBjb25zdCB7IG9uRHJhZywgb25TdG9wRHJhZywgb25TdGFydERyYWcgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgZHJhZ0hhbmRsZXIgPSBvbkRyYWcsIC8vL1xuICAgICAgICBzdG9wRHJhZ0hhbmRsZXIgPSBvblN0b3BEcmFnLCAvLy9cbiAgICAgICAgc3RhcnREcmFnSGFuZGxlciA9IG9uU3RhcnREcmFnLCAvLy9cbiAgICAgICAgdGltZW91dCA9IG51bGwsXG4gICAgICAgIHRvcE9mZnNldCA9IG51bGwsXG4gICAgICAgIGxlZnRPZmZzZXQgPSBudWxsLFxuICAgICAgICBzdGFydE1vdXNlVG9wID0gbnVsbCxcbiAgICAgICAgc3RhcnRNb3VzZUxlZnQgPSBudWxsO1xuXG4gIGRyYWdIYW5kbGVyICYmIHRoaXMub25EcmFnKGRyYWdIYW5kbGVyKTtcbiAgc3RvcERyYWdIYW5kbGVyICYmIHRoaXMub25TdG9wRHJhZyhzdG9wRHJhZ0hhbmRsZXIpO1xuICBzdGFydERyYWdIYW5kbGVyICYmIHRoaXMub25TdGFydERyYWcoc3RhcnREcmFnSGFuZGxlcik7XG5cbiAgdGhpcy5vbk1vdXNlRG93bihtb3VzZURvd25IYW5kbGVyLCB0aGlzKTtcblxuICB0aGlzLnNldFN0YXRlKHtcbiAgICB0aW1lb3V0LFxuICAgIHRvcE9mZnNldCxcbiAgICBsZWZ0T2Zmc2V0LFxuICAgIHN0YXJ0TW91c2VUb3AsXG4gICAgc3RhcnRNb3VzZUxlZnRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVEcmFnKCkge1xuICBjb25zdCB7IG9uRHJhZywgb25TdG9wRHJhZywgb25TdGFydERyYWcgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgZHJhZ0hhbmRsZXIgPSBvbkRyYWcsIC8vL1xuICAgICAgICBzdG9wRHJhZ0hhbmRsZXIgPSBvblN0b3BEcmFnLCAvLy9cbiAgICAgICAgc3RhcnREcmFnSGFuZGxlciA9IG9uU3RhcnREcmFnOyAvLy9cblxuICBkcmFnSGFuZGxlciAmJiB0aGlzLm9mZkRyYWcoZHJhZ0hhbmRsZXIpO1xuICBzdG9wRHJhZ0hhbmRsZXIgJiYgdGhpcy5vZmZTdG9wRHJhZyhzdG9wRHJhZ0hhbmRsZXIpO1xuICBzdGFydERyYWdIYW5kbGVyICYmIHRoaXMub2ZmU3RhcnREcmFnKHN0YXJ0RHJhZ0hhbmRsZXIpO1xuXG4gIHRoaXMub2ZmTW91c2VEb3duKG1vdXNlRG93bkhhbmRsZXIsIHRoaXMpO1xufVxuXG5mdW5jdGlvbiBpc0RyYWdnaW5nKCkge1xuICBjb25zdCBkcmFnZ2luZyA9IHRoaXMuaGFzQ2xhc3MoXCJkcmFnZ2luZ1wiKTtcblxuICByZXR1cm4gZHJhZ2dpbmc7XG59XG5cbmZ1bmN0aW9uIHN0YXJ0V2FpdGluZ1RvRHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KSB7XG4gIGxldCB0aW1lb3V0ID0gdGhpcy5nZXRUaW1lb3V0KCk7XG5cbiAgaWYgKHRpbWVvdXQgPT09IG51bGwpIHtcbiAgICB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0VGltZW91dCgpO1xuXG4gICAgICB0aGlzLnN0YXJ0RHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KTtcbiAgICB9LCBTVEFSVF9EUkFHR0lOR19ERUxBWSk7XG5cbiAgICB0aGlzLnVwZGF0ZVRpbWVvdXQodGltZW91dCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RvcFdhaXRpbmdUb0RyYWcoKSB7XG4gIGNvbnN0IHRpbWVvdXQgPSB0aGlzLmdldFRpbWVvdXQoKTtcblxuICBpZiAodGltZW91dCAhPT0gbnVsbCkge1xuICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcblxuICAgIHRoaXMucmVzZXRUaW1lb3V0KCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RhcnREcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpIHtcbiAgY29uc3QgYm91bmRzID0gdGhpcy5nZXRCb3VuZHMoKSxcbiAgICAgICAgZXZlbnRUeXBlID0gU1RBUlRfRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBib3VuZHNUb3AgPSBib3VuZHMuZ2V0VG9wKCksXG4gICAgICAgIGJvdW5kc0xlZnQgPSBib3VuZHMuZ2V0TGVmdCgpLFxuICAgICAgICBib3VuZHNSaWdodCA9IGJvdW5kcy5nZXRSaWdodCgpLFxuICAgICAgICBib3VuZHNCb3R0b20gPSBib3VuZHMuZ2V0Qm90dG9tKCksXG4gICAgICAgIGJvdW5kc1dpZHRoID0gYm91bmRzUmlnaHQgLSBib3VuZHNMZWZ0LFxuICAgICAgICBib3VuZHNIZWlnaHQgPSBib3VuZHNCb3R0b20gLSBib3VuZHNUb3AsXG4gICAgICAgIHRvcE9mZnNldCA9IE1hdGguZmxvb3IoYm91bmRzSGVpZ2h0IC8gMiksXG4gICAgICAgIGxlZnRPZmZzZXQgPSBNYXRoLmZsb29yKGJvdW5kc1dpZHRoIC8gMiksXG4gICAgICAgIGRyYWdFbGVtZW50ID0gdGhpcywgLy8vXG4gICAgICAgIHN0YXJ0TW91c2VUb3AgPSBtb3VzZVRvcCwgLy8vXG4gICAgICAgIHN0YXJ0TW91c2VMZWZ0ID0gbW91c2VMZWZ0OyAvLy9cblxuICB3aW5kb3cub25LZXlEb3duKGtleURvd25IYW5kbGVyLCB0aGlzKTtcblxuICB3aW5kb3cub25Nb3VzZU1vdmUobW91c2VNb3ZlSGFuZGxlciwgdGhpcyk7XG5cbiAgdGhpcy5hZGRDbGFzcyhcImRyYWdnaW5nXCIpO1xuXG4gIE9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICAgIGRyYWdFbGVtZW50XG4gIH0pO1xuXG4gIHRoaXMuc2V0VG9wT2Zmc2V0KHRvcE9mZnNldCk7XG5cbiAgdGhpcy5zZXRMZWZ0T2Zmc2V0KGxlZnRPZmZzZXQpO1xuXG4gIHRoaXMuc2V0U3RhcnRNb3VzZVRvcChzdGFydE1vdXNlVG9wKTtcblxuICB0aGlzLnNldFN0YXJ0TW91c2VMZWZ0KHN0YXJ0TW91c2VMZWZ0KTtcblxuICB0aGlzLmNhbGxIYW5kbGVycyhldmVudFR5cGUpO1xuXG4gIHRoaXMuZHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KTtcbn1cblxuZnVuY3Rpb24gc3RvcERyYWcoYWJvcnRlZCkge1xuICBjb25zdCB7IGRyb3BFbGVtZW50IH0gPSBnbG9iYWxUaGlzLFxuICAgICAgICBldmVudFR5cGUgPSBTVE9QX0RSQUdfRVZFTlRfVFlQRTtcblxuICB3aW5kb3cub2ZmS2V5RG93bihrZXlEb3duSGFuZGxlciwgdGhpcyk7XG5cbiAgd2luZG93Lm9mZk1vdXNlTW92ZShtb3VzZU1vdmVIYW5kbGVyLCB0aGlzKTtcblxuICBjb25zdCBkb25lID0gKCkgPT4ge1xuICAgIHRoaXMuY2FsbEhhbmRsZXJzQXN5bmMoZXZlbnRUeXBlLCBkcm9wRWxlbWVudCwgYWJvcnRlZCwgKCkgPT4ge1xuICAgICAgY29uc3QgZHJhZ0VsZW1lbnQgPSBudWxsO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICAgICAgZHJhZ0VsZW1lbnRcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlbW92ZUNsYXNzKFwiZHJhZ2dpbmdcIik7XG4gICAgfSk7XG4gIH1cblxuICBpZiAoZHJvcEVsZW1lbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCBkcmFnRWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgZHJvcEVsZW1lbnQuZHJvcChkcmFnRWxlbWVudCwgYWJvcnRlZCwgZG9uZSk7XG4gIH0gZWxzZSB7XG4gICAgZG9uZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRyYWcobW91c2VUb3AsIG1vdXNlTGVmdCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIHNjcm9sbFRvcCA9IHdpbmRvdy5nZXRTY3JvbGxUb3AoKSxcbiAgICAgICAgc2Nyb2xsTGVmdCA9IHdpbmRvdy5nZXRTY3JvbGxMZWZ0KCksXG4gICAgICAgIHRvcE9mZnNldCA9IHRoaXMuZ2V0VG9wT2Zmc2V0KCksXG4gICAgICAgIGxlZnRPZmZzZXQgPSB0aGlzLmdldExlZnRPZmZzZXQoKSxcbiAgICAgICAgc3RhcnRNb3VzZVRvcCA9IHRoaXMuZ2V0U3RhcnRNb3VzZVRvcCgpLFxuICAgICAgICBzdGFydE1vdXNlTGVmdCA9IHRoaXMuZ2V0U3RhcnRNb3VzZUxlZnQoKSxcbiAgICAgICAgcmVsYXRpdmVNb3VzZVRvcCA9IG1vdXNlVG9wIC0gc3RhcnRNb3VzZVRvcCxcbiAgICAgICAgcmVsYXRpdmVNb3VzZUxlZnQgPSBtb3VzZUxlZnQgLSBzdGFydE1vdXNlTGVmdDtcblxuICBsZXQgdG9wID0gc3RhcnRNb3VzZVRvcCArIHJlbGF0aXZlTW91c2VUb3AgLSB0b3BPZmZzZXQgLSBzY3JvbGxUb3AsXG4gICAgICBsZWZ0ID0gc3RhcnRNb3VzZUxlZnQgKyByZWxhdGl2ZU1vdXNlTGVmdCAtIGxlZnRPZmZzZXQgLSBzY3JvbGxMZWZ0O1xuXG4gIHRvcCA9IGAke3RvcH1weGA7IC8vL1xuICBsZWZ0ID0gYCR7bGVmdH1weGA7IC8vL1xuXG4gIGNvbnN0IGNzcyA9IHtcbiAgICB0b3AsXG4gICAgbGVmdFxuICB9O1xuXG4gIHRoaXMuY3NzKGNzcyk7XG5cbiAgdGhpcy5jYWxsSGFuZGxlcnMoZXZlbnRUeXBlLCByZWxhdGl2ZU1vdXNlVG9wLCByZWxhdGl2ZU1vdXNlTGVmdCk7XG59XG5cbmZ1bmN0aW9uIGdldFRpbWVvdXQoKSB7XG4gIGNvbnN0IHN0YXRlID0gdGhpcy5nZXRTdGF0ZSgpLFxuICAgICAgICB7IHRpbWVvdXQgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB0aW1lb3V0O1xufVxuXG5mdW5jdGlvbiByZXNldFRpbWVvdXQoKSB7XG4gIGNvbnN0IHRpbWVvdXQgPSBudWxsO1xuXG4gIHRoaXMudXBkYXRlVGltZW91dCh0aW1lb3V0KTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlVGltZW91dCh0aW1lb3V0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHRpbWVvdXRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldFRvcE9mZnNldCgpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLmdldFN0YXRlKCksXG4gICAgICAgIHsgdG9wT2Zmc2V0IH0gPSBzdGF0ZTtcblxuICByZXR1cm4gdG9wT2Zmc2V0O1xufVxuXG5mdW5jdGlvbiBnZXRMZWZ0T2Zmc2V0KCkge1xuICBjb25zdCBzdGF0ZSA9IHRoaXMuZ2V0U3RhdGUoKSxcbiAgICAgICAgeyBsZWZ0T2Zmc2V0IH0gPSBzdGF0ZTtcblxuICByZXR1cm4gbGVmdE9mZnNldDtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhcnRNb3VzZVRvcCgpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLmdldFN0YXRlKCksXG4gICAgICB7IHN0YXJ0TW91c2VUb3AgfSA9IHN0YXRlO1xuXG4gIHJldHVybiBzdGFydE1vdXNlVG9wO1xufVxuXG5mdW5jdGlvbiBnZXRTdGFydE1vdXNlTGVmdCgpIHtcbiAgY29uc3Qgc3RhdGUgPSB0aGlzLmdldFN0YXRlKCksXG4gICAgICB7IHN0YXJ0TW91c2VMZWZ0IH0gPSBzdGF0ZTtcblxuICByZXR1cm4gc3RhcnRNb3VzZUxlZnQ7XG59XG5cbmZ1bmN0aW9uIHNldFRvcE9mZnNldCh0b3BPZmZzZXQpIHtcbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgdG9wT2Zmc2V0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBzZXRMZWZ0T2Zmc2V0KGxlZnRPZmZzZXQpIHtcbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgbGVmdE9mZnNldFxuICB9KTtcbn1cblxuZnVuY3Rpb24gc2V0U3RhcnRNb3VzZVRvcChzdGFydE1vdXNlVG9wKSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHN0YXJ0TW91c2VUb3BcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHNldFN0YXJ0TW91c2VMZWZ0KHN0YXJ0TW91c2VMZWZ0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHN0YXJ0TW91c2VMZWZ0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjYWxsSGFuZGxlcnMoZXZlbnRUeXBlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gIGV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGV2ZW50TGlzdGVuZXIpID0+IHtcbiAgICBjb25zdCB7IGhhbmRsZXIsIGVsZW1lbnQ6IGhhbmRsZXJFbGVtZW50IH0gPSBldmVudExpc3RlbmVyLFxuICAgICAgICAgIGVsZW1lbnQgPSB0aGlzOyAvLy9cblxuICAgIGhhbmRsZXIuY2FsbChoYW5kbGVyRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBlbGVtZW50KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNhbGxIYW5kbGVyc0FzeW5jKGV2ZW50VHlwZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IGRvbmUgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksICAvLy9cbiAgICAgICAgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gIGZvckVhY2goZXZlbnRMaXN0ZW5lcnMsIChldmVudExpc3RlbmVyLCBuZXh0KSA9PiB7XG4gICAgY29uc3QgeyBoYW5kbGVyLCBlbGVtZW50OiBoYW5kbGVyRWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgICBlbGVtZW50ID0gdGhpcywgLy8vXG4gICAgICAgICAgZG9uZSA9IG5leHQ7ICAvLy9cblxuICAgIGhhbmRsZXIuY2FsbChoYW5kbGVyRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBlbGVtZW50LCBkb25lKTtcbiAgfSwgZG9uZSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgb25EcmFnLFxuICBvZmZEcmFnLFxuICBvblN0b3BEcmFnLFxuICBvZmZTdG9wRHJhZyxcbiAgb25TdGFydERyYWcsXG4gIG9mZlN0YXJ0RHJhZyxcbiAgZW5hYmxlRHJhZyxcbiAgZGlzYWJsZURyYWcsXG4gIGlzRHJhZ2dpbmcsXG4gIHN0YXJ0V2FpdGluZ1RvRHJhZyxcbiAgc3RvcFdhaXRpbmdUb0RyYWcsXG4gIHN0YXJ0RHJhZyxcbiAgc3RvcERyYWcsXG4gIGRyYWcsXG4gIGdldFRpbWVvdXQsXG4gIHJlc2V0VGltZW91dCxcbiAgdXBkYXRlVGltZW91dCxcbiAgZ2V0VG9wT2Zmc2V0LFxuICBnZXRMZWZ0T2Zmc2V0LFxuICBnZXRTdGFydE1vdXNlVG9wLFxuICBnZXRTdGFydE1vdXNlTGVmdCxcbiAgc2V0VG9wT2Zmc2V0LFxuICBzZXRMZWZ0T2Zmc2V0LFxuICBzZXRTdGFydE1vdXNlVG9wLFxuICBzZXRTdGFydE1vdXNlTGVmdCxcbiAgY2FsbEhhbmRsZXJzLFxuICBjYWxsSGFuZGxlcnNBc3luY1xufTtcblxuZnVuY3Rpb24ga2V5RG93bkhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgeyBrZXlDb2RlIH0gPSBldmVudCxcbiAgICAgICAgZXNjYXBlS2V5ID0gKGtleUNvZGUgPT09IEVTQ0FQRV9LRVlDT0RFKSxcbiAgICAgICAgYWJvcnRlZCA9IHRydWU7XG5cbiAgaWYgKGVzY2FwZUtleSkge1xuICAgIHRoaXMuc3RvcERyYWcoYWJvcnRlZCk7XG5cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtb3VzZVVwSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCBkcmFnZ2luZyA9IHRoaXMuaXNEcmFnZ2luZygpLFxuICAgICAgICBhYm9ydGVkID0gZmFsc2U7XG5cbiAgZHJhZ2dpbmcgP1xuICAgIHRoaXMuc3RvcERyYWcoYWJvcnRlZCkgOlxuICAgICAgdGhpcy5zdG9wV2FpdGluZ1RvRHJhZygpO1xuXG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gIHdpbmRvdy5vZmYoQkxVUl9FVkVOVF9UWVBFLCBtb3VzZVVwSGFuZGxlciwgdGhpcyk7ICAvLy9cblxuICB3aW5kb3cub2ZmTW91c2VVcChtb3VzZVVwSGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIG1vdXNlRG93bkhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgeyBidXR0b24gfSA9IGV2ZW50O1xuXG4gIGlmIChidXR0b24gPT09IExFRlRfTU9VU0VfQlVUVE9OKSB7XG4gICAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmlzRHJhZ2dpbmcoKTtcblxuICAgIGlmICghZHJhZ2dpbmcpIHtcbiAgICAgIGNvbnN0IG1vdXNlVG9wID0gbW91c2VUb3BGcm9tRXZlbnQoZXZlbnQpLFxuICAgICAgICAgICAgbW91c2VMZWZ0ID0gbW91c2VMZWZ0RnJvbUV2ZW50KGV2ZW50KTtcblxuICAgICAgdGhpcy5zdGFydFdhaXRpbmdUb0RyYWcobW91c2VUb3AsIG1vdXNlTGVmdCk7XG4gICAgfVxuICB9XG5cbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgd2luZG93Lm9uKEJMVVJfRVZFTlRfVFlQRSwgbW91c2VVcEhhbmRsZXIsIHRoaXMpOyAvLy9cblxuICB3aW5kb3cub25Nb3VzZVVwKG1vdXNlVXBIYW5kbGVyLCB0aGlzKTtcbn1cblxuZnVuY3Rpb24gbW91c2VNb3ZlSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCBkcmFnZ2luZyA9IHRoaXMuaXNEcmFnZ2luZygpO1xuXG4gIGlmIChkcmFnZ2luZykge1xuICAgIGNvbnN0IG1vdXNlVG9wID0gbW91c2VUb3BGcm9tRXZlbnQoZXZlbnQpLFxuICAgICAgICAgIG1vdXNlTGVmdCA9IG1vdXNlTGVmdEZyb21FdmVudChldmVudCk7XG5cbiAgICB0aGlzLmRyYWcobW91c2VUb3AsIG1vdXNlTGVmdCk7XG4gIH1cblxuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbn1cbiJdLCJuYW1lcyI6WyJmb3JFYWNoIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwiRVNDQVBFX0tFWUNPREUiLCJrZXlDb2RlcyIsIkJMVVJfRVZFTlRfVFlQRSIsImV2ZW50VHlwZXMiLCJMRUZUX01PVVNFX0JVVFRPTiIsImJ1dHRvbnMiLCJkcmFnRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsImdsb2JhbFRoaXMiLCJvbkRyYWciLCJkcmFnSGFuZGxlciIsImVsZW1lbnQiLCJldmVudFR5cGUiLCJEUkFHX0VWRU5UX1RZUEUiLCJoYW5kbGVyIiwiYWRkRXZlbnRMaXN0ZW5lciIsIm9mZkRyYWciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib25TdG9wRHJhZyIsInN0b3BEcmFnSGFuZGxlciIsIlNUT1BfRFJBR19FVkVOVF9UWVBFIiwib2ZmU3RvcERyYWciLCJvblN0YXJ0RHJhZyIsInN0YXJ0RHJhZ0hhbmRsZXIiLCJTVEFSVF9EUkFHX0VWRU5UX1RZUEUiLCJvZmZTdGFydERyYWciLCJlbmFibGVEcmFnIiwicHJvcGVydGllcyIsInRpbWVvdXQiLCJ0b3BPZmZzZXQiLCJsZWZ0T2Zmc2V0Iiwic3RhcnRNb3VzZVRvcCIsInN0YXJ0TW91c2VMZWZ0Iiwib25Nb3VzZURvd24iLCJtb3VzZURvd25IYW5kbGVyIiwic2V0U3RhdGUiLCJkaXNhYmxlRHJhZyIsIm9mZk1vdXNlRG93biIsImlzRHJhZ2dpbmciLCJkcmFnZ2luZyIsImhhc0NsYXNzIiwic3RhcnRXYWl0aW5nVG9EcmFnIiwibW91c2VUb3AiLCJtb3VzZUxlZnQiLCJnZXRUaW1lb3V0Iiwic2V0VGltZW91dCIsInJlc2V0VGltZW91dCIsInN0YXJ0RHJhZyIsIlNUQVJUX0RSQUdHSU5HX0RFTEFZIiwidXBkYXRlVGltZW91dCIsInN0b3BXYWl0aW5nVG9EcmFnIiwiY2xlYXJUaW1lb3V0IiwiYm91bmRzIiwiZ2V0Qm91bmRzIiwiYm91bmRzVG9wIiwiZ2V0VG9wIiwiYm91bmRzTGVmdCIsImdldExlZnQiLCJib3VuZHNSaWdodCIsImdldFJpZ2h0IiwiYm91bmRzQm90dG9tIiwiZ2V0Qm90dG9tIiwiYm91bmRzV2lkdGgiLCJib3VuZHNIZWlnaHQiLCJNYXRoIiwiZmxvb3IiLCJ3aW5kb3ciLCJvbktleURvd24iLCJrZXlEb3duSGFuZGxlciIsIm9uTW91c2VNb3ZlIiwibW91c2VNb3ZlSGFuZGxlciIsImFkZENsYXNzIiwic2V0VG9wT2Zmc2V0Iiwic2V0TGVmdE9mZnNldCIsInNldFN0YXJ0TW91c2VUb3AiLCJzZXRTdGFydE1vdXNlTGVmdCIsImNhbGxIYW5kbGVycyIsImRyYWciLCJzdG9wRHJhZyIsImFib3J0ZWQiLCJkcm9wRWxlbWVudCIsIm9mZktleURvd24iLCJvZmZNb3VzZU1vdmUiLCJkb25lIiwiY2FsbEhhbmRsZXJzQXN5bmMiLCJyZW1vdmVDbGFzcyIsImRyb3AiLCJzY3JvbGxUb3AiLCJnZXRTY3JvbGxUb3AiLCJzY3JvbGxMZWZ0IiwiZ2V0U2Nyb2xsTGVmdCIsImdldFRvcE9mZnNldCIsImdldExlZnRPZmZzZXQiLCJnZXRTdGFydE1vdXNlVG9wIiwiZ2V0U3RhcnRNb3VzZUxlZnQiLCJyZWxhdGl2ZU1vdXNlVG9wIiwicmVsYXRpdmVNb3VzZUxlZnQiLCJ0b3AiLCJsZWZ0IiwiY3NzIiwic3RhdGUiLCJnZXRTdGF0ZSIsInVwZGF0ZVN0YXRlIiwicmVtYWluaW5nQXJndW1lbnRzIiwiZXZlbnRMaXN0ZW5lcnMiLCJmaW5kRXZlbnRMaXN0ZW5lcnMiLCJldmVudExpc3RlbmVyIiwiaGFuZGxlckVsZW1lbnQiLCJjYWxsIiwicG9wIiwibmV4dCIsImV2ZW50Iiwia2V5Q29kZSIsImVzY2FwZUtleSIsInN0b3BQcm9wYWdhdGlvbiIsIm1vdXNlVXBIYW5kbGVyIiwib2ZmIiwib2ZmTW91c2VVcCIsImJ1dHRvbiIsIm1vdXNlVG9wRnJvbUV2ZW50IiwibW91c2VMZWZ0RnJvbUV2ZW50Iiwib24iLCJvbk1vdXNlVXAiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWdVQTs7O2VBQUE7OztvQkE5VDRDO3lCQUNJO3lCQUVYO3FCQUNpQjswQkFDdUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdFLElBQU0sQUFBRUEsVUFBWUMsZ0NBQXFCLENBQWpDRCxTQUNGLEFBQUVFLGlCQUFtQkMsbUJBQVEsQ0FBM0JELGdCQUNGLEFBQUVFLGtCQUFvQkMsZ0JBQVUsQ0FBOUJE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
308
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZHJhZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgd2luZG93LCBidXR0b25zLCBldmVudFR5cGVzIH0gZnJvbSBcImVhc3lcIjtcbmltcG9ydCB7IGtleUNvZGVzLCBhc3luY2hyb25vdXNVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCIgO1xuXG5pbXBvcnQgeyBTVEFSVF9EUkFHR0lOR19ERUxBWSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IG1vdXNlVG9wRnJvbUV2ZW50LCBtb3VzZUxlZnRGcm9tRXZlbnQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2V2ZW50XCI7XG5pbXBvcnQgeyBEUkFHX0VWRU5UX1RZUEUsIFNUT1BfRFJBR19FVkVOVF9UWVBFLCBTVEFSVF9EUkFHX0VWRU5UX1RZUEUgfSBmcm9tIFwiLi4vZXZlbnRUeXBlc1wiO1xuXG5jb25zdCB7IGZvckVhY2ggfSA9IGFzeW5jaHJvbm91c1V0aWxpdGllcyxcbiAgICAgIHsgRVNDQVBFX0tFWUNPREUgfSA9IGtleUNvZGVzLFxuICAgICAgeyBCTFVSX0VWRU5UX1RZUEUgfSA9IGV2ZW50VHlwZXMsXG4gICAgICB7IExFRlRfTU9VU0VfQlVUVE9OIH0gPSBidXR0b25zO1xuXG5jb25zdCBkcmFnRWxlbWVudCA9IG51bGw7XG5cbk9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICBkcmFnRWxlbWVudFxufSk7XG5cbmZ1bmN0aW9uIG9uRHJhZyhkcmFnSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBkcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZEcmFnKGRyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IGRyYWdIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9uU3RvcERyYWcoc3RvcERyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFNUT1BfRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gc3RvcERyYWdIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9mZlN0b3BEcmFnKHN0b3BEcmFnSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBTVE9QX0RSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHN0b3BEcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvblN0YXJ0RHJhZyhzdGFydERyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFNUQVJUX0RSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHN0YXJ0RHJhZ0hhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmU3RhcnREcmFnKHN0YXJ0RHJhZ0hhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gU1RBUlRfRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gc3RhcnREcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBlbmFibGVEcmFnKCkge1xuICBjb25zdCB7IG9uRHJhZywgb25TdG9wRHJhZywgb25TdGFydERyYWcgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgZHJhZ0hhbmRsZXIgPSBvbkRyYWcsIC8vL1xuICAgICAgICBzdG9wRHJhZ0hhbmRsZXIgPSBvblN0b3BEcmFnLCAvLy9cbiAgICAgICAgc3RhcnREcmFnSGFuZGxlciA9IG9uU3RhcnREcmFnLCAvLy9cbiAgICAgICAgdGltZW91dCA9IG51bGwsXG4gICAgICAgIHRvcE9mZnNldCA9IG51bGwsXG4gICAgICAgIGxlZnRPZmZzZXQgPSBudWxsLFxuICAgICAgICBzdGFydE1vdXNlVG9wID0gbnVsbCxcbiAgICAgICAgc3RhcnRNb3VzZUxlZnQgPSBudWxsO1xuXG4gIGRyYWdIYW5kbGVyICYmIHRoaXMub25EcmFnKGRyYWdIYW5kbGVyKTtcbiAgc3RvcERyYWdIYW5kbGVyICYmIHRoaXMub25TdG9wRHJhZyhzdG9wRHJhZ0hhbmRsZXIpO1xuICBzdGFydERyYWdIYW5kbGVyICYmIHRoaXMub25TdGFydERyYWcoc3RhcnREcmFnSGFuZGxlcik7XG5cbiAgdGhpcy5vbk1vdXNlRG93bihtb3VzZURvd25IYW5kbGVyLCB0aGlzKTtcblxuICB0aGlzLnNldFN0YXRlKHtcbiAgICB0aW1lb3V0LFxuICAgIHRvcE9mZnNldCxcbiAgICBsZWZ0T2Zmc2V0LFxuICAgIHN0YXJ0TW91c2VUb3AsXG4gICAgc3RhcnRNb3VzZUxlZnRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVEcmFnKCkge1xuICBjb25zdCB7IG9uRHJhZywgb25TdG9wRHJhZywgb25TdGFydERyYWcgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgZHJhZ0hhbmRsZXIgPSBvbkRyYWcsIC8vL1xuICAgICAgICBzdG9wRHJhZ0hhbmRsZXIgPSBvblN0b3BEcmFnLCAvLy9cbiAgICAgICAgc3RhcnREcmFnSGFuZGxlciA9IG9uU3RhcnREcmFnOyAvLy9cblxuICBkcmFnSGFuZGxlciAmJiB0aGlzLm9mZkRyYWcoZHJhZ0hhbmRsZXIpO1xuICBzdG9wRHJhZ0hhbmRsZXIgJiYgdGhpcy5vZmZTdG9wRHJhZyhzdG9wRHJhZ0hhbmRsZXIpO1xuICBzdGFydERyYWdIYW5kbGVyICYmIHRoaXMub2ZmU3RhcnREcmFnKHN0YXJ0RHJhZ0hhbmRsZXIpO1xuXG4gIHRoaXMub2ZmTW91c2VEb3duKG1vdXNlRG93bkhhbmRsZXIsIHRoaXMpO1xufVxuXG5mdW5jdGlvbiBpc0RyYWdnaW5nKCkge1xuICBjb25zdCBkcmFnZ2luZyA9IHRoaXMuaGFzQ2xhc3MoXCJkcmFnZ2luZ1wiKTtcblxuICByZXR1cm4gZHJhZ2dpbmc7XG59XG5cbmZ1bmN0aW9uIHN0YXJ0V2FpdGluZ1RvRHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KSB7XG4gIGxldCB0aW1lb3V0ID0gdGhpcy5nZXRUaW1lb3V0KCk7XG5cbiAgaWYgKHRpbWVvdXQgPT09IG51bGwpIHtcbiAgICB0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0VGltZW91dCgpO1xuXG4gICAgICB0aGlzLnN0YXJ0RHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KTtcbiAgICB9LCBTVEFSVF9EUkFHR0lOR19ERUxBWSk7XG5cbiAgICB0aGlzLnVwZGF0ZVRpbWVvdXQodGltZW91dCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RvcFdhaXRpbmdUb0RyYWcoKSB7XG4gIGNvbnN0IHRpbWVvdXQgPSB0aGlzLmdldFRpbWVvdXQoKTtcblxuICBpZiAodGltZW91dCAhPT0gbnVsbCkge1xuICAgIGNsZWFyVGltZW91dCh0aW1lb3V0KTtcblxuICAgIHRoaXMucmVzZXRUaW1lb3V0KCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RhcnREcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpIHtcbiAgY29uc3QgYm91bmRzID0gdGhpcy5nZXRCb3VuZHMoKSxcbiAgICAgICAgZXZlbnRUeXBlID0gU1RBUlRfRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBib3VuZHNUb3AgPSBib3VuZHMuZ2V0VG9wKCksXG4gICAgICAgIGJvdW5kc0xlZnQgPSBib3VuZHMuZ2V0TGVmdCgpLFxuICAgICAgICBib3VuZHNSaWdodCA9IGJvdW5kcy5nZXRSaWdodCgpLFxuICAgICAgICBib3VuZHNCb3R0b20gPSBib3VuZHMuZ2V0Qm90dG9tKCksXG4gICAgICAgIGJvdW5kc1dpZHRoID0gYm91bmRzUmlnaHQgLSBib3VuZHNMZWZ0LFxuICAgICAgICBib3VuZHNIZWlnaHQgPSBib3VuZHNCb3R0b20gLSBib3VuZHNUb3AsXG4gICAgICAgIHRvcE9mZnNldCA9IE1hdGguZmxvb3IoYm91bmRzSGVpZ2h0IC8gMiksXG4gICAgICAgIGxlZnRPZmZzZXQgPSBNYXRoLmZsb29yKGJvdW5kc1dpZHRoIC8gMiksXG4gICAgICAgIGRyYWdFbGVtZW50ID0gdGhpcywgLy8vXG4gICAgICAgIHN0YXJ0TW91c2VUb3AgPSBtb3VzZVRvcCwgLy8vXG4gICAgICAgIHN0YXJ0TW91c2VMZWZ0ID0gbW91c2VMZWZ0OyAvLy9cblxuICB3aW5kb3cub25LZXlEb3duKGtleURvd25IYW5kbGVyLCB0aGlzKTtcblxuICB3aW5kb3cub25Nb3VzZU1vdmUobW91c2VNb3ZlSGFuZGxlciwgdGhpcyk7XG5cbiAgdGhpcy5hZGRDbGFzcyhcImRyYWdnaW5nXCIpO1xuXG4gIE9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICAgIGRyYWdFbGVtZW50XG4gIH0pO1xuXG4gIHRoaXMuc2V0VG9wT2Zmc2V0KHRvcE9mZnNldCk7XG5cbiAgdGhpcy5zZXRMZWZ0T2Zmc2V0KGxlZnRPZmZzZXQpO1xuXG4gIHRoaXMuc2V0U3RhcnRNb3VzZVRvcChzdGFydE1vdXNlVG9wKTtcblxuICB0aGlzLnNldFN0YXJ0TW91c2VMZWZ0KHN0YXJ0TW91c2VMZWZ0KTtcblxuICB0aGlzLmNhbGxIYW5kbGVycyhldmVudFR5cGUpO1xuXG4gIHRoaXMuZHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KTtcbn1cblxuZnVuY3Rpb24gc3RvcERyYWcoYWJvcnRlZCkge1xuICBjb25zdCB7IGRyb3BFbGVtZW50IH0gPSBnbG9iYWxUaGlzLFxuICAgICAgICBldmVudFR5cGUgPSBTVE9QX0RSQUdfRVZFTlRfVFlQRTtcblxuICB3aW5kb3cub2ZmS2V5RG93bihrZXlEb3duSGFuZGxlciwgdGhpcyk7XG5cbiAgd2luZG93Lm9mZk1vdXNlTW92ZShtb3VzZU1vdmVIYW5kbGVyLCB0aGlzKTtcblxuICBjb25zdCBkb25lID0gKCkgPT4ge1xuICAgIHRoaXMuY2FsbEhhbmRsZXJzQXN5bmMoZXZlbnRUeXBlLCBkcm9wRWxlbWVudCwgYWJvcnRlZCwgKCkgPT4ge1xuICAgICAgY29uc3QgZHJhZ0VsZW1lbnQgPSBudWxsO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICAgICAgZHJhZ0VsZW1lbnRcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlbW92ZUNsYXNzKFwiZHJhZ2dpbmdcIik7XG4gICAgfSk7XG4gIH1cblxuICBpZiAoZHJvcEVsZW1lbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCBkcmFnRWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgZHJvcEVsZW1lbnQuZHJvcChkcmFnRWxlbWVudCwgYWJvcnRlZCwgZG9uZSk7XG4gIH0gZWxzZSB7XG4gICAgZG9uZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRyYWcobW91c2VUb3AsIG1vdXNlTGVmdCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIHNjcm9sbFRvcCA9IHdpbmRvdy5nZXRTY3JvbGxUb3AoKSxcbiAgICAgICAgc2Nyb2xsTGVmdCA9IHdpbmRvdy5nZXRTY3JvbGxMZWZ0KCksXG4gICAgICAgIHRvcE9mZnNldCA9IHRoaXMuZ2V0VG9wT2Zmc2V0KCksXG4gICAgICAgIGxlZnRPZmZzZXQgPSB0aGlzLmdldExlZnRPZmZzZXQoKSxcbiAgICAgICAgc3RhcnRNb3VzZVRvcCA9IHRoaXMuZ2V0U3RhcnRNb3VzZVRvcCgpLFxuICAgICAgICBzdGFydE1vdXNlTGVmdCA9IHRoaXMuZ2V0U3RhcnRNb3VzZUxlZnQoKSxcbiAgICAgICAgcmVsYXRpdmVNb3VzZVRvcCA9IG1vdXNlVG9wIC0gc3RhcnRNb3VzZVRvcCxcbiAgICAgICAgcmVsYXRpdmVNb3VzZUxlZnQgPSBtb3VzZUxlZnQgLSBzdGFydE1vdXNlTGVmdDtcblxuICBsZXQgdG9wID0gc3RhcnRNb3VzZVRvcCArIHJlbGF0aXZlTW91c2VUb3AgLSB0b3BPZmZzZXQgLSBzY3JvbGxUb3AsXG4gICAgICBsZWZ0ID0gc3RhcnRNb3VzZUxlZnQgKyByZWxhdGl2ZU1vdXNlTGVmdCAtIGxlZnRPZmZzZXQgLSBzY3JvbGxMZWZ0O1xuXG4gIHRvcCA9IGAke3RvcH1weGA7IC8vL1xuICBsZWZ0ID0gYCR7bGVmdH1weGA7IC8vL1xuXG4gIGNvbnN0IGNzcyA9IHtcbiAgICB0b3AsXG4gICAgbGVmdFxuICB9O1xuXG4gIHRoaXMuY3NzKGNzcyk7XG5cbiAgdGhpcy5jYWxsSGFuZGxlcnMoZXZlbnRUeXBlLCByZWxhdGl2ZU1vdXNlVG9wLCByZWxhdGl2ZU1vdXNlTGVmdCk7XG59XG5cbmZ1bmN0aW9uIGdldFRpbWVvdXQoKSB7XG4gIGNvbnN0IHsgdGltZW91dCB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gIHJldHVybiB0aW1lb3V0O1xufVxuXG5mdW5jdGlvbiByZXNldFRpbWVvdXQoKSB7XG4gIGNvbnN0IHRpbWVvdXQgPSBudWxsO1xuXG4gIHRoaXMudXBkYXRlVGltZW91dCh0aW1lb3V0KTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlVGltZW91dCh0aW1lb3V0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHRpbWVvdXRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldFRvcE9mZnNldCgpIHtcbiAgY29uc3QgeyB0b3BPZmZzZXQgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICByZXR1cm4gdG9wT2Zmc2V0O1xufVxuXG5mdW5jdGlvbiBnZXRMZWZ0T2Zmc2V0KCkge1xuICBjb25zdCB7IGxlZnRPZmZzZXQgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICByZXR1cm4gbGVmdE9mZnNldDtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhcnRNb3VzZVRvcCgpIHtcbiAgY29uc3QgeyBzdGFydE1vdXNlVG9wIH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgcmV0dXJuIHN0YXJ0TW91c2VUb3A7XG59XG5cbmZ1bmN0aW9uIGdldFN0YXJ0TW91c2VMZWZ0KCkge1xuICBjb25zdCB7IHN0YXJ0TW91c2VMZWZ0IH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgcmV0dXJuIHN0YXJ0TW91c2VMZWZ0O1xufVxuXG5mdW5jdGlvbiBzZXRUb3BPZmZzZXQodG9wT2Zmc2V0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHRvcE9mZnNldFxuICB9KTtcbn1cblxuZnVuY3Rpb24gc2V0TGVmdE9mZnNldChsZWZ0T2Zmc2V0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIGxlZnRPZmZzZXRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHNldFN0YXJ0TW91c2VUb3Aoc3RhcnRNb3VzZVRvcCkge1xuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICBzdGFydE1vdXNlVG9wXG4gIH0pO1xufVxuXG5mdW5jdGlvbiBzZXRTdGFydE1vdXNlTGVmdChzdGFydE1vdXNlTGVmdCkge1xuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICBzdGFydE1vdXNlTGVmdFxuICB9KTtcbn1cblxuZnVuY3Rpb24gY2FsbEhhbmRsZXJzKGV2ZW50VHlwZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IGV2ZW50TGlzdGVuZXJzID0gdGhpcy5maW5kRXZlbnRMaXN0ZW5lcnMoZXZlbnRUeXBlKTtcblxuICBldmVudExpc3RlbmVycy5mb3JFYWNoKChldmVudExpc3RlbmVyKSA9PiB7XG4gICAgY29uc3QgeyBoYW5kbGVyLCBlbGVtZW50OiBoYW5kbGVyRWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgICBlbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICBoYW5kbGVyLmNhbGwoaGFuZGxlckVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgZWxlbWVudCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjYWxsSGFuZGxlcnNBc3luYyhldmVudFR5cGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBjb25zdCBkb25lID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLCAgLy8vXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzID0gdGhpcy5maW5kRXZlbnRMaXN0ZW5lcnMoZXZlbnRUeXBlKTtcblxuICBmb3JFYWNoKGV2ZW50TGlzdGVuZXJzLCAoZXZlbnRMaXN0ZW5lciwgbmV4dCkgPT4ge1xuICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudDogaGFuZGxlckVsZW1lbnQgfSA9IGV2ZW50TGlzdGVuZXIsXG4gICAgICAgICAgZWxlbWVudCA9IHRoaXMsIC8vL1xuICAgICAgICAgIGRvbmUgPSBuZXh0OyAgLy8vXG5cbiAgICBoYW5kbGVyLmNhbGwoaGFuZGxlckVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgZWxlbWVudCwgZG9uZSk7XG4gIH0sIGRvbmUpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG9uRHJhZyxcbiAgb2ZmRHJhZyxcbiAgb25TdG9wRHJhZyxcbiAgb2ZmU3RvcERyYWcsXG4gIG9uU3RhcnREcmFnLFxuICBvZmZTdGFydERyYWcsXG4gIGVuYWJsZURyYWcsXG4gIGRpc2FibGVEcmFnLFxuICBpc0RyYWdnaW5nLFxuICBzdGFydFdhaXRpbmdUb0RyYWcsXG4gIHN0b3BXYWl0aW5nVG9EcmFnLFxuICBzdGFydERyYWcsXG4gIHN0b3BEcmFnLFxuICBkcmFnLFxuICBnZXRUaW1lb3V0LFxuICByZXNldFRpbWVvdXQsXG4gIHVwZGF0ZVRpbWVvdXQsXG4gIGdldFRvcE9mZnNldCxcbiAgZ2V0TGVmdE9mZnNldCxcbiAgZ2V0U3RhcnRNb3VzZVRvcCxcbiAgZ2V0U3RhcnRNb3VzZUxlZnQsXG4gIHNldFRvcE9mZnNldCxcbiAgc2V0TGVmdE9mZnNldCxcbiAgc2V0U3RhcnRNb3VzZVRvcCxcbiAgc2V0U3RhcnRNb3VzZUxlZnQsXG4gIGNhbGxIYW5kbGVycyxcbiAgY2FsbEhhbmRsZXJzQXN5bmNcbn07XG5cbmZ1bmN0aW9uIGtleURvd25IYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnN0IHsga2V5Q29kZSB9ID0gZXZlbnQsXG4gICAgICAgIGVzY2FwZUtleSA9IChrZXlDb2RlID09PSBFU0NBUEVfS0VZQ09ERSksXG4gICAgICAgIGFib3J0ZWQgPSB0cnVlO1xuXG4gIGlmIChlc2NhcGVLZXkpIHtcbiAgICB0aGlzLnN0b3BEcmFnKGFib3J0ZWQpO1xuXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbW91c2VVcEhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmlzRHJhZ2dpbmcoKSxcbiAgICAgICAgYWJvcnRlZCA9IGZhbHNlO1xuXG4gIGRyYWdnaW5nID9cbiAgICB0aGlzLnN0b3BEcmFnKGFib3J0ZWQpIDpcbiAgICAgIHRoaXMuc3RvcFdhaXRpbmdUb0RyYWcoKTtcblxuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICB3aW5kb3cub2ZmKEJMVVJfRVZFTlRfVFlQRSwgbW91c2VVcEhhbmRsZXIsIHRoaXMpOyAgLy8vXG5cbiAgd2luZG93Lm9mZk1vdXNlVXAobW91c2VVcEhhbmRsZXIsIHRoaXMpO1xufVxuXG5mdW5jdGlvbiBtb3VzZURvd25IYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnN0IHsgYnV0dG9uIH0gPSBldmVudDtcblxuICBpZiAoYnV0dG9uID09PSBMRUZUX01PVVNFX0JVVFRPTikge1xuICAgIGNvbnN0IGRyYWdnaW5nID0gdGhpcy5pc0RyYWdnaW5nKCk7XG5cbiAgICBpZiAoIWRyYWdnaW5nKSB7XG4gICAgICBjb25zdCBtb3VzZVRvcCA9IG1vdXNlVG9wRnJvbUV2ZW50KGV2ZW50KSxcbiAgICAgICAgICAgIG1vdXNlTGVmdCA9IG1vdXNlTGVmdEZyb21FdmVudChldmVudCk7XG5cbiAgICAgIHRoaXMuc3RhcnRXYWl0aW5nVG9EcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpO1xuICAgIH1cbiAgfVxuXG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gIHdpbmRvdy5vbihCTFVSX0VWRU5UX1RZUEUsIG1vdXNlVXBIYW5kbGVyLCB0aGlzKTsgLy8vXG5cbiAgd2luZG93Lm9uTW91c2VVcChtb3VzZVVwSGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIG1vdXNlTW92ZUhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmlzRHJhZ2dpbmcoKTtcblxuICBpZiAoZHJhZ2dpbmcpIHtcbiAgICBjb25zdCBtb3VzZVRvcCA9IG1vdXNlVG9wRnJvbUV2ZW50KGV2ZW50KSxcbiAgICAgICAgICBtb3VzZUxlZnQgPSBtb3VzZUxlZnRGcm9tRXZlbnQoZXZlbnQpO1xuXG4gICAgdGhpcy5kcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpO1xuICB9XG5cbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG59XG4iXSwibmFtZXMiOlsiZm9yRWFjaCIsImFzeW5jaHJvbm91c1V0aWxpdGllcyIsIkVTQ0FQRV9LRVlDT0RFIiwia2V5Q29kZXMiLCJCTFVSX0VWRU5UX1RZUEUiLCJldmVudFR5cGVzIiwiTEVGVF9NT1VTRV9CVVRUT04iLCJidXR0b25zIiwiZHJhZ0VsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJnbG9iYWxUaGlzIiwib25EcmFnIiwiZHJhZ0hhbmRsZXIiLCJlbGVtZW50IiwiZXZlbnRUeXBlIiwiRFJBR19FVkVOVF9UWVBFIiwiaGFuZGxlciIsImFkZEV2ZW50TGlzdGVuZXIiLCJvZmZEcmFnIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm9uU3RvcERyYWciLCJzdG9wRHJhZ0hhbmRsZXIiLCJTVE9QX0RSQUdfRVZFTlRfVFlQRSIsIm9mZlN0b3BEcmFnIiwib25TdGFydERyYWciLCJzdGFydERyYWdIYW5kbGVyIiwiU1RBUlRfRFJBR19FVkVOVF9UWVBFIiwib2ZmU3RhcnREcmFnIiwiZW5hYmxlRHJhZyIsInByb3BlcnRpZXMiLCJ0aW1lb3V0IiwidG9wT2Zmc2V0IiwibGVmdE9mZnNldCIsInN0YXJ0TW91c2VUb3AiLCJzdGFydE1vdXNlTGVmdCIsIm9uTW91c2VEb3duIiwibW91c2VEb3duSGFuZGxlciIsInNldFN0YXRlIiwiZGlzYWJsZURyYWciLCJvZmZNb3VzZURvd24iLCJpc0RyYWdnaW5nIiwiZHJhZ2dpbmciLCJoYXNDbGFzcyIsInN0YXJ0V2FpdGluZ1RvRHJhZyIsIm1vdXNlVG9wIiwibW91c2VMZWZ0IiwiZ2V0VGltZW91dCIsInNldFRpbWVvdXQiLCJyZXNldFRpbWVvdXQiLCJzdGFydERyYWciLCJTVEFSVF9EUkFHR0lOR19ERUxBWSIsInVwZGF0ZVRpbWVvdXQiLCJzdG9wV2FpdGluZ1RvRHJhZyIsImNsZWFyVGltZW91dCIsImJvdW5kcyIsImdldEJvdW5kcyIsImJvdW5kc1RvcCIsImdldFRvcCIsImJvdW5kc0xlZnQiLCJnZXRMZWZ0IiwiYm91bmRzUmlnaHQiLCJnZXRSaWdodCIsImJvdW5kc0JvdHRvbSIsImdldEJvdHRvbSIsImJvdW5kc1dpZHRoIiwiYm91bmRzSGVpZ2h0IiwiTWF0aCIsImZsb29yIiwid2luZG93Iiwib25LZXlEb3duIiwia2V5RG93bkhhbmRsZXIiLCJvbk1vdXNlTW92ZSIsIm1vdXNlTW92ZUhhbmRsZXIiLCJhZGRDbGFzcyIsInNldFRvcE9mZnNldCIsInNldExlZnRPZmZzZXQiLCJzZXRTdGFydE1vdXNlVG9wIiwic2V0U3RhcnRNb3VzZUxlZnQiLCJjYWxsSGFuZGxlcnMiLCJkcmFnIiwic3RvcERyYWciLCJhYm9ydGVkIiwiZHJvcEVsZW1lbnQiLCJvZmZLZXlEb3duIiwib2ZmTW91c2VNb3ZlIiwiZG9uZSIsImNhbGxIYW5kbGVyc0FzeW5jIiwicmVtb3ZlQ2xhc3MiLCJkcm9wIiwic2Nyb2xsVG9wIiwiZ2V0U2Nyb2xsVG9wIiwic2Nyb2xsTGVmdCIsImdldFNjcm9sbExlZnQiLCJnZXRUb3BPZmZzZXQiLCJnZXRMZWZ0T2Zmc2V0IiwiZ2V0U3RhcnRNb3VzZVRvcCIsImdldFN0YXJ0TW91c2VMZWZ0IiwicmVsYXRpdmVNb3VzZVRvcCIsInJlbGF0aXZlTW91c2VMZWZ0IiwidG9wIiwibGVmdCIsImNzcyIsImdldFN0YXRlIiwidXBkYXRlU3RhdGUiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJldmVudExpc3RlbmVycyIsImZpbmRFdmVudExpc3RlbmVycyIsImV2ZW50TGlzdGVuZXIiLCJoYW5kbGVyRWxlbWVudCIsImNhbGwiLCJwb3AiLCJuZXh0IiwiZXZlbnQiLCJrZXlDb2RlIiwiZXNjYXBlS2V5Iiwic3RvcFByb3BhZ2F0aW9uIiwibW91c2VVcEhhbmRsZXIiLCJvZmYiLCJvZmZNb3VzZVVwIiwiYnV0dG9uIiwibW91c2VUb3BGcm9tRXZlbnQiLCJtb3VzZUxlZnRGcm9tRXZlbnQiLCJvbiIsIm9uTW91c2VVcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBMlRBOzs7ZUFBQTs7O29CQXpUNEM7eUJBQ0k7eUJBRVg7cUJBQ2lCOzBCQUN1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0UsSUFBTSxBQUFFQSxVQUFZQyxnQ0FBcUIsQ0FBakNELFNBQ0YsQUFBRUUsaUJBQW1CQyxtQkFBUSxDQUEzQkQsZ0JBQ0YsQUFBRUUsa0JBQW9CQyxnQkFBVSxDQUE5QkQsaUJBQ0YsQUFBRUUsb0JBQXNCQyxhQUFPLENBQTdCRDtBQUVSLElBQU1FLGNBQWMsSUFBSTtBQUV4QkMsT0FBT0MsTUFBTSxDQUFDQyxZQUFZO0lBQ3hCSCxhQUFBQTtBQUNGO0FBRUEsU0FBU0ksT0FBT0MsV0FBVyxF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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "easy-drag-and-drop",
3
3
  "author": "James Smith",
4
- "version": "1.3.4",
4
+ "version": "1.3.6",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/easy-drag-and-drop",
7
7
  "description": "Drag and drop functionality for Easy elements.",
@@ -224,8 +224,7 @@ function drag(mouseTop, mouseLeft) {
224
224
  }
225
225
 
226
226
  function getTimeout() {
227
- const state = this.getState(),
228
- { timeout } = state;
227
+ const { timeout } = this.getState();
229
228
 
230
229
  return timeout;
231
230
  }
@@ -243,29 +242,25 @@ function updateTimeout(timeout) {
243
242
  }
244
243
 
245
244
  function getTopOffset() {
246
- const state = this.getState(),
247
- { topOffset } = state;
245
+ const { topOffset } = this.getState();
248
246
 
249
247
  return topOffset;
250
248
  }
251
249
 
252
250
  function getLeftOffset() {
253
- const state = this.getState(),
254
- { leftOffset } = state;
251
+ const { leftOffset } = this.getState();
255
252
 
256
253
  return leftOffset;
257
254
  }
258
255
 
259
256
  function getStartMouseTop() {
260
- const state = this.getState(),
261
- { startMouseTop } = state;
257
+ const { startMouseTop } = this.getState();
262
258
 
263
259
  return startMouseTop;
264
260
  }
265
261
 
266
262
  function getStartMouseLeft() {
267
- const state = this.getState(),
268
- { startMouseLeft } = state;
263
+ const { startMouseLeft } = this.getState();
269
264
 
270
265
  return startMouseLeft;
271
266
  }