easy-drag-and-drop 1.3.59 → 1.3.61

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.
@@ -187,6 +187,13 @@ var DragElement = /*#__PURE__*/ function(Element) {
187
187
  return _super.apply(this, arguments);
188
188
  }
189
189
  _create_class(DragElement, [
190
+ {
191
+ key: "getReferences",
192
+ value: function getReferences() {
193
+ var _this_properties = this.properties, _this_properties_references = _this_properties.references, references = _this_properties_references === void 0 ? [] : _this_properties_references;
194
+ return references;
195
+ }
196
+ },
190
197
  {
191
198
  key: "didMount",
192
199
  value: function didMount() {
@@ -204,10 +211,11 @@ var DragElement = /*#__PURE__*/ function(Element) {
204
211
  }(_wrap_native_super(_easy.Element));
205
212
  _define_property(DragElement, "ignoredProperties", [
206
213
  "onDrag",
214
+ "references",
207
215
  "onStartDrag",
208
216
  "offStartDrag"
209
217
  ]);
210
218
  Object.assign(DragElement.prototype, _drag.default);
211
219
  var _default = (0, _easywithstyle.default)(DragElement)(_templateObject());
212
220
 
213
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2RyYWcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcblxuaW1wb3J0IGRyYWdNaXhpbnMgZnJvbSBcIi4uL21peGlucy9kcmFnXCI7XG5cbmNsYXNzIERyYWdFbGVtZW50IGV4dGVuZHMgRWxlbWVudCB7XG4gIGRpZE1vdW50KCkge1xuICAgIHRoaXMuZW5hYmxlRHJhZygpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5kaXNhYmxlRHJhZygpO1xuICB9XG5cbiAgc3RhdGljIGlnbm9yZWRQcm9wZXJ0aWVzID0gW1xuICAgIFwib25EcmFnXCIsXG4gICAgXCJvblN0YXJ0RHJhZ1wiLFxuICAgIFwib2ZmU3RhcnREcmFnXCJcbiAgXTtcbn1cblxuT2JqZWN0LmFzc2lnbihEcmFnRWxlbWVudC5wcm90b3R5cGUsIGRyYWdNaXhpbnMpO1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoU3R5bGUoRHJhZ0VsZW1lbnQpYFxuXG4gIC5kcmFnZ2luZyB7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgXG5gO1xuIl0sIm5hbWVzIjpbIkRyYWdFbGVtZW50IiwiZGlkTW91bnQiLCJlbmFibGVEcmFnIiwid2lsbFVubW91bnQiLCJkaXNhYmxlRHJhZyIsIkVsZW1lbnQiLCJpZ25vcmVkUHJvcGVydGllcyIsIk9iamVjdCIsImFzc2lnbiIsInByb3RvdHlwZSIsImRyYWdNaXhpbnMiLCJ3aXRoU3R5bGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQTBCQTs7O2VBQUE7OztvRUF4QnNCO29CQUVFOzJEQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXZCLElBQUEsQUFBTUEsNEJBZ0JILEFBaEJIO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBQ0pDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNDLFVBQVU7WUFDakI7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDQyxXQUFXO1lBQ2xCOzs7V0FQSUo7cUJBQW9CSyxhQUFPO0FBUy9CLGlCQVRJTCxhQVNHTSxxQkFBb0I7SUFDekI7SUFDQTtJQUNBO0NBQ0Q7QUFHSEMsT0FBT0MsTUFBTSxDQUFDUixZQUFZUyxTQUFTLEVBQUVDLGFBQVU7SUFFL0MsV0FBZUMsSUFBQUEsc0JBQVMsRUFBQ1gifQ==
221
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2RyYWcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB3aXRoU3R5bGUgZnJvbSBcImVhc3ktd2l0aC1zdHlsZVwiO1xuXG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSBcImVhc3lcIjtcblxuaW1wb3J0IGRyYWdNaXhpbnMgZnJvbSBcIi4uL21peGlucy9kcmFnXCI7XG5cbmNsYXNzIERyYWdFbGVtZW50IGV4dGVuZHMgRWxlbWVudCB7XG4gIGdldFJlZmVyZW5jZXMoKSB7XG4gICAgY29uc3QgeyByZWZlcmVuY2VzID0gW10gfSA9IHRoaXMucHJvcGVydGllcztcblxuICAgIHJldHVybiByZWZlcmVuY2VzO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgdGhpcy5lbmFibGVEcmFnKCk7XG4gIH1cblxuICB3aWxsVW5tb3VudCgpIHtcbiAgICB0aGlzLmRpc2FibGVEcmFnKCk7XG4gIH1cblxuICBzdGF0aWMgaWdub3JlZFByb3BlcnRpZXMgPSBbXG4gICAgXCJvbkRyYWdcIixcbiAgICBcInJlZmVyZW5jZXNcIixcbiAgICBcIm9uU3RhcnREcmFnXCIsXG4gICAgXCJvZmZTdGFydERyYWdcIlxuICBdO1xufVxuXG5PYmplY3QuYXNzaWduKERyYWdFbGVtZW50LnByb3RvdHlwZSwgZHJhZ01peGlucyk7XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhTdHlsZShEcmFnRWxlbWVudClgXG5cbiAgLmRyYWdnaW5nIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICBcbmA7XG4iXSwibmFtZXMiOlsiRHJhZ0VsZW1lbnQiLCJnZXRSZWZlcmVuY2VzIiwicHJvcGVydGllcyIsInJlZmVyZW5jZXMiLCJkaWRNb3VudCIsImVuYWJsZURyYWciLCJ3aWxsVW5tb3VudCIsImRpc2FibGVEcmFnIiwiRWxlbWVudCIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiZHJhZ01peGlucyIsIndpdGhTdHlsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUNBOzs7ZUFBQTs7O29FQS9Cc0I7b0JBRUU7MkRBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdkIsSUFBQSxBQUFNQSw0QkF1QkgsQUF2Qkg7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O2tCQUFBQTs7WUFDSkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQTRCLG1CQUFBLElBQUksQ0FBQ0MsVUFBVSxnQ0FBZixpQkFBcEJDLFlBQUFBLHNEQUFhLEVBQUU7Z0JBRXZCLE9BQU9BO1lBQ1Q7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDQyxVQUFVO1lBQ2pCOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ0MsV0FBVztZQUNsQjs7O1dBYklQO3FCQUFvQlEsYUFBTztBQWUvQixpQkFmSVIsYUFlR1MscUJBQW9CO0lBQ3pCO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFHSEMsT0FBT0MsTUFBTSxDQUFDWCxZQUFZWSxTQUFTLEVBQUVDLGFBQVU7SUFFL0MsV0FBZUMsSUFBQUEsc0JBQVMsRUFBQ2QifQ==
@@ -167,6 +167,13 @@ var DropElement = /*#__PURE__*/ function(Element) {
167
167
  return _super.apply(this, arguments);
168
168
  }
169
169
  _create_class(DropElement, [
170
+ {
171
+ key: "getReference",
172
+ value: function getReference() {
173
+ var _this_properties = this.properties, _this_properties_reference = _this_properties.reference, reference = _this_properties_reference === void 0 ? null : _this_properties_reference;
174
+ return reference;
175
+ }
176
+ },
170
177
  {
171
178
  key: "didMount",
172
179
  value: function didMount() {
@@ -184,9 +191,10 @@ var DropElement = /*#__PURE__*/ function(Element) {
184
191
  }(_wrap_native_super(_easy.Element));
185
192
  _define_property(DropElement, "ignoredProperties", [
186
193
  "onDrop",
194
+ "reference",
187
195
  "onDragOut",
188
196
  "onDragOver"
189
197
  ]);
190
198
  Object.assign(DropElement.prototype, _drop.default);
191
199
 
192
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2Ryb3AuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuXG5pbXBvcnQgZHJvcE1peGlucyBmcm9tIFwiLi4vbWl4aW5zL2Ryb3BcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRHJvcEVsZW1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgZGlkTW91bnQoKSB7XG4gICAgdGhpcy5lbmFibGVEcm9wKCk7XG4gIH1cblxuICB3aWxsVW5tb3VudCgpIHtcbiAgICB0aGlzLmRpc2FibGVEcm9wKCk7XG4gIH1cblxuICBzdGF0aWMgaWdub3JlZFByb3BlcnRpZXMgPSBbXG4gICAgXCJvbkRyb3BcIixcbiAgICBcIm9uRHJhZ091dFwiLFxuICAgIFwib25EcmFnT3ZlclwiXG4gIF07XG59XG5cbk9iamVjdC5hc3NpZ24oRHJvcEVsZW1lbnQucHJvdG90eXBlLCBkcm9wTWl4aW5zKTtcbiJdLCJuYW1lcyI6WyJEcm9wRWxlbWVudCIsImRpZE1vdW50IiwiZW5hYmxlRHJvcCIsIndpbGxVbm1vdW50IiwiZGlzYWJsZURyb3AiLCJFbGVtZW50IiwiaWdub3JlZFByb3BlcnRpZXMiLCJPYmplY3QiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJkcm9wTWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU1xQkE7OztvQkFKRzsyREFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRVIsSUFBQSxBQUFNQSw0QkFnQmxCLEFBaEJZO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBQ25CQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDQyxVQUFVO1lBQ2pCOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ0MsV0FBVztZQUNsQjs7O1dBUG1CSjtxQkFBb0JLLGFBQU87QUFTOUMsaUJBVG1CTCxhQVNaTSxxQkFBb0I7SUFDekI7SUFDQTtJQUNBO0NBQ0Q7QUFHSEMsT0FBT0MsTUFBTSxDQUFDUixZQUFZUyxTQUFTLEVBQUVDLGFBQVUifQ==
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2Ryb3AuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuXG5pbXBvcnQgZHJvcE1peGlucyBmcm9tIFwiLi4vbWl4aW5zL2Ryb3BcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRHJvcEVsZW1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgZ2V0UmVmZXJlbmNlKCkge1xuICAgIGNvbnN0IHsgcmVmZXJlbmNlID0gbnVsbCB9ID0gdGhpcy5wcm9wZXJ0aWVzO1xuXG4gICAgcmV0dXJuIHJlZmVyZW5jZTtcbiAgfVxuXG4gIGRpZE1vdW50KCkge1xuICAgIHRoaXMuZW5hYmxlRHJvcCgpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5kaXNhYmxlRHJvcCgpO1xuICB9XG5cbiAgc3RhdGljIGlnbm9yZWRQcm9wZXJ0aWVzID0gW1xuICAgIFwib25Ecm9wXCIsXG4gICAgXCJyZWZlcmVuY2VcIixcbiAgICBcIm9uRHJhZ091dFwiLFxuICAgIFwib25EcmFnT3ZlclwiXG4gIF07XG59XG5cbk9iamVjdC5hc3NpZ24oRHJvcEVsZW1lbnQucHJvdG90eXBlLCBkcm9wTWl4aW5zKTtcbiJdLCJuYW1lcyI6WyJEcm9wRWxlbWVudCIsImdldFJlZmVyZW5jZSIsInByb3BlcnRpZXMiLCJyZWZlcmVuY2UiLCJkaWRNb3VudCIsImVuYWJsZURyb3AiLCJ3aWxsVW5tb3VudCIsImRpc2FibGVEcm9wIiwiRWxlbWVudCIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiZHJvcE1peGlucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7b0JBSkc7MkRBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVSLElBQUEsQUFBTUEsNEJBdUJsQixBQXZCWTtjQUFNQTsrQkFBQUE7YUFBQUE7Z0NBQUFBOzs7a0JBQUFBOztZQUNuQkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQTZCLG1CQUFBLElBQUksQ0FBQ0MsVUFBVSwrQkFBZixpQkFBckJDLFdBQUFBLG9EQUFZO2dCQUVwQixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ0MsVUFBVTtZQUNqQjs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFJLENBQUNDLFdBQVc7WUFDbEI7OztXQWJtQlA7cUJBQW9CUSxhQUFPO0FBZTlDLGlCQWZtQlIsYUFlWlMscUJBQW9CO0lBQ3pCO0lBQ0E7SUFDQTtJQUNBO0NBQ0Q7QUFHSEMsT0FBT0MsTUFBTSxDQUFDWCxZQUFZWSxTQUFTLEVBQUVDLGFBQVUifQ==
@@ -189,7 +189,9 @@ var DropDiv = /*#__PURE__*/ function(Element) {
189
189
  var _this;
190
190
  _this = _super.apply(this, arguments);
191
191
  _define_property(_assert_this_initialized(_this), "dropHandler", function(dragElement, aborted, element, done) {
192
- dragElement.remove();
192
+ if (dragElement !== null) {
193
+ dragElement.remove();
194
+ }
193
195
  done();
194
196
  });
195
197
  _define_property(_assert_this_initialized(_this), "dragOutHandler", function(event, element) {
@@ -201,6 +203,13 @@ var DropDiv = /*#__PURE__*/ function(Element) {
201
203
  return _this;
202
204
  }
203
205
  _create_class(DropDiv, [
206
+ {
207
+ key: "getReference",
208
+ value: function getReference() {
209
+ var _this_properties = this.properties, _this_properties_reference = _this_properties.reference, reference = _this_properties_reference === void 0 ? null : _this_properties_reference;
210
+ return reference;
211
+ }
212
+ },
204
213
  {
205
214
  key: "didMount",
206
215
  value: function didMount() {
@@ -229,10 +238,14 @@ var DropDiv = /*#__PURE__*/ function(Element) {
229
238
  return DropDiv;
230
239
  }(_wrap_native_super(_easy.Element));
231
240
  _define_property(DropDiv, "tagName", "div");
241
+ _define_property(DropDiv, "ignoredProperties", [
242
+ "reference"
243
+ ]);
232
244
  _define_property(DropDiv, "defaultProperties", {
233
- className: "drop"
245
+ className: "drop",
246
+ reference: "drop-div"
234
247
  });
235
248
  Object.assign(DropDiv.prototype, _index.dropMixins);
236
249
  var _default = (0, _easywithstyle.default)(DropDiv)(_templateObject(), _style.default);
237
250
 
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2Rpdi9kcm9wLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJlYXN5XCI7XG5pbXBvcnQgeyBkcm9wTWl4aW5zIH0gZnJvbSBcIi4uLy4uL2luZGV4XCI7IC8vL1xuXG5pbXBvcnQgc3R5bGUgZnJvbSBcIi4uL3N0eWxlXCI7XG5cbmNsYXNzIERyb3BEaXYgZXh0ZW5kcyBFbGVtZW50IHtcbiAgZHJvcEhhbmRsZXIgPSAoZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGVsZW1lbnQsIGRvbmUpID0+IHtcbiAgICBkcmFnRWxlbWVudC5yZW1vdmUoKTtcblxuICAgIGRvbmUoKTtcbiAgfVxuXG4gIGRyYWdPdXRIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgdGhpcy5yZW1vdmVDbGFzcyhcImRyYWctb3ZlclwiKTtcbiAgfVxuXG4gIGRyYWdPdmVySGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMuYWRkQ2xhc3MoXCJkcmFnLW92ZXJcIik7XG4gIH1cblxuICBkaWRNb3VudCgpIHtcbiAgICB0aGlzLmVuYWJsZURyb3AoKTtcblxuICAgIHRoaXMub25Ecm9wKHRoaXMuZHJvcEhhbmRsZXIpO1xuICAgIHRoaXMub25EcmFnT3V0KHRoaXMuZHJhZ091dEhhbmRsZXIpO1xuICAgIHRoaXMub25EcmFnT3Zlcih0aGlzLmRyYWdPdmVySGFuZGxlcik7XG4gIH1cblxuICB3aWxsVW5tb3VudCgpIHtcbiAgICB0aGlzLmRpc2FibGVEcm9wKCk7XG5cbiAgICB0aGlzLm9mZkRyb3AodGhpcy5kcm9wSGFuZGxlcik7XG4gICAgdGhpcy5vZmZEcmFnT3V0KHRoaXMuZHJhZ091dEhhbmRsZXIpO1xuICAgIHRoaXMub2ZmRHJhZ092ZXIodGhpcy5kcmFnT3ZlckhhbmRsZXIpO1xuICB9XG5cbiAgY2hpbGRFbGVtZW50cygpIHtcbiAgICByZXR1cm4gXCJEUk9QIEVMRU1FTlRcIjtcbiAgfVxuXG4gIHN0YXRpYyB0YWdOYW1lID0gXCJkaXZcIjtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcImRyb3BcIlxuICB9O1xufVxuXG5PYmplY3QuYXNzaWduKERyb3BEaXYucHJvdG90eXBlLCBkcm9wTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKERyb3BEaXYpYFxuXG4gICR7c3R5bGV9XG5cbiAgbWFyZ2luLWJvdHRvbTogMTByZW07XG4gIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xuICBcbiAgLmRyYWctb3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcbiAgfVxuICBcbmA7XG4iXSwibmFtZXMiOlsiRHJvcERpdiIsImRyb3BIYW5kbGVyIiwiZHJhZ0VsZW1lbnQiLCJhYm9ydGVkIiwiZWxlbWVudCIsImRvbmUiLCJyZW1vdmUiLCJkcmFnT3V0SGFuZGxlciIsImV2ZW50IiwicmVtb3ZlQ2xhc3MiLCJkcmFnT3ZlckhhbmRsZXIiLCJhZGRDbGFzcyIsImRpZE1vdW50IiwiZW5hYmxlRHJvcCIsIm9uRHJvcCIsIm9uRHJhZ091dCIsIm9uRHJhZ092ZXIiLCJ3aWxsVW5tb3VudCIsImRpc2FibGVEcm9wIiwib2ZmRHJvcCIsIm9mZkRyYWdPdXQiLCJvZmZEcmFnT3ZlciIsImNoaWxkRWxlbWVudHMiLCJFbGVtZW50IiwidGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiZHJvcE1peGlucyIsIndpdGhTdHlsZSIsInN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFxREE7OztlQUFBOzs7b0VBbkRzQjtvQkFFRTtxQkFDRzs0REFFVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEIsSUFBQSxBQUFNQSx3QkEwQ0gsQUExQ0g7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O1FBQ0pDLGtEQUFBQSxlQUFjLFNBQUNDLGFBQWFDLFNBQVNDLFNBQVNDO1lBQzVDSCxZQUFZSSxNQUFNO1lBRWxCRDtRQUNGO1FBRUFFLGtEQUFBQSxrQkFBaUIsU0FBQ0MsT0FBT0o7WUFDdkIsTUFBS0ssV0FBVyxDQUFDO1FBQ25CO1FBRUFDLGtEQUFBQSxtQkFBa0IsU0FBQ0YsT0FBT0o7WUFDeEIsTUFBS08sUUFBUSxDQUFDO1FBQ2hCOzs7a0JBYklYOztZQWVKWSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDQyxVQUFVO2dCQUVmLElBQUksQ0FBQ0MsTUFBTSxDQUFDLElBQUksQ0FBQ2IsV0FBVztnQkFDNUIsSUFBSSxDQUFDYyxTQUFTLENBQUMsSUFBSSxDQUFDUixjQUFjO2dCQUNsQyxJQUFJLENBQUNTLFVBQVUsQ0FBQyxJQUFJLENBQUNOLGVBQWU7WUFDdEM7OztZQUVBTyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDQyxXQUFXO2dCQUVoQixJQUFJLENBQUNDLE9BQU8sQ0FBQyxJQUFJLENBQUNsQixXQUFXO2dCQUM3QixJQUFJLENBQUNtQixVQUFVLENBQUMsSUFBSSxDQUFDYixjQUFjO2dCQUNuQyxJQUFJLENBQUNjLFdBQVcsQ0FBQyxJQUFJLENBQUNYLGVBQWU7WUFDdkM7OztZQUVBWSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTztZQUNUOzs7V0FqQ0l0QjtxQkFBZ0J1QixhQUFPO0FBbUMzQixpQkFuQ0l2QixTQW1DR3dCLFdBQVU7QUFFakIsaUJBckNJeEIsU0FxQ0d5QixxQkFBb0I7SUFDekJDLFdBQVc7QUFDYjtBQUdGQyxPQUFPQyxNQUFNLENBQUM1QixRQUFRNkIsU0FBUyxFQUFFQyxpQkFBVTtJQUUzQyxXQUFlQyxJQUFBQSxzQkFBUyxFQUFDL0IsNEJBRXJCZ0MsY0FBSyJ9
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leGFtcGxlL2Rpdi9kcm9wLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgd2l0aFN0eWxlIGZyb20gXCJlYXN5LXdpdGgtc3R5bGVcIjtcblxuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gXCJlYXN5XCI7XG5pbXBvcnQgeyBkcm9wTWl4aW5zIH0gZnJvbSBcIi4uLy4uL2luZGV4XCI7IC8vL1xuXG5pbXBvcnQgc3R5bGUgZnJvbSBcIi4uL3N0eWxlXCI7XG5cbmNsYXNzIERyb3BEaXYgZXh0ZW5kcyBFbGVtZW50IHtcbiAgZHJvcEhhbmRsZXIgPSAoZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGVsZW1lbnQsIGRvbmUpID0+IHtcbiAgICBpZiAoZHJhZ0VsZW1lbnQgIT09IG51bGwpIHtcbiAgICAgIGRyYWdFbGVtZW50LnJlbW92ZSgpO1xuICAgIH1cblxuICAgIGRvbmUoKTtcbiAgfVxuXG4gIGRyYWdPdXRIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XG4gICAgdGhpcy5yZW1vdmVDbGFzcyhcImRyYWctb3ZlclwiKTtcbiAgfVxuXG4gIGRyYWdPdmVySGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xuICAgIHRoaXMuYWRkQ2xhc3MoXCJkcmFnLW92ZXJcIik7XG4gIH1cblxuICBnZXRSZWZlcmVuY2UoKSB7XG4gICAgY29uc3QgeyByZWZlcmVuY2UgPSBudWxsIH0gPSB0aGlzLnByb3BlcnRpZXM7XG5cbiAgICByZXR1cm4gcmVmZXJlbmNlO1xuICB9XG5cbiAgZGlkTW91bnQoKSB7XG4gICAgdGhpcy5lbmFibGVEcm9wKCk7XG5cbiAgICB0aGlzLm9uRHJvcCh0aGlzLmRyb3BIYW5kbGVyKTtcbiAgICB0aGlzLm9uRHJhZ091dCh0aGlzLmRyYWdPdXRIYW5kbGVyKTtcbiAgICB0aGlzLm9uRHJhZ092ZXIodGhpcy5kcmFnT3ZlckhhbmRsZXIpO1xuICB9XG5cbiAgd2lsbFVubW91bnQoKSB7XG4gICAgdGhpcy5kaXNhYmxlRHJvcCgpO1xuXG4gICAgdGhpcy5vZmZEcm9wKHRoaXMuZHJvcEhhbmRsZXIpO1xuICAgIHRoaXMub2ZmRHJhZ091dCh0aGlzLmRyYWdPdXRIYW5kbGVyKTtcbiAgICB0aGlzLm9mZkRyYWdPdmVyKHRoaXMuZHJhZ092ZXJIYW5kbGVyKTtcbiAgfVxuXG4gIGNoaWxkRWxlbWVudHMoKSB7XG4gICAgcmV0dXJuIFwiRFJPUCBFTEVNRU5UXCI7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGlnbm9yZWRQcm9wZXJ0aWVzID0gW1xuICAgIFwicmVmZXJlbmNlXCJcbiAgXTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BlcnRpZXMgPSB7XG4gICAgY2xhc3NOYW1lOiBcImRyb3BcIixcbiAgICByZWZlcmVuY2U6IFwiZHJvcC1kaXZcIlxuICB9O1xufVxuXG5PYmplY3QuYXNzaWduKERyb3BEaXYucHJvdG90eXBlLCBkcm9wTWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgd2l0aFN0eWxlKERyb3BEaXYpYFxuXG4gICR7c3R5bGV9XG5cbiAgbWFyZ2luLWJvdHRvbTogMTByZW07XG4gIGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1xuICBcbiAgLmRyYWctb3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcbiAgfVxuICBcbmA7XG4iXSwibmFtZXMiOlsiRHJvcERpdiIsImRyb3BIYW5kbGVyIiwiZHJhZ0VsZW1lbnQiLCJhYm9ydGVkIiwiZWxlbWVudCIsImRvbmUiLCJyZW1vdmUiLCJkcmFnT3V0SGFuZGxlciIsImV2ZW50IiwicmVtb3ZlQ2xhc3MiLCJkcmFnT3ZlckhhbmRsZXIiLCJhZGRDbGFzcyIsImdldFJlZmVyZW5jZSIsInByb3BlcnRpZXMiLCJyZWZlcmVuY2UiLCJkaWRNb3VudCIsImVuYWJsZURyb3AiLCJvbkRyb3AiLCJvbkRyYWdPdXQiLCJvbkRyYWdPdmVyIiwid2lsbFVubW91bnQiLCJkaXNhYmxlRHJvcCIsIm9mZkRyb3AiLCJvZmZEcmFnT3V0Iiwib2ZmRHJhZ092ZXIiLCJjaGlsZEVsZW1lbnRzIiwiRWxlbWVudCIsInRhZ05hbWUiLCJpZ25vcmVkUHJvcGVydGllcyIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwiT2JqZWN0IiwiYXNzaWduIiwicHJvdG90eXBlIiwiZHJvcE1peGlucyIsIndpdGhTdHlsZSIsInN0eWxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFrRUE7OztlQUFBOzs7b0VBaEVzQjtvQkFFRTtxQkFDRzs0REFFVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFbEIsSUFBQSxBQUFNQSx3QkF1REgsQUF2REg7Y0FBTUE7K0JBQUFBO2FBQUFBO2dDQUFBQTs7O1FBQ0pDLGtEQUFBQSxlQUFjLFNBQUNDLGFBQWFDLFNBQVNDLFNBQVNDO1lBQzVDLElBQUlILGdCQUFnQixNQUFNO2dCQUN4QkEsWUFBWUksTUFBTTtZQUNwQjtZQUVBRDtRQUNGO1FBRUFFLGtEQUFBQSxrQkFBaUIsU0FBQ0MsT0FBT0o7WUFDdkIsTUFBS0ssV0FBVyxDQUFDO1FBQ25CO1FBRUFDLGtEQUFBQSxtQkFBa0IsU0FBQ0YsT0FBT0o7WUFDeEIsTUFBS08sUUFBUSxDQUFDO1FBQ2hCOzs7a0JBZklYOztZQWlCSlksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQTZCLG1CQUFBLElBQUksQ0FBQ0MsVUFBVSwrQkFBZixpQkFBckJDLFdBQUFBLG9EQUFZO2dCQUVwQixPQUFPQTtZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUksQ0FBQ0MsVUFBVTtnQkFFZixJQUFJLENBQUNDLE1BQU0sQ0FBQyxJQUFJLENBQUNoQixXQUFXO2dCQUM1QixJQUFJLENBQUNpQixTQUFTLENBQUMsSUFBSSxDQUFDWCxjQUFjO2dCQUNsQyxJQUFJLENBQUNZLFVBQVUsQ0FBQyxJQUFJLENBQUNULGVBQWU7WUFDdEM7OztZQUVBVSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDQyxXQUFXO2dCQUVoQixJQUFJLENBQUNDLE9BQU8sQ0FBQyxJQUFJLENBQUNyQixXQUFXO2dCQUM3QixJQUFJLENBQUNzQixVQUFVLENBQUMsSUFBSSxDQUFDaEIsY0FBYztnQkFDbkMsSUFBSSxDQUFDaUIsV0FBVyxDQUFDLElBQUksQ0FBQ2QsZUFBZTtZQUN2Qzs7O1lBRUFlLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPO1lBQ1Q7OztXQXpDSXpCO3FCQUFnQjBCLGFBQU87QUEyQzNCLGlCQTNDSTFCLFNBMkNHMkIsV0FBVTtBQUVqQixpQkE3Q0kzQixTQTZDRzRCLHFCQUFvQjtJQUN6QjtDQUNEO0FBRUQsaUJBakRJNUIsU0FpREc2QixxQkFBb0I7SUFDekJDLFdBQVc7SUFDWGhCLFdBQVc7QUFDYjtBQUdGaUIsT0FBT0MsTUFBTSxDQUFDaEMsUUFBUWlDLFNBQVMsRUFBRUMsaUJBQVU7SUFFM0MsV0FBZUMsSUFBQUEsc0JBQVMsRUFBQ25DLDRCQUVyQm9DLGNBQUsifQ==
@@ -171,12 +171,16 @@ var View = /*#__PURE__*/ function(Element) {
171
171
  {
172
172
  key: "childElements",
173
173
  value: function childElements() {
174
+ var references = [
175
+ "drop-div"
176
+ ];
174
177
  return [
175
178
  /*#__PURE__*/ React.createElement(_drop.default, null),
176
179
  /*#__PURE__*/ React.createElement(_drag.default, {
177
180
  onDrag: dragHandler,
178
181
  onStopDrag: stopDragHandler,
179
- onStartDrag: startDragHandler
182
+ onStartDrag: startDragHandler,
183
+ references: references
180
184
  })
181
185
  ];
182
186
  }
@@ -199,4 +203,4 @@ function startDragHandler(element) {
199
203
  console.log("start drag...");
200
204
  }
201
205
 
202
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuXG5pbXBvcnQgRHJhZ0RpdiBmcm9tIFwiLi9kaXYvZHJhZ1wiO1xuaW1wb3J0IERyb3BEaXYgZnJvbSBcIi4vZGl2L2Ryb3BcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmlldyBleHRlbmRzIEVsZW1lbnQge1xuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIHJldHVybiAoW1xuXG4gICAgICA8RHJvcERpdi8+LFxuICAgICAgPERyYWdEaXYgb25EcmFnPXtkcmFnSGFuZGxlcn0gb25TdG9wRHJhZz17c3RvcERyYWdIYW5kbGVyfSBvblN0YXJ0RHJhZz17c3RhcnREcmFnSGFuZGxlcn0gLz5cblxuICAgIF0pO1xuICB9XG5cbiAgc3RhdGljIHRhZ05hbWUgPSBcImRpdlwiO1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcbiAgICBjbGFzc05hbWU6IFwidmlld1wiXG4gIH07XG59XG5cbmZ1bmN0aW9uIGRyYWdIYW5kbGVyKGVsZW1lbnQpIHtcbiAgY29uc29sZS5sb2coXCJkcmFnXCIpXG59XG5cbmZ1bmN0aW9uIHN0b3BEcmFnSGFuZGxlcihkcm9wRWxlbWVudCwgYWJvcnRlZCwgZWxlbWVudCwgZG9uZSkge1xuICBjb25zb2xlLmxvZyhgLi4uc3RvcCBkcmFnICR7YWJvcnRlZH1gKVxuXG4gIGRvbmUoKTtcbn1cblxuZnVuY3Rpb24gc3RhcnREcmFnSGFuZGxlcihlbGVtZW50KSB7XG4gIGNvbnNvbGUubG9nKFwic3RhcnQgZHJhZy4uLlwiKVxufVxuIl0sIm5hbWVzIjpbIlZpZXciLCJjaGlsZEVsZW1lbnRzIiwiRHJvcERpdiIsIkRyYWdEaXYiLCJvbkRyYWciLCJkcmFnSGFuZGxlciIsIm9uU3RvcERyYWciLCJzdG9wRHJhZ0hhbmRsZXIiLCJvblN0YXJ0RHJhZyIsInN0YXJ0RHJhZ0hhbmRsZXIiLCJFbGVtZW50IiwidGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwiZWxlbWVudCIsImNvbnNvbGUiLCJsb2ciLCJkcm9wRWxlbWVudCIsImFib3J0ZWQiLCJkb25lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU9xQkE7OztvQkFMRzsyREFFSjsyREFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUwsSUFBQSxBQUFNQSxxQkFpQmxCLEFBakJZO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBQ25CQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBUTtrQ0FFTixvQkFBQ0MsYUFBTztrQ0FDUixvQkFBQ0MsYUFBTzt3QkFBQ0MsUUFBUUM7d0JBQWFDLFlBQVlDO3dCQUFpQkMsYUFBYUM7O2lCQUV6RTtZQUNIOzs7V0FSbUJUO3FCQUFhVSxhQUFPO0FBVXZDLGlCQVZtQlYsTUFVWlcsV0FBVTtBQUVqQixpQkFabUJYLE1BWVpZLHFCQUFvQjtJQUN6QkMsV0FBVztBQUNiO0FBR0YsU0FBU1IsWUFBWVMsT0FBTztJQUMxQkMsUUFBUUMsR0FBRyxDQUFDO0FBQ2Q7QUFFQSxTQUFTVCxnQkFBZ0JVLFdBQVcsRUFBRUMsT0FBTyxFQUFFSixPQUFPLEVBQUVLLElBQUk7SUFDMURKLFFBQVFDLEdBQUcsQ0FBQyxBQUFDLGdCQUF1QixPQUFSRTtJQUU1QkM7QUFDRjtBQUVBLFNBQVNWLGlCQUFpQkssT0FBTztJQUMvQkMsUUFBUUMsR0FBRyxDQUFDO0FBQ2QifQ==
206
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9leGFtcGxlL3ZpZXcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tIFwiZWFzeVwiO1xuXG5pbXBvcnQgRHJhZ0RpdiBmcm9tIFwiLi9kaXYvZHJhZ1wiO1xuaW1wb3J0IERyb3BEaXYgZnJvbSBcIi4vZGl2L2Ryb3BcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmlldyBleHRlbmRzIEVsZW1lbnQge1xuICBjaGlsZEVsZW1lbnRzKCkge1xuICAgIGNvbnN0IHJlZmVyZW5jZXMgPSBbXG4gICAgICBcImRyb3AtZGl2XCJcbiAgICBdO1xuXG4gICAgcmV0dXJuIChbXG5cbiAgICAgIDxEcm9wRGl2Lz4sXG4gICAgICA8RHJhZ0RpdiBvbkRyYWc9e2RyYWdIYW5kbGVyfSBvblN0b3BEcmFnPXtzdG9wRHJhZ0hhbmRsZXJ9IG9uU3RhcnREcmFnPXtzdGFydERyYWdIYW5kbGVyfSByZWZlcmVuY2VzPXtyZWZlcmVuY2VzfSAvPlxuXG4gICAgXSk7XG4gIH1cblxuICBzdGF0aWMgdGFnTmFtZSA9IFwiZGl2XCI7XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xuICAgIGNsYXNzTmFtZTogXCJ2aWV3XCJcbiAgfTtcbn1cblxuZnVuY3Rpb24gZHJhZ0hhbmRsZXIoZWxlbWVudCkge1xuICBjb25zb2xlLmxvZyhcImRyYWdcIilcbn1cblxuZnVuY3Rpb24gc3RvcERyYWdIYW5kbGVyKGRyb3BFbGVtZW50LCBhYm9ydGVkLCBlbGVtZW50LCBkb25lKSB7XG4gIGNvbnNvbGUubG9nKGAuLi5zdG9wIGRyYWcgJHthYm9ydGVkfWApXG5cbiAgZG9uZSgpO1xufVxuXG5mdW5jdGlvbiBzdGFydERyYWdIYW5kbGVyKGVsZW1lbnQpIHtcbiAgY29uc29sZS5sb2coXCJzdGFydCBkcmFnLi4uXCIpXG59XG4iXSwibmFtZXMiOlsiVmlldyIsImNoaWxkRWxlbWVudHMiLCJyZWZlcmVuY2VzIiwiRHJvcERpdiIsIkRyYWdEaXYiLCJvbkRyYWciLCJkcmFnSGFuZGxlciIsIm9uU3RvcERyYWciLCJzdG9wRHJhZ0hhbmRsZXIiLCJvblN0YXJ0RHJhZyIsInN0YXJ0RHJhZ0hhbmRsZXIiLCJFbGVtZW50IiwidGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwiZWxlbWVudCIsImNvbnNvbGUiLCJsb2ciLCJkcm9wRWxlbWVudCIsImFib3J0ZWQiLCJkb25lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU9xQkE7OztvQkFMRzsyREFFSjsyREFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUwsSUFBQSxBQUFNQSxxQkFxQmxCLEFBckJZO2NBQU1BOytCQUFBQTthQUFBQTtnQ0FBQUE7OztrQkFBQUE7O1lBQ25CQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUMsYUFBYTtvQkFDakI7aUJBQ0Q7Z0JBRUQsT0FBUTtrQ0FFTixvQkFBQ0MsYUFBTztrQ0FDUixvQkFBQ0MsYUFBTzt3QkFBQ0MsUUFBUUM7d0JBQWFDLFlBQVlDO3dCQUFpQkMsYUFBYUM7d0JBQWtCUixZQUFZQTs7aUJBRXZHO1lBQ0g7OztXQVptQkY7cUJBQWFXLGFBQU87QUFjdkMsaUJBZG1CWCxNQWNaWSxXQUFVO0FBRWpCLGlCQWhCbUJaLE1BZ0JaYSxxQkFBb0I7SUFDekJDLFdBQVc7QUFDYjtBQUdGLFNBQVNSLFlBQVlTLE9BQU87SUFDMUJDLFFBQVFDLEdBQUcsQ0FBQztBQUNkO0FBRUEsU0FBU1QsZ0JBQWdCVSxXQUFXLEVBQUVDLE9BQU8sRUFBRUosT0FBTyxFQUFFSyxJQUFJO0lBQzFESixRQUFRQyxHQUFHLENBQUMsQUFBQyxnQkFBdUIsT0FBUkU7SUFFNUJDO0FBQ0Y7QUFFQSxTQUFTVixpQkFBaUJLLE9BQU87SUFDL0JDLFFBQVFDLEdBQUcsQ0FBQztBQUNkIn0=
@@ -11,6 +11,7 @@ Object.defineProperty(exports, "default", {
11
11
  var _necessary = require("necessary");
12
12
  var _easy = require("easy");
13
13
  var _constants = require("../constants");
14
+ var _reference = require("../utilities/reference");
14
15
  var _event = require("../utilities/event");
15
16
  var _eventTypes = require("../eventTypes");
16
17
  function _array_like_to_array(arr, len) {
@@ -141,6 +142,10 @@ function stopDrag(aborted) {
141
142
  };
142
143
  if (dropElement !== null) {
143
144
  var dragElement = this; ///
145
+ var dragElementIgnoresDropElement = (0, _reference.checkDragElementIgnoresDropElement)(dragElement, dropElement);
146
+ if (dragElementIgnoresDropElement) {
147
+ dragElement = null;
148
+ }
144
149
  dropElement.drop(dragElement, aborted, done);
145
150
  } else {
146
151
  done();
@@ -305,4 +310,4 @@ function mouseMoveHandler(event, element) {
305
310
  event.stopPropagation();
306
311
  }
307
312
 
308
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZHJhZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsga2V5Q29kZXMsIGFzeW5jaHJvbm91c1V0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIiA7XG5pbXBvcnQgeyB3aW5kb3csIGV2ZW50VHlwZXMsIG1vdXNlQnV0dG9ucyB9IGZyb20gXCJlYXN5XCI7XG5cbmltcG9ydCB7IFNUQVJUX0RSQUdHSU5HX0RFTEFZIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgbW91c2VUb3BGcm9tRXZlbnQsIG1vdXNlTGVmdEZyb21FdmVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvZXZlbnRcIjtcbmltcG9ydCB7IERSQUdfRVZFTlRfVFlQRSwgU1RPUF9EUkFHX0VWRU5UX1RZUEUsIFNUQVJUX0RSQUdfRVZFTlRfVFlQRSB9IGZyb20gXCIuLi9ldmVudFR5cGVzXCI7XG5cbmNvbnN0IHsgZm9yRWFjaCB9ID0gYXN5bmNocm9ub3VzVXRpbGl0aWVzLFxuICAgICAgeyBFU0NBUEVfS0VZX0NPREUgfSA9IGtleUNvZGVzLFxuICAgICAgeyBCTFVSX0VWRU5UX1RZUEUgfSA9IGV2ZW50VHlwZXMsXG4gICAgICB7IExFRlRfTU9VU0VfQlVUVE9OIH0gPSBtb3VzZUJ1dHRvbnM7XG5cbmNvbnN0IGRyYWdFbGVtZW50ID0gbnVsbDtcblxuT2JqZWN0LmFzc2lnbihnbG9iYWxUaGlzLCB7XG4gIGRyYWdFbGVtZW50XG59KTtcblxuZnVuY3Rpb24gb25EcmFnKGRyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IGRyYWdIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9mZkRyYWcoZHJhZ0hhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gZHJhZ0hhbmRsZXI7ICAvLy9cblxuICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb25TdG9wRHJhZyhzdG9wRHJhZ0hhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gU1RPUF9EUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBzdG9wRHJhZ0hhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmU3RvcERyYWcoc3RvcERyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFNUT1BfRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gc3RvcERyYWdIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9uU3RhcnREcmFnKHN0YXJ0RHJhZ0hhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gU1RBUlRfRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gc3RhcnREcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZTdGFydERyYWcoc3RhcnREcmFnSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBTVEFSVF9EUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBzdGFydERyYWdIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIGVuYWJsZURyYWcoKSB7XG4gIGNvbnN0IHsgb25EcmFnLCBvblN0b3BEcmFnLCBvblN0YXJ0RHJhZyB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICBkcmFnSGFuZGxlciA9IG9uRHJhZywgLy8vXG4gICAgICAgIHN0b3BEcmFnSGFuZGxlciA9IG9uU3RvcERyYWcsIC8vL1xuICAgICAgICBzdGFydERyYWdIYW5kbGVyID0gb25TdGFydERyYWcsIC8vL1xuICAgICAgICB0aW1lb3V0ID0gbnVsbCxcbiAgICAgICAgdG9wT2Zmc2V0ID0gbnVsbCxcbiAgICAgICAgbGVmdE9mZnNldCA9IG51bGwsXG4gICAgICAgIHN0YXJ0TW91c2VUb3AgPSBudWxsLFxuICAgICAgICBzdGFydE1vdXNlTGVmdCA9IG51bGw7XG5cbiAgZHJhZ0hhbmRsZXIgJiYgdGhpcy5vbkRyYWcoZHJhZ0hhbmRsZXIpO1xuICBzdG9wRHJhZ0hhbmRsZXIgJiYgdGhpcy5vblN0b3BEcmFnKHN0b3BEcmFnSGFuZGxlcik7XG4gIHN0YXJ0RHJhZ0hhbmRsZXIgJiYgdGhpcy5vblN0YXJ0RHJhZyhzdGFydERyYWdIYW5kbGVyKTtcblxuICB0aGlzLm9uTW91c2VEb3duKG1vdXNlRG93bkhhbmRsZXIsIHRoaXMpO1xuXG4gIHRoaXMuc2V0U3RhdGUoe1xuICAgIHRpbWVvdXQsXG4gICAgdG9wT2Zmc2V0LFxuICAgIGxlZnRPZmZzZXQsXG4gICAgc3RhcnRNb3VzZVRvcCxcbiAgICBzdGFydE1vdXNlTGVmdFxuICB9KTtcbn1cblxuZnVuY3Rpb24gZGlzYWJsZURyYWcoKSB7XG4gIGNvbnN0IHsgb25EcmFnLCBvblN0b3BEcmFnLCBvblN0YXJ0RHJhZyB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICBkcmFnSGFuZGxlciA9IG9uRHJhZywgLy8vXG4gICAgICAgIHN0b3BEcmFnSGFuZGxlciA9IG9uU3RvcERyYWcsIC8vL1xuICAgICAgICBzdGFydERyYWdIYW5kbGVyID0gb25TdGFydERyYWc7IC8vL1xuXG4gIGRyYWdIYW5kbGVyICYmIHRoaXMub2ZmRHJhZyhkcmFnSGFuZGxlcik7XG4gIHN0b3BEcmFnSGFuZGxlciAmJiB0aGlzLm9mZlN0b3BEcmFnKHN0b3BEcmFnSGFuZGxlcik7XG4gIHN0YXJ0RHJhZ0hhbmRsZXIgJiYgdGhpcy5vZmZTdGFydERyYWcoc3RhcnREcmFnSGFuZGxlcik7XG5cbiAgdGhpcy5vZmZNb3VzZURvd24obW91c2VEb3duSGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIGlzRHJhZ2dpbmcoKSB7XG4gIGNvbnN0IGRyYWdnaW5nID0gdGhpcy5oYXNDbGFzcyhcImRyYWdnaW5nXCIpO1xuXG4gIHJldHVybiBkcmFnZ2luZztcbn1cblxuZnVuY3Rpb24gc3RhcnRXYWl0aW5nVG9EcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpIHtcbiAgbGV0IHRpbWVvdXQgPSB0aGlzLmdldFRpbWVvdXQoKTtcblxuICBpZiAodGltZW91dCA9PT0gbnVsbCkge1xuICAgIHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMucmVzZXRUaW1lb3V0KCk7XG5cbiAgICAgIHRoaXMuc3RhcnREcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpO1xuICAgIH0sIFNUQVJUX0RSQUdHSU5HX0RFTEFZKTtcblxuICAgIHRoaXMudXBkYXRlVGltZW91dCh0aW1lb3V0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdG9wV2FpdGluZ1RvRHJhZygpIHtcbiAgY29uc3QgdGltZW91dCA9IHRoaXMuZ2V0VGltZW91dCgpO1xuXG4gIGlmICh0aW1lb3V0ICE9PSBudWxsKSB7XG4gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuXG4gICAgdGhpcy5yZXNldFRpbWVvdXQoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzdGFydERyYWcobW91c2VUb3AsIG1vdXNlTGVmdCkge1xuICBjb25zdCBib3VuZHMgPSB0aGlzLmdldEJvdW5kcygpLFxuICAgICAgICBldmVudFR5cGUgPSBTVEFSVF9EUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIGJvdW5kc1RvcCA9IGJvdW5kcy5nZXRUb3AoKSxcbiAgICAgICAgYm91bmRzTGVmdCA9IGJvdW5kcy5nZXRMZWZ0KCksXG4gICAgICAgIGJvdW5kc1JpZ2h0ID0gYm91bmRzLmdldFJpZ2h0KCksXG4gICAgICAgIGJvdW5kc0JvdHRvbSA9IGJvdW5kcy5nZXRCb3R0b20oKSxcbiAgICAgICAgYm91bmRzV2lkdGggPSBib3VuZHNSaWdodCAtIGJvdW5kc0xlZnQsXG4gICAgICAgIGJvdW5kc0hlaWdodCA9IGJvdW5kc0JvdHRvbSAtIGJvdW5kc1RvcCxcbiAgICAgICAgdG9wT2Zmc2V0ID0gTWF0aC5mbG9vcihib3VuZHNIZWlnaHQgLyAyKSxcbiAgICAgICAgbGVmdE9mZnNldCA9IE1hdGguZmxvb3IoYm91bmRzV2lkdGggLyAyKSxcbiAgICAgICAgZHJhZ0VsZW1lbnQgPSB0aGlzLCAvLy9cbiAgICAgICAgc3RhcnRNb3VzZVRvcCA9IG1vdXNlVG9wLCAvLy9cbiAgICAgICAgc3RhcnRNb3VzZUxlZnQgPSBtb3VzZUxlZnQ7IC8vL1xuXG4gIHdpbmRvdy5vbktleURvd24oa2V5RG93bkhhbmRsZXIsIHRoaXMpO1xuXG4gIHdpbmRvdy5vbk1vdXNlTW92ZShtb3VzZU1vdmVIYW5kbGVyLCB0aGlzKTtcblxuICB0aGlzLmFkZENsYXNzKFwiZHJhZ2dpbmdcIik7XG5cbiAgT2JqZWN0LmFzc2lnbihnbG9iYWxUaGlzLCB7XG4gICAgZHJhZ0VsZW1lbnRcbiAgfSk7XG5cbiAgdGhpcy5zZXRUb3BPZmZzZXQodG9wT2Zmc2V0KTtcblxuICB0aGlzLnNldExlZnRPZmZzZXQobGVmdE9mZnNldCk7XG5cbiAgdGhpcy5zZXRTdGFydE1vdXNlVG9wKHN0YXJ0TW91c2VUb3ApO1xuXG4gIHRoaXMuc2V0U3RhcnRNb3VzZUxlZnQoc3RhcnRNb3VzZUxlZnQpO1xuXG4gIHRoaXMuY2FsbEhhbmRsZXJzKGV2ZW50VHlwZSk7XG5cbiAgdGhpcy5kcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpO1xufVxuXG5mdW5jdGlvbiBzdG9wRHJhZyhhYm9ydGVkKSB7XG4gIGNvbnN0IHsgZHJvcEVsZW1lbnQgfSA9IGdsb2JhbFRoaXMsXG4gICAgICAgIGV2ZW50VHlwZSA9IFNUT1BfRFJBR19FVkVOVF9UWVBFO1xuXG4gIHdpbmRvdy5vZmZLZXlEb3duKGtleURvd25IYW5kbGVyLCB0aGlzKTtcblxuICB3aW5kb3cub2ZmTW91c2VNb3ZlKG1vdXNlTW92ZUhhbmRsZXIsIHRoaXMpO1xuXG4gIGNvbnN0IGRvbmUgPSAoKSA9PiB7XG4gICAgdGhpcy5jYWxsSGFuZGxlcnNBc3luYyhldmVudFR5cGUsIGRyb3BFbGVtZW50LCBhYm9ydGVkLCAoKSA9PiB7XG4gICAgICBjb25zdCBkcmFnRWxlbWVudCA9IG51bGw7XG5cbiAgICAgIE9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICAgICAgICBkcmFnRWxlbWVudFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMucmVtb3ZlQ2xhc3MoXCJkcmFnZ2luZ1wiKTtcbiAgICB9KTtcbiAgfVxuXG4gIGlmIChkcm9wRWxlbWVudCAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGRyYWdFbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICBkcm9wRWxlbWVudC5kcm9wKGRyYWdFbGVtZW50LCBhYm9ydGVkLCBkb25lKTtcbiAgfSBlbHNlIHtcbiAgICBkb25lKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgc2Nyb2xsVG9wID0gd2luZG93LmdldFNjcm9sbFRvcCgpLFxuICAgICAgICBzY3JvbGxMZWZ0ID0gd2luZG93LmdldFNjcm9sbExlZnQoKSxcbiAgICAgICAgdG9wT2Zmc2V0ID0gdGhpcy5nZXRUb3BPZmZzZXQoKSxcbiAgICAgICAgbGVmdE9mZnNldCA9IHRoaXMuZ2V0TGVmdE9mZnNldCgpLFxuICAgICAgICBzdGFydE1vdXNlVG9wID0gdGhpcy5nZXRTdGFydE1vdXNlVG9wKCksXG4gICAgICAgIHN0YXJ0TW91c2VMZWZ0ID0gdGhpcy5nZXRTdGFydE1vdXNlTGVmdCgpLFxuICAgICAgICByZWxhdGl2ZU1vdXNlVG9wID0gbW91c2VUb3AgLSBzdGFydE1vdXNlVG9wLFxuICAgICAgICByZWxhdGl2ZU1vdXNlTGVmdCA9IG1vdXNlTGVmdCAtIHN0YXJ0TW91c2VMZWZ0O1xuXG4gIGxldCB0b3AgPSBzdGFydE1vdXNlVG9wICsgcmVsYXRpdmVNb3VzZVRvcCAtIHRvcE9mZnNldCAtIHNjcm9sbFRvcCxcbiAgICAgIGxlZnQgPSBzdGFydE1vdXNlTGVmdCArIHJlbGF0aXZlTW91c2VMZWZ0IC0gbGVmdE9mZnNldCAtIHNjcm9sbExlZnQ7XG5cbiAgdG9wID0gYCR7dG9wfXB4YDsgLy8vXG4gIGxlZnQgPSBgJHtsZWZ0fXB4YDsgLy8vXG5cbiAgY29uc3QgY3NzID0ge1xuICAgIHRvcCxcbiAgICBsZWZ0XG4gIH07XG5cbiAgdGhpcy5jc3MoY3NzKTtcblxuICB0aGlzLmNhbGxIYW5kbGVycyhldmVudFR5cGUsIHJlbGF0aXZlTW91c2VUb3AsIHJlbGF0aXZlTW91c2VMZWZ0KTtcbn1cblxuZnVuY3Rpb24gZ2V0VGltZW91dCgpIHtcbiAgY29uc3QgeyB0aW1lb3V0IH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgcmV0dXJuIHRpbWVvdXQ7XG59XG5cbmZ1bmN0aW9uIHJlc2V0VGltZW91dCgpIHtcbiAgY29uc3QgdGltZW91dCA9IG51bGw7XG5cbiAgdGhpcy51cGRhdGVUaW1lb3V0KHRpbWVvdXQpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVUaW1lb3V0KHRpbWVvdXQpIHtcbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgdGltZW91dFxuICB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0VG9wT2Zmc2V0KCkge1xuICBjb25zdCB7IHRvcE9mZnNldCB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gIHJldHVybiB0b3BPZmZzZXQ7XG59XG5cbmZ1bmN0aW9uIGdldExlZnRPZmZzZXQoKSB7XG4gIGNvbnN0IHsgbGVmdE9mZnNldCB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gIHJldHVybiBsZWZ0T2Zmc2V0O1xufVxuXG5mdW5jdGlvbiBnZXRTdGFydE1vdXNlVG9wKCkge1xuICBjb25zdCB7IHN0YXJ0TW91c2VUb3AgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICByZXR1cm4gc3RhcnRNb3VzZVRvcDtcbn1cblxuZnVuY3Rpb24gZ2V0U3RhcnRNb3VzZUxlZnQoKSB7XG4gIGNvbnN0IHsgc3RhcnRNb3VzZUxlZnQgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICByZXR1cm4gc3RhcnRNb3VzZUxlZnQ7XG59XG5cbmZ1bmN0aW9uIHNldFRvcE9mZnNldCh0b3BPZmZzZXQpIHtcbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgdG9wT2Zmc2V0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBzZXRMZWZ0T2Zmc2V0KGxlZnRPZmZzZXQpIHtcbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgbGVmdE9mZnNldFxuICB9KTtcbn1cblxuZnVuY3Rpb24gc2V0U3RhcnRNb3VzZVRvcChzdGFydE1vdXNlVG9wKSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHN0YXJ0TW91c2VUb3BcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHNldFN0YXJ0TW91c2VMZWZ0KHN0YXJ0TW91c2VMZWZ0KSB7XG4gIHRoaXMudXBkYXRlU3RhdGUoe1xuICAgIHN0YXJ0TW91c2VMZWZ0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjYWxsSGFuZGxlcnMoZXZlbnRUeXBlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gIGV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGV2ZW50TGlzdGVuZXIpID0+IHtcbiAgICBjb25zdCB7IGhhbmRsZXIsIGVsZW1lbnQ6IGhhbmRsZXJFbGVtZW50IH0gPSBldmVudExpc3RlbmVyLFxuICAgICAgICAgIGVsZW1lbnQgPSB0aGlzOyAvLy9cblxuICAgIGhhbmRsZXIuY2FsbChoYW5kbGVyRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBlbGVtZW50KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNhbGxIYW5kbGVyc0FzeW5jKGV2ZW50VHlwZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IGRvbmUgPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksICAvLy9cbiAgICAgICAgZXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpO1xuXG4gIGZvckVhY2goZXZlbnRMaXN0ZW5lcnMsIChldmVudExpc3RlbmVyLCBuZXh0KSA9PiB7XG4gICAgY29uc3QgeyBoYW5kbGVyLCBlbGVtZW50OiBoYW5kbGVyRWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgICBlbGVtZW50ID0gdGhpcywgLy8vXG4gICAgICAgICAgZG9uZSA9IG5leHQ7ICAvLy9cblxuICAgIGhhbmRsZXIuY2FsbChoYW5kbGVyRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBlbGVtZW50LCBkb25lKTtcbiAgfSwgZG9uZSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgb25EcmFnLFxuICBvZmZEcmFnLFxuICBvblN0b3BEcmFnLFxuICBvZmZTdG9wRHJhZyxcbiAgb25TdGFydERyYWcsXG4gIG9mZlN0YXJ0RHJhZyxcbiAgZW5hYmxlRHJhZyxcbiAgZGlzYWJsZURyYWcsXG4gIGlzRHJhZ2dpbmcsXG4gIHN0YXJ0V2FpdGluZ1RvRHJhZyxcbiAgc3RvcFdhaXRpbmdUb0RyYWcsXG4gIHN0YXJ0RHJhZyxcbiAgc3RvcERyYWcsXG4gIGRyYWcsXG4gIGdldFRpbWVvdXQsXG4gIHJlc2V0VGltZW91dCxcbiAgdXBkYXRlVGltZW91dCxcbiAgZ2V0VG9wT2Zmc2V0LFxuICBnZXRMZWZ0T2Zmc2V0LFxuICBnZXRTdGFydE1vdXNlVG9wLFxuICBnZXRTdGFydE1vdXNlTGVmdCxcbiAgc2V0VG9wT2Zmc2V0LFxuICBzZXRMZWZ0T2Zmc2V0LFxuICBzZXRTdGFydE1vdXNlVG9wLFxuICBzZXRTdGFydE1vdXNlTGVmdCxcbiAgY2FsbEhhbmRsZXJzLFxuICBjYWxsSGFuZGxlcnNBc3luY1xufTtcblxuZnVuY3Rpb24ga2V5RG93bkhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgeyBrZXlDb2RlIH0gPSBldmVudCxcbiAgICAgICAgZXNjYXBlS2V5ID0gKGtleUNvZGUgPT09IEVTQ0FQRV9LRVlfQ09ERSksXG4gICAgICAgIGFib3J0ZWQgPSB0cnVlO1xuXG4gIGlmIChlc2NhcGVLZXkpIHtcbiAgICB0aGlzLnN0b3BEcmFnKGFib3J0ZWQpO1xuXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbW91c2VVcEhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmlzRHJhZ2dpbmcoKSxcbiAgICAgICAgYWJvcnRlZCA9IGZhbHNlO1xuXG4gIGRyYWdnaW5nID9cbiAgICB0aGlzLnN0b3BEcmFnKGFib3J0ZWQpIDpcbiAgICAgIHRoaXMuc3RvcFdhaXRpbmdUb0RyYWcoKTtcblxuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICB3aW5kb3cub2ZmKEJMVVJfRVZFTlRfVFlQRSwgbW91c2VVcEhhbmRsZXIsIHRoaXMpOyAgLy8vXG5cbiAgd2luZG93Lm9mZk1vdXNlVXAobW91c2VVcEhhbmRsZXIsIHRoaXMpO1xufVxuXG5mdW5jdGlvbiBtb3VzZURvd25IYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnN0IHsgYnV0dG9uIH0gPSBldmVudDtcblxuICBpZiAoYnV0dG9uID09PSBMRUZUX01PVVNFX0JVVFRPTikge1xuICAgIGNvbnN0IGRyYWdnaW5nID0gdGhpcy5pc0RyYWdnaW5nKCk7XG5cbiAgICBpZiAoIWRyYWdnaW5nKSB7XG4gICAgICBjb25zdCBtb3VzZVRvcCA9IG1vdXNlVG9wRnJvbUV2ZW50KGV2ZW50KSxcbiAgICAgICAgICAgIG1vdXNlTGVmdCA9IG1vdXNlTGVmdEZyb21FdmVudChldmVudCk7XG5cbiAgICAgIHRoaXMuc3RhcnRXYWl0aW5nVG9EcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpO1xuICAgIH1cbiAgfVxuXG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gIHdpbmRvdy5vbihCTFVSX0VWRU5UX1RZUEUsIG1vdXNlVXBIYW5kbGVyLCB0aGlzKTsgLy8vXG5cbiAgd2luZG93Lm9uTW91c2VVcChtb3VzZVVwSGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIG1vdXNlTW92ZUhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmlzRHJhZ2dpbmcoKTtcblxuICBpZiAoZHJhZ2dpbmcpIHtcbiAgICBjb25zdCBtb3VzZVRvcCA9IG1vdXNlVG9wRnJvbUV2ZW50KGV2ZW50KSxcbiAgICAgICAgICBtb3VzZUxlZnQgPSBtb3VzZUxlZnRGcm9tRXZlbnQoZXZlbnQpO1xuXG4gICAgdGhpcy5kcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpO1xuICB9XG5cbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG59XG4iXSwibmFtZXMiOlsiZm9yRWFjaCIsImFzeW5jaHJvbm91c1V0aWxpdGllcyIsIkVTQ0FQRV9LRVlfQ09ERSIsImtleUNvZGVzIiwiQkxVUl9FVkVOVF9UWVBFIiwiZXZlbnRUeXBlcyIsIkxFRlRfTU9VU0VfQlVUVE9OIiwibW91c2VCdXR0b25zIiwiZHJhZ0VsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJnbG9iYWxUaGlzIiwib25EcmFnIiwiZHJhZ0hhbmRsZXIiLCJlbGVtZW50IiwiZXZlbnRUeXBlIiwiRFJBR19FVkVOVF9UWVBFIiwiaGFuZGxlciIsImFkZEV2ZW50TGlzdGVuZXIiLCJvZmZEcmFnIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIm9uU3RvcERyYWciLCJzdG9wRHJhZ0hhbmRsZXIiLCJTVE9QX0RSQUdfRVZFTlRfVFlQRSIsIm9mZlN0b3BEcmFnIiwib25TdGFydERyYWciLCJzdGFydERyYWdIYW5kbGVyIiwiU1RBUlRfRFJBR19FVkVOVF9UWVBFIiwib2ZmU3RhcnREcmFnIiwiZW5hYmxlRHJhZyIsInByb3BlcnRpZXMiLCJ0aW1lb3V0IiwidG9wT2Zmc2V0IiwibGVmdE9mZnNldCIsInN0YXJ0TW91c2VUb3AiLCJzdGFydE1vdXNlTGVmdCIsIm9uTW91c2VEb3duIiwibW91c2VEb3duSGFuZGxlciIsInNldFN0YXRlIiwiZGlzYWJsZURyYWciLCJvZmZNb3VzZURvd24iLCJpc0RyYWdnaW5nIiwiZHJhZ2dpbmciLCJoYXNDbGFzcyIsInN0YXJ0V2FpdGluZ1RvRHJhZyIsIm1vdXNlVG9wIiwibW91c2VMZWZ0IiwiZ2V0VGltZW91dCIsInNldFRpbWVvdXQiLCJyZXNldFRpbWVvdXQiLCJzdGFydERyYWciLCJTVEFSVF9EUkFHR0lOR19ERUxBWSIsInVwZGF0ZVRpbWVvdXQiLCJzdG9wV2FpdGluZ1RvRHJhZyIsImNsZWFyVGltZW91dCIsImJvdW5kcyIsImdldEJvdW5kcyIsImJvdW5kc1RvcCIsImdldFRvcCIsImJvdW5kc0xlZnQiLCJnZXRMZWZ0IiwiYm91bmRzUmlnaHQiLCJnZXRSaWdodCIsImJvdW5kc0JvdHRvbSIsImdldEJvdHRvbSIsImJvdW5kc1dpZHRoIiwiYm91bmRzSGVpZ2h0IiwiTWF0aCIsImZsb29yIiwid2luZG93Iiwib25LZXlEb3duIiwia2V5RG93bkhhbmRsZXIiLCJvbk1vdXNlTW92ZSIsIm1vdXNlTW92ZUhhbmRsZXIiLCJhZGRDbGFzcyIsInNldFRvcE9mZnNldCIsInNldExlZnRPZmZzZXQiLCJzZXRTdGFydE1vdXNlVG9wIiwic2V0U3RhcnRNb3VzZUxlZnQiLCJjYWxsSGFuZGxlcnMiLCJkcmFnIiwic3RvcERyYWciLCJhYm9ydGVkIiwiZHJvcEVsZW1lbnQiLCJvZmZLZXlEb3duIiwib2ZmTW91c2VNb3ZlIiwiZG9uZSIsImNhbGxIYW5kbGVyc0FzeW5jIiwicmVtb3ZlQ2xhc3MiLCJkcm9wIiwic2Nyb2xsVG9wIiwiZ2V0U2Nyb2xsVG9wIiwic2Nyb2xsTGVmdCIsImdldFNjcm9sbExlZnQiLCJnZXRUb3BPZmZzZXQiLCJnZXRMZWZ0T2Zmc2V0IiwiZ2V0U3RhcnRNb3VzZVRvcCIsImdldFN0YXJ0TW91c2VMZWZ0IiwicmVsYXRpdmVNb3VzZVRvcCIsInJlbGF0aXZlTW91c2VMZWZ0IiwidG9wIiwibGVmdCIsImNzcyIsImdldFN0YXRlIiwidXBkYXRlU3RhdGUiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJldmVudExpc3RlbmVycyIsImZpbmRFdmVudExpc3RlbmVycyIsImV2ZW50TGlzdGVuZXIiLCJoYW5kbGVyRWxlbWVudCIsImNhbGwiLCJwb3AiLCJuZXh0IiwiZXZlbnQiLCJrZXlDb2RlIiwiZXNjYXBlS2V5Iiwic3RvcFByb3BhZ2F0aW9uIiwibW91c2VVcEhhbmRsZXIiLCJvZmYiLCJvZmZNb3VzZVVwIiwiYnV0dG9uIiwibW91c2VUb3BGcm9tRXZlbnQiLCJtb3VzZUxlZnRGcm9tRXZlbnQiLCJvbiIsIm9uTW91c2VVcCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBMlRBOzs7ZUFBQTs7O3lCQXpUZ0Q7b0JBQ0M7eUJBRVo7cUJBQ2lCOzBCQUN1Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0UsSUFBTSxBQUFFQSxVQUFZQyxnQ0FBcUIsQ0FBakNELFNBQ0YsQUFBRUUsa0JBQW9CQyxtQkFBUSxDQUE1QkQsaUJBQ0YsQUFBRUUsa0JBQW9CQyxnQkFBVSxDQUE5QkQsaUJBQ0YsQUFBRUUsb0JBQXNCQyxrQkFBWSxDQUFsQ0Q7QUFFUixJQUFNRSxjQUFjO0FBRXBCQyxPQUFPQyxNQUFNLENBQUNDLFlBQVk7SUFDeEJILGFBQUFBO0FBQ0Y7QUFFQSxTQUFT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
313
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZHJhZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsga2V5Q29kZXMsIGFzeW5jaHJvbm91c1V0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIiA7XG5pbXBvcnQgeyB3aW5kb3csIGV2ZW50VHlwZXMsIG1vdXNlQnV0dG9ucyB9IGZyb20gXCJlYXN5XCI7XG5cbmltcG9ydCB7IFNUQVJUX0RSQUdHSU5HX0RFTEFZIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgY2hlY2tEcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvcmVmZXJlbmNlXCI7XG5pbXBvcnQgeyBtb3VzZVRvcEZyb21FdmVudCwgbW91c2VMZWZ0RnJvbUV2ZW50IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9ldmVudFwiO1xuaW1wb3J0IHsgRFJBR19FVkVOVF9UWVBFLCBTVE9QX0RSQUdfRVZFTlRfVFlQRSwgU1RBUlRfRFJBR19FVkVOVF9UWVBFIH0gZnJvbSBcIi4uL2V2ZW50VHlwZXNcIjtcblxuY29uc3QgeyBmb3JFYWNoIH0gPSBhc3luY2hyb25vdXNVdGlsaXRpZXMsXG4gICAgICB7IEVTQ0FQRV9LRVlfQ09ERSB9ID0ga2V5Q29kZXMsXG4gICAgICB7IEJMVVJfRVZFTlRfVFlQRSB9ID0gZXZlbnRUeXBlcyxcbiAgICAgIHsgTEVGVF9NT1VTRV9CVVRUT04gfSA9IG1vdXNlQnV0dG9ucztcblxuY29uc3QgZHJhZ0VsZW1lbnQgPSBudWxsO1xuXG5PYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgZHJhZ0VsZW1lbnRcbn0pO1xuXG5mdW5jdGlvbiBvbkRyYWcoZHJhZ0hhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gZHJhZ0hhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmRHJhZyhkcmFnSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBkcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvblN0b3BEcmFnKHN0b3BEcmFnSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBTVE9QX0RSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHN0b3BEcmFnSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZTdG9wRHJhZyhzdG9wRHJhZ0hhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gU1RPUF9EUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBzdG9wRHJhZ0hhbmRsZXI7ICAvLy9cblxuICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb25TdGFydERyYWcoc3RhcnREcmFnSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBTVEFSVF9EUkFHX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBzdGFydERyYWdIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9mZlN0YXJ0RHJhZyhzdGFydERyYWdIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IFNUQVJUX0RSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IHN0YXJ0RHJhZ0hhbmRsZXI7ICAvLy9cblxuICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gZW5hYmxlRHJhZygpIHtcbiAgY29uc3QgeyBvbkRyYWcsIG9uU3RvcERyYWcsIG9uU3RhcnREcmFnIH0gPSB0aGlzLnByb3BlcnRpZXMsXG4gICAgICAgIGRyYWdIYW5kbGVyID0gb25EcmFnLCAvLy9cbiAgICAgICAgc3RvcERyYWdIYW5kbGVyID0gb25TdG9wRHJhZywgLy8vXG4gICAgICAgIHN0YXJ0RHJhZ0hhbmRsZXIgPSBvblN0YXJ0RHJhZywgLy8vXG4gICAgICAgIHRpbWVvdXQgPSBudWxsLFxuICAgICAgICB0b3BPZmZzZXQgPSBudWxsLFxuICAgICAgICBsZWZ0T2Zmc2V0ID0gbnVsbCxcbiAgICAgICAgc3RhcnRNb3VzZVRvcCA9IG51bGwsXG4gICAgICAgIHN0YXJ0TW91c2VMZWZ0ID0gbnVsbDtcblxuICBkcmFnSGFuZGxlciAmJiB0aGlzLm9uRHJhZyhkcmFnSGFuZGxlcik7XG4gIHN0b3BEcmFnSGFuZGxlciAmJiB0aGlzLm9uU3RvcERyYWcoc3RvcERyYWdIYW5kbGVyKTtcbiAgc3RhcnREcmFnSGFuZGxlciAmJiB0aGlzLm9uU3RhcnREcmFnKHN0YXJ0RHJhZ0hhbmRsZXIpO1xuXG4gIHRoaXMub25Nb3VzZURvd24obW91c2VEb3duSGFuZGxlciwgdGhpcyk7XG5cbiAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgdGltZW91dCxcbiAgICB0b3BPZmZzZXQsXG4gICAgbGVmdE9mZnNldCxcbiAgICBzdGFydE1vdXNlVG9wLFxuICAgIHN0YXJ0TW91c2VMZWZ0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBkaXNhYmxlRHJhZygpIHtcbiAgY29uc3QgeyBvbkRyYWcsIG9uU3RvcERyYWcsIG9uU3RhcnREcmFnIH0gPSB0aGlzLnByb3BlcnRpZXMsXG4gICAgICAgIGRyYWdIYW5kbGVyID0gb25EcmFnLCAvLy9cbiAgICAgICAgc3RvcERyYWdIYW5kbGVyID0gb25TdG9wRHJhZywgLy8vXG4gICAgICAgIHN0YXJ0RHJhZ0hhbmRsZXIgPSBvblN0YXJ0RHJhZzsgLy8vXG5cbiAgZHJhZ0hhbmRsZXIgJiYgdGhpcy5vZmZEcmFnKGRyYWdIYW5kbGVyKTtcbiAgc3RvcERyYWdIYW5kbGVyICYmIHRoaXMub2ZmU3RvcERyYWcoc3RvcERyYWdIYW5kbGVyKTtcbiAgc3RhcnREcmFnSGFuZGxlciAmJiB0aGlzLm9mZlN0YXJ0RHJhZyhzdGFydERyYWdIYW5kbGVyKTtcblxuICB0aGlzLm9mZk1vdXNlRG93bihtb3VzZURvd25IYW5kbGVyLCB0aGlzKTtcbn1cblxuZnVuY3Rpb24gaXNEcmFnZ2luZygpIHtcbiAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmhhc0NsYXNzKFwiZHJhZ2dpbmdcIik7XG5cbiAgcmV0dXJuIGRyYWdnaW5nO1xufVxuXG5mdW5jdGlvbiBzdGFydFdhaXRpbmdUb0RyYWcobW91c2VUb3AsIG1vdXNlTGVmdCkge1xuICBsZXQgdGltZW91dCA9IHRoaXMuZ2V0VGltZW91dCgpO1xuXG4gIGlmICh0aW1lb3V0ID09PSBudWxsKSB7XG4gICAgdGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5yZXNldFRpbWVvdXQoKTtcblxuICAgICAgdGhpcy5zdGFydERyYWcobW91c2VUb3AsIG1vdXNlTGVmdCk7XG4gICAgfSwgU1RBUlRfRFJBR0dJTkdfREVMQVkpO1xuXG4gICAgdGhpcy51cGRhdGVUaW1lb3V0KHRpbWVvdXQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0b3BXYWl0aW5nVG9EcmFnKCkge1xuICBjb25zdCB0aW1lb3V0ID0gdGhpcy5nZXRUaW1lb3V0KCk7XG5cbiAgaWYgKHRpbWVvdXQgIT09IG51bGwpIHtcbiAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG5cbiAgICB0aGlzLnJlc2V0VGltZW91dCgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0YXJ0RHJhZyhtb3VzZVRvcCwgbW91c2VMZWZ0KSB7XG4gIGNvbnN0IGJvdW5kcyA9IHRoaXMuZ2V0Qm91bmRzKCksXG4gICAgICAgIGV2ZW50VHlwZSA9IFNUQVJUX0RSQUdfRVZFTlRfVFlQRSxcbiAgICAgICAgYm91bmRzVG9wID0gYm91bmRzLmdldFRvcCgpLFxuICAgICAgICBib3VuZHNMZWZ0ID0gYm91bmRzLmdldExlZnQoKSxcbiAgICAgICAgYm91bmRzUmlnaHQgPSBib3VuZHMuZ2V0UmlnaHQoKSxcbiAgICAgICAgYm91bmRzQm90dG9tID0gYm91bmRzLmdldEJvdHRvbSgpLFxuICAgICAgICBib3VuZHNXaWR0aCA9IGJvdW5kc1JpZ2h0IC0gYm91bmRzTGVmdCxcbiAgICAgICAgYm91bmRzSGVpZ2h0ID0gYm91bmRzQm90dG9tIC0gYm91bmRzVG9wLFxuICAgICAgICB0b3BPZmZzZXQgPSBNYXRoLmZsb29yKGJvdW5kc0hlaWdodCAvIDIpLFxuICAgICAgICBsZWZ0T2Zmc2V0ID0gTWF0aC5mbG9vcihib3VuZHNXaWR0aCAvIDIpLFxuICAgICAgICBkcmFnRWxlbWVudCA9IHRoaXMsIC8vL1xuICAgICAgICBzdGFydE1vdXNlVG9wID0gbW91c2VUb3AsIC8vL1xuICAgICAgICBzdGFydE1vdXNlTGVmdCA9IG1vdXNlTGVmdDsgLy8vXG5cbiAgd2luZG93Lm9uS2V5RG93bihrZXlEb3duSGFuZGxlciwgdGhpcyk7XG5cbiAgd2luZG93Lm9uTW91c2VNb3ZlKG1vdXNlTW92ZUhhbmRsZXIsIHRoaXMpO1xuXG4gIHRoaXMuYWRkQ2xhc3MoXCJkcmFnZ2luZ1wiKTtcblxuICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICBkcmFnRWxlbWVudFxuICB9KTtcblxuICB0aGlzLnNldFRvcE9mZnNldCh0b3BPZmZzZXQpO1xuXG4gIHRoaXMuc2V0TGVmdE9mZnNldChsZWZ0T2Zmc2V0KTtcblxuICB0aGlzLnNldFN0YXJ0TW91c2VUb3Aoc3RhcnRNb3VzZVRvcCk7XG5cbiAgdGhpcy5zZXRTdGFydE1vdXNlTGVmdChzdGFydE1vdXNlTGVmdCk7XG5cbiAgdGhpcy5jYWxsSGFuZGxlcnMoZXZlbnRUeXBlKTtcblxuICB0aGlzLmRyYWcobW91c2VUb3AsIG1vdXNlTGVmdCk7XG59XG5cbmZ1bmN0aW9uIHN0b3BEcmFnKGFib3J0ZWQpIHtcbiAgY29uc3QgeyBkcm9wRWxlbWVudCB9ID0gZ2xvYmFsVGhpcyxcbiAgICAgICAgZXZlbnRUeXBlID0gU1RPUF9EUkFHX0VWRU5UX1RZUEU7XG5cbiAgd2luZG93Lm9mZktleURvd24oa2V5RG93bkhhbmRsZXIsIHRoaXMpO1xuXG4gIHdpbmRvdy5vZmZNb3VzZU1vdmUobW91c2VNb3ZlSGFuZGxlciwgdGhpcyk7XG5cbiAgY29uc3QgZG9uZSA9ICgpID0+IHtcbiAgICB0aGlzLmNhbGxIYW5kbGVyc0FzeW5jKGV2ZW50VHlwZSwgZHJvcEVsZW1lbnQsIGFib3J0ZWQsICgpID0+IHtcbiAgICAgIGNvbnN0IGRyYWdFbGVtZW50ID0gbnVsbDtcblxuICAgICAgT2JqZWN0LmFzc2lnbihnbG9iYWxUaGlzLCB7XG4gICAgICAgIGRyYWdFbGVtZW50XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5yZW1vdmVDbGFzcyhcImRyYWdnaW5nXCIpO1xuICAgIH0pO1xuICB9XG5cbiAgaWYgKGRyb3BFbGVtZW50ICE9PSBudWxsKSB7XG4gICAgbGV0IGRyYWdFbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICBjb25zdCBkcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCA9IGNoZWNrRHJhZ0VsZW1lbnRJZ25vcmVzRHJvcEVsZW1lbnQoZHJhZ0VsZW1lbnQsIGRyb3BFbGVtZW50KTtcblxuICAgIGlmIChkcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCkge1xuICAgICAgZHJhZ0VsZW1lbnQgPSBudWxsO1xuICAgIH1cblxuICAgIGRyb3BFbGVtZW50LmRyb3AoZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGRvbmUpO1xuICB9IGVsc2Uge1xuICAgIGRvbmUoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBkcmFnKG1vdXNlVG9wLCBtb3VzZUxlZnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJBR19FVkVOVF9UWVBFLFxuICAgICAgICBzY3JvbGxUb3AgPSB3aW5kb3cuZ2V0U2Nyb2xsVG9wKCksXG4gICAgICAgIHNjcm9sbExlZnQgPSB3aW5kb3cuZ2V0U2Nyb2xsTGVmdCgpLFxuICAgICAgICB0b3BPZmZzZXQgPSB0aGlzLmdldFRvcE9mZnNldCgpLFxuICAgICAgICBsZWZ0T2Zmc2V0ID0gdGhpcy5nZXRMZWZ0T2Zmc2V0KCksXG4gICAgICAgIHN0YXJ0TW91c2VUb3AgPSB0aGlzLmdldFN0YXJ0TW91c2VUb3AoKSxcbiAgICAgICAgc3RhcnRNb3VzZUxlZnQgPSB0aGlzLmdldFN0YXJ0TW91c2VMZWZ0KCksXG4gICAgICAgIHJlbGF0aXZlTW91c2VUb3AgPSBtb3VzZVRvcCAtIHN0YXJ0TW91c2VUb3AsXG4gICAgICAgIHJlbGF0aXZlTW91c2VMZWZ0ID0gbW91c2VMZWZ0IC0gc3RhcnRNb3VzZUxlZnQ7XG5cbiAgbGV0IHRvcCA9IHN0YXJ0TW91c2VUb3AgKyByZWxhdGl2ZU1vdXNlVG9wIC0gdG9wT2Zmc2V0IC0gc2Nyb2xsVG9wLFxuICAgICAgbGVmdCA9IHN0YXJ0TW91c2VMZWZ0ICsgcmVsYXRpdmVNb3VzZUxlZnQgLSBsZWZ0T2Zmc2V0IC0gc2Nyb2xsTGVmdDtcblxuICB0b3AgPSBgJHt0b3B9cHhgOyAvLy9cbiAgbGVmdCA9IGAke2xlZnR9cHhgOyAvLy9cblxuICBjb25zdCBjc3MgPSB7XG4gICAgdG9wLFxuICAgIGxlZnRcbiAgfTtcblxuICB0aGlzLmNzcyhjc3MpO1xuXG4gIHRoaXMuY2FsbEhhbmRsZXJzKGV2ZW50VHlwZSwgcmVsYXRpdmVNb3VzZVRvcCwgcmVsYXRpdmVNb3VzZUxlZnQpO1xufVxuXG5mdW5jdGlvbiBnZXRUaW1lb3V0KCkge1xuICBjb25zdCB7IHRpbWVvdXQgfSA9IHRoaXMuZ2V0U3RhdGUoKTtcblxuICByZXR1cm4gdGltZW91dDtcbn1cblxuZnVuY3Rpb24gcmVzZXRUaW1lb3V0KCkge1xuICBjb25zdCB0aW1lb3V0ID0gbnVsbDtcblxuICB0aGlzLnVwZGF0ZVRpbWVvdXQodGltZW91dCk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVRpbWVvdXQodGltZW91dCkge1xuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICB0aW1lb3V0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBnZXRUb3BPZmZzZXQoKSB7XG4gIGNvbnN0IHsgdG9wT2Zmc2V0IH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgcmV0dXJuIHRvcE9mZnNldDtcbn1cblxuZnVuY3Rpb24gZ2V0TGVmdE9mZnNldCgpIHtcbiAgY29uc3QgeyBsZWZ0T2Zmc2V0IH0gPSB0aGlzLmdldFN0YXRlKCk7XG5cbiAgcmV0dXJuIGxlZnRPZmZzZXQ7XG59XG5cbmZ1bmN0aW9uIGdldFN0YXJ0TW91c2VUb3AoKSB7XG4gIGNvbnN0IHsgc3RhcnRNb3VzZVRvcCB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gIHJldHVybiBzdGFydE1vdXNlVG9wO1xufVxuXG5mdW5jdGlvbiBnZXRTdGFydE1vdXNlTGVmdCgpIHtcbiAgY29uc3QgeyBzdGFydE1vdXNlTGVmdCB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xuXG4gIHJldHVybiBzdGFydE1vdXNlTGVmdDtcbn1cblxuZnVuY3Rpb24gc2V0VG9wT2Zmc2V0KHRvcE9mZnNldCkge1xuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICB0b3BPZmZzZXRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHNldExlZnRPZmZzZXQobGVmdE9mZnNldCkge1xuICB0aGlzLnVwZGF0ZVN0YXRlKHtcbiAgICBsZWZ0T2Zmc2V0XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBzZXRTdGFydE1vdXNlVG9wKHN0YXJ0TW91c2VUb3ApIHtcbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgc3RhcnRNb3VzZVRvcFxuICB9KTtcbn1cblxuZnVuY3Rpb24gc2V0U3RhcnRNb3VzZUxlZnQoc3RhcnRNb3VzZUxlZnQpIHtcbiAgdGhpcy51cGRhdGVTdGF0ZSh7XG4gICAgc3RhcnRNb3VzZUxlZnRcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNhbGxIYW5kbGVycyhldmVudFR5cGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBjb25zdCBldmVudExpc3RlbmVycyA9IHRoaXMuZmluZEV2ZW50TGlzdGVuZXJzKGV2ZW50VHlwZSk7XG5cbiAgZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgoZXZlbnRMaXN0ZW5lcikgPT4ge1xuICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudDogaGFuZGxlckVsZW1lbnQgfSA9IGV2ZW50TGlzdGVuZXIsXG4gICAgICAgICAgZWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgaGFuZGxlci5jYWxsKGhhbmRsZXJFbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGVsZW1lbnQpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gY2FsbEhhbmRsZXJzQXN5bmMoZXZlbnRUeXBlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgZG9uZSA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSwgIC8vL1xuICAgICAgICBldmVudExpc3RlbmVycyA9IHRoaXMuZmluZEV2ZW50TGlzdGVuZXJzKGV2ZW50VHlwZSk7XG5cbiAgZm9yRWFjaChldmVudExpc3RlbmVycywgKGV2ZW50TGlzdGVuZXIsIG5leHQpID0+IHtcbiAgICBjb25zdCB7IGhhbmRsZXIsIGVsZW1lbnQ6IGhhbmRsZXJFbGVtZW50IH0gPSBldmVudExpc3RlbmVyLFxuICAgICAgICAgIGVsZW1lbnQgPSB0aGlzLCAvLy9cbiAgICAgICAgICBkb25lID0gbmV4dDsgIC8vL1xuXG4gICAgaGFuZGxlci5jYWxsKGhhbmRsZXJFbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGVsZW1lbnQsIGRvbmUpO1xuICB9LCBkb25lKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBvbkRyYWcsXG4gIG9mZkRyYWcsXG4gIG9uU3RvcERyYWcsXG4gIG9mZlN0b3BEcmFnLFxuICBvblN0YXJ0RHJhZyxcbiAgb2ZmU3RhcnREcmFnLFxuICBlbmFibGVEcmFnLFxuICBkaXNhYmxlRHJhZyxcbiAgaXNEcmFnZ2luZyxcbiAgc3RhcnRXYWl0aW5nVG9EcmFnLFxuICBzdG9wV2FpdGluZ1RvRHJhZyxcbiAgc3RhcnREcmFnLFxuICBzdG9wRHJhZyxcbiAgZHJhZyxcbiAgZ2V0VGltZW91dCxcbiAgcmVzZXRUaW1lb3V0LFxuICB1cGRhdGVUaW1lb3V0LFxuICBnZXRUb3BPZmZzZXQsXG4gIGdldExlZnRPZmZzZXQsXG4gIGdldFN0YXJ0TW91c2VUb3AsXG4gIGdldFN0YXJ0TW91c2VMZWZ0LFxuICBzZXRUb3BPZmZzZXQsXG4gIHNldExlZnRPZmZzZXQsXG4gIHNldFN0YXJ0TW91c2VUb3AsXG4gIHNldFN0YXJ0TW91c2VMZWZ0LFxuICBjYWxsSGFuZGxlcnMsXG4gIGNhbGxIYW5kbGVyc0FzeW5jXG59O1xuXG5mdW5jdGlvbiBrZXlEb3duSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCB7IGtleUNvZGUgfSA9IGV2ZW50LFxuICAgICAgICBlc2NhcGVLZXkgPSAoa2V5Q29kZSA9PT0gRVNDQVBFX0tFWV9DT0RFKSxcbiAgICAgICAgYWJvcnRlZCA9IHRydWU7XG5cbiAgaWYgKGVzY2FwZUtleSkge1xuICAgIHRoaXMuc3RvcERyYWcoYWJvcnRlZCk7XG5cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBtb3VzZVVwSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCBkcmFnZ2luZyA9IHRoaXMuaXNEcmFnZ2luZygpLFxuICAgICAgICBhYm9ydGVkID0gZmFsc2U7XG5cbiAgZHJhZ2dpbmcgP1xuICAgIHRoaXMuc3RvcERyYWcoYWJvcnRlZCkgOlxuICAgICAgdGhpcy5zdG9wV2FpdGluZ1RvRHJhZygpO1xuXG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gIHdpbmRvdy5vZmYoQkxVUl9FVkVOVF9UWVBFLCBtb3VzZVVwSGFuZGxlciwgdGhpcyk7ICAvLy9cblxuICB3aW5kb3cub2ZmTW91c2VVcChtb3VzZVVwSGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIG1vdXNlRG93bkhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgeyBidXR0b24gfSA9IGV2ZW50O1xuXG4gIGlmIChidXR0b24gPT09IExFRlRfTU9VU0VfQlVUVE9OKSB7XG4gICAgY29uc3QgZHJhZ2dpbmcgPSB0aGlzLmlzRHJhZ2dpbmcoKTtcblxuICAgIGlmICghZHJhZ2dpbmcpIHtcbiAgICAgIGNvbnN0IG1vdXNlVG9wID0gbW91c2VUb3BGcm9tRXZlbnQoZXZlbnQpLFxuICAgICAgICAgICAgbW91c2VMZWZ0ID0gbW91c2VMZWZ0RnJvbUV2ZW50KGV2ZW50KTtcblxuICAgICAgdGhpcy5zdGFydFdhaXRpbmdUb0RyYWcobW91c2VUb3AsIG1vdXNlTGVmdCk7XG4gICAgfVxuICB9XG5cbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgd2luZG93Lm9uKEJMVVJfRVZFTlRfVFlQRSwgbW91c2VVcEhhbmRsZXIsIHRoaXMpOyAvLy9cblxuICB3aW5kb3cub25Nb3VzZVVwKG1vdXNlVXBIYW5kbGVyLCB0aGlzKTtcbn1cblxuZnVuY3Rpb24gbW91c2VNb3ZlSGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCBkcmFnZ2luZyA9IHRoaXMuaXNEcmFnZ2luZygpO1xuXG4gIGlmIChkcmFnZ2luZykge1xuICAgIGNvbnN0IG1vdXNlVG9wID0gbW91c2VUb3BGcm9tRXZlbnQoZXZlbnQpLFxuICAgICAgICAgIG1vdXNlTGVmdCA9IG1vdXNlTGVmdEZyb21FdmVudChldmVudCk7XG5cbiAgICB0aGlzLmRyYWcobW91c2VUb3AsIG1vdXNlTGVmdCk7XG4gIH1cblxuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbn1cbiJdLCJuYW1lcyI6WyJmb3JFYWNoIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwiRVNDQVBFX0tFWV9DT0RFIiwia2V5Q29kZXMiLCJCTFVSX0VWRU5UX1RZUEUiLCJldmVudFR5cGVzIiwiTEVGVF9NT1VTRV9CVVRUT04iLCJtb3VzZUJ1dHRvbnMiLCJkcmFnRWxlbWVudCIsIk9iamVjdCIsImFzc2lnbiIsImdsb2JhbFRoaXMiLCJvbkRyYWciLCJkcmFnSGFuZGxlciIsImVsZW1lbnQiLCJldmVudFR5cGUiLCJEUkFHX0VWRU5UX1RZUEUiLCJoYW5kbGVyIiwiYWRkRXZlbnRMaXN0ZW5lciIsIm9mZkRyYWciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib25TdG9wRHJhZyIsInN0b3BEcmFnSGFuZGxlciIsIlNUT1BfRFJBR19FVkVOVF9UWVBFIiwib2ZmU3RvcERyYWciLCJvblN0YXJ0RHJhZyIsInN0YXJ0RHJhZ0hhbmRsZXIiLCJTVEFSVF9EUkFHX0VWRU5UX1RZUEUiLCJvZmZTdGFydERyYWciLCJlbmFibGVEcmFnIiwicHJvcGVydGllcyIsInRpbWVvdXQiLCJ0b3BPZmZzZXQiLCJsZWZ0T2Zmc2V0Iiwic3RhcnRNb3VzZVRvcCIsInN0YXJ0TW91c2VMZWZ0Iiwib25Nb3VzZURvd24iLCJtb3VzZURvd25IYW5kbGVyIiwic2V0U3RhdGUiLCJkaXNhYmxlRHJhZyIsIm9mZk1vdXNlRG93biIsImlzRHJhZ2dpbmciLCJkcmFnZ2luZyIsImhhc0NsYXNzIiwic3RhcnRXYWl0aW5nVG9EcmFnIiwibW91c2VUb3AiLCJtb3VzZUxlZnQiLCJnZXRUaW1lb3V0Iiwic2V0VGltZW91dCIsInJlc2V0VGltZW91dCIsInN0YXJ0RHJhZyIsIlNUQVJUX0RSQUdHSU5HX0RFTEFZIiwidXBkYXRlVGltZW91dCIsInN0b3BXYWl0aW5nVG9EcmFnIiwiY2xlYXJUaW1lb3V0IiwiYm91bmRzIiwiZ2V0Qm91bmRzIiwiYm91bmRzVG9wIiwiZ2V0VG9wIiwiYm91bmRzTGVmdCIsImdldExlZnQiLCJib3VuZHNSaWdodCIsImdldFJpZ2h0IiwiYm91bmRzQm90dG9tIiwiZ2V0Qm90dG9tIiwiYm91bmRzV2lkdGgiLCJib3VuZHNIZWlnaHQiLCJNYXRoIiwiZmxvb3IiLCJ3aW5kb3ciLCJvbktleURvd24iLCJrZXlEb3duSGFuZGxlciIsIm9uTW91c2VNb3ZlIiwibW91c2VNb3ZlSGFuZGxlciIsImFkZENsYXNzIiwic2V0VG9wT2Zmc2V0Iiwic2V0TGVmdE9mZnNldCIsInNldFN0YXJ0TW91c2VUb3AiLCJzZXRTdGFydE1vdXNlTGVmdCIsImNhbGxIYW5kbGVycyIsImRyYWciLCJzdG9wRHJhZyIsImFib3J0ZWQiLCJkcm9wRWxlbWVudCIsIm9mZktleURvd24iLCJvZmZNb3VzZU1vdmUiLCJkb25lIiwiY2FsbEhhbmRsZXJzQXN5bmMiLCJyZW1vdmVDbGFzcyIsImRyYWdFbGVtZW50SWdub3Jlc0Ryb3BFbGVtZW50IiwiY2hlY2tEcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCIsImRyb3AiLCJzY3JvbGxUb3AiLCJnZXRTY3JvbGxUb3AiLCJzY3JvbGxMZWZ0IiwiZ2V0U2Nyb2xsTGVmdCIsImdldFRvcE9mZnNldCIsImdldExlZnRPZmZzZXQiLCJnZXRTdGFydE1vdXNlVG9wIiwiZ2V0U3RhcnRNb3VzZUxlZnQiLCJyZWxhdGl2ZU1vdXNlVG9wIiwicmVsYXRpdmVNb3VzZUxlZnQiLCJ0b3AiLCJsZWZ0IiwiY3NzIiwiZ2V0U3RhdGUiLCJ1cGRhdGVTdGF0ZSIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImV2ZW50TGlzdGVuZXJzIiwiZmluZEV2ZW50TGlzdGVuZXJzIiwiZXZlbnRMaXN0ZW5lciIsImhhbmRsZXJFbGVtZW50IiwiY2FsbCIsInBvcCIsIm5leHQiLCJldmVudCIsImtleUNvZGUiLCJlc2NhcGVLZXkiLCJzdG9wUHJvcGFnYXRpb24iLCJtb3VzZVVwSGFuZGxlciIsIm9mZiIsIm9mZk1vdXNlVXAiLCJidXR0b24iLCJtb3VzZVRvcEZyb21FdmVudCIsIm1vdXNlTGVm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
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _necessary = require("necessary");
12
+ var _reference = require("../utilities/reference");
12
13
  var _eventTypes = require("../eventTypes");
13
14
  function _array_like_to_array(arr, len) {
14
15
  if (len == null || len > arr.length) len = arr.length;
@@ -154,7 +155,10 @@ function mouseOutHandler(event, element) {
154
155
  function mouseOverHandler(event, element) {
155
156
  var dragElement = globalThis.dragElement;
156
157
  if (dragElement !== null) {
157
- var dropElement = this; ///
158
+ var dropElement = this, dragElementIgnoresDropElement = (0, _reference.checkDragElementIgnoresDropElement)(dragElement, dropElement);
159
+ if (dragElementIgnoresDropElement) {
160
+ return;
161
+ }
158
162
  Object.assign(globalThis, {
159
163
  dropElement: dropElement
160
164
  });
@@ -163,4 +167,4 @@ function mouseOverHandler(event, element) {
163
167
  event.stopPropagation();
164
168
  }
165
169
 
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZHJvcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiIDtcblxuaW1wb3J0IHsgRFJPUF9FVkVOVF9UWVBFLCBEUkFHX09VVF9FVkVOVF9UWVBFLCBEUkFHX09WRVJfRVZFTlRfVFlQRSB9IGZyb20gXCIuLi9ldmVudFR5cGVzXCI7XG5cbmNvbnN0IHsgZm9yRWFjaCB9ID0gYXN5bmNocm9ub3VzVXRpbGl0aWVzO1xuXG5jb25zdCBkcm9wRWxlbWVudCA9IG51bGw7XG5cbk9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICBkcm9wRWxlbWVudFxufSk7XG5cbmZ1bmN0aW9uIGRyb3AoZHJhZ0VsZW1lbnQsIGFib3J0ZWQsIGRvbmUpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJPUF9FVkVOVF9UWVBFO1xuXG4gIHRoaXMuY2FsbEhhbmRsZXJzQXN5bmMoZXZlbnRUeXBlLCBkcmFnRWxlbWVudCwgYWJvcnRlZCwgZG9uZSk7XG59XG5cbmZ1bmN0aW9uIGRyYWdPdXQoZHJhZ0VsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJBR19PVVRfRVZFTlRfVFlQRTtcblxuICB0aGlzLmNhbGxIYW5kbGVycyhldmVudFR5cGUsIGRyYWdFbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gZHJhZ092ZXIoZHJhZ0VsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJBR19PVkVSX0VWRU5UX1RZUEU7XG5cbiAgdGhpcy5jYWxsSGFuZGxlcnMoZXZlbnRUeXBlLCBkcmFnRWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9uRHJvcChkcm9wSGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUk9QX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBkcm9wSGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZEcm9wKGRyb3BIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERST1BfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IGRyb3BIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9uRHJhZ091dChkcmFnT3V0SGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX09VVF9FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gZHJhZ091dEhhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmRHJhZ091dChkcmFnT3V0SGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX09VVF9FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gZHJhZ091dEhhbmRsZXI7ICAvLy9cblxuICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb25EcmFnT3ZlcihkcmFnT3ZlckhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJBR19PVkVSX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBkcmFnT3ZlckhhbmRsZXI7ICAvLy9cblxuICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb2ZmRHJhZ092ZXIoZHJhZ092ZXJIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERSQUdfT1ZFUl9FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gZHJhZ092ZXJIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIGVuYWJsZURyb3AoKSB7XG4gIGNvbnN0IHsgb25Ecm9wLCBvbkRyYWdPdXQsIG9uRHJhZ092ZXIgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgZHJvcEhhbmRsZXIgPSBvbkRyb3AsIC8vL1xuICAgICAgICBkcmFnT3V0SGFuZGxlciA9IG9uRHJhZ091dCwgLy8vXG4gICAgICAgIGRyYWdPdmVySGFuZGxlciA9IG9uRHJhZ092ZXI7IC8vL1xuXG4gIGRyb3BIYW5kbGVyICYmIHRoaXMub25Ecm9wKGRyb3BIYW5kbGVyKTtcbiAgZHJhZ091dEhhbmRsZXIgJiYgdGhpcy5vbkRyYWdPdXQoZHJhZ091dEhhbmRsZXIpO1xuICBkcmFnT3ZlckhhbmRsZXIgJiYgdGhpcy5vbkRyYWdPdmVyKGRyYWdPdmVySGFuZGxlcik7XG5cbiAgdGhpcy5vbk1vdXNlT3V0KG1vdXNlT3V0SGFuZGxlciwgdGhpcyk7XG4gIHRoaXMub25Nb3VzZU92ZXIobW91c2VPdmVySGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVEcm9wKCkge1xuICBjb25zdCB7IG9uRHJvcCwgb25EcmFnT3V0LCBvbkRyYWdPdmVyIH0gPSB0aGlzLnByb3BlcnRpZXMsXG4gICAgICAgIGRyb3BIYW5kbGVyID0gb25Ecm9wLCAvLy9cbiAgICAgICAgZHJhZ091dEhhbmRsZXIgPSBvbkRyYWdPdXQsIC8vL1xuICAgICAgICBkcmFnT3ZlckhhbmRsZXIgPSBvbkRyYWdPdmVyOyAvLy9cblxuICBkcm9wSGFuZGxlciAmJiB0aGlzLm9mZkRyb3AoZHJvcEhhbmRsZXIpO1xuICBkcmFnT3V0SGFuZGxlciAmJiB0aGlzLm9mZkRyYWdPdXQoZHJhZ091dEhhbmRsZXIpO1xuICBkcmFnT3ZlckhhbmRsZXIgJiYgdGhpcy5vZmZEcmFnT3ZlcihkcmFnT3ZlckhhbmRsZXIpO1xuXG4gIHRoaXMub2ZmTW91c2VPdXQobW91c2VPdXRIYW5kbGVyLCB0aGlzKTtcbiAgdGhpcy5vZmZNb3VzZU92ZXIobW91c2VPdmVySGFuZGxlciwgdGhpcyk7XG59XG5cbmZ1bmN0aW9uIGNhbGxIYW5kbGVycyhldmVudFR5cGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBjb25zdCBldmVudExpc3RlbmVycyA9IHRoaXMuZmluZEV2ZW50TGlzdGVuZXJzKGV2ZW50VHlwZSk7XG5cbiAgZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgoZXZlbnRMaXN0ZW5lcikgPT4ge1xuICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudDogaGFuZGxlckVsZW1lbnQgfSA9IGV2ZW50TGlzdGVuZXIsXG4gICAgICAgICAgZWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgaGFuZGxlci5jYWxsKGhhbmRsZXJFbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGVsZW1lbnQpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gY2FsbEhhbmRsZXJzQXN5bmMoZXZlbnRUeXBlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgZG9uZSA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSwgIC8vL1xuICAgICAgICBldmVudExpc3RlbmVycyA9IHRoaXMuZmluZEV2ZW50TGlzdGVuZXJzKGV2ZW50VHlwZSk7XG5cbiAgZm9yRWFjaChldmVudExpc3RlbmVycywgKGV2ZW50TGlzdGVuZXIsIG5leHQpID0+IHtcbiAgICBjb25zdCB7IGhhbmRsZXIsIGVsZW1lbnQ6IGhhbmRsZXJFbGVtZW50IH0gPSBldmVudExpc3RlbmVyLFxuICAgICAgICAgIGVsZW1lbnQgPSB0aGlzLCAvLy9cbiAgICAgICAgICBkb25lID0gbmV4dDsgIC8vL1xuXG4gICAgaGFuZGxlci5jYWxsKGhhbmRsZXJFbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGVsZW1lbnQsIGRvbmUpO1xuICB9LCBkb25lKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBkcm9wLFxuICBkcmFnT3V0LFxuICBkcmFnT3ZlcixcbiAgb25Ecm9wLFxuICBvZmZEcm9wLFxuICBvbkRyYWdPdXQsXG4gIG9mZkRyYWdPdXQsXG4gIG9uRHJhZ092ZXIsXG4gIG9mZkRyYWdPdmVyLFxuICBlbmFibGVEcm9wLFxuICBkaXNhYmxlRHJvcCxcbiAgY2FsbEhhbmRsZXJzLFxuICBjYWxsSGFuZGxlcnNBc3luY1xufVxuXG5mdW5jdGlvbiBtb3VzZU91dEhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgeyBkcmFnRWxlbWVudCB9ID0gZ2xvYmFsVGhpcztcblxuICBpZiAoZHJhZ0VsZW1lbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCBkcm9wRWxlbWVudCA9IG51bGw7IC8vL1xuXG4gICAgT2JqZWN0LmFzc2lnbihnbG9iYWxUaGlzLCB7XG4gICAgICBkcm9wRWxlbWVudFxuICAgIH0pO1xuXG4gICAgdGhpcy5kcmFnT3V0KGRyYWdFbGVtZW50KTtcbiAgfVxuXG4gIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xufVxuXG5mdW5jdGlvbiBtb3VzZU92ZXJIYW5kbGVyKGV2ZW50LCBlbGVtZW50KSB7XG4gIGNvbnN0IHsgZHJhZ0VsZW1lbnQgfSA9IGdsb2JhbFRoaXM7XG5cbiAgaWYgKGRyYWdFbGVtZW50ICE9PSBudWxsKSB7XG4gICAgY29uc3QgZHJvcEVsZW1lbnQgPSB0aGlzOyAvLy9cblxuICAgIE9iamVjdC5hc3NpZ24oZ2xvYmFsVGhpcywge1xuICAgICAgZHJvcEVsZW1lbnRcbiAgICB9KTtcblxuICAgIHRoaXMuZHJhZ092ZXIoZHJhZ0VsZW1lbnQpO1xuICB9XG5cbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG59XG4iXSwibmFtZXMiOlsiZm9yRWFjaCIsImFzeW5jaHJvbm91c1V0aWxpdGllcyIsImRyb3BFbGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwiZ2xvYmFsVGhpcyIsImRyb3AiLCJkcmFnRWxlbWVudCIsImFib3J0ZWQiLCJkb25lIiwiZXZlbnRUeXBlIiwiRFJPUF9FVkVOVF9UWVBFIiwiY2FsbEhhbmRsZXJzQXN5bmMiLCJkcmFnT3V0IiwiRFJBR19PVVRfRVZFTlRfVFlQRSIsImNhbGxIYW5kbGVycyIsImRyYWdPdmVyIiwiRFJBR19PVkVSX0VWRU5UX1RZUEUiLCJvbkRyb3AiLCJkcm9wSGFuZGxlciIsImVsZW1lbnQiLCJoYW5kbGVyIiwiYWRkRXZlbnRMaXN0ZW5lciIsIm9mZkRyb3AiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwib25EcmFnT3V0IiwiZHJhZ091dEhhbmRsZXIiLCJvZmZEcmFnT3V0Iiwib25EcmFnT3ZlciIsImRyYWdPdmVySGFuZGxlciIsIm9mZkRyYWdPdmVyIiwiZW5hYmxlRHJvcCIsInByb3BlcnRpZXMiLCJvbk1vdXNlT3V0IiwibW91c2VPdXRIYW5kbGVyIiwib25Nb3VzZU92ZXIiLCJtb3VzZU92ZXJIYW5kbGVyIiwiZGlzYWJsZURyb3AiLCJvZmZNb3VzZU91dCIsIm9mZk1vdXNlT3ZlciIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImV2ZW50TGlzdGVuZXJzIiwiZmluZEV2ZW50TGlzdGVuZXJzIiwiZXZlbnRMaXN0ZW5lciIsImhhbmRsZXJFbGVtZW50IiwiY2FsbCIsInBvcCIsIm5leHQiLCJldmVudCIsInN0b3BQcm9wYWdhdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBOEhBOzs7ZUFBQTs7O3lCQTVIc0M7MEJBRXFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUzRSxJQUFNLEFBQUVBLFVBQVlDLGdDQUFxQixDQUFqQ0Q7QUFFUixJQUFNRSxjQUFjO0FBRXBCQyxPQUFPQyxNQUFNLENBQUNDLFlBQVk7SUFDeEJILGFBQUFBO0FBQ0Y7QUFFQSxTQUFTSSxLQUFLQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsSUFBSTtJQUN0QyxJQUFNQyxZQUFZQywyQkFBZTtJQUVqQyxJQUFJLENBQUNDLGlCQUFp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
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZHJvcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiIDtcblxuaW1wb3J0IHsgY2hlY2tEcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvcmVmZXJlbmNlXCI7XG5pbXBvcnQgeyBEUk9QX0VWRU5UX1RZUEUsIERSQUdfT1VUX0VWRU5UX1RZUEUsIERSQUdfT1ZFUl9FVkVOVF9UWVBFIH0gZnJvbSBcIi4uL2V2ZW50VHlwZXNcIjtcblxuY29uc3QgeyBmb3JFYWNoIH0gPSBhc3luY2hyb25vdXNVdGlsaXRpZXM7XG5cbmNvbnN0IGRyb3BFbGVtZW50ID0gbnVsbDtcblxuT2JqZWN0LmFzc2lnbihnbG9iYWxUaGlzLCB7XG4gIGRyb3BFbGVtZW50XG59KTtcblxuZnVuY3Rpb24gZHJvcChkcmFnRWxlbWVudCwgYWJvcnRlZCwgZG9uZSkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUk9QX0VWRU5UX1RZUEU7XG5cbiAgdGhpcy5jYWxsSGFuZGxlcnNBc3luYyhldmVudFR5cGUsIGRyYWdFbGVtZW50LCBhYm9ydGVkLCBkb25lKTtcbn1cblxuZnVuY3Rpb24gZHJhZ091dChkcmFnRWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX09VVF9FVkVOVF9UWVBFO1xuXG4gIHRoaXMuY2FsbEhhbmRsZXJzKGV2ZW50VHlwZSwgZHJhZ0VsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBkcmFnT3ZlcihkcmFnRWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX09WRVJfRVZFTlRfVFlQRTtcblxuICB0aGlzLmNhbGxIYW5kbGVycyhldmVudFR5cGUsIGRyYWdFbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb25Ecm9wKGRyb3BIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERST1BfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IGRyb3BIYW5kbGVyOyAgLy8vXG5cbiAgdGhpcy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG59XG5cbmZ1bmN0aW9uIG9mZkRyb3AoZHJvcEhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJPUF9FVkVOVF9UWVBFLFxuICAgICAgICBoYW5kbGVyID0gZHJvcEhhbmRsZXI7ICAvLy9cblxuICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gb25EcmFnT3V0KGRyYWdPdXRIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERSQUdfT1VUX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBkcmFnT3V0SGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZEcmFnT3V0KGRyYWdPdXRIYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGV2ZW50VHlwZSA9IERSQUdfT1VUX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBkcmFnT3V0SGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvbkRyYWdPdmVyKGRyYWdPdmVySGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudFR5cGUgPSBEUkFHX09WRVJfRVZFTlRfVFlQRSxcbiAgICAgICAgaGFuZGxlciA9IGRyYWdPdmVySGFuZGxlcjsgIC8vL1xuXG4gIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xufVxuXG5mdW5jdGlvbiBvZmZEcmFnT3ZlcihkcmFnT3ZlckhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRUeXBlID0gRFJBR19PVkVSX0VWRU5UX1RZUEUsXG4gICAgICAgIGhhbmRsZXIgPSBkcmFnT3ZlckhhbmRsZXI7ICAvLy9cblxuICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcbn1cblxuZnVuY3Rpb24gZW5hYmxlRHJvcCgpIHtcbiAgY29uc3QgeyBvbkRyb3AsIG9uRHJhZ091dCwgb25EcmFnT3ZlciB9ID0gdGhpcy5wcm9wZXJ0aWVzLFxuICAgICAgICBkcm9wSGFuZGxlciA9IG9uRHJvcCwgLy8vXG4gICAgICAgIGRyYWdPdXRIYW5kbGVyID0gb25EcmFnT3V0LCAvLy9cbiAgICAgICAgZHJhZ092ZXJIYW5kbGVyID0gb25EcmFnT3ZlcjsgLy8vXG5cbiAgZHJvcEhhbmRsZXIgJiYgdGhpcy5vbkRyb3AoZHJvcEhhbmRsZXIpO1xuICBkcmFnT3V0SGFuZGxlciAmJiB0aGlzLm9uRHJhZ091dChkcmFnT3V0SGFuZGxlcik7XG4gIGRyYWdPdmVySGFuZGxlciAmJiB0aGlzLm9uRHJhZ092ZXIoZHJhZ092ZXJIYW5kbGVyKTtcblxuICB0aGlzLm9uTW91c2VPdXQobW91c2VPdXRIYW5kbGVyLCB0aGlzKTtcbiAgdGhpcy5vbk1vdXNlT3Zlcihtb3VzZU92ZXJIYW5kbGVyLCB0aGlzKTtcbn1cblxuZnVuY3Rpb24gZGlzYWJsZURyb3AoKSB7XG4gIGNvbnN0IHsgb25Ecm9wLCBvbkRyYWdPdXQsIG9uRHJhZ092ZXIgfSA9IHRoaXMucHJvcGVydGllcyxcbiAgICAgICAgZHJvcEhhbmRsZXIgPSBvbkRyb3AsIC8vL1xuICAgICAgICBkcmFnT3V0SGFuZGxlciA9IG9uRHJhZ091dCwgLy8vXG4gICAgICAgIGRyYWdPdmVySGFuZGxlciA9IG9uRHJhZ092ZXI7IC8vL1xuXG4gIGRyb3BIYW5kbGVyICYmIHRoaXMub2ZmRHJvcChkcm9wSGFuZGxlcik7XG4gIGRyYWdPdXRIYW5kbGVyICYmIHRoaXMub2ZmRHJhZ091dChkcmFnT3V0SGFuZGxlcik7XG4gIGRyYWdPdmVySGFuZGxlciAmJiB0aGlzLm9mZkRyYWdPdmVyKGRyYWdPdmVySGFuZGxlcik7XG5cbiAgdGhpcy5vZmZNb3VzZU91dChtb3VzZU91dEhhbmRsZXIsIHRoaXMpO1xuICB0aGlzLm9mZk1vdXNlT3Zlcihtb3VzZU92ZXJIYW5kbGVyLCB0aGlzKTtcbn1cblxuZnVuY3Rpb24gY2FsbEhhbmRsZXJzKGV2ZW50VHlwZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IGV2ZW50TGlzdGVuZXJzID0gdGhpcy5maW5kRXZlbnRMaXN0ZW5lcnMoZXZlbnRUeXBlKTtcblxuICBldmVudExpc3RlbmVycy5mb3JFYWNoKChldmVudExpc3RlbmVyKSA9PiB7XG4gICAgY29uc3QgeyBoYW5kbGVyLCBlbGVtZW50OiBoYW5kbGVyRWxlbWVudCB9ID0gZXZlbnRMaXN0ZW5lcixcbiAgICAgICAgICBlbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICBoYW5kbGVyLmNhbGwoaGFuZGxlckVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgZWxlbWVudCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjYWxsSGFuZGxlcnNBc3luYyhldmVudFR5cGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBjb25zdCBkb25lID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLCAgLy8vXG4gICAgICAgIGV2ZW50TGlzdGVuZXJzID0gdGhpcy5maW5kRXZlbnRMaXN0ZW5lcnMoZXZlbnRUeXBlKTtcblxuICBmb3JFYWNoKGV2ZW50TGlzdGVuZXJzLCAoZXZlbnRMaXN0ZW5lciwgbmV4dCkgPT4ge1xuICAgIGNvbnN0IHsgaGFuZGxlciwgZWxlbWVudDogaGFuZGxlckVsZW1lbnQgfSA9IGV2ZW50TGlzdGVuZXIsXG4gICAgICAgICAgZWxlbWVudCA9IHRoaXMsIC8vL1xuICAgICAgICAgIGRvbmUgPSBuZXh0OyAgLy8vXG5cbiAgICBoYW5kbGVyLmNhbGwoaGFuZGxlckVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgZWxlbWVudCwgZG9uZSk7XG4gIH0sIGRvbmUpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGRyb3AsXG4gIGRyYWdPdXQsXG4gIGRyYWdPdmVyLFxuICBvbkRyb3AsXG4gIG9mZkRyb3AsXG4gIG9uRHJhZ091dCxcbiAgb2ZmRHJhZ091dCxcbiAgb25EcmFnT3ZlcixcbiAgb2ZmRHJhZ092ZXIsXG4gIGVuYWJsZURyb3AsXG4gIGRpc2FibGVEcm9wLFxuICBjYWxsSGFuZGxlcnMsXG4gIGNhbGxIYW5kbGVyc0FzeW5jXG59XG5cbmZ1bmN0aW9uIG1vdXNlT3V0SGFuZGxlcihldmVudCwgZWxlbWVudCkge1xuICBjb25zdCB7IGRyYWdFbGVtZW50IH0gPSBnbG9iYWxUaGlzO1xuXG4gIGlmIChkcmFnRWxlbWVudCAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGRyb3BFbGVtZW50ID0gbnVsbDsgLy8vXG5cbiAgICBPYmplY3QuYXNzaWduKGdsb2JhbFRoaXMsIHtcbiAgICAgIGRyb3BFbGVtZW50XG4gICAgfSk7XG5cbiAgICB0aGlzLmRyYWdPdXQoZHJhZ0VsZW1lbnQpO1xuICB9XG5cbiAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG59XG5cbmZ1bmN0aW9uIG1vdXNlT3ZlckhhbmRsZXIoZXZlbnQsIGVsZW1lbnQpIHtcbiAgY29uc3QgeyBkcmFnRWxlbWVudCB9ID0gZ2xvYmFsVGhpcztcblxuICBpZiAoZHJhZ0VsZW1lbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCBkcm9wRWxlbWVudCA9IHRoaXMsIC8vL1xuICAgICAgICAgIGRyYWdFbGVtZW50SWdub3Jlc0Ryb3BFbGVtZW50ID0gY2hlY2tEcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudChkcmFnRWxlbWVudCwgZHJvcEVsZW1lbnQpO1xuXG4gICAgaWYgKGRyYWdFbGVtZW50SWdub3Jlc0Ryb3BFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgT2JqZWN0LmFzc2lnbihnbG9iYWxUaGlzLCB7XG4gICAgICBkcm9wRWxlbWVudFxuICAgIH0pO1xuXG4gICAgdGhpcy5kcmFnT3ZlcihkcmFnRWxlbWVudCk7XG4gIH1cblxuICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbn1cbiJdLCJuYW1lcyI6WyJmb3JFYWNoIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwiZHJvcEVsZW1lbnQiLCJPYmplY3QiLCJhc3NpZ24iLCJnbG9iYWxUaGlzIiwiZHJvcCIsImRyYWdFbGVtZW50IiwiYWJvcnRlZCIsImRvbmUiLCJldmVudFR5cGUiLCJEUk9QX0VWRU5UX1RZUEUiLCJjYWxsSGFuZGxlcnNBc3luYyIsImRyYWdPdXQiLCJEUkFHX09VVF9FVkVOVF9UWVBFIiwiY2FsbEhhbmRsZXJzIiwiZHJhZ092ZXIiLCJEUkFHX09WRVJfRVZFTlRfVFlQRSIsIm9uRHJvcCIsImRyb3BIYW5kbGVyIiwiZWxlbWVudCIsImhhbmRsZXIiLCJhZGRFdmVudExpc3RlbmVyIiwib2ZmRHJvcCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvbkRyYWdPdXQiLCJkcmFnT3V0SGFuZGxlciIsIm9mZkRyYWdPdXQiLCJvbkRyYWdPdmVyIiwiZHJhZ092ZXJIYW5kbGVyIiwib2ZmRHJhZ092ZXIiLCJlbmFibGVEcm9wIiwicHJvcGVydGllcyIsIm9uTW91c2VPdXQiLCJtb3VzZU91dEhhbmRsZXIiLCJvbk1vdXNlT3ZlciIsIm1vdXNlT3ZlckhhbmRsZXIiLCJkaXNhYmxlRHJvcCIsIm9mZk1vdXNlT3V0Iiwib2ZmTW91c2VPdmVyIiwicmVtYWluaW5nQXJndW1lbnRzIiwiZXZlbnRMaXN0ZW5lcnMiLCJmaW5kRXZlbnRMaXN0ZW5lcnMiLCJldmVudExpc3RlbmVyIiwiaGFuZGxlckVsZW1lbnQiLCJjYWxsIiwicG9wIiwibmV4dCIsImV2ZW50Iiwic3RvcFByb3BhZ2F0aW9uIiwiZHJhZ0VsZW1lbnRJZ25v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
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "checkDragElementIgnoresDropElement", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return checkDragElementIgnoresDropElement;
9
+ }
10
+ });
11
+ function checkDragElementIgnoresDropElement(dragElement, dropElement) {
12
+ var reference = dropElement.getReference(), references = dragElement.getReferences(), referencesIncludesReference = references.includes(reference), dragElementIgnoresDropElement = !referencesIncludesReference;
13
+ return dragElementIgnoresDropElement;
14
+ }
15
+
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcmVmZXJlbmNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tEcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudChkcmFnRWxlbWVudCwgZHJvcEVsZW1lbnQpIHtcbiAgY29uc3QgcmVmZXJlbmNlID0gZHJvcEVsZW1lbnQuZ2V0UmVmZXJlbmNlKCksXG4gICAgICAgIHJlZmVyZW5jZXMgPSBkcmFnRWxlbWVudC5nZXRSZWZlcmVuY2VzKCksXG4gICAgICAgIHJlZmVyZW5jZXNJbmNsdWRlc1JlZmVyZW5jZSA9IHJlZmVyZW5jZXMuaW5jbHVkZXMocmVmZXJlbmNlKSxcbiAgICAgICAgZHJhZ0VsZW1lbnRJZ25vcmVzRHJvcEVsZW1lbnQgPSAhcmVmZXJlbmNlc0luY2x1ZGVzUmVmZXJlbmNlO1xuXG4gIHJldHVybiBkcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudDtcbn0iXSwibmFtZXMiOlsiY2hlY2tEcmFnRWxlbWVudElnbm9yZXNEcm9wRWxlbWVudCIsImRyYWdFbGVtZW50IiwiZHJvcEVsZW1lbnQiLCJyZWZlcmVuY2UiLCJnZXRSZWZlcmVuY2UiLCJyZWZlcmVuY2VzIiwiZ2V0UmVmZXJlbmNlcyIsInJlZmVyZW5jZXNJbmNsdWRlc1JlZmVyZW5jZSIsImluY2x1ZGVzIiwiZHJhZ0VsZW1lbnRJZ25vcmVzRHJvcEVsZW1lbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQUVnQkE7OztlQUFBQTs7O0FBQVQsU0FBU0EsbUNBQW1DQyxXQUFXLEVBQUVDLFdBQVc7SUFDekUsSUFBTUMsWUFBWUQsWUFBWUUsWUFBWSxJQUNwQ0MsYUFBYUosWUFBWUssYUFBYSxJQUN0Q0MsOEJBQThCRixXQUFXRyxRQUFRLENBQUNMLFlBQ2xETSxnQ0FBZ0MsQ0FBQ0Y7SUFFdkMsT0FBT0U7QUFDVCJ9
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.59",
4
+ "version": "1.3.61",
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.",
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "easy": "^15.1.1",
14
- "easy-with-style": "^3.0.249",
14
+ "easy-with-style": "^3.0.251",
15
15
  "necessary": "^12.0.1"
16
16
  },
17
17
  "devDependencies": {
@@ -7,6 +7,12 @@ import { Element } from "easy";
7
7
  import dragMixins from "../mixins/drag";
8
8
 
9
9
  class DragElement extends Element {
10
+ getReferences() {
11
+ const { references = [] } = this.properties;
12
+
13
+ return references;
14
+ }
15
+
10
16
  didMount() {
11
17
  this.enableDrag();
12
18
  }
@@ -17,6 +23,7 @@ class DragElement extends Element {
17
23
 
18
24
  static ignoredProperties = [
19
25
  "onDrag",
26
+ "references",
20
27
  "onStartDrag",
21
28
  "offStartDrag"
22
29
  ];
@@ -5,6 +5,12 @@ import { Element } from "easy";
5
5
  import dropMixins from "../mixins/drop";
6
6
 
7
7
  export default class DropElement extends Element {
8
+ getReference() {
9
+ const { reference = null } = this.properties;
10
+
11
+ return reference;
12
+ }
13
+
8
14
  didMount() {
9
15
  this.enableDrop();
10
16
  }
@@ -15,6 +21,7 @@ export default class DropElement extends Element {
15
21
 
16
22
  static ignoredProperties = [
17
23
  "onDrop",
24
+ "reference",
18
25
  "onDragOut",
19
26
  "onDragOver"
20
27
  ];
@@ -9,7 +9,9 @@ import style from "../style";
9
9
 
10
10
  class DropDiv extends Element {
11
11
  dropHandler = (dragElement, aborted, element, done) => {
12
- dragElement.remove();
12
+ if (dragElement !== null) {
13
+ dragElement.remove();
14
+ }
13
15
 
14
16
  done();
15
17
  }
@@ -22,6 +24,12 @@ class DropDiv extends Element {
22
24
  this.addClass("drag-over");
23
25
  }
24
26
 
27
+ getReference() {
28
+ const { reference = null } = this.properties;
29
+
30
+ return reference;
31
+ }
32
+
25
33
  didMount() {
26
34
  this.enableDrop();
27
35
 
@@ -44,8 +52,13 @@ class DropDiv extends Element {
44
52
 
45
53
  static tagName = "div";
46
54
 
55
+ static ignoredProperties = [
56
+ "reference"
57
+ ];
58
+
47
59
  static defaultProperties = {
48
- className: "drop"
60
+ className: "drop",
61
+ reference: "drop-div"
49
62
  };
50
63
  }
51
64
 
@@ -7,10 +7,14 @@ import DropDiv from "./div/drop";
7
7
 
8
8
  export default class View extends Element {
9
9
  childElements() {
10
+ const references = [
11
+ "drop-div"
12
+ ];
13
+
10
14
  return ([
11
15
 
12
16
  <DropDiv/>,
13
- <DragDiv onDrag={dragHandler} onStopDrag={stopDragHandler} onStartDrag={startDragHandler} />
17
+ <DragDiv onDrag={dragHandler} onStopDrag={stopDragHandler} onStartDrag={startDragHandler} references={references} />
14
18
 
15
19
  ]);
16
20
  }
@@ -4,6 +4,7 @@ import { keyCodes, asynchronousUtilities } from "necessary" ;
4
4
  import { window, eventTypes, mouseButtons } from "easy";
5
5
 
6
6
  import { START_DRAGGING_DELAY } from "../constants";
7
+ import { checkDragElementIgnoresDropElement } from "../utilities/reference";
7
8
  import { mouseTopFromEvent, mouseLeftFromEvent } from "../utilities/event";
8
9
  import { DRAG_EVENT_TYPE, STOP_DRAG_EVENT_TYPE, START_DRAG_EVENT_TYPE } from "../eventTypes";
9
10
 
@@ -188,7 +189,13 @@ function stopDrag(aborted) {
188
189
  }
189
190
 
190
191
  if (dropElement !== null) {
191
- const dragElement = this; ///
192
+ let dragElement = this; ///
193
+
194
+ const dragElementIgnoresDropElement = checkDragElementIgnoresDropElement(dragElement, dropElement);
195
+
196
+ if (dragElementIgnoresDropElement) {
197
+ dragElement = null;
198
+ }
192
199
 
193
200
  dropElement.drop(dragElement, aborted, done);
194
201
  } else {
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { asynchronousUtilities } from "necessary" ;
4
4
 
5
+ import { checkDragElementIgnoresDropElement } from "../utilities/reference";
5
6
  import { DROP_EVENT_TYPE, DRAG_OUT_EVENT_TYPE, DRAG_OVER_EVENT_TYPE } from "../eventTypes";
6
7
 
7
8
  const { forEach } = asynchronousUtilities;
@@ -160,7 +161,12 @@ function mouseOverHandler(event, element) {
160
161
  const { dragElement } = globalThis;
161
162
 
162
163
  if (dragElement !== null) {
163
- const dropElement = this; ///
164
+ const dropElement = this, ///
165
+ dragElementIgnoresDropElement = checkDragElementIgnoresDropElement(dragElement, dropElement);
166
+
167
+ if (dragElementIgnoresDropElement) {
168
+ return;
169
+ }
164
170
 
165
171
  Object.assign(globalThis, {
166
172
  dropElement
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ export function checkDragElementIgnoresDropElement(dragElement, dropElement) {
4
+ const reference = dropElement.getReference(),
5
+ references = dragElement.getReferences(),
6
+ referencesIncludesReference = references.includes(reference),
7
+ dragElementIgnoresDropElement = !referencesIncludesReference;
8
+
9
+ return dragElementIgnoresDropElement;
10
+ }